?

一般來說,人類歷史第一臺RISC 電腦,應當是CDC6600,姑且不論IBM 力圖自我宣傳的立場,IBM 801 研發(fā)過程逐步厘清RISC 該有的樣貌,也是不爭的事實。最起碼IBM 801 研發(fā)團隊明確指出「存儲器載入/回存(Load / Store) 架構(gòu)」與「微碼不好(Microcode is bad),不要微碼」這些歷史性結(jié)論。
創(chuàng)造「根據(jù)代碼流可分成指令(Instruction) 和數(shù)據(jù)(Data) 兩種、據(jù)此再分成四種計算機類型(SISD、SIMD、MISD、MIMD)」的「費林分類法」(Flynn′s Taxonomy)的Michael Flynn,認定IBM 801 是世界第一個RISC 系統(tǒng)。IBM 前述ACS 計劃累積的成果,如高級語言編譯器的最佳化手段和更精練的指令集架構(gòu),一并延續(xù)到IBM 801。▲ 第一臺RISC計算機IBM 801,由IBM 研究員John Cocke 和團隊于1970 年代后期設計,他也在1987 年獲得計算機工業(yè)最高榮譽「圖靈獎」。1974 年,IBM 開始研究如何打造每小時處理100 萬則通話、平均每秒300 通的電話交換機。假如每通電話須執(zhí)行2萬個指令,代表每秒最少要600 萬個指令(6MIPS),再算額外處理負擔,起碼要1,200 萬個指令(12MIPS)。但當時IBM 銷售最高端機種System/370 Model 168(1972 年),只有每秒300 萬個指令(3MIPS),這說明要出現(xiàn)巨大技術(shù)突破,才有實現(xiàn)目標的可能。因此John Cocke 團隊刪除所有操作存儲器內(nèi)數(shù)據(jù)的指令,只保留使用處理器內(nèi)的數(shù)據(jù)寄存器。相較未有專門指令負責存儲器載入(Load) 和存儲器回存(Store)的CDC6600,電話交換機研究案直截了當指明RISC 指令集第一個要素:存儲器載入(Load)/回存(Store)架構(gòu)。白話點就是「一次從存儲器抓一堆運算元(數(shù)據(jù))進來,算完再一次丟回存儲器」。IBM 在1975 年取消這計算機結(jié)構(gòu)的概念取得相當進展的實驗性專案,但當年10 月IBM 決定當成不同應用可共享的通用設計,繼續(xù)發(fā)展,并以研發(fā)部門所在地Thomas J.Watson 研究中心建筑物編號為名,命名為IBM 801 計劃。日后IBM 801 普遍用于各種IBM 產(chǎn)品,包括System/370 大型主機I/O 通道控制器、各種IBM 網(wǎng)通設備、IBM 9370 大型主機的垂直微碼(Vertical Microcode)執(zhí)行單元,并在日后成為IBM ROMP(Resarch OPD Micro Processor)微處理器、IBM RT PC 工作站和幾個內(nèi)部研究案的技術(shù)基礎,一步步邁向時下高端RISC 之王:Power(Performance Optimization With Enhanced RISC)。接著更偉大的成就,就堂堂登場了──John Cocke 團隊發(fā)現(xiàn)軟件編譯程序都未用到大多數(shù)透過微碼(Microcode)實作的功能強大復雜的指令。當時可能一個看起來很簡單的加法指令,就有一堆對應不同運算元(像寄存器與存儲器配對,或不同運算元數(shù)量)版本,就是CISC 的特色,為了提供充裕指令數(shù)量與功能(受大型主機影響,是那時很重要的商業(yè)行銷訴求),反而拖慢常用的簡單指令。拋棄微碼,使用硬件線路(Hardwired)制作這些指令,并有效流水線化(Pipeline),就是RISC 的第二個特征。▲ 微碼是區(qū)分RISC與CISC 的最根本差異,沒有之一。即使后來的RISC…...John Cocke 團隊總結(jié),這句話也從此顛覆指令集架構(gòu)潮流:“在計算機與使用者間強加微碼(用微碼實作「為軟件與硬件界面的指令集架構(gòu)」),會在執(zhí)行最頻繁執(zhí)行的指令時,產(chǎn)生昂貴的額外負擔。”(Imposing microcode between a computer and its users imposes an expensive overhead in performing the most frequently executed instructions.)RISC的重大精神「讓最常用的指令跑的更快」(Make The Common Case Fast)由此而生。▲ 雖然IBM 并未發(fā)明RISC 這名詞,但IBM 的801 計劃的確早于當代兩位大師David Patterson(RISC 名詞創(chuàng)造者,之后才出現(xiàn)「對照」用CISC)的RISC I 和John Hennessy 的MIPS。1980 年夏天問世的最初版,時鐘頻率15.15MHz,理論運算效能高達15MIPS,超出1974 年電話交換機的預定性能需求。但IBM 801 打從娘胎起就是為了功能極有限的系統(tǒng)而生,所以規(guī)格也極簡單,僅有16 個24 位元數(shù)據(jù)寄存器,指令編碼長度是短短24 位元,沒有虛擬存儲器,延續(xù)古老的2 運算元格式(A = A + B),但2運算元格式(A = A + B) 卻會覆蓋其中一個,代表必須事先復制一個運算元的數(shù)據(jù)到另一個寄存器,降低效率。后來IBM 改良多次,特別重要的是將指令編碼長度擴展到32 位元,不僅讓數(shù)據(jù)寄存器數(shù)量倍增到32 個(用到5 個位元標定),更有足夠位元數(shù),改為3 運算元格式(A = B + C),更利于數(shù)學應用,因兩個數(shù)字(B 和C) 都可保留于寄存器,以便重新使用。RISC 第三個象征:「應該」要有32 個數(shù)據(jù)寄存器和三運算元格式,就這樣出現(xiàn)在各位眼前(至于嵌入式導向RISC 指令集,如ARM Thumb,那又是另一個故事了)。更值得注意的是,不限硬件,IBM 801 計劃也對改善編譯器(Compiler)效率有巨大貢獻(各位還記得上一篇ACS 和Frances Allen嗎?)。新版IBM 801 于System/370 大型主機以「模擬器」執(zhí)行時,運行速度竟然會比System/370 原生程式碼還快。研發(fā)團隊將IBM 801「盡其所能利用數(shù)據(jù)寄存器,并設法減低存取存儲器頻率」的編譯器「逆向」移植回CISC指令集架構(gòu)的System/370,效能也比原版快三倍,充分證明針對RISC 發(fā)展的編譯器最佳化技術(shù),也同樣可改進CISC 處理器軟件執(zhí)行效能,反正能減少上下其手存儲器,都不啻是好事一樁。總之,從CDC6600、ACS 和IBM 801,能對RISC 做以下總結(jié):2.RISC「精簡」的是指令格式與運算元定址模式,不是指令數(shù)目。3.存儲器載入(Load)回存(Store)都由專屬指令負責。4.盡量使用硬件線路(Hardwired)實做指令,避免采用微碼(Microcode)產(chǎn)生控制訊號。5.預設最少要有32個數(shù)據(jù)寄存器與3 運算元(A = B + C)。6.因應高級語言普及,編譯器(Compiler)技術(shù)在效能層面扮演舉足輕重角色。但IBM 801的傳奇并未劃下句點,更大挑戰(zhàn)即將現(xiàn)身John Cocke 等人眼前:1982 年以IBM 801 的成就為地基,IBM 啟動Cheetah(獵豹)計劃,借實作多組執(zhí)行單元,讓RISC 在單一時脈周期內(nèi)執(zhí)行多道指令,也就是同時執(zhí)行一個以上指令的「超標量」(Superscalar)流水線,結(jié)合讓RISC搶灘個人電腦市場的努力(ROMP、RT PC、PowerPC),鋪陳藍色巨人橫越超過半世紀的壯麗RISC 發(fā)展史。▲ 筆者一直很討厭RISC-V 陣營老愛把RISC 說得好像橫空出世的偉大發(fā)明,就算不提IBM,RISC 起源甚至可追溯至1964年的CDC6600,距今超過半個世紀。如果還沒忘記上一篇提到的IBM System/360,就會馬上理解服務器的世界,無論CISC 還是RISC,最頂端的高端產(chǎn)品,依舊清一色是IBM 天下。不過論世界第一個「兼具超標量、亂序與預測指令執(zhí)行的RISC 處理器」,一般認定是1990 年IBM Power1(限浮點運算) 或1993 年IBM PowerPC 601,但其實早在1978 年蘇聯(lián)Elbrus-1 實現(xiàn),只是蘇聯(lián)解體、冷戰(zhàn)結(jié)束后才逐漸被世人知悉。筆者更好奇的是,當代兩位大師合著的兩本經(jīng)典教科書《計算機體系架構(gòu):量化研究方法》,何時會探討俄國人的計算機領域成就?面向AIoT的RISC-V原生操作系統(tǒng)研究深度報告:RISC-V異構(gòu)IoT全新架構(gòu)RISC-V芯片產(chǎn)業(yè)指令集架構(gòu)研究玄鐵C910實現(xiàn)RISC-V用戶自定義指令面向AIoT的RISC-V原生操作系統(tǒng)研究
RISC-V手冊開源指令集指南
基于GPU統(tǒng)一內(nèi)存優(yōu)化的圖計算框架設計半導體材料系列報告(上):?國產(chǎn)替代正當時,把握擴產(chǎn)窗口期半導體材料系列報告(下):Chiplet引領封測行業(yè)新機遇圖解數(shù)據(jù)中心基礎設施:PCIe總線和NVMe SSD測試PCIe Gen 4&5總線協(xié)議分析和SSD測試工具白皮書《國產(chǎn)操作系統(tǒng)專題(3)》《國產(chǎn)操作系統(tǒng)專題(2)》《國產(chǎn)操作系統(tǒng)專題(1)》操作系統(tǒng)產(chǎn)業(yè)完全解析
本號資料全部上傳至知識星球,更多內(nèi)容請登錄智能計算芯知識(知識星球)星球下載全部資料。

免責申明:本號聚焦相關技術(shù)分享,內(nèi)容觀點不代表本號立場,可追溯內(nèi)容均注明來源,發(fā)布文章若存在版權(quán)等問題,請留言聯(lián)系刪除,謝謝。
電子書<服務器基礎知識全解(終極版)>更新完畢。
獲取方式:點擊“閱讀原文”即可查看182頁?PPT可編輯版本和PDF閱讀版本詳情。
溫馨提示:
請搜索“AI_Architect”或“掃碼”關注公眾號實時掌握深度技術(shù)分享,點擊“閱讀原文”獲取更多原創(chuàng)技術(shù)干貨。
