一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計算機(jī)芯片的發(fā)展歷程,以及所有架構(gòu)的未來趨勢

人工智能和機(jī)器人研究院 ? 來源:lq ? 2019-02-14 15:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

John Hennessy 和 David Patterson 是 2017 年圖靈獎獲得者,目前這兩位學(xué)者都供職于谷歌,前者是谷歌母公司 Alphabet 的董事會主席,后者任谷歌杰出工程師,致力于研究機(jī)器學(xué)習(xí)人工智能。他們更為人所知的就是共同完成的計算機(jī)系統(tǒng)結(jié)構(gòu)學(xué)科「圣經(jīng)」《計算機(jī)體系結(jié)構(gòu):量化研究方法》了。

本文《計算機(jī)架構(gòu)的新黃金時代》是兩人在 2019 年新發(fā)表的文章,完整介紹了計算機(jī)芯片的發(fā)展歷程,以及所有架構(gòu)的未來趨勢,值得所有希望了解硬件架構(gòu)的人閱讀。

圖注:2019 年 2 月刊發(fā)

2018 年 6 月 4 日,我們回顧了自 20 世紀(jì) 60 年代以來計算機(jī)架構(gòu)的發(fā)展,并以此開始了我們的圖靈講座(Turing Lecture)。除了那個回顧,我們還在講座中介紹了當(dāng)前的難題和未來機(jī)遇。我們還預(yù)測未來十年計算機(jī)架構(gòu)領(lǐng)域?qū)⒂瓉硐乱粋€黃金時代,就像 20 世紀(jì) 80 年代那樣——我們做的研究能為我們帶來回報,能改善成本、能源、安全以及性能。

「不能銘記過去的人注定要重蹈覆轍。」

——George Santayana,1905

軟件與硬件的通信是通過指令集架構(gòu)(ISA)進(jìn)行的。在 1960 年代早期,IBM 有四個互不兼容的計算機(jī)產(chǎn)品線,每個都有自己的 ISA、軟件堆棧、I/O 系統(tǒng)和利基市場(分別針對的是小型企業(yè)、大型企業(yè)、科研和實(shí)時應(yīng)用)。包括 ACM 圖靈獎獲得者 Fred Brooks, Jr. 在內(nèi)的 IBM 工程師都認(rèn)為他們可以創(chuàng)造一種能有效統(tǒng)一所有這四種 ISA 基礎(chǔ)的單個 ISA。

他們需要一種技術(shù)解決方案,讓便宜的 8 位數(shù)據(jù)路徑計算機(jī)與高速的 64 位數(shù)據(jù)路徑計算機(jī)都能共用一個 ISA。這些數(shù)據(jù)路徑是處理器的「身體」,它們在其中執(zhí)行算術(shù)運(yùn)算但相對而言較容易「變寬」或「變窄」。對于那時以及現(xiàn)在的計算機(jī)設(shè)計者來說,最大的難題是處理器的「大腦」——控制硬件。受軟件編程的啟發(fā),計算先驅(qū)和圖靈獎獲得者 Maurice Wilkes 提出了簡化控制的方法。控制可被描述為一個二維數(shù)組,他稱之為「控制存儲器(control store)」。這個數(shù)組的每一列都對應(yīng)于一條控制線,每一行都是一個微指令(microinstruction),而編寫微指令則被稱為微編程(microprogramming)。一個控制存儲器包含一個用微指令編寫的 ISA 解釋器,所以執(zhí)行一個常規(guī)指令需要多個微指令。這種控制存儲器是通過內(nèi)存實(shí)現(xiàn)的,成本比邏輯門要低得多。

表 1 列出了 IBM 在 1964 年 4 月 7 日宣布的新 System/360 ISA 的 4 種型號。數(shù)據(jù)路徑的變化范圍有 8 倍,內(nèi)存容量的變化范圍有 16 倍,時鐘頻率是 4 倍,性能是 50 倍,成本接近 6 倍。成本最高的計算機(jī)的控制存儲器最寬,因?yàn)楦鼜?fù)雜的數(shù)據(jù)路徑使用更多控制線。成本最低的計算機(jī)因?yàn)橛布唵味懈目刂拼鎯ζ?,但因?yàn)樗鼈冃枰鄷r鐘周期來執(zhí)行一個 System/360 指令,所以需要更多微指令。

表 1:IBM System/360 系列四個型號的特性;IPS 表示每秒執(zhí)行指令數(shù)。

在微編程的推動下,IBM 將公司的未來押在了這款新 ISA 上,寄希望其能革新計算行業(yè),為 IBM 贏得回報。IBM 成功主宰了這一市場,IBM 計算機(jī)家族的大型機(jī)后裔在推出 55 年后仍然每年創(chuàng)造著 100 億美元的收入。

正如我們反復(fù)看到的那樣,盡管市場并不能完美地判定各種技術(shù)問題,但鑒于架構(gòu)和商業(yè)計算機(jī)之間聯(lián)系緊密,市場才能最終決定架構(gòu)創(chuàng)新是否成功,而這往往需要大量的工程開發(fā)投入。

集成電路,CISC,432,8086,IBM PC

當(dāng)計算機(jī)開始使用集成電路時,摩爾定律意味著控制存儲器可以變大很多。更大的內(nèi)存反過來又意味著允許使用更復(fù)雜的 ISA。要知道,數(shù)字設(shè)備公司(Digital Equipment Corp.)在 1977 年推出的 VAX-11/780 的控制存儲器為 5120 字×96 位,而其前一代僅有 256 字× 56 位。

某些制造商選擇開放微編程功能,讓選定的客戶能添加定制功能,他們稱之為「可寫控制存儲器(WCS)」。最有名的 WCS 計算機(jī)是 Alto,這是圖靈獎得主 Chuck Thacker 和 Butler Lampson 及其同事于 1973 年一起為施樂(Xerox)帕洛阿托研究中心開發(fā)的。這實(shí)際上是第一款個人計算機(jī)(PC),配備有首款位映像顯示器(bit-mapped display)和首個以太網(wǎng)局域網(wǎng)。用于這種全新顯示器和網(wǎng)絡(luò)的設(shè)備控制器是存儲在一個 4096 字×32 位 WCS 中的微程序。

1970 年代的微處理器(比如英特爾的 8080)仍處于 8 位時代,主要依靠匯編語言編寫程序。互相競爭的設(shè)計者會通過添加新的指令來趕超彼此,他們會通過匯編語言示例來展示自己的優(yōu)勢。

戈登·摩爾(Gordon Moore)相信英特爾的下一代 ISA 將會伴隨英特爾的一生,因此他聘用了很多聰明的計算機(jī)科學(xué)博士,并將他們送到波特蘭去發(fā)明出色的下一代 ISA。英特爾最早命名為 8800 的計算機(jī)架構(gòu)項(xiàng)目雄心勃勃——對任何時代而言都是如此,顯然也是 1980 年代最有野心的。它有基于 32 位的尋址能力、面向?qū)ο蟮募軜?gòu)、位長可變的指令以及用時新的編程語言 Ada 編寫的自己的操作傳統(tǒng)。

可惜這個雄心勃勃的項(xiàng)目晚了幾年,迫使英特爾在圣克拉拉開始了一項(xiàng)緊急替換工作,在 1979 年推出了一款 16 位微處理器。英特爾給了新團(tuán)隊(duì) 52 周時間來開發(fā)新的「8086」ISA 以及設(shè)計和構(gòu)建芯片。鑒于日程緊迫,這個團(tuán)隊(duì)實(shí)際上是把 8080 的 8 位寄存器和指令集擴(kuò)展成了 16 位,最后只用 10 人次的 3 個常規(guī)工作周完成了這款 ISA 的設(shè)計。這個團(tuán)隊(duì)按時完成了 8086 的開發(fā),但在發(fā)布時卻沒引起什么關(guān)注。

英特爾非常幸運(yùn),IBM 當(dāng)時正在開發(fā)一款個人計算機(jī)來與 Apple II 競爭,并需要一款 16 位微處理器。IBM 之前感興趣的是 Motorola 68000,其 ISA 與 IBM 360 類似,但卻落后于 IBM 激進(jìn)的計劃。IBM 轉(zhuǎn)而使用 8086 的 8 位總線版本。IBM 在 1981 年 8 月 12 日推出了這款 PC,希望到 1986 年時能售出 25 萬臺。而實(shí)際上該公司在全球售出了 1 億臺,為這款緊急代換的英特爾 ISA 鋪墊了一個非常光明的未來。

英特爾原本的 8800 項(xiàng)目更名了為 iAPX-432,并最終在 1981 年推出,但它需要多塊芯片并且存在嚴(yán)重的性能問題。該項(xiàng)目在 1986 年終止,這一年,英特爾在 80386 中對 16 位 8086 ISA 進(jìn)行了擴(kuò)展,將其寄存器從 16 位擴(kuò)展到了 32 位。因此,摩爾的預(yù)測就是正確的了——下一代 ISA 確實(shí)會和英特爾一樣長壽,但市場選擇了緊急代換的 8086,而不是專門精心開發(fā)的 432。正如 Motorola 68000 和 iAPX-432 兩者的設(shè)計師都學(xué)到的那樣:市場往往缺乏耐心。

從復(fù)雜指令集到精簡指令集計算機(jī)

1980 年代早期,人們對更大型控制存儲器中大型微程序使用的復(fù)雜指令集計算機(jī)(CISC)進(jìn)行了一些研究。Unix 表明即使操作系統(tǒng)也可以使用高級語言編寫,關(guān)鍵問題隨之變成了「編譯器會生成什么指令?」,而不是「編程者會使用什么匯編語言?」。硬件/軟件接口的顯著改進(jìn)為架構(gòu)創(chuàng)新帶來了機(jī)會。

圖靈獎得主 John Cocke 與其同事為小型計算機(jī)開發(fā)了更簡單的 ISA 和編譯器。作為實(shí)驗(yàn),他們將自己研究的編譯器的目標(biāo)重新設(shè)定為:僅使用 IBM 360 ISA 中簡單的 register-register 操作和 load-store 數(shù)據(jù)傳輸,避免更復(fù)雜的指令。他們發(fā)現(xiàn)使用這個簡單的子集時,程序運(yùn)行速度可快達(dá)三倍。Emer 和 Clark 發(fā)現(xiàn) VAX 指令中 20% 的指令需要 60% 的微代碼(microcode),但僅占據(jù) 0.2% 的執(zhí)行時間。

David Patterson 把在 DEC 的一次學(xué)術(shù)休假投入到了研究減少 VAX 指令中的漏洞上。他認(rèn)為,如果微處理器制造商遵循更大型計算機(jī)的 CISC ISA 設(shè)計,則它們需要一種修復(fù)微代碼漏洞的方法。他為此寫了一篇論文,但期刊《Computer》卻拒絕接收。審稿人認(rèn)為,使用如此復(fù)雜以至于需要修補(bǔ)的 ISA 開發(fā)微處理器是很糟糕的。這次拒稿讓人們質(zhì)疑 CISC ISA 在微處理器方面的價值。諷刺的是,現(xiàn)代 CISC 微處理器確實(shí)需要包含微代碼修復(fù)機(jī)制,但他被拒稿的主要結(jié)果是啟發(fā)他為微處理器開發(fā)更簡單的 ISA——精簡指令集計算機(jī)(RISC)。

這些觀察和向高級語言的轉(zhuǎn)移為 CISC 向 RISC 的過渡帶來了機(jī)會。首先,RISC 指令是經(jīng)過簡化的,因此無需微代碼解釋器。RISC 指令通常和微指令一樣簡單,硬件可以直接執(zhí)行。第二,之前用于 CISC ISA 的微代碼解釋器的快速內(nèi)存被用作了 RISC 指令的緩存。(緩存是小而快的內(nèi)存,臨時緩沖近期執(zhí)行過的指令,因?yàn)檫@樣的指令很可能很快就要重新使用。)第三,基于 Gregory Chaitin 圖著色方案的寄存器分配器使編譯器可以更加容易地有效使用寄存器,這對這些 register-register ISA 是有利的。最后,摩爾定律意味著 1980 年代單塊芯片中已有足以包含完整 32 位數(shù)據(jù)路徑的晶體管以及相應(yīng)的指令和數(shù)據(jù)緩存。

在今天的后 PC 時代,x86 的出貨量從 2011 年的頂峰每年都會下降約 10%,而 RISC 處理器芯片出貨量已經(jīng)激增到了 200 億。

例如圖 1 展示了 RISC-I 和 MIPS 微處理器,它們分別由 UC 伯克利和斯坦福在 1982 與 1983 年開發(fā),它們展示了 RISC 的優(yōu)勢。這些芯片最終都展示在了頂尖電路會議上,即 1984 年的 IEEE 國際固態(tài)電路會議。當(dāng)時是非常矚目的成果,因?yàn)椴死退固垢5囊恍┭芯可軜?gòu)建超越工業(yè)上能構(gòu)建的微處理器。

圖 1:加州大學(xué)伯克利分校 RISC-1 和斯坦福大學(xué) MIPS 微處理器。

這些學(xué)術(shù)界做出的芯片激勵了許多公司構(gòu)建 RISC 微處理器,也是那之后 15 年內(nèi)最快的芯片。下面的公式解釋了處理器的性能:

Time/Program = Instructions / Program x (Clock cycles) / Instruction x Time / (Clock cycle)

DEC 工程師后來表明,更復(fù)雜的 CISC ISA 每個程序執(zhí)行的指令數(shù)是 RISC 每個程序的 75%(上式第一項(xiàng)),在使用類似的技術(shù)時,CISC 執(zhí)行每個指令要多消耗 5 到 6 個時鐘周期(第二項(xiàng)),使得 RISC 微處理器的速度大約快了 3 倍。

這樣的公式在上世紀(jì) 80 年代的計算機(jī)架構(gòu)書中還沒有,后來我們在 1989 年發(fā)表了《計算機(jī)體系架構(gòu):量化研究方法》一書。子標(biāo)題表明了該書的主題:使用測量方法和基準(zhǔn)進(jìn)行量化評估,而不是像從前那樣依靠架構(gòu)師的直覺與經(jīng)驗(yàn)。我們使用的量化方法也受到了圖靈獎得主 Donald Knuth 關(guān)于算法的書的啟發(fā)。

VLIW、EPIC、Itanium

下一個 ISA 創(chuàng)新應(yīng)該是對 RISC 和 CISC 的繼承。超長指令字(VLIW)及其「表親」顯式并行指令計算機(jī)(EPIC)使用了寬指令,其中在每條指令中捆綁了多個獨(dú)立操作。VLIW 和 EPIC 的擁護(hù)者當(dāng)時認(rèn)為,單個指令如果可以指定六個獨(dú)立的操作(兩個數(shù)據(jù)傳輸、兩個整型操作和兩個浮點(diǎn)操作),并且編譯器技術(shù)可以有效地將操作分配到六個指令槽,則硬件可以變得更簡單。與 RISC 方法一樣,VLIW 和 EPIC 將工作從硬件轉(zhuǎn)移到編譯器。

通過合作,英特爾和惠普公司設(shè)計了一款基于 EPIC 理念的 64 位處理器來取代 32 位 x86。英特爾和惠普公司對第一款 EPIC 處理器(Itanium)的期望很高,但實(shí)際情況與開發(fā)商的早期聲明并不相符。雖然 EPIC 方法適用于高度結(jié)構(gòu)化的浮點(diǎn)程序,但它很難實(shí)現(xiàn)具有較少可預(yù)測的緩存丟失或較不可預(yù)測分支的整型程序的高性能。正如 Donald Knuth 后來指出:「Itanium 方法...... 原被認(rèn)為非常贊,直到事實(shí)證明所希望的編譯器基本上不可能寫出來。」專家們注意到 Itanium 的延遲和表現(xiàn)不佳,并借鑒泰坦尼克號事件重新將其命名為「Itanic」。市場再次失去了耐心,導(dǎo)致 64 位版本的 x86 成為 32 位 x86 的繼承者,而不是 Itanium。

好消息是 VLIW 仍然適用于較窄范圍的應(yīng)用程序、小程序、更簡單的分支和省略緩存,包括數(shù)字信號處理。

PC 和后 PC 時代的 RISC vs. CISC

AMD 和英特爾使用了 500 人的設(shè)計團(tuán)隊(duì)和頂尖半導(dǎo)體技術(shù)來減少 x86 和 RISC 的性能差距。再次受到簡單流水線 vs 復(fù)雜指令性能優(yōu)勢的啟發(fā),指令解碼器在運(yùn)行中將復(fù)雜的 x86 指令轉(zhuǎn)換為類似 RSIC 的內(nèi)部微指令。然后 AMD 和英特爾將 RISC 微指令的執(zhí)行流水線化。RISC 設(shè)計師關(guān)于性能分離指令、數(shù)據(jù)緩存、芯片二級緩存、深度流水線,以及同時獲取和執(zhí)行多個指令的任何想法,都可以用在 x86 的設(shè)計上。AMD 和英特爾在 2011 年 PC 時代的巔峰期出了大約 3 億 5 千萬個微處理器。PC 行業(yè)的高產(chǎn)量和低利潤同樣意味著比 RISC 計算機(jī)更低的價格。

鑒于每年全球銷售的數(shù)億臺 PC,PC 軟件成為一個巨大的市場。雖然 Unix 市場的軟件提供商會為不同的商業(yè) RISC ISA-Alpha、HP-PA、MIPS、Power 和 SPARC 提供不同的軟件版本,但 PC 市場卻享有單一的 ISA,因此軟件開發(fā)商提供了「收縮包裝」軟件,只與 x86 ISA 二進(jìn)制兼容。2000 年,更大的軟件基礎(chǔ)、類似的性能和更低的價格使 x86 在臺式機(jī)和小型服務(wù)器市場中占據(jù)主導(dǎo)地位。

蘋果公司在 2007 年幫助推動了后 PC 時代。智能手機(jī)公司不再購買微處理器,而是采用其他公司的設(shè)計(包括 ARM 的 RISC 處理器)構(gòu)建自己的芯片系統(tǒng)(SoC)。移動設(shè)備設(shè)計人員對芯片面積和能效以及性能進(jìn)行評估,表明 CISC ISA 設(shè)計的不足之處。此外,物聯(lián)網(wǎng)的到來大大促進(jìn)了處理器的數(shù)量以及芯片尺寸、功率、成本和性能所需的權(quán)衡。這種趨勢增加了設(shè)計時間和成本的重要性,進(jìn)一步使 CISC 處理器處于不利地位。在今天的后 PC 時代,x86 出貨量自 2011 年達(dá)到峰值以來每年下降近 10%,而采用 RISC 處理器的芯片則飆升至 200 億。如今,99%的 32 位和 64 位處理器都是 RISC。

結(jié)束這一歷史回顧,我們可以說市場已經(jīng)解決了 RISC-CISC 的爭論。CISC 贏得了 PC 時代的后期階段,但 RISC 正在后 PC 時代占據(jù)主導(dǎo)。幾十年來,都沒有出現(xiàn)新的 CISC ISA。令我們驚訝的是,在推出 35 年后,今天對于通用處理器來說,最佳的 ISA 仍然是 RISC。

處理器架構(gòu)的當(dāng)前挑戰(zhàn)

「如果一個問題無解,那它可能都不成問題,而是一個事實(shí);我們不需要解決,而是隨著時間的推移來處理?!埂猄himon Peres

雖然前面的部分聚焦在指令集架構(gòu)(ISA)設(shè)計上,大部分計算機(jī)架構(gòu)師并不設(shè)計新的 ISA,而是在現(xiàn)有的實(shí)現(xiàn)技術(shù)中實(shí)現(xiàn)現(xiàn)有的 ISA。自 20 世紀(jì) 70 年代后期以來,選擇的技術(shù)一直是基于金屬氧化物半導(dǎo)體(MOS)的集成電路,首先是 n 型金屬氧化物半導(dǎo)體(nMOS),然后是互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)。摩爾的預(yù)測中捕捉到的 MOS 技術(shù)驚人的進(jìn)步率一直促使架構(gòu)師設(shè)計更積極的方法來為給定的 ISP 實(shí)現(xiàn)更好的性能。在 1965 年的最初預(yù)測中,摩爾稱晶體管密度會每年翻一番;1975 年,他又預(yù)計每兩年翻一番。該預(yù)測最終被稱為摩爾定律。因?yàn)榫w管密度呈二次增長,而增長率呈線性增長,架構(gòu)師使用更多晶體管來提高性能。

摩爾定律和登納德縮放定律的終結(jié)

盡管摩爾定律已經(jīng)持續(xù)了幾十年(見圖 2),但在 2000 年左右開始放緩。到了 2018 年,根據(jù)摩爾定律得出的預(yù)測與當(dāng)下實(shí)際能力差了 15 倍。根據(jù)當(dāng)前預(yù)測,這一差距將持續(xù)拉大,因?yàn)?CMOS 技術(shù)方法已經(jīng)接近極限。

圖 2. 每個英特爾微處理器上的晶體管數(shù)量 vs. 摩爾定律

伴隨摩爾定律是由羅伯特·登納德(Robert Dennard)預(yù)測的登納德縮放定律(Dennard scaling)。他指出,隨著晶體管密度的增加,每個晶體管的能耗將降低,因此硅芯片上每平方毫米上的能耗幾乎保持恒定。由于每平方毫米硅芯片的計算能力隨著技術(shù)的迭代而不斷增強(qiáng),計算機(jī)將變得更加節(jié)能。登納德縮放定律從 2007 年開始大幅放緩,2012 年左右接近失效(見圖 3)。

圖 3. 每個芯片上的晶體管及每平方毫米的能耗。

1986 年至 2002 年間,指令級并行(ILP)是提高性能的主要架構(gòu)方法。而且隨著晶體管速度的提高,其性能每年能提高 50% 左右。登納德縮放定律的終結(jié)意味著工程師必須找到更加高效的并行化利用方法。

要理解為什么 ILP 的增加會導(dǎo)致芯片能效大大降低,可以看一看 ARM、英特爾、AMD 當(dāng)前推出的處理器核。假設(shè)該芯片有一個 15 步的工作流程,每個時鐘周期可以發(fā)送 4 條指令。那么在任意一個時刻,整個工作流程中至多有 60 條指令,包括大約 15 個分支,因?yàn)樗鼈兇砹舜蠹s 25% 的執(zhí)行指令。為了保持工作流程完整,需要預(yù)測分支,并根據(jù)推測將代碼放入工作流程中以便執(zhí)行。推測的使用是 ILP 高性能和芯片低能效的源頭所在。如果分支預(yù)測完美,推測就能提高 ILP 性能,但能耗會增加一些——甚至可能節(jié)約能耗——但如果分支預(yù)測出現(xiàn)失誤,處理器就必須拋棄錯誤的推測指令,其計算工作及所耗能量就會付之東流。處理器的內(nèi)部狀態(tài)也必須恢復(fù)到錯誤預(yù)測分支之前的狀態(tài),這將花費(fèi)額外的時間和能量。

要理解這種設(shè)計的挑戰(zhàn)性有多高,可以考慮一下正確預(yù)測 15 個分支結(jié)果的難度。如果處理器要將做無用功的時間限制在 10%,那么它必須在 99.3% 的時間里正確預(yù)測每個分支。很少有通用程序能夠如此準(zhǔn)確地預(yù)測分支。

要理解這些無用功疊加起來是什么結(jié)果,可以參見圖 4 中的數(shù)據(jù)。圖 4 顯示了有效執(zhí)行的部分指令,這部分指令由于處理器推測錯誤而變得無用。在英特爾酷睿 i7 基準(zhǔn)測試上,19% 的指令都被浪費(fèi)了,但能耗的浪費(fèi)情況更加嚴(yán)重,因?yàn)樘幚砥鞅仨毨妙~外的能量才能在推測失誤時恢復(fù)原來的狀態(tài)。這樣的度量導(dǎo)致許多人得出結(jié)論,架構(gòu)師需要一種不同的方法來實(shí)現(xiàn)性能改進(jìn)。于是多核時代就這樣誕生了。

圖 4. 在各種 SPEC 整型數(shù)基準(zhǔn)上,英特爾酷睿 i7 浪費(fèi)的指令占完成指令總數(shù)的百分比。

多核將識別并行性和決定如何利用并行性的責(zé)任轉(zhuǎn)移給程序員和語言系統(tǒng)。多核并不能解決由登納德縮放定律終結(jié)帶來的能效計算挑戰(zhàn)。每個活躍的核都會消耗能量,無論其對計算是否具有有效貢獻(xiàn)。一個主要的障礙可以用阿姆達(dá)爾定律(Amdahl's Law)表述,該定理認(rèn)為,并行計算機(jī)的加速受限于序列計算的部分。這一定律的重要性參見圖 5。圖中顯示,假設(shè)串行執(zhí)行的不同部分只有一個處理器處于活躍狀態(tài),那么與單個內(nèi)核相比,最多 64 個內(nèi)核的應(yīng)用程序運(yùn)行速度要快得多。例如,如果只有 1% 的時間是串行的,那么 64 核配置可加速大約 35 倍,所需能量與 64 個處理器成正比,因此大約有 45% 的能量被浪費(fèi)了。

圖 5. 部分時鐘周期時間為串行模式時,阿姆達(dá)爾定律對加速的影響。

真實(shí)的程序結(jié)構(gòu)當(dāng)然會更加復(fù)雜,部分組件允許在給定時刻使用不同數(shù)量的處理器。然而,周期性通信和同步的需求意味著大部分應(yīng)用具備僅可高效使用一部分處理器的組件。盡管阿姆達(dá)爾定律已經(jīng)出現(xiàn) 50 多年了,它仍然是一個很大的障礙。

隨著登納德縮放定律的終結(jié),芯片內(nèi)核數(shù)量的增加意味著能耗也隨之增加。然而,進(jìn)入處理器的電能肯定有一部分會轉(zhuǎn)化為熱能。因此多核處理器受限于熱耗散功率(TDP),即封裝和冷卻系統(tǒng)可以移除的平均功率。盡管一些高端數(shù)據(jù)中心可能使用更先進(jìn)的封裝和冷卻技術(shù),但沒有一個計算機(jī)用戶想要在自己桌子上放置小型熱交換器,或者背著散熱器來冷卻手機(jī)。TDP 的局限性直接導(dǎo)致了「暗硅」(dark silicon)時代,處理器降低時鐘速率、關(guān)閉空閑內(nèi)核來防止過熱。這種方法的另一種解釋是:一些芯片可以重新分配其珍貴功耗,將其從空閑內(nèi)核轉(zhuǎn)移到活躍內(nèi)核。

登納德縮放定律結(jié)束、摩爾定律衰退,而阿姆達(dá)爾定律正當(dāng)其時,這意味著低效性將每年的性能改進(jìn)限制在幾個百分點(diǎn)(見圖 6)。獲得更高的性能改進(jìn)(像 20 世紀(jì)八九十年代那樣)需要新的架構(gòu)方法,新方法應(yīng)能更加高效地利用集成電路。接下來我們將討論現(xiàn)代計算機(jī)的另一個主要缺陷——計算機(jī)安全問題,之后我們會回來探討有效的新方法。

圖 6:使用整型程序得到的計算機(jī)性能提升(SPECintCPU)。

被忽略的計算機(jī)安全

20 世紀(jì) 70 年代,處理器架構(gòu)師主要專注于計算機(jī)安全,涉及保護(hù)環(huán)、容量等概念。這些架構(gòu)師深刻了解到,大部分 bug 存在于軟件中,但他們認(rèn)為架構(gòu)支持會有所幫助。操作系統(tǒng)大部分未使用這些功能,操作系統(tǒng)專注于良性環(huán)境(如個人電腦),因此具備較大開銷的功能未被使用。在軟件社區(qū)中,很多人認(rèn)為微內(nèi)核(microkernel)等正式驗(yàn)證技術(shù)會為構(gòu)建高度安全的軟件提供有效保障。但不幸的是,我們的軟件系統(tǒng)規(guī)模和性能驅(qū)動器意味著此類技術(shù)無法跟上處理器性能。結(jié)果就是大型軟件系統(tǒng)仍然有很多安全漏洞,且由于海量在線個人信息和云計算的使用,其影響被放大。

登納德縮放定律的終結(jié)意味著架構(gòu)師必須找到利用并行化的更高效方式。

盡管計算機(jī)架構(gòu)師等很晚才意識到安全的重要性,但他們已經(jīng)開始對虛擬機(jī)和加密提供硬件支持。不幸的是,推測給許多處理器帶來了一個未知但重要的安全缺陷。具體來看,Meltdown 和 Spectre 安全漏洞給微架構(gòu)帶來了新的缺陷,使受保護(hù)信息遭到泄露。這兩種漏洞都使用了旁路攻擊。2018 年,研究者展示了在攻擊者不將代碼加載到目標(biāo)處理器的情況下,如何利用 Spectre 變體導(dǎo)致網(wǎng)絡(luò)信息泄露。盡管這次名為 NetSpectre 的攻擊泄露信息速度較慢,但它使同一局域網(wǎng)中的所有機(jī)器都受到攻擊,這造成了很多新的難題。虛擬機(jī)架構(gòu)還有兩個漏洞。一個是 Foreshadow,會影響專門保護(hù)高風(fēng)險數(shù)據(jù)(如加密密鑰)的英特爾 SGX 安全機(jī)制。每個月都會發(fā)現(xiàn)新的漏洞。

旁路攻擊并非新鮮事,但是在最早期的案例中,促使旁路攻擊成功的是軟件缺陷。而在 Meltdown、Spectre 等攻擊中,硬件實(shí)現(xiàn)中的缺陷導(dǎo)致受保護(hù)信息泄露。這是處理器架構(gòu)師定義什么是 ISA 正確實(shí)現(xiàn)的一個基本難題,因?yàn)闃?biāo)準(zhǔn)定義中并未提及執(zhí)行指令序列的性能影響,而僅僅涉及 ISA-visible 執(zhí)行架構(gòu)狀態(tài)。架構(gòu)師需要重新思考對 ISA 正確實(shí)現(xiàn)的定義,以避免此類安全漏洞。同時,他們還應(yīng)該重新思考對計算機(jī)安全的側(cè)重點(diǎn),以及架構(gòu)師如何與軟件設(shè)計師一道實(shí)現(xiàn)更加安全的系統(tǒng)。架構(gòu)師(以及每個人)都過于依賴信息系統(tǒng),以至于對安全的重視程度不如對一流設(shè)計的關(guān)注。

計算機(jī)架構(gòu)的未來機(jī)遇

「我們的機(jī)遇就在那些『無解問題』之中。」——John Gardner, 1965

通用處理器固有的低效性,以及登納德縮放定律和摩爾定律的終結(jié),使得處理器架構(gòu)師和設(shè)計師很可能無法維持通用處理器中的顯著性能改進(jìn)。鑒于改進(jìn)性能對新的軟件能力的重要性,我們必須問:有沒有其他的有效方法?

現(xiàn)在有兩個很明確的機(jī)會,把二者結(jié)合起來則是第三個機(jī)會。首先,現(xiàn)有的軟件構(gòu)建技術(shù)廣泛使用具備動態(tài)類型和存儲管理的高級語言。但是,此類語言的解釋和執(zhí)行通常非常低效。Leiserson 等人使用一個小例子(執(zhí)行矩陣相乘)說明了這種低效性。如圖 7 所示,簡單地將 Python 語言代碼重寫為 C 代碼就可以將性能提升 46 倍(Python 是典型的高級、動態(tài)類型語言)。

在多核上運(yùn)行并行循環(huán)(parallel loops)又將性能提升接近 7 倍。優(yōu)化內(nèi)存配置又將性能提升了近 19 倍,而通過單指令多數(shù)據(jù)(SIMD)并行化操作(一個指令執(zhí)行 16 個 32-bit 運(yùn)算)的硬件擴(kuò)展,性能又提升了 8 倍多。也就是說,最終的高度優(yōu)化版本在多核英特爾處理器上的運(yùn)行速度是初始 Python 版本的 62,000 多倍。這當(dāng)然只是一個很小的例子,但我們會期望程序員使用優(yōu)化庫。盡管這夸大了常見的性能差距,但很多程序的性能差距可能達(dá)到 100 到 1000 倍。

圖 7. Python 四次優(yōu)化中矩陣乘法的潛在加速能力。

一個有趣的研究方向有關(guān)是否可以使用新的編譯器技術(shù)來縮短性能差距(可以輔以體系架構(gòu)增強(qiáng))。盡管高效編譯和實(shí)現(xiàn) Python 這樣的高級腳本語言比較困難,但潛在的收益是巨大的。即使實(shí)現(xiàn) 25% 的提升潛力,也能讓 Python 程序的運(yùn)行速度提升百倍。這個簡單的例子展示了現(xiàn)代語言中,程序員強(qiáng)調(diào)生產(chǎn)力和傳統(tǒng)方法強(qiáng)調(diào)性能之間的巨大差距。

特定領(lǐng)域的體系結(jié)構(gòu)。一種更加以硬件為中心的設(shè)計思路是設(shè)計針對特定問題和領(lǐng)域的架構(gòu),并給與它們強(qiáng)大(且高效)的性能,因此它們是「特定領(lǐng)域的體系結(jié)構(gòu)(DSA)」,這是一種特定領(lǐng)域的可編程處理器,通常是圖靈完備的,但針對特定類別的應(yīng)用進(jìn)行了定制。從這個意義上來說,它們與專用集成電路(ASIC)不同,后者僅適用于單一功能,代碼很少有變化。DSA 通常被稱為加速器,因?yàn)榕c在通用 CPU 上執(zhí)行整個應(yīng)用程序相比,它們可以加速某些應(yīng)用程序。此外,DSA 可以實(shí)現(xiàn)更好的性能,因?yàn)樗鼈兏N近應(yīng)用的實(shí)際需求;DSA 的例子包括圖形加速單元(即 GPU),用于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)處理器,以及軟件定義處理器(SDN)。DSA 效率更高,能耗更低是因?yàn)橐韵滤膫€原因:

首先最重要的是,DSA 為特定領(lǐng)域的計算使用了更加有效的并行形式。例如單指令多數(shù)據(jù)并行(SIMD)比多指令多數(shù)據(jù)(MIMD)更有效,因?yàn)樗谝粋€時鐘步長內(nèi)只需處理一個指令流和處理單元。盡管 SIMD 相比 MIMD 沒那么靈活,但前者適用于很多 DSA。DSA 也可以使用 VLIW 方法來實(shí)現(xiàn) ILP,而不是推測性的無序機(jī)制。如前文所述,VLIW 處理器與通用性代碼不匹配,但對于有限領(lǐng)域更加有效,因?yàn)樗目刂茩C(jī)制更加簡單。特別是大多數(shù)高端通用處理器都是超標(biāo)量的,需要復(fù)雜的控制邏輯來啟動和完成指令。與之相對的是,VLIW 在編譯時執(zhí)行必要的分析和調(diào)度,這對于顯式并行程序來說可以很好地工作。

第二,DSA 可以更有效地利用內(nèi)存層次結(jié)構(gòu)。如 Horowitz 所述,內(nèi)存訪問要比算數(shù)計算的成本高出很多。例如,訪問 32 千字節(jié)緩存需要的能量相當(dāng)于做 32 位加法的大約 200 倍。這種巨大的差異使得優(yōu)化存儲器訪問對于實(shí)現(xiàn)高能效來說至關(guān)重要。通用處理器的運(yùn)行代碼,其中的存儲器訪問通常表現(xiàn)出空間和時間局部性,但在編譯時不是非??深A(yù)測的。因此,CPU 使用多級高速緩存來增加帶寬,并隱藏相對較慢的芯片外 DRAM 延遲。這些多級高速緩存通常消耗大約一半的處理器能量,但幾乎忽略了所有片外 DRAM 訪問,這些訪問需要大約 10 倍于最后一級高速緩存訪問的能量。

緩存有兩大缺點(diǎn):

當(dāng)數(shù)據(jù)集非常大的時候,時間空間位置較低時緩存的工作效率很低;

當(dāng)緩存工作效率高的時候,位置非常高,這意味著同時根據(jù)定義,大多數(shù)緩存在大多數(shù)時間都處于空閑狀態(tài)。

在那些編譯時可以很好地定義和發(fā)現(xiàn)內(nèi)存訪問模式的應(yīng)用程序中——這對于典型的 DSL 來說是常見的——程序員和編譯器可以比動態(tài)分配的緩存更好地優(yōu)化內(nèi)存的使用。因此,DSA 通常使用由軟件明確控制運(yùn)動的存儲器層次,類似于矢量處理器的操作。對于合適的應(yīng)用,用戶控制的存儲器可以比高速緩存使用更少的能量。

第三,DSA 在可接受時可以使用較低的精度。適用于通用任務(wù)的 CPU 通常支持 32 和 64 位整型數(shù)和浮點(diǎn)數(shù)數(shù)據(jù)。對于很多機(jī)器學(xué)習(xí)和圖像應(yīng)用來說,這種準(zhǔn)確率有點(diǎn)浪費(fèi)了。例如在深度神經(jīng)網(wǎng)絡(luò)中(DNN),推理通常使用 4、8 或 16 位整型數(shù),從而提高數(shù)據(jù)和計算吞吐量。同樣,對于 DNN 訓(xùn)練程序,浮點(diǎn)數(shù)很有意義,但 32 位就夠了,16 為經(jīng)常也能用。

最后,DSA 受益于以特定領(lǐng)域語言(DSL)編寫的目標(biāo)程序,這些程序可以實(shí)現(xiàn)更高的并行性,更好的內(nèi)存結(jié)構(gòu)訪問和表示,并使應(yīng)用程序更有效地映射到特定域的處理器。

特定領(lǐng)域的語言

DSA 要求將高級運(yùn)算定位到體系架構(gòu)中,但一般嘗試從 Python、Java、C 或 Fortran 等通用語言抽取結(jié)構(gòu)和信息實(shí)在太難了。因此特定領(lǐng)域的語言(DSL)特別支持這一過程,并盡可能高效地編程 DSA。例如 DSL 可以令向量、密集型矩陣和稀疏性矩陣運(yùn)算變得顯式化,并允許 DSL 編譯器高效地將運(yùn)算映射到處理器中。DSL 有很多常見的例子,例如專注矩陣運(yùn)算的語言 Matlab、專注 DNN 編程的數(shù)據(jù)流語言 TensorFlow,以及專注編程 SDN 的語言 P4 和專注圖像處理中高級轉(zhuǎn)換的 Halide 等。

使用 DSL 的挑戰(zhàn)是如何保證足夠的架構(gòu)獨(dú)立性,使得 DSL 中編寫的的軟件可以移植到不同的架構(gòu),同時軟件映射到底層 DSA 的效率還要非常高。例如 XLA 系統(tǒng)將 TensorFLow 代碼轉(zhuǎn)化為能使用 GPU 或 TPU 等異構(gòu)處理器的計算圖。DSA 之間的平衡可移植性以及效率是編程語言設(shè)計者、編譯器設(shè)計者和 DSA 架構(gòu)師都感興趣的研究領(lǐng)域。

以 TPU 為例

作為 DSA 的示例,我們可以考慮谷歌 TPU 1 的設(shè)計,它旨在加速神經(jīng)網(wǎng)絡(luò)的推斷過程。TPU 自 2015 年投入生產(chǎn),它從搜索引擎到語言翻譯和圖像識別支持著谷歌各種各樣的業(yè)務(wù),同時也支持著 AlphaGo 和 AlphaZero 等 DeepMind 前沿研究。TPU 的目標(biāo)是提升深度神經(jīng)網(wǎng)絡(luò)推斷過程的性能與能源效率 10 倍。

如下圖 8 所示,TPU 的組織架構(gòu)與通用處理器完全不同。它的主計算單元是矩陣單元,即每個時鐘周期提供提供 256×256 乘加運(yùn)算的脈動陣列(systolic array)。TPU 還結(jié)合了 8-bit 精度、高效脈動架構(gòu)(systolic structure)和 SIMD 控制特性,這意味著每個時鐘周期所能執(zhí)行的乘加(multiply-accumulates)數(shù)是一般通用單核 CPU 的 100 倍。

TPU 使用 24MB 的本地內(nèi)存以代替高速緩存,大約是 2015 年相同功耗 CPU 的兩倍。最后,激活值內(nèi)存和權(quán)重內(nèi)存(包括儲存權(quán)重的 FIFO 結(jié)構(gòu))可以通過用戶控制的高帶寬內(nèi)存通道連接。使用谷歌數(shù)據(jù)中心常見的 6 個推斷問題的加權(quán)算術(shù)均值作為度量,TPU 比一般 CPU 要快 29 倍。因?yàn)?TPU 要求的能源少了一半,它的能源效率在這樣的工作負(fù)載中是一般 CPU 的 80 倍。

圖 8:谷歌張量處理單元(TPU v1)的功能性組織架構(gòu)圖。

小結(jié)

我們考慮了兩種不同的通過提升硬件技術(shù)效率來提升編程性能的方法:首先,通過提升現(xiàn)代高級語言的性能;其次,通過構(gòu)建領(lǐng)域特定的相比通用 CPU 能顯著提升性能和效率的架構(gòu)。DSL 是另一個如何改進(jìn)支持 DSA 等架構(gòu)創(chuàng)新的硬件/軟件接口的例子。要通過這些方法獲得顯著收益將需要一個垂直集成的設(shè)計團(tuán)隊(duì),該團(tuán)隊(duì)了解應(yīng)用程序、領(lǐng)域特定的語言和相關(guān)的編譯器技術(shù)、計算機(jī)體系結(jié)構(gòu)、組織以及底層實(shí)現(xiàn)技術(shù)。在行業(yè)橫向結(jié)構(gòu)化之前,需要在跨抽象層次上垂直集成并做出設(shè)計決策,這是計算機(jī)技術(shù)研發(fā)早期的主要特征。在這個新時代,垂直整合變得更加重要,能夠檢查和進(jìn)行復(fù)雜權(quán)衡以及優(yōu)化的團(tuán)隊(duì)將會受益。

這個機(jī)會已經(jīng)帶來了大量的架構(gòu)創(chuàng)新,吸引了很多有競爭力的架構(gòu)設(shè)計思想:

GPU:英偉達(dá) GPU 使用了很多核心,每個核心都有大型寄存器文件、很多硬件線程和緩存;

TPU:谷歌 TPU 依賴于大型二維收縮乘法器和板載內(nèi)存的硬件控制;

FPGA:微軟在其數(shù)據(jù)中心里部署了現(xiàn)場可編程門陣列器件(FPGA),專用于神經(jīng)網(wǎng)絡(luò)應(yīng)用;

CPU:英特爾提供通過大型高級緩存和一維 SIMD 指令增強(qiáng)的帶有很多核心的 CPU,微軟使用的 FPGA,以及一種新型的神經(jīng)網(wǎng)絡(luò)處理器,這種處理器相比 CPU 更加接近 TPU。

除了這些大企業(yè)外,還有數(shù)十家創(chuàng)業(yè)公司正在推行自己的方案。為了滿足不斷增長的需求,架構(gòu)工程師正在將數(shù)百到數(shù)千個此類芯片互連以形成神經(jīng)網(wǎng)絡(luò)超級計算機(jī)。

DNN 架構(gòu)的雪崩式涌現(xiàn)使計算機(jī)架構(gòu)領(lǐng)域進(jìn)入了一個有趣的時代。在 2019 年很難預(yù)測這些方向中哪些(或者即使有)會贏,但市場肯定會像在解決過去的架構(gòu)爭論一樣解決競爭問題。

開放式架構(gòu)

受開源軟件成功的啟發(fā),計算機(jī)架構(gòu)的第二個機(jī)會是開放的 ISA。要創(chuàng)建處理器中的「Linux」,該領(lǐng)域需要行業(yè)標(biāo)準(zhǔn)的開放式 ISA,除了擁有專利技術(shù)的個別公司以外,社區(qū)可以創(chuàng)建開源核心。如果許多組織使用相同的 ISA 設(shè)計處理器,那么更大的競爭可能會推動更快的創(chuàng)新。目標(biāo)是為芯片提供處理器,成本從幾美分到 100 美元不等。

第一個例子是 RISC-V(稱為「RISC Five」),這是加州大學(xué)伯克利分校開發(fā)的第五個 RISC 架構(gòu)。RISC-V 有一個社區(qū),在 RISC-V 基金會的管理下維護(hù)架構(gòu)。開放性允許 ISA 在公開環(huán)境中演變,硬件和軟件專家在決策最終確定之前進(jìn)行協(xié)作。開放式基金的另一個好處是 ISA 不太可能主要出于營銷原因而擴(kuò)展,這有時是專有指令集擴(kuò)展的唯一原因。

RISC-V 是一個模塊化指令集。一小部分指令運(yùn)行完整的開源軟件堆棧,然后是可選的標(biāo)準(zhǔn)擴(kuò)展,設(shè)計人員可以根據(jù)需要包含或省略。該基礎(chǔ)包括 32 位地址和 64 位地址版本。RISC-V 只能通過可選擴(kuò)展來增長;即使架構(gòu)師不接受新的擴(kuò)展,軟件堆棧仍然運(yùn)行良好。專有架構(gòu)通常需要向上的二進(jìn)制兼容性,這意味著當(dāng)處理器公司添加新功能時,所有未來的處理器也必須包含它。對于 RISC-V,情況并非如此,所有增強(qiáng)功能都是可選的,如果應(yīng)用程序不需要,可以刪除。以下是目前為止的標(biāo)準(zhǔn)擴(kuò)展,使用代表其全名的縮寫:

M. 整型數(shù)乘法/除法;

A. 原子內(nèi)存操作;

F/D. 單/雙精度浮點(diǎn)數(shù);

C. 壓縮指令。

更少指令。RISC-V 的指令少得多。base 中有 50 個指令,與原始 RISC-I 相近。剩余的標(biāo)準(zhǔn)擴(kuò)展(M、A、F 和 D)增加了 53 條指令,再加上 C 又增加了 34 條,共計 137 條。ARMv8 有超過 500 條指令。

更少的指令格式。RISC-V 的指令格式非常少,只有六種,而 ARMv8 至少有 14 種。

簡單性減少了設(shè)計處理器和驗(yàn)證硬件正確性的工作量。由于 RISC-V 的目標(biāo)范圍覆蓋了數(shù)據(jù)中心芯片到物聯(lián)網(wǎng)設(shè)備,因此設(shè)計驗(yàn)證可能是開發(fā)成本的重要組成部分。

RISC-V 是一種簡潔的設(shè)計,誕生 25 年后,它的設(shè)計師從其前輩的錯誤中吸取了教訓(xùn)。與第一代 RISC 架構(gòu)不同,它避免了微架構(gòu)或技術(shù)依賴的功能(例如延遲分支和延遲加載)或創(chuàng)新(例如寄存器窗口),這些功能被編譯器技術(shù)的進(jìn)步所取代。

最后,RISC-V 通過為自定義加速器保留大量操作碼空間來支持 DSA。

安全專家不相信不可見的安全性,因此開放式實(shí)現(xiàn)很有吸引力,開放式實(shí)現(xiàn)需要開放式架構(gòu)。

除 RISC-V 外,英偉達(dá) 2017 年還宣布一個免費(fèi)開放的架構(gòu),稱之為英偉達(dá)深度學(xué)習(xí)加速器(NVDLA),這是一種可擴(kuò)展的可配置 DSA,用于機(jī)器學(xué)習(xí)推理。配置選項(xiàng)包括數(shù)據(jù)類型(int8、int16 或 fp16)和二維乘法矩陣的大小。模具尺寸從 0.5 mm^2 到 3 mm^2,功率從 20 毫瓦到 300 毫瓦。ISA、軟件堆棧和實(shí)現(xiàn)都是開放的。

開放的簡單架構(gòu)與安全性具有協(xié)同作用。首先,安全專家不相信安全性,因此開放式實(shí)現(xiàn)很有吸引力,而開放式實(shí)現(xiàn)需要開放式架構(gòu)。同樣重要的是增加可以圍繞安全架構(gòu)進(jìn)行創(chuàng)新的人員和組織的數(shù)量。專有架構(gòu)限制了員工的參與,但開放式架構(gòu)允許學(xué)術(shù)界和工業(yè)界的所有最佳人才幫助提高安全性。最后,RISC-V 的簡單性使其實(shí)現(xiàn)更容易檢查。此外,開放式架構(gòu)、實(shí)現(xiàn)、軟件堆棧以及 FPGA 的可塑性意味著架構(gòu)師可以在線部署和評估新穎的解決方案,并每周而不是每年迭代它們。雖然 FPGA 比定制芯片慢 10 倍,但這種性能仍然足以支持在線用戶,同時帶來安全創(chuàng)新,解決真正的攻擊。我們希望開放式架構(gòu)成為架構(gòu)師和安全專家進(jìn)行硬件/軟件協(xié)同設(shè)計的典范。

敏捷硬件開發(fā)

Beck 等人 2001 年提出的《敏捷軟件開發(fā)宣言》(The Manifesto for Agile Software Development)徹底改變了軟件開發(fā)方式,克服了瀑布式開發(fā)中傳統(tǒng)精細(xì)規(guī)劃和文檔的頻繁失敗。小型編程團(tuán)隊(duì)很快開發(fā)了有用但不完整的原型,并在進(jìn)行下一次迭代之前獲得了顧客的反饋。敏捷開發(fā)的 scrum 版本集合了 5 到 10 名程序員組成的團(tuán)隊(duì),每次迭代進(jìn)行 2 到 4 周的沖刺。

再次受到軟件開發(fā)成功的啟發(fā),第三次機(jī)會是敏捷硬件開發(fā)。對架構(gòu)師來說的一個好消息是,當(dāng)代電子計算機(jī)輔助設(shè)計(ECAD)工具提高了抽象水平,使得敏捷開發(fā)成為可能,而且這種更高水平的抽象增加了設(shè)計的重用性。

考慮到從設(shè)計交付到返回芯片所需的幾個月時間,稱硬件只需四周的沖刺時間似乎有些不太可信。圖 9 概述了敏捷開發(fā)方法是如何通過在適當(dāng)?shù)膶由细淖冊推鹱饔玫?。最?nèi)層是軟件模擬器,如果模擬器能夠滿足迭代需求,這是進(jìn)行更改的最方便快捷的地方。第二層是 FPGA,其運(yùn)行速度是具體軟件模擬器的數(shù)百倍。FPGA 可以運(yùn)行操作系統(tǒng)和完整的基準(zhǔn)測試(像那些來自標(biāo)準(zhǔn)性能評估公司的測試),允許對原型進(jìn)行更精確的評估。亞馬遜在云端提供了 FPGA,所以架構(gòu)師們可以使用 FPGA,而無需購買硬件和建立實(shí)驗(yàn)室。為了記錄芯片面積和功率的數(shù)字,第三層使用 ECAD 工具生成芯片布局。即使在工具運(yùn)行之后,在準(zhǔn)備制造新的處理器之前,也需要進(jìn)行一些手動步驟來完善結(jié)果。處理器設(shè)計者將第四層稱為「tape in」。前四個層都支持四周沖刺。

圖 9:敏捷硬件開發(fā)方法。

出于研究目的,我們可以在 tape in 上停下來,因?yàn)槊娣e、能量和性能估計非常準(zhǔn)確。但這就像是在長跑比賽中在離終點(diǎn)約 100 米的地方停下來一樣,因?yàn)榕懿秸呖梢詼?zhǔn)確預(yù)測最后時間。雖然在準(zhǔn)備比賽方面下足了功夫,跑步者仍會錯過穿過終點(diǎn)線的興奮和滿足感。硬件工程師相較于軟件工程師的一個優(yōu)勢是,他們搭建的是實(shí)物。測量芯片,運(yùn)行真正的程序,然后向朋友家人展示,這是硬件設(shè)計的一大樂趣。

很多研究者覺得必須停下來,因?yàn)橹圃煨酒某杀咎^高昂。當(dāng)設(shè)計作品很小時,它們出奇地便宜。架構(gòu)師只要花 14,000 美元就可以訂購 100 個大小為 1 平方毫米的芯片。在 28 納米制程上,1 平方毫米的芯片可以容納數(shù)百萬晶體管,這對 RISC-V 處理器和 NVLDA 處理器來說足夠大了。如果設(shè)計者的目標(biāo)是設(shè)計一個較大的芯片,那最外層的成本將非常高,體系架構(gòu)設(shè)計者可以用很多小芯片來闡述很多新想法。

總結(jié)

「最黑暗的時刻,是黎明來臨之前。」——Thomas Fuller, 1650

要從歷史教訓(xùn)中獲益,架構(gòu)設(shè)計者們必須意識到軟件創(chuàng)新也能激勵架構(gòu)發(fā)展,而提高硬件/軟件界面的抽象水平會帶來創(chuàng)新的機(jī)會,市場最終會解決計算機(jī)架構(gòu)的爭論。iAPX-432 和 Itanium 說明了架構(gòu)投入如何超過回報,而 S/360、8086 和 ARM 則連續(xù)數(shù)十年帶來很高的回報,而且將繼續(xù)下去。

登納德縮放定律和摩爾定律的終結(jié),以及標(biāo)準(zhǔn)微處理器性能提升的減速并非必須解決的問題,而是公認(rèn)的事實(shí)。這一事實(shí)也提供了驚人的機(jī)會。高級、特定領(lǐng)域的語言和架構(gòu)將架構(gòu)師從專有指令集的鏈條中釋放出來,公眾也提高了對安全性的需求,所有這些將為計算機(jī)架構(gòu)師帶來一個新的黃金時代。借助開源生態(tài)系統(tǒng),敏捷開發(fā)的芯片將展示其進(jìn)步,從而加速商業(yè)應(yīng)用。這些芯片中通用處理器的 ISA 理念很可能是 RISC,后者經(jīng)受住了時間的考驗(yàn)。我們期待著這次能與上一個黃金時代一樣快速改善,不過這次是在成本、能源、安全以及性能方面的改善。

未來十年,將會有一場新計算機(jī)架構(gòu)的寒武紀(jì)爆炸,這對業(yè)界和學(xué)界的架構(gòu)師們來說將是激動人心的時刻。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:計算機(jī)架構(gòu)的新黃金時代,兩位圖靈獎得主最新力作

文章出處:【微信號:gh_ecbcc3b6eabf,微信公眾號:人工智能和機(jī)器人研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    物聯(lián)網(wǎng)未來發(fā)展趨勢如何?

    ,人們才會更加信任和接受物聯(lián)網(wǎng)技術(shù)。 綜上所述,物聯(lián)網(wǎng)行業(yè)的未來發(fā)展趨勢非常廣闊。智能家居、工業(yè)互聯(lián)網(wǎng)、智慧城市、醫(yī)療保健以及數(shù)據(jù)安全和隱私保護(hù)都將成為物聯(lián)網(wǎng)行業(yè)的熱點(diǎn)領(lǐng)域。我們有理由相信,在不久的將來,物聯(lián)網(wǎng)將進(jìn)一步改變我們
    發(fā)表于 06-09 15:25

    行業(yè)聚焦|深圳計算機(jī)協(xié)會走進(jìn)杰和,共探AI算力新邊界

    2025年深圳市計算機(jī)行業(yè)的發(fā)展趨勢與戰(zhàn)略方向。作為東道主,杰和科技帶領(lǐng)與會嘉賓參觀數(shù)字化展廳,重點(diǎn)呈現(xiàn)企業(yè)歷程、AI算力產(chǎn)品以及一系列自主研發(fā)成果。展廳內(nèi)多項(xiàng)專
    的頭像 發(fā)表于 03-05 10:04 ?416次閱讀
    行業(yè)聚焦|深圳<b class='flag-5'>計算機(jī)</b>協(xié)會走進(jìn)杰和,共探AI算力新邊界

    飛利浦出售計算機(jī)芯片子公司Xiver

    近日,據(jù)Xiver公司首席執(zhí)行官透露,醫(yī)療技術(shù)領(lǐng)域的知名企業(yè)飛利浦已正式將其計算機(jī)芯片子公司Xiver出售。這一消息引起了業(yè)界的廣泛關(guān)注。 據(jù)了解,此次收購由荷蘭商人Cees Meeuwis領(lǐng)導(dǎo)
    的頭像 發(fā)表于 01-09 15:55 ?585次閱讀

    塑料封裝技術(shù)特點(diǎn)、發(fā)展歷程、工藝挑戰(zhàn)以及未來趨勢

    的封裝形式,聊一聊它的技術(shù)特點(diǎn)、發(fā)展歷程、工藝挑戰(zhàn)以及未來趨勢。 一、塑料封裝的廣泛應(yīng)用與技術(shù)演進(jìn) 塑料封裝的應(yīng)用范圍極為廣泛,從日常生活中
    的頭像 發(fā)表于 12-30 09:35 ?1115次閱讀
    塑料封裝技術(shù)特點(diǎn)、<b class='flag-5'>發(fā)展</b><b class='flag-5'>歷程</b>、工藝挑戰(zhàn)<b class='flag-5'>以及</b><b class='flag-5'>未來</b><b class='flag-5'>趨勢</b>

    量子計算機(jī)與普通計算機(jī)工作原理的區(qū)別

    ? 本文介紹了量子計算機(jī)與普通計算機(jī)工作原理的區(qū)別。 量子計算是一個新興的研究領(lǐng)域,科學(xué)家們利用量子力學(xué),制造出具有革命性能力的計算機(jī)。雖然現(xiàn)在的量子
    的頭像 發(fā)表于 11-24 11:00 ?1382次閱讀
    量子<b class='flag-5'>計算機(jī)</b>與普通<b class='flag-5'>計算機(jī)</b>工作原理的區(qū)別

    新思科技如何應(yīng)對量子計算機(jī)的威脅

    隨著技術(shù)發(fā)展的突飛猛進(jìn),量子計算機(jī)的威脅日益凸顯。盡管量子計算機(jī)有望在天氣預(yù)報、藥物研發(fā)和基礎(chǔ)物理學(xué)等領(lǐng)域帶來革命性的變革,但它也對現(xiàn)行加密體系構(gòu)成了顯著威脅。這種威脅并非僅限于未來;
    的頭像 發(fā)表于 11-18 09:33 ?883次閱讀

    探索工業(yè)計算機(jī)的多元應(yīng)用場景

    于生產(chǎn)線監(jiān)控、數(shù)據(jù)采集、設(shè)備控制等多個場景。本文將探討工業(yè)計算機(jī)在不同領(lǐng)域中的多元應(yīng)用場景,分析其重要性及未來發(fā)展趨勢。一、制造業(yè)中的應(yīng)用制造業(yè)是工業(yè)計算機(jī)應(yīng)用最
    的頭像 發(fā)表于 10-08 15:14 ?656次閱讀
    探索工業(yè)<b class='flag-5'>計算機(jī)</b>的多元應(yīng)用場景

    工控機(jī)廠家發(fā)展現(xiàn)狀及未來趨勢

    中發(fā)揮著重要作用。本文將探討工控機(jī)廠家的發(fā)展現(xiàn)狀、市場需求、技術(shù)創(chuàng)新以及未來趨勢。一、工控機(jī)廠家發(fā)展現(xiàn)狀工控機(jī)廠家是指專門從事工業(yè)控制
    的頭像 發(fā)表于 09-29 11:01 ?913次閱讀
    工控機(jī)廠家<b class='flag-5'>發(fā)展</b>現(xiàn)狀及<b class='flag-5'>未來</b><b class='flag-5'>趨勢</b>

    信號繼電器在計算機(jī)系統(tǒng)中的應(yīng)用

    信號繼電器在計算機(jī)系統(tǒng)中的應(yīng)用是一個重要且復(fù)雜的領(lǐng)域,它作為電氣控制的關(guān)鍵元件,在計算機(jī)系統(tǒng)中發(fā)揮著信號轉(zhuǎn)換、隔離、放大以及控制等多種作用。以下將從信號繼電器的基本概念、工作原理、特性、在計算
    的頭像 發(fā)表于 09-27 16:29 ?885次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成于計算機(jī)硬件系統(tǒng)之中,形成一個專用的計算機(jī)系統(tǒng)。那么嵌入式系統(tǒng)的未來趨勢有哪些呢? 1. 人工智能與機(jī)器學(xué)習(xí)的整合 隨著現(xiàn)代人工智能(AI)
    發(fā)表于 09-12 15:42

    計算機(jī)的內(nèi)存容量有什么作用

    計算機(jī)的內(nèi)存容量,作為一個核心概念,在計算機(jī)科學(xué)、信息技術(shù)以及日常使用中扮演著至關(guān)重要的角色。它不僅直接關(guān)系到計算機(jī)處理數(shù)據(jù)的能力,還影響著用戶體驗(yàn)、系統(tǒng)性能
    的頭像 發(fā)表于 09-10 14:47 ?2367次閱讀

    晶體管計算機(jī)和電子管計算機(jī)有什么區(qū)別

    晶體管計算機(jī)和電子管計算機(jī)作為計算機(jī)發(fā)展史上的兩個重要階段,它們在多個方面存在顯著的區(qū)別。以下是對這兩類計算機(jī)在硬件、性能、應(yīng)用
    的頭像 發(fā)表于 08-23 15:28 ?3490次閱讀

    計算機(jī)系統(tǒng)的組成和功能

    計算機(jī)系統(tǒng)是一個復(fù)雜而龐大的概念,它涵蓋了計算機(jī)硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計算機(jī)系統(tǒng),本文將從定義、組成
    的頭像 發(fā)表于 07-24 17:41 ?2298次閱讀

    計算機(jī)視覺怎么給圖像分類

    圖像分類是計算機(jī)視覺領(lǐng)域中的一項(xiàng)核心任務(wù),其目標(biāo)是將輸入的圖像自動分配到預(yù)定義的類別集合中。這一過程涉及圖像的特征提取、特征表示以及分類器的設(shè)計與訓(xùn)練。隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,圖像分類的精度和效率得到了顯著提升。本文將從圖像
    的頭像 發(fā)表于 07-08 17:06 ?1660次閱讀

    拜登政府啟動新計劃,培育美國計算機(jī)芯片人才

    在全球半導(dǎo)體產(chǎn)業(yè)競爭日益激烈的背景下,美國政府正以前所未有的決心和行動力,推動本土計算機(jī)芯片產(chǎn)業(yè)的發(fā)展。北京時間7月2日,拜登政府宣布了一項(xiàng)重要計劃——勞動力伙伴聯(lián)盟(Workforce
    的頭像 發(fā)表于 07-02 11:40 ?1350次閱讀