国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

處理器設計的謬誤(2)

發布時間:2009-5-12 21:54    發布者:賈延安
關鍵詞: 處理器 , 謬誤 , 設計

  本文第一部分討論了支持特定語言或語言域的高級計算機指令集架構(ISA)的發展,并把那個種群稱為Myopisaur。本系列文章將來會討論其它的種群以及跟那個種群相關的設計錯誤。

  在那個年代所采用的一種主要方法就是實現針對HLL的,正如在本系列文章第一部分所討論的那樣,就是把一個中間ISA裁剪為一種HLL,然后,采用或開發類似的硬件以通過微編程來仿效經定義的ISA。在上世紀50年代,微碼首次被劍橋大學在EDSAC項目中由Maurice Wilkes實現,人們最初開發它是為計算機控制邏輯而開發一種更為簡單的方法1。微碼由實現中間ISA的基本指 令序列組成。它或者由一些簡化的中間語言進行編譯,或者以匯編形式進行手工編寫。微匯編程序然后把匯編代碼轉換為可執行代碼,這些可執行代碼然后被存儲在 片上本地存儲器或快速訪問、低延遲存儲器上。在上世紀70年代和80年代,設計工程師把微碼存儲在由分立存儲器芯片或存儲器模塊實現的外部存儲器上。在當 今的IC集成水平上,微碼幾乎總是存儲在片上RAM或ROM之上。

  微碼盡管曾經獲得了普及應用,但是,本質上已經從現代的設計消失了,因為片上可用硬件快速增加、硬件成本的關聯下降以及廣泛的采用邏輯綜合來進行芯片設計。所有這些發展使得ISA的直接硬件實現更加容易并且更加在經濟上有吸引力。

贊成采用微碼的案例

  微碼提供的若干優點:

  ·目標碼在一個家族之內與其它兼容或與以前一代的兼容;

  —以各種價格-性能特性能夠創建一個家族的待構建的。在該家族中的高端實現中間ISA更為直接或者甚至通過多功能單元而加速它,以開發指令級并行化(ILP)。在該家族中的低端把中間ISA映射至更為有限的硬件上,從而使得程序的執行更慢但是也成本更低。

  —在一個家族中,能夠在多個上 把經編寫的編譯器用于中間ISA。從中間ISA至較低端機器的實際指令組的映射—具體包括在微碼中—可以獨立的層編寫,并可能避免采用編譯器,或者至少需 要非常簡單的編譯器。進一步說,這樣的映射可能很少采用,因為中間ISA不會暴露給用戶,并且不必按照HLL可能演化的那種方式演化。一些語言編譯器目前 采用中間語言形式(例如Pascal的P代碼或Java的虛擬機)以及一個兩步—或通過解釋或兩步編譯—的過程以產生最終的可執行代碼;這個過程可以簡化 對接并也能夠支持針對同一ISA的多個語言—即使不涉及微碼。

  ·通過采用多個ISA和多個微碼組,由微碼編寫的能夠在運行時間上動態地適應不同的HLL,從而能夠針對以不同的語言編寫的程序實現更好的執行性能。

  ·對于依賴于解釋器的各種語言,對適當的中間ISA的形式開發以及把那個中間ISA的微碼映射至目標ISA,能夠通過把它們的開發分為更加簡單 的兩級(對于工程設計來說是一流的劃分和征服方法)而加快語言的可用性。如上所述,這可能對于在RISC上實現多語言支持也是一個策略,或者,對于把一個 語言對接至多個也是一個策略。

  ·正如上面所討論的,通過把實現一個語言編譯器的過程分為兩級,就有可能為一種新的目標機提供語言支持,較之于編寫特殊的目標編譯器更加快。

  ·利用一個中間ISA指令而不是兩個或兩個以上的目標ISA指令,代碼長度可以被減少。此外,通過從主存儲器減少指令抓取的數量可能改善性能。在這種情形下,中間ISA可能較之于固有的機器RISC ISA而創建一種CISC。

  ·對ISA僅僅部分支持而不是全部支持,可能簡化一種語言不常用部分的編譯器的編寫。對于支持ISA的新型的硬件設計也可能在復雜性、設計努力以及項目風險上被減少,因此,采用經過很好測試的微碼實現的執行來實現某些功能,可能較之于直接硬件實現來說是更好的替代方法。

  ·這一技術如果利用更多的現代處理技術的優點可能會更好且時鐘速率更快,以提供對較老機器以及在更新的上的指令集—對較老的ISA的一種虛擬化—的后向兼容性。下一步就是在軟件上完全執行這個轉換,而完全不涉及任何微碼,這就需要各種技術改善以提供所需要的性能。這樣的改善可能包括較高頻率、邏輯、可能的多核以及更多的嵌入式存儲器。

反對采用微碼的案例

  微碼還具有若干缺點:

  ·與具有較為簡單的ISA的機器相比,低端中間ISA機器的性能常常非常差,因為中間ISA機器的分層常常證明并不是最優化地使用計算資源。

  ·與針對真實的目標機器能夠實現的根本簡單的ISA的編譯器相比,在中間ISA上生成代碼的編譯器無法做到同一程度的最優化。對編譯的最優化只能在兩個獨立的層面上完成。瞄準一個家族中直接實現中間ISA的高端的HLL編譯器無法為該家族中的低端進行最優化,除非為它們做特別的修改,這樣會打消它們的一些優點。

  ·為了滿足若干不同的語言的要求,一種針對若干不同ISA的機器可能結合不穩定的設計折中,從而為所有的目標語言提供差的性能。

  ·微碼編譯器、翻譯器或生成器(把固定的中間ISA翻譯為根本的目標、簡單的ISA)可能極度簡單或者難以適應,因為它并不打算頻繁地運行。此外,微碼可能難以改變,特別是如果被存儲在ROM之中的話(當然一些機器在片上RAM存儲的部分微碼允許改變)。

  中間ISA概念的一些領先的支持者把它們具體表達在Burroughs中 (如上所述),但是,在文獻中可以發現許多其它的努力,由多年來構建的許多不同的微可編程計算機的可用性來支持。Carlson2討論的一種微編程 Fortran計算機代表了Fortran語言的接近直接實現,并且僅僅需要一個簡單的翻譯器,此外,他還討論了一種微編程的EULER(EULER是Algol 60的變種)。Hassitt、Lageschulte和Lyon3討論的APL機器就采用了微編程。

  在上世紀80年代,Flynn4調查了許多架構方法,其中,包括微碼概念,并試圖定義直接執行HLL的理想的語言機器。Moulton5研究了 支持HLL編譯和執行的微編程及其的一般設計。在用微編程支持的許多其它HLL當中(見前一節更多的討論)有LISP6和Prolog7。可能說明這一概 念的最早代表就是Burroughs機器的B1700/1800系列,它支持面向Cobol、Fortran和RPG8的中間ISA。最近,我們已經看到 這一方法的元素被用于解釋方法之中,如具有P代碼的Pascal和具有其虛擬機的Java;盡管具有足夠的動機來改善性能并且經過足夠的時間,但是,這些 語言的固有編譯器仍然會出現。在任何情況下,這些方法可能不必要采用在現代上的微碼。

過去殘留下來的概念

  你可能會推想,上世紀80年代VLSI的出現已經縮減了微編程。的確,行業標準微ISA的出現,那些ISA的多個世代的實現,以及利用現代IC制造工藝可用純晶體管數的增加,似乎已經減少了微碼方法的應用。然而,這一技術的幾個發育不全的殘跡已經在最近幾年浮出表面。例如,在上世紀80年代末,Unisys推出了所謂的單芯片A系列主機(SCAMP)9,其中結合的相對低端的RISC類似于該公司在小型、低端的A3和A4主機上采用的,它里面采用的幾百K微碼就是沿用從上世紀50年代以來在最初的B5000出現時所采用的Burroughs "E-model"指令集。SCAMP被用于"Micro-A"計算機,在此,SCAMP芯片利用許多微碼ROM芯片被匯編至2英寸×2英寸的多芯片模塊之中。

  這一方法的另一個有趣的遺跡以及這一問題的一個反例就是在從AMD K610開始的、現在的奔騰級之中發現的問題。在這些中,以前x86世代的CISC指令利用RISC指令集實現。的指令解碼單元把CISC指令分解為RISC操作,然后,匯編并把這些更為簡單的操作按組流出至的并行執行單元。它并不是嚴格的微碼,但是,它在一定程度上明顯從微碼而來。

  這種設計方法還減輕了為更新的創建新的CISC指令。它創建了一種混合CISC/RISC架構。顯然,微架構/微碼機器仍然具有一定的作用和位置,它隨著半導體技術和架構的不斷演化而興衰;蛟S,這一蜥蜴類家族樹的遺跡將在當今更為敏捷的哺乳類機器上延續下去。

  盡管依然存在一些中間ISA的殘留應用,如上所述,微碼已經證明在進化上走入了死胡同,因為它不如直接用硬件高效地執行一個ISA。一旦硬件電路豐富,微碼的硬件效率就會由它的執行低效而超越。在當今的設計中,讓大量比較簡單的機器通過微碼仿效更為復雜的機器顯然應用不廣泛,盡管存在偶然的例外。新的編程語言常常最初通過比較簡單的中間表示法進行解釋,但是,如果該語言普及并且如果性能成問題,那么,不可避免地會出現針對“裸金屬”的有效的編譯器,因此,仍然需要采用微編程。(本文譯自《微報告》)

參考文獻:
1. Jari Nurmi編, Processor Design: System-On-Chip Computing for ASICs and FPGAs, ,Springer, June 2007
2. M.V. Wilkes和J. B. Stringer, Microprogramming and the Design of the Control Circuits in an Electronic Digital Computer, Proc. Cambridge Phil. Soc 49 (pt. 2), April 1953, pp. 230–238
3. Yaohan Chu 編,High-Level Language Computer Architecture第三章,New York, 1975. Carl R. Carlson, A survey of high-level language computer architecture.
4. A. Hassitt, J. W. Lageschulte和L.E. Lyon, Implementation of a High Level Language Machine, Communications of the ACM, April 1973, Volume 16, Number 4, pp. 199–212
5. Michael J. Flynn, Directions and Issues in Architecture and Language, IEEE Computer, October 1980, pp. 5–22.
6. Peter Moulton, Microprogrammed subprocessors for compilation and execution of high-level languages, 7th annual workshop on Microprogramming, Palo Alto, California, United States, 1974, pp. 74–79.
7. Skef Wholey和Scott F. Fahlman, The Design of an Instruction Set for Common Lisp, ACM Symposium on LISP and Functional Programming, 1984, pp. 150–158
8. Barry Fagin, Yale Patt, Vason Sirni和Alvin Despain, Compiling Prolog into Microcode: A Case Study Using the NCR/32-000, Proceedings of the 18th IEEE Microprogramming Workshop, December 1985
9. Elliott I. Organick和James A. Hinds, Architecture and Programming of the B1700/B1800 Series, North-Holland, New York, 1977
10. Reuters press release, "Unisys Introduces Micro A Computer", January 19, 1989. http://query.nytimes.com/gst/fullpage.html?res=950DE2DE113AF93AA25752C0A96F948260
11. Tom Halfhill, AMD K6 Takes On Intel P6, BYTE, January 1996. http://www.byte.com/art/9601/sec7/art1.htm/

本文地址:http://m.qingdxww.cn/thread-2926-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产入口在线观看 | 久久九九青青国产精品 | 日本不卡在线一区二区三区视频 | 天天综合五月天 | 视频一区二区三区自拍 | 最近中文字幕完先锋资源 | 4hu永久影院在线四虎 | 天天精品视频天天躁 | 国产偷国产偷亚洲高清在线 | 久久久久久麻豆 | 免费欧洲毛片a级视频 | 手机看片高清日韩精品 | 四虎精品在线 | 国产精品一区二区免费 | 在线亚洲精品福利网址导航 | 免费观看毛片的网站 | 日本中文字幕一区二区高清在线 | 日本高清中文字幕视频在线 | 亚洲影院在线 | 国产精品欧美一区二区在线看 | 国产精品色 | 国产精品欧美一区二区在线看 | 91精品国产综合久久香蕉 | 91免费精品国偷自产在线在线 | 欧美日韩一区二区三 | 欧美日韩国产色综合一二三四 | 国产欧美日韩一区二区三区 | 久久这里只有精品视频99 | 日本中文字幕视频在线看 | 99久久免费国产精品热 | 91在线网站 | 中文字幕第一页在线 | 亚洲人成依人成综合网 | 福利二区视频 | 高清视频日韩剧在线观看 | 五月天婷婷影院 | 欧美网站在线播放 | 狠狠色婷婷丁香六月 | 欧美成人免费全网站大片 | 午夜羞羞影院体验区60秒 | 91九色视频无限观看免费 |