當前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]在那個年代所采用的一種主要方法就是實現(xiàn)針對HLL的處理器,就是把一個中間ISA裁剪為一種HLL,然后,采用或開發(fā)類似的處理器硬件以通過微編程來仿效經(jīng)定義的ISA。在上世紀50年代,微碼首次被劍橋大學(xué)在EDSAC項目中由M

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

微碼盡管曾經(jīng)獲得了普及應(yīng)用,但是,本質(zhì)上已經(jīng)從現(xiàn)代的處理器設(shè)計消失了,因為片上可用硬件快速增加、硬件成本的關(guān)聯(lián)下降以及廣泛的采用邏輯綜合來進行芯片設(shè)計。所有這些發(fā)展使得ISA的直接硬件實現(xiàn)更加容易并且更加在經(jīng)濟上有吸引力。

贊成采用微碼的案例

微碼提供的若干優(yōu)點:

·目標碼在一個家族之內(nèi)與其它處理器兼容或與以前一代的處理器兼容;

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

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

·通過采用多個ISA和多個微碼組,由微碼編寫的處理器能夠在運行時間上動態(tài)地適應(yīng)不同的HLL,從而能夠針對以不同的語言編寫的程序?qū)崿F(xiàn)更好的執(zhí)行性能。

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

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

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

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

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

反對采用微碼的案例

微碼還具有若干缺點:

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

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

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

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

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

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

過去殘留下來的概念

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

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

這種設(shè)計方法還減輕了為更新的處理器創(chuàng)建新的CISC指令。它創(chuàng)建了一種混合CISC/RISC架構(gòu)。顯然,微架構(gòu)/微碼機器仍然具有一定的作用和位置,它隨著半導(dǎo)體技術(shù)和處理器架構(gòu)的不斷演化而興衰。或許,這一蜥蜴類家族樹的遺跡將在當今更為敏捷的哺乳類機器上延續(xù)下去。

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉