欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

計(jì)算機(jī)體系結(jié)構(gòu)將迎來一個新的黃金時(shí)代!

DPVg_AI_era ? 來源:lq ? 2019-02-11 09:47 ? 次閱讀

圖靈獎得主、計(jì)算機(jī)體系結(jié)構(gòu)宗師David Patterson與John Hennessy認(rèn)為,未來將是計(jì)算機(jī)體系結(jié)構(gòu)的黃金十年。最新一期的ACM通訊上刊登了兩人合著的論文《計(jì)算機(jī)體系結(jié)構(gòu)的新黃金時(shí)代》,闡述計(jì)算性能如何實(shí)現(xiàn)再一次飛升。

計(jì)算機(jī)體系結(jié)構(gòu)將迎來一個新的黃金時(shí)代!

2017年3月,計(jì)算機(jī)架構(gòu)領(lǐng)域兩位巨星級人物David Patterson與John Hennessy在斯坦福大學(xué)發(fā)表演講時(shí)如是說。

當(dāng)時(shí),Hennessy最知名title是斯坦福大學(xué)前任校長,而Patterson則是伯克利的退休教授。他們1990年合著出版的《計(jì)算機(jī)體系架構(gòu):量化研究方法》被譽(yù)為領(lǐng)域“體系結(jié)構(gòu)圣經(jīng)”,培養(yǎng)和指導(dǎo)了無數(shù)處理器設(shè)計(jì)人才。

John Hennessy(左) 和David Patterson 拿著他們合著的《計(jì)算機(jī)體系架構(gòu):量化研究方法》,照片的拍攝時(shí)間大約是1991年。來源:ACM

當(dāng)時(shí),由GPU推動的深度學(xué)習(xí)浪潮已然興起,谷歌推出了TPU,AI芯片創(chuàng)業(yè)公司林立,芯片市場群雄并起,連做軟件的人都能感到從硬件行業(yè)迸發(fā)出的熱氣。

很快,一年后,已經(jīng)出任谷歌母公司Alphabet董事長的Hennessy和已經(jīng)加入谷歌TPU團(tuán)隊(duì)的Patterson又站在了一起,這次是為了紀(jì)念他們共同榮獲2017年的圖靈獎。

他們的圖靈獎演講題目叫做《計(jì)算機(jī)體系結(jié)構(gòu)的新黃金時(shí)代》(A New Golden Age for computer Architecture),兩人回顧了自20世紀(jì)60年代以來計(jì)算機(jī)體系結(jié)構(gòu)發(fā)展歷史,并展望人工智能為計(jì)算機(jī)架構(gòu)設(shè)計(jì)所帶來的新的挑戰(zhàn)和機(jī)遇。

在那次的圖靈演講中,David Patterson與John Hennessy還提到了軟件設(shè)計(jì)也能為計(jì)算機(jī)硬件架構(gòu)帶來靈感,改善軟硬件接口能為架構(gòu)創(chuàng)新帶來機(jī)遇。“在摩爾定律走向終點(diǎn)的同時(shí),體系結(jié)構(gòu)正在閃耀新的活力——以TPU為代表的領(lǐng)域特定架構(gòu) (Domain Specific Architectures, DSA) 興起,但CPU、GPU、FPGA仍然有用武之地,最終,市場會決定勝者。

2019年2月出版的Communications of the ACM,刊登了兩人的署名文章“A New Golden Age for computer Architecture”,在圖靈演講的基礎(chǔ)之上進(jìn)一步完善思想,并用文字將他們的洞見更加清晰地呈現(xiàn)。

“計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域?qū)⒂瓉碛忠粋€黃金十年,就像20世紀(jì)80年代我們做研究那時(shí)一樣,新的架構(gòu)設(shè)計(jì)將會帶來更低的成本,更優(yōu)的能耗、安全和性能?!?/p>

下面是新智元對文章的編譯。

不能牢記過去的人,必定重蹈覆轍。

——George Santayana,1905年

軟件通過稱為指令集架構(gòu)(ISA)的詞匯表與硬件實(shí)現(xiàn)交互。在20世紀(jì)60年代初,IBM共推出了四個彼此不兼容的計(jì)算機(jī)系列,每個計(jì)算機(jī)系列都有自己的ISA、軟件堆棧和輸入/輸出系統(tǒng),分別針對小型企業(yè)、大型企業(yè),科研單位和實(shí)時(shí)運(yùn)算。 IBM的工程師們,包括ACM圖靈獎獲獎?wù)逨red Brooks在內(nèi),都認(rèn)為能夠創(chuàng)建一套新的ISA,將這四套ISA有效統(tǒng)一起來。

這需要一套技術(shù)解決方案,讓計(jì)算8位數(shù)據(jù)路徑的廉價(jià)計(jì)算機(jī)和計(jì)算64位數(shù)據(jù)路徑的昂貴計(jì)算機(jī)可以共享一個ISA。數(shù)據(jù)路徑(data path)是處理器的“肌肉”,因?yàn)檫@部分負(fù)責(zé)執(zhí)行算法,但相對容易“加寬”或“縮小”。當(dāng)時(shí)和現(xiàn)在計(jì)算機(jī)設(shè)計(jì)人員共同面臨的最大挑戰(zhàn)是處理器的“大腦”,即控制硬件。受軟件編程的啟發(fā),計(jì)算機(jī)先驅(qū)人物、圖靈獎獲得者莫里斯·威爾克斯提出了簡化控制流程的思路。控制部分被指定為一個二維數(shù)組,他稱之為“控制存儲”。數(shù)組的每一列對應(yīng)一條控制線,每一行都是微指令,寫微指令的操作稱為微編程??刂拼鎯Π褂梦⒅噶罹帉懙腎SA解釋器,因此執(zhí)行一個傳統(tǒng)指令需要多個微指令完成。控制存儲通過內(nèi)存實(shí)現(xiàn),這比使用邏輯門的成本要低得多。

此表列出了IBM于1964年4月7日發(fā)布的新360系統(tǒng)的四種型號的指令集。四種型號之間。數(shù)據(jù)路徑相差8倍,內(nèi)存容量相差16倍,時(shí)鐘速率相差近4倍,而性能相差50倍,其中最昂貴的機(jī)型M65具有最大空間的控制存儲,因?yàn)楦鼜?fù)雜的數(shù)據(jù)路徑需要使用更多的控制線。由于硬件更簡單,成本最低的機(jī)型M30的控制存儲空間最小,但由于它們需要更多的時(shí)鐘周期來執(zhí)行360系統(tǒng)指令,因此需要有更多的微指令。

通過微程序設(shè)計(jì),IBM認(rèn)為新的ISA將能夠徹底改變計(jì)算行業(yè),贏得未來。 IBM統(tǒng)治了當(dāng)時(shí)的計(jì)算機(jī)市場,55年前誕生的IBM大型機(jī),其后代產(chǎn)品現(xiàn)在每年仍能為IBM帶來100億美元的收入。

現(xiàn)在看來,盡管市場對技術(shù)問題做出的評判還不夠完善,但由于硬件系統(tǒng)架構(gòu)與商用計(jì)算機(jī)之間的密切聯(lián)系,市場最終成為計(jì)算機(jī)架構(gòu)創(chuàng)新的是否成功的關(guān)鍵性因素,這些創(chuàng)新往往需要工程人員方面的大量投入。

集成電路,CISC,432,8086,IBM PC。當(dāng)計(jì)算機(jī)開始使用集成電路時(shí),摩爾定律意味著控制存儲可能變得更大。更大的內(nèi)存可以運(yùn)行更復(fù)雜的ISA。1977年,數(shù)字設(shè)備公司(Digital Equipment)發(fā)布的VAX-11/780機(jī)型的控制存儲大小達(dá)到5120 word×96 bit,而其之前的型號僅為256 word×56 bit。

一些制造商選擇讓選定的客戶添加名為“可寫控制存儲”(WCS)的自定義功能來進(jìn)行微程序設(shè)計(jì)。最著名WCS計(jì)算機(jī)是Alto,這是圖靈獎獲得者Chuck Thacker和Butler Lampson以及他們的同事們于1973年為Xerox Palo Alto研究中心設(shè)計(jì)制造的。它是第一臺個人計(jì)算機(jī),使用第一臺位映射顯示器和第一個以太局域網(wǎng)。用于支持新顯示器和網(wǎng)絡(luò)的設(shè)備控制器是存儲在4096 word×32 bit WCS中的微程序。

微處理器在20世紀(jì)70年代仍處于8位時(shí)代(如英特爾的8080處理器),主要采用匯編語言編程。各家企業(yè)的設(shè)計(jì)師會不斷加入新的指令來超越競爭對手,通過匯編語言展示他們的優(yōu)勢。

戈登·摩爾認(rèn)為英特爾的下一代指令集架構(gòu)將能夠延續(xù)英特爾的生命,他聘請了大批聰明的計(jì)算機(jī)科學(xué)博士,并將他們送到波特蘭的一個新工廠,以打造下一個偉大的指令集架構(gòu)。英特爾最初推出8800處理器是一個雄心勃勃的計(jì)算機(jī)架構(gòu)項(xiàng)目,適用于任何時(shí)代,它具有32位尋址能力、面向?qū)ο蟮捏w系結(jié)構(gòu),可變位的長指令,以及用當(dāng)時(shí)新的編程語言Ada編寫的自己的操作系統(tǒng)。

圖1 IBM 360系列機(jī)型的參數(shù),IPS意為“每秒操作數(shù)”

這個雄心勃勃的項(xiàng)目遲遲不能退出,這迫使英特爾緊急改變計(jì)劃,于1979年推出一款16位微處理器。英特爾為新團(tuán)隊(duì)提供了52周的時(shí)間來開發(fā)新的“8086”指令集,并設(shè)計(jì)和構(gòu)建芯片。由于時(shí)間緊迫,設(shè)計(jì)ISA部分僅僅花了3周時(shí)間,主要是將8位寄存器和8080的指令集擴(kuò)展到了16位。團(tuán)隊(duì)最終按計(jì)劃完成了8086的設(shè)計(jì),但產(chǎn)品發(fā)布后幾乎沒有大張旗鼓的宣傳。

英特爾很走運(yùn),當(dāng)時(shí)IBM正在開發(fā)一款旨在與Apple II競爭的個人計(jì)算機(jī),正需要16位微處理器。 IBM一度對摩托羅拉的68000型感興趣,它擁有類似于IBM 360的指令集架構(gòu),但與IBM激進(jìn)的方案相比顯得落后。IBM轉(zhuǎn)而使用英特爾8086的8位總線版本處理器。IBM于1981年8月12日宣布推出該機(jī)型,預(yù)計(jì)到1986年能夠賣出25萬臺,結(jié)果最終在全球賣出了1億臺,未來前景一片光明。

英特爾的8800項(xiàng)目更名為iAPX-432,最終于1981年發(fā)布,但它需要多個芯片,并且存在嚴(yán)重的性能問題。該項(xiàng)目在1986年終止,此前一年,英特爾將寄存器從16位擴(kuò)展到32位,在80386芯片中擴(kuò)展了8086指令集架構(gòu)。摩爾的預(yù)測是正確的,這個指令集確實(shí)和英特爾一直存續(xù)下來,但市場卻選擇了緊急趕工的產(chǎn)品8086,而不是英特爾寄予厚望的iAPX-432,這對摩托羅拉68000和iAPX-432的架構(gòu)師來講,都是個現(xiàn)實(shí)的教訓(xùn),市場永遠(yuǎn)是沒有耐心的。

從復(fù)雜指令集計(jì)算機(jī)到精簡指令集計(jì)算機(jī)。 20世紀(jì)80年代初期,對使用大型控制存儲中的大型微程序的復(fù)雜指令集計(jì)算機(jī)(CISC)的相關(guān)問題進(jìn)行過幾項(xiàng)調(diào)查。Unix的廣泛應(yīng)用,證明連操作系統(tǒng)都可以使用高級語言,所以關(guān)鍵問題就是:“編譯器會產(chǎn)生什么指令?”而不是“程序員使用什么匯編語言?”軟硬件交互手段的顯著進(jìn)步,為架構(gòu)創(chuàng)新創(chuàng)造了機(jī)會。

圖靈獎獲得者John Cocke和他的同事為小型計(jì)算機(jī)開發(fā)了更簡單的指令集架構(gòu)和編譯器。作為一項(xiàng)實(shí)驗(yàn),他們重新定位了研究編譯器,只使用簡單的寄存器-寄存器操作和IBM 360指令集加載存儲數(shù)據(jù)傳輸,避免了使用更復(fù)雜的指令。他們發(fā)現(xiàn),使用簡單子集的程序運(yùn)行速度提高了三倍。 Emer和Clark發(fā)現(xiàn),20%的VAX指令需要60%的微代碼,僅占執(zhí)行時(shí)間的0.2%。Patterson發(fā)現(xiàn),如果微處理器制造商要遵循大型計(jì)算機(jī)的CISC指令集設(shè)計(jì),就需要一種方法來修復(fù)微代碼錯誤。

Patterson就此問題寫了一篇論文,但被《計(jì)算機(jī)》期刊拒稿。審稿人認(rèn)為,構(gòu)建具有ISA的微處理器是一個糟糕的想法,因?yàn)檫@需要在現(xiàn)場進(jìn)行修復(fù)。這讓人懷疑,CISC 指令集對微處理器的價(jià)值究竟有多大。具有諷刺意味的是,現(xiàn)代CISC微處理器確實(shí)包含微代碼修復(fù)機(jī)制,但這篇論文被拒的主要結(jié)果是,激勵了他開始研究面向微處理器的精簡指令集,即復(fù)雜度較低的指令集架構(gòu),以及使用精簡指令集的計(jì)算機(jī)(RISC)。

這些觀點(diǎn)的產(chǎn)生,以及由匯編語言向高級語言的轉(zhuǎn)變,為CISC向RISC的過渡創(chuàng)造了條件。首先,RISC指令經(jīng)過簡化,因此不再需要微代碼解釋器。 RISC指令通常與微指令一樣簡單,硬件能夠直接執(zhí)行。其次,以前用于CISC 指令集的微代碼解釋器的快速存儲器被重新用作RISC指令的高速緩存。(緩存是一個小而快速的內(nèi)存,用于緩沖最近執(zhí)行的指令,因?yàn)檫@類指令很快就會被再次調(diào)用。)第三,基于Gregory Chaitin的圖著色方案的寄存器分配器,使編譯器能夠更簡易、高效地使用寄存器,最后,摩爾定律意味著在20世紀(jì)80年代能夠誕生有足夠數(shù)量的晶體管的芯片,可以容納一個完整的32位數(shù)據(jù)路徑、指令集和數(shù)據(jù)高速緩存。

在今天的“后PC時(shí)代”,x86芯片的出貨量自2011年達(dá)到峰值以來,每年下降近10%,而采用RISC處理器的芯片出貨量則飆升至200億。

下圖分別為1982年和1983年在加州大學(xué)伯克利分校和斯坦福大學(xué)開發(fā)的RISC-I8和MIPS12微處理器,體現(xiàn)出了RISC的優(yōu)點(diǎn)。這些芯片最終于1984年在IEEE國際固態(tài)電路會議上發(fā)表。這是一個了不起的時(shí)刻,伯克利和斯坦福的一些研究生也可以構(gòu)建微處理器了,可以說比行業(yè)內(nèi)的產(chǎn)品更優(yōu)秀。

圖2由加州大學(xué)伯克利分校開發(fā)的RISC-I8和斯坦福大學(xué)開發(fā)的MIPS12微處理器

這些由學(xué)術(shù)機(jī)構(gòu)開發(fā)的芯片,激勵了許多企業(yè)開始發(fā)力RISC微處理器,并成為此后15年中發(fā)展最快的領(lǐng)域。其原因是處理器的性能公式:

時(shí)間/程序=操作數(shù)/程序x(時(shí)鐘周期)/指令x時(shí)間/(時(shí)鐘周期)

DEC公司的工程師后來表明,更復(fù)雜的CISC指令集每個程序執(zhí)行的操作數(shù)大約為RISC的75%執(zhí)行大約75%,不過在類似的技術(shù)下,CISC每個指令執(zhí)行時(shí)間約為五到六個時(shí)鐘周期,使RISC微處理器的運(yùn)算速度是CISC的大約4倍。

20世紀(jì)80年代時(shí),這些內(nèi)容還沒有進(jìn)入計(jì)算機(jī)體系結(jié)構(gòu)的書中,所以我們在1989年編寫《計(jì)算機(jī)架構(gòu):定量方法》(Computer Architecture: AQuantitative Approach)一書。本書的主題是使用測量和基準(zhǔn)測試來對計(jì)算機(jī)架構(gòu)進(jìn)行量化評估,而不是更多地依賴于架構(gòu)師的直覺和經(jīng)驗(yàn),就像過去一樣。我們使用的定量方法也得益于圖靈獎得主高德納(Donald Knuth)關(guān)于算法的著作內(nèi)容的啟發(fā)。

VLIW,EPIC,Itanium。指令集架構(gòu)的下一次創(chuàng)新試圖同時(shí)惠及RISC和CISC,即超長指令字(VLIW)和顯式并行指令計(jì)算機(jī)(EPIC)的誕生。這兩項(xiàng)發(fā)明由英特爾和惠普共同命名的,在每條指令中使用捆綁在一起的多個獨(dú)立操作的寬指令。VLIW和EPIC的擁護(hù)者認(rèn)為,如果用一條指令可以指定六個獨(dú)立的操作——兩次數(shù)據(jù)傳輸,兩次整數(shù)操作和兩次浮點(diǎn)操作,編譯器技術(shù)可以有效地將這些操作分配到六個指令槽中,硬件架構(gòu)就可以變得更簡單。與RISC方法一樣,VLIW和EPIC的目的是將工作負(fù)載從硬件轉(zhuǎn)移到編譯器上。

英特爾和惠普合作設(shè)計(jì)了一款基于EPIC理念的64位處理器Itanium,想用其取代32位x86處理器并對其抱了很高的期望,但實(shí)際情況與他們的早期預(yù)期并不相符。雖然EPIC方法適用于高度結(jié)構(gòu)化的浮點(diǎn)程序,但在可預(yù)測性較低的緩存或的分支整數(shù)程序上很難實(shí)現(xiàn)高性能。正如高德納后來所指出的那樣:“Itanium的設(shè)想非常棒,但事實(shí)證明滿足這種設(shè)想的編譯器基本上不可能寫出來?!?開發(fā)人員注意到Itanium的遲鈍和性能不佳,將用命途多舛的游輪“Titanic”其重命名為“Itanic”。不過,市場再次失去了耐心,最終64位版本的x86成為32位x86的繼承者,沒有輪到Itanium。

不過一個好消息是,VLIW在較窄的應(yīng)用程序與小程序上,包括數(shù)字信號處理任務(wù)中留有一席之地。

PC和后PC時(shí)代的RISC vs. CISC

AMD和英特爾利用500人的設(shè)計(jì)團(tuán)隊(duì)和先進(jìn)的半導(dǎo)體技術(shù),縮小了x86和RISC之間的性能差距。同樣,受到流水線化簡單指令vs.復(fù)雜指令的性能優(yōu)勢的啟發(fā),指令解碼器在運(yùn)行中將復(fù)雜的x86指令轉(zhuǎn)換成類似RISC的內(nèi)部微指令。AMD和英特爾隨后將RISC微指令的執(zhí)行流程化。RISC的設(shè)計(jì)人員為了性能所提出的任何想法,例如隔離指令和數(shù)據(jù)緩存、片上二級緩存、deep pipelines以及同時(shí)獲取和執(zhí)行多條指令等,都可以集成到x86中。在2011年P(guān)C時(shí)代的巔峰時(shí)期,AMD和英特爾每年大約出貨3.5億臺x86微處理器。PC行業(yè)的高產(chǎn)量和低利潤率也意味著價(jià)格低于RISC計(jì)算機(jī)。

考慮到全球每年售出數(shù)億臺個人電腦,PC軟件成為了一個巨大的市場。盡管Unix市場的軟件供應(yīng)商會為不同的商業(yè)RISC ISA (Alpha、HP-PA、MIPS、Power和SPARC)提供不同的軟件版本,但PC市場只有一個ISA,因此軟件開發(fā)人員發(fā)布的“壓縮打包”軟件只能與x86 ISA兼容。更大的軟件基礎(chǔ)、相似的性能和更低的價(jià)格使得x86在2000年之前同時(shí)統(tǒng)治了臺式機(jī)和小型服務(wù)器市場。

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

總結(jié)上面的歷史回顧,我們可以說市場已經(jīng)解決了RISC-CISC的爭論;CISC贏得了PC時(shí)代的后期階段,但RISC正在贏得整個后PC時(shí)代。幾十年來,沒有出現(xiàn)新的CISC ISA。令我們吃驚的是,今天在通用處理器的最佳ISA原則方面的共識仍然是RISC,盡管距離它們的推出已經(jīng)過去35年了。

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

雖然上一節(jié)的重點(diǎn)是指令集體系結(jié)構(gòu)(ISA)的設(shè)計(jì),但大多數(shù)計(jì)算機(jī)架構(gòu)師并不設(shè)計(jì)新的ISA,而是在當(dāng)前的實(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)。MOS技術(shù)驚人的改進(jìn)速度(Gordon Moore的預(yù)測中已經(jīng)提到這一點(diǎn))已經(jīng)成為驅(qū)動因素,使架構(gòu)師能夠設(shè)計(jì)更積極的方法來實(shí)現(xiàn)給定ISA的性能。摩爾在1965年26年的最初預(yù)測要求晶體管密度每年翻一番;1975年,他對其進(jìn)行了修訂,預(yù)計(jì)每兩年翻一番。這最終被稱為摩爾定律。由于晶體管密度呈二次增長,而速度呈線性增長,架構(gòu)師們使用了更多的晶體管來提高性能。

摩爾定律和 Dennard Scaling的終結(jié)

盡管摩爾定律已經(jīng)存在了幾十年(見圖2),但它在2000年左右開始放緩,到2018年,摩爾的預(yù)測與目前的能力之間的差距大約是15倍。目前的預(yù)期是,隨著CMOS技術(shù)接近基本極限,差距將繼續(xù)擴(kuò)大。

圖2:每片英特爾微處理器的晶體管與摩爾定律的差別

與摩爾定律相伴而來的是羅伯特·登納德(Robert Dennard)的預(yù)測,稱為“登納德縮放比例”(Dennard Scaling)。該定律指出,隨著晶體管密度的增加,每個晶體管的功耗會下降,因此每平方毫米硅的功耗幾乎是恒定的。由于硅的計(jì)算能力隨著每一代新技術(shù)的發(fā)展而提高,計(jì)算機(jī)將變得更加節(jié)能。Dennard Scaling在2007年開始顯著放緩,到2012年幾乎變?yōu)榱?見圖3)。

圖3:Transistors per chip and power per mm2.

在1986年到2002年之間,指令級并行(ILP)的開發(fā)是提高性能的主要架構(gòu)方法,并且隨著晶體管速度的提高,每年的性能增長大約50%。Dennard Scaling的結(jié)束意味著架構(gòu)師必須找到更有效的方法來利用并行性。

要理解為什么ILP的增加會導(dǎo)致更大的效率低下,可以考慮一個像ARM、Intel和AMD這樣的現(xiàn)代處理器核心。假設(shè)它有一個15-stage的pipeline,每個時(shí)鐘周期可以發(fā)出四條指令。因此,它在任何時(shí)刻都有多達(dá)60條指令在pipeline中,包括大約15個分支,因?yàn)樗鼈兇砹舜蠹s25%的執(zhí)行指令。為了使pipeline保持完整,需要預(yù)測分支,并推測地將代碼放入pipeline中以便執(zhí)行。投機(jī)性的使用是ILP性能和效率低下的根源。當(dāng)分支預(yù)測完美時(shí),推測可以提高性能,但幾乎不需要額外的能源成本——甚至可以節(jié)省能源——但是當(dāng)它“錯誤地預(yù)測”分支時(shí),處理器必須扔掉錯誤推測的指令,它們的計(jì)算工作和能量就被浪費(fèi)了。處理器的內(nèi)部狀態(tài)也必須恢復(fù)到錯誤預(yù)測分支之前的狀態(tài),這將花費(fèi)額外的時(shí)間和精力。

要了解這種設(shè)計(jì)的挑戰(zhàn)性,請考慮正確預(yù)測15個分支的結(jié)果的難度。如果處理器架構(gòu)師希望將浪費(fèi)的工作限制在10%的時(shí)間內(nèi),那么處理器必須在99.3%的時(shí)間內(nèi)正確預(yù)測每個分支。很少有通用程序具有能夠如此準(zhǔn)確預(yù)測的分支。

為了理解這些浪費(fèi)的工作是如何累加起來的,請考慮下圖中的數(shù)據(jù),其中顯示了有效執(zhí)行但由于處理器的錯誤推測而被浪費(fèi)的指令的部分。在Intel Core i7上,這些基準(zhǔn)測試平均浪費(fèi)了19%的指令。

圖4

但是,浪費(fèi)的能量更大,因?yàn)樘幚砥髟谕茰y錯誤時(shí)必須使用額外的能量來恢復(fù)狀態(tài)。這樣的度量導(dǎo)致許多人得出結(jié)論,架構(gòu)師需要一種不同的方法來實(shí)現(xiàn)性能改進(jìn)。多核時(shí)代就這樣誕生了。

多核將識別并行性和決定如何利用并行性的責(zé)任轉(zhuǎn)移給程序員和語言系統(tǒng)。多核并不能解決由于登納德縮放比例定律結(jié)束而加劇的節(jié)能計(jì)算的挑戰(zhàn)。無論有源堆芯對計(jì)算的貢獻(xiàn)是否有效,有源堆芯都會消耗能量。

一個主要的障礙是Amdahl定律,它指出并行計(jì)算機(jī)的加速受到連續(xù)計(jì)算部分的限制。為了理解這一觀察的重要性,請考慮下圖,其中顯示了假設(shè)串行執(zhí)行的不同部分(其中只有一個處理器處于活動狀態(tài)),在最多64個內(nèi)核的情況下,應(yīng)用程序的運(yùn)行速度要比單個內(nèi)核快得多。例如,當(dāng)只有1%的時(shí)間是串行的,64處理器配置的加速大約是35。不幸的是,所需的功率與64個處理器成正比,因此大約45%的能量被浪費(fèi)了。

圖5

當(dāng)然,真正的程序有更復(fù)雜的結(jié)構(gòu),其中部分允許在任何給定的時(shí)間點(diǎn)使用不同數(shù)量的處理器。盡管如此,定期通信和同步的需求意味著大多數(shù)應(yīng)用程序的某些部分只能有效地使用一部分處理器。盡管Amdahl定律已有50多年的歷史,但它仍然是一個困難的障礙。

隨著Dennards Scaling定律的結(jié)束,芯片上內(nèi)核數(shù)量的增加意味著功率也在以幾乎相同的速度增長。不幸的是,進(jìn)入處理器的能量也必須以熱量的形式被移除。因此,多核處理器受到熱耗散功率(TDP)的限制,即封裝和冷卻系統(tǒng)可以移除的平均功率。雖然一些高端數(shù)據(jù)中心可能會使用更先進(jìn)的軟件包和冷卻技術(shù),但沒有電腦用戶愿意在辦公桌上安裝一個小型熱交換器,或者在背上安裝散熱器來冷卻手機(jī)。TDP的限制直接導(dǎo)致了“暗硅”時(shí)代,處理器會降低時(shí)鐘速率,關(guān)閉空閑內(nèi)核以防止過熱。另一種看待這種方法的方法是,一些芯片可以重新分配他們寶貴的權(quán)力,從空閑的核心到活躍的。

一個沒有Dennards Scaling,摩爾定律減速、Amdahl法則完全有效的時(shí)代,意味著低效率限制了性能的提升,每年只有幾個百分點(diǎn)的提升(見圖6)。實(shí)現(xiàn)更高的性能改進(jìn)需要新的架構(gòu)方法,更有效地使用集成電路功能。在討論了現(xiàn)代計(jì)算機(jī)的另一個主要缺點(diǎn)后,我們將回到可能起作用的方法上來。

圖6

被忽視的安全問題

20世紀(jì)70年代,處理器架構(gòu)師將重點(diǎn)放在通過保護(hù)環(huán)等概念來增強(qiáng)計(jì)算機(jī)安全性上。這些架構(gòu)師充分認(rèn)識到大多數(shù)錯誤將出現(xiàn)在軟件中,但是他們相信架構(gòu)支持可以提供幫助。這些特性在很大程度上沒有被操作系統(tǒng)所采用,這些操作系統(tǒng)被有意地集中在所謂的良性環(huán)境中(比如個人電腦),并且成本很高,所以很快被放棄了。在軟件社區(qū)中,許多人認(rèn)為正式驗(yàn)證機(jī)制和微內(nèi)核這樣的技術(shù),將為構(gòu)建高度安全的軟件提供有效的機(jī)制。遺憾的是,規(guī)模化軟件系統(tǒng)和對性能的追求,使得這些技術(shù)無法跟上處理器的性能。其結(jié)果是,大型軟件系統(tǒng)仍然存在許多安全缺陷,由于在線個人信息的大量增加,以及云計(jì)算的大規(guī)模應(yīng)用,這種缺陷的影響被進(jìn)一步放大了。

盡管計(jì)算機(jī)架構(gòu)師們安全性的重要意識方面進(jìn)展緩慢,但他們也已經(jīng)開始為虛擬機(jī)和加密硬件提供安全支持。遺憾的是,這也可能為不少處理器帶來了一個未知、但重要的安全缺陷。尤其是,Meltdown和Spectre安全缺陷導(dǎo)致了新的漏洞,這些漏洞會利用微架構(gòu)中的漏洞,使得本來受保護(hù)的信息迅速泄露。Meltdown和Spectre使用所謂的側(cè)通道攻擊(Side-channel attacks),通過觀察任務(wù)所需時(shí)間,將ISA級別上不可見的信息轉(zhuǎn)換為時(shí)間上可見的屬性,從而泄露信息。

2018年,研究人員展示了如何利用Spectre的變種在網(wǎng)絡(luò)上泄露信息,而攻擊者并不需要將代碼加載到目標(biāo)處理器上。盡管這種被稱為NetSpectre的攻擊泄漏信息速度很慢,但它可以讓同一局域網(wǎng)(或云中的同一集群)上的任何機(jī)器受到攻擊,這又產(chǎn)生了許多新的漏洞。隨后有報(bào)告稱發(fā)現(xiàn)了虛擬機(jī)體系結(jié)構(gòu)中的另外兩個漏洞。其中一種被稱為“預(yù)見”(hadow),可以滲透英特爾旨在保護(hù)高風(fēng)險(xiǎn)數(shù)據(jù)(如加密密鑰)的安全機(jī)制。此后每月都有新的漏洞被發(fā)現(xiàn)。

側(cè)通道攻擊并不新鮮,但在早期,軟件缺陷導(dǎo)致這種攻擊往往能夠成功。在Meltdown和Spectre和其他攻擊中,導(dǎo)致受保護(hù)信息泄露的是硬件實(shí)現(xiàn)中的一個缺陷。處理器架構(gòu)師在如何定義ISA的正確實(shí)現(xiàn)上存在基本的困難,因?yàn)闃?biāo)準(zhǔn)定義中并沒有說明執(zhí)行指令序列對性能的影響,只是說明了執(zhí)行指令的ISA可見的體系結(jié)構(gòu)狀態(tài)。處理器架構(gòu)師們需要重新考慮ISA的正確實(shí)現(xiàn)的定義,以防范此類安全缺陷。同時(shí),架構(gòu)師們應(yīng)該重新考慮他們對計(jì)算機(jī)安全性的關(guān)注程度,以及如何與軟件設(shè)計(jì)人員合作來打造更安全的系統(tǒng)。從目前來看,架構(gòu)師過于依賴于信息系統(tǒng),并不愿意將安全性問題視為設(shè)計(jì)時(shí)的首要關(guān)注焦點(diǎn)。

計(jì)算機(jī)體系結(jié)構(gòu)新機(jī)遇

“我們面前的一些令人嘆為觀止的機(jī)會被偽裝成不可解決的問題。” ——John Gardner,1965年

通用處理器固有的低效率,無論是由ILP技術(shù)還是多核所致,加上登納德縮放定律(DennardScaling)和摩爾定律的終結(jié),使我們認(rèn)為處理器架構(gòu)師和設(shè)計(jì)人員在一般情況下難以繼續(xù)保持通用處理器性能實(shí)現(xiàn)顯著的提升。而鑒于提高處理器性能以實(shí)現(xiàn)新的軟件功能的重要性,我們必須要問:還有哪些其他可行的方法?

有兩個很清楚的機(jī)會,以及將兩者結(jié)合起來所創(chuàng)造出的第三個機(jī)會。首先,現(xiàn)有的軟件構(gòu)建技術(shù)廣泛使用具有動態(tài)類型和存儲管理的高級語言。不幸的是,這些語言的可解釋性和執(zhí)行效率往往非常低。Leiserson等人用矩陣乘法運(yùn)算為例來說明這種低效率。如圖7所示,簡單地把動態(tài)高級語言Python重寫為C語言代碼,將性能提高了47倍。使用多核并行循環(huán)處理將性能提升了大約7倍。優(yōu)化內(nèi)存布局提高緩存利用率,將性能提升了20倍,最后,使用硬件擴(kuò)展來執(zhí)行單指令多數(shù)據(jù)(SIMD)并行操作每條指令能夠執(zhí)行16個32位操作,讓性能提高了9倍??偠灾c原始Python版本相比,最終的高度優(yōu)化版在多核英特爾處理器上的運(yùn)行速度提高了62,000倍。這當(dāng)然只是一個小的例子,程序員應(yīng)該使用優(yōu)化后的代碼庫。雖然它夸大了通常的性能差距,但有許多軟件都可以實(shí)現(xiàn)這樣性能100倍到1000倍的提升。

一個有趣的研究方向是關(guān)于是否可以使用新的編譯器技術(shù)來縮小某些性能差距,這可能有助于體系結(jié)構(gòu)的增強(qiáng)。盡管高效編譯和實(shí)現(xiàn)Python等高級腳本語言的難度很大,但潛在的收益也是巨大的。哪怕編譯性能提升25%的潛在收益都可能使Python程序運(yùn)行速度提高數(shù)十乃至數(shù)百倍。這個簡單的例子說明了在注重程序員效率的現(xiàn)代語言與傳統(tǒng)方法之間有多大的差距。

領(lǐng)域特定結(jié)構(gòu)(DAS)。一個更加以硬件為中心的方法,是設(shè)計(jì)針對特定問題域定制的體系結(jié)構(gòu),并為該領(lǐng)域提供顯著的性能(和能效)增益,這也被稱之為“領(lǐng)域特定結(jié)構(gòu)”(DSA),是一種為特定領(lǐng)域可編程且通常是圖靈完整的,但針對特定應(yīng)用程序類別進(jìn)行了定制。從這個意義上說,DSA與專用集成電路(ASIC)不同,后者通常用于單一功能,代碼很少發(fā)生變化。DSA通常稱為加速器,因?yàn)榕c在通用CPU上執(zhí)行整個應(yīng)用程序相比,它們只會加速某些應(yīng)用程序。此外,DSA可以實(shí)現(xiàn)更好的性能,因?yàn)樗鼈兏N近應(yīng)用程序的需求;DSA的例子包括圖形處理單元(GPU),用于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)處理器和用于軟件定義網(wǎng)絡(luò)(SDN)的處理器。

DSA可以實(shí)現(xiàn)更好的性能和更高的能效,主要有以下四個原因:

首先也是最重要的一點(diǎn),DSA利用了特定領(lǐng)域中更有效的并行形式。例如,單指令多數(shù)據(jù)并行(SIMD)比多指令多數(shù)據(jù)(MIMD)更有效,因?yàn)樗恍枰@取一個指令流并且處理單元以鎖步操作。雖然SIMD不如MIMD靈活,但它很適合許多DSA。DSA也可以使用VLIW方法來實(shí)現(xiàn)ILP,而不是推測性的無序機(jī)制。如前所述,VLIW處理器與通用代碼不匹配,但由于控制機(jī)制更簡單,因此對于數(shù)量有限的幾個領(lǐng)域更為有效。特別是,大多數(shù)高端通用處理器都是亂序超標(biāo)量執(zhí)行,需要復(fù)雜的控制邏輯來啟動和完成指令。相反,VLIW在編譯時(shí)會進(jìn)行必要的分析和調(diào)度,這非常適用于運(yùn)行顯式并行程序。

其次,DSA可以更高效地利用內(nèi)存層次結(jié)構(gòu)。正如Horowitz所指出的,內(nèi)存訪問比加減計(jì)算成本要高得多。例如,訪問32K字節(jié)緩存塊所需的能量成本比32位整數(shù)相加高約200倍。這種巨大的差異使得優(yōu)化存儲器訪問對于實(shí)現(xiàn)高能效至關(guān)重要。通用處理器在運(yùn)行代碼的時(shí)候,存儲器訪問往往表現(xiàn)出空間和時(shí)間局部性,但這在編譯時(shí)非常難以預(yù)測。因此,CPU使用多級高速緩存來增加帶寬,并隱藏相對較慢的片外DRAM的延遲。這些多級高速緩存通常消耗大約一半的處理器能量,但幾乎都不需要對片外DRAM的所有訪問,導(dǎo)致這些訪問需要大約10倍于最后一級高速緩存訪問的能量。

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

數(shù)據(jù)集非常大時(shí):當(dāng)數(shù)據(jù)集非常大并且時(shí)間或空間位置較低時(shí),緩存根本不能很好工作;

當(dāng)緩存工作得很好時(shí):當(dāng)緩存運(yùn)行良好時(shí),位置非常高,這意味著,根據(jù)定義,大多數(shù)緩存大部分時(shí)間都處于空閑狀態(tài)。

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

第三,DSA可以適度使用較低的精度。通用CPU通常支持32位和64位整數(shù)和浮點(diǎn)(FP)數(shù)據(jù)。機(jī)器學(xué)習(xí)和圖形學(xué)中的許多應(yīng)用不需要計(jì)算得這樣精確。例如,在深度神經(jīng)網(wǎng)絡(luò)(DNN)中,推理通常使用4位,8位或16位整數(shù),從而提高數(shù)據(jù)和計(jì)算吞吐量。同樣,對于DNN訓(xùn)練應(yīng)用,F(xiàn)P很有用,但32位足夠了,一般16位就行。

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

領(lǐng)域特定語言

DSA要求將高級運(yùn)算融入到體系結(jié)構(gòu)里,但嘗試從Python,Java,C或Fortran等通用語言中提取此類結(jié)構(gòu)和信息實(shí)在太難了。領(lǐng)域特定語言(DSL)支持這一過程,并能有效地對DSA進(jìn)行編程。例如,DSL可以使向量、密集矩陣和稀疏矩陣運(yùn)算顯式化,使DSL編譯器能夠有效地將將運(yùn)算映射到處理器。常見的DSL包括矩陣運(yùn)算語言Matlab,編程DNN的數(shù)據(jù)流語言TensorFlow,編程SDN的語言P4,以及用于指定高級變換的圖像處理語言Halide。

使用DSL的難點(diǎn)在于如何保持足夠的架構(gòu)獨(dú)立性,使得在DSL中編寫的軟件可以移植到不同的架構(gòu),同時(shí)還可以實(shí)現(xiàn)將軟件映射到底層DSA的高效率。例如,XLA系統(tǒng)將Tensorflow編譯到使用Nvidia GPU和張量處理器單元(TPU)的異構(gòu)處理器。權(quán)衡DSA的可移植性以及效率是語言設(shè)計(jì)人員、編譯器創(chuàng)建者和DSA架構(gòu)師面臨的一項(xiàng)有趣的研究挑戰(zhàn)。

DSA TPU v1。以Google TPU v1作為DSA的一個例子,Google TPU v1旨在加速神經(jīng)網(wǎng)絡(luò)推理。TPU自2015年開始投入生產(chǎn),應(yīng)用范圍從搜索查詢到語言翻譯再到圖像識別,再到DeepMind的圍棋程序AlphaGo和通用棋類程序AlphaZero,其目標(biāo)是將深度神經(jīng)網(wǎng)絡(luò)推理的性能和能效提高10倍。

如圖8所示,TPU的組織架構(gòu)與通用處理器完全不同。

總結(jié)

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

這個機(jī)會已經(jīng)引發(fā)了架構(gòu)創(chuàng)新的激增,吸引了許多競爭性的架構(gòu)理念:

Nvidia GPU使用許多內(nèi)核,每個內(nèi)核都有大型寄存器文件,許多硬件線程和緩存;

Google TPU依賴于大型二維收縮倍增器和軟件控制的片上存儲器;

FPGA,微軟在其數(shù)據(jù)中心部署了現(xiàn)場可編程門陣列(FPGA),它可以根據(jù)神經(jīng)網(wǎng)絡(luò)應(yīng)用進(jìn)行定制;

CPU,英特爾提供的CPU具有許多內(nèi)核,這些內(nèi)核通過大型多級緩存和一維SIMD指令(微軟使用的FPGA)以及更接近TPU而不是CPU的新型神經(jīng)網(wǎng)絡(luò)處理器得到增強(qiáng)。

除了這些大型企業(yè)外,還有數(shù)十家創(chuàng)業(yè)公司正在尋求自己的路徑。為了滿足不斷增長的需求,體系結(jié)構(gòu)設(shè)計(jì)師正在將數(shù)百到數(shù)千個此類芯片互連,形成神經(jīng)網(wǎng)絡(luò)超級計(jì)算機(jī)。

DNN架構(gòu)的這種雪崩使計(jì)算機(jī)架構(gòu)變得有趣。在2019年很難預(yù)測這些方向中哪些(或者即使有)會贏,但市場肯定會最終解決技術(shù)以及架構(gòu)爭議。

開放式架構(gòu)

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

第一個例子是RISC-V(稱為“RISC Five”),這是加州大學(xué)伯克利分校開發(fā)的第五個RISC架構(gòu)。RISC-V的社區(qū)在RISC-V基金會(http://riscv.org/)的管理下維護(hù)體系結(jié)構(gòu)。開源允許ISA在公開的場景下發(fā)生演變,在決策最終確定之前,由硬件和軟件專家進(jìn)行協(xié)作。

RISC-V是一個模塊化的指令集。一小部分指令運(yùn)行完整的開源軟件棧,然后是可選的標(biāo)準(zhǔn)擴(kuò)展設(shè)計(jì)器,設(shè)計(jì)人員可以根據(jù)需求包含或省略這些擴(kuò)展。這個基礎(chǔ)包括32位和64位版本。RISC-V只能通過可選擴(kuò)展來發(fā)展;即使架構(gòu)師不接受新的擴(kuò)展,軟件堆棧仍可以很好的運(yùn)行。

專有架構(gòu)通常需要向上的二進(jìn)制兼容性,這意味著當(dāng)處理器公司添加新特性時(shí),所有在此之后的處理器也必須包含這些新特性。而RISC-V則不是如此,所有增強(qiáng)功能都是可選的,如果應(yīng)用程序不需要,可以刪除。以下是迄今為止的標(biāo)準(zhǔn)擴(kuò)展名,使用的是代表其全名的縮寫:

M. Integer multiply/divide;

A. Atomic memory operations;

F/D. Single/double-precision floating-point;

C. Compressed instructions。

RISC-V的第三個顯著特征是ISA的簡單性。雖然難以量化,但這里有兩個與ARM公司同期開發(fā)的ARMv8架構(gòu)的比較:

更少的指令。RISC-V的指令要少得多。在基礎(chǔ)版本中只有50個,在數(shù)量和性質(zhì)上與最初的RIS-i驚人地相似。剩下的標(biāo)準(zhǔn)擴(kuò)展(M,A,F(xiàn)和D)添加了53條指令,再加上C又增加了34條,共計(jì)137條。而ARMv8有500多條。

更少的指令格式。 RISC-V的指令格式少了六個,而ARMv8至少有14個。

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

第四,RISC-V是一個全新的設(shè)計(jì)。與第一代RISC架構(gòu)不同,它避免了微架構(gòu)或依賴技術(shù)的特性(如延遲分支和延遲加載),也避免了被編譯器技術(shù)的進(jìn)步所取代的創(chuàng)新(如注冊窗口)。

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

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

開放的簡單體系結(jié)構(gòu)與安全性是協(xié)同的。

首先,安全專家不相信通過“隱藏”實(shí)現(xiàn)的安全性,因此實(shí)現(xiàn)開源很有吸引力,而開源的實(shí)現(xiàn)需要開放的體系結(jié)構(gòu)。

同樣重要的是,增加能夠圍繞安全架構(gòu)進(jìn)行創(chuàng)新的人員和組織的數(shù)量。專有架構(gòu)限制了員工的參與,但是開放架構(gòu)允許學(xué)術(shù)界和業(yè)界所有最優(yōu)秀的“頭腦”來幫助共同實(shí)現(xiàn)安全性。

最后,RISC-V的簡單性使得它的實(shí)現(xiàn)更容易檢查。

此外,開放的架構(gòu)、實(shí)現(xiàn)和軟件棧,加上FPGA的可塑性,意味著架構(gòu)師可以在線部署和評估新的解決方案,并每周迭代它們,而不是每年迭代一次。雖然FPGA比定制芯片慢10倍,但這種性能仍然足以支持在線用戶。

我們希望開放式架構(gòu)成為架構(gòu)師和安全專家進(jìn)行硬件/軟件協(xié)同設(shè)計(jì)的典范。

輕量級硬件開發(fā)

由Beck等人撰寫的《輕量級軟件開發(fā)》(The Manifesto for Agile Software Development,2011)徹底改變了軟件開發(fā)方式,克服了瀑布式開發(fā)中傳統(tǒng)的詳細(xì)計(jì)劃和文檔的頻繁失敗。小型編程團(tuán)隊(duì)在開始下一次迭代之前快速開發(fā)工作原型(但不完整)并獲得了客戶反饋。輕量級開發(fā)的scrum版本匯集了5到10個程序員的團(tuán)隊(duì),每次迭代執(zhí)行需兩到四周的沖刺。

再次受到軟件成功的啟發(fā),第三個機(jī)遇是輕量級硬件開發(fā)。對于架構(gòu)師來說,好消息是現(xiàn)代電子計(jì)算機(jī)輔助設(shè)計(jì)(ECAD)工具提高了抽象級別,從而支持輕量級開發(fā),而這種更高的抽象級別增加了設(shè)計(jì)之間的重用。

但從設(shè)計(jì)芯片到得到用戶反饋的幾個月之間,像輕量級軟件開發(fā)那樣申請“硬件四周的沖刺”似乎是不合理的。

下圖概述了輕量級開發(fā)方法如何通過在適當(dāng)?shù)募墑e上更改原型來工作。

最內(nèi)層是一個軟件模擬器,如果模擬器能夠滿足迭代,那么這一環(huán)節(jié)是進(jìn)行更改最容易和最快的地方。

下一級是FPGA,它的運(yùn)行速度比一個詳細(xì)的軟件模擬器快數(shù)百倍。FPGA可以運(yùn)行像SPEC那樣的操作系統(tǒng)和完整的基準(zhǔn)測試,從而可以對原型進(jìn)行更精確的評估。Amazon Web Services在云中提供FPGA,因此架構(gòu)師可以使用FPGA,而不需要先購買硬件并建立實(shí)驗(yàn)室。

為了記錄芯片面積和功率的數(shù)字,下一個外層使用ECAD工具生成芯片的布局。

即使在工具運(yùn)行之后,在準(zhǔn)備生產(chǎn)新的處理器之前,仍然需要一些手動步驟來細(xì)化結(jié)果。處理器設(shè)計(jì)人員將此級別稱為“Tape-In”。

前四個級別都支持為期四周的沖刺。

出于研究目的,當(dāng)面積、能量和性能評估是非常準(zhǔn)確的時(shí)候,我們可以停在Tape-In這個級別上。然而,這就像跑一場長跑,在終點(diǎn)前100碼停了下來,盡管在比賽前做了大量的準(zhǔn)備工作,運(yùn)動員還是會錯過真正跨越終點(diǎn)線的興奮和滿足。硬件工程師與軟件工程師相比,其中一個優(yōu)勢是他們可以構(gòu)建物理的東西。讓芯片重新測量、運(yùn)行真實(shí)的程序并顯示給朋友和家人,這是硬件設(shè)計(jì)的一大樂趣。

許多研究人員認(rèn)為他們必須在此環(huán)節(jié)停下來,因?yàn)橹圃煲粋€芯片的成本著實(shí)太高了。當(dāng)設(shè)計(jì)規(guī)模較小的時(shí)候,它們出奇的便宜:只需14,000美元即可訂購100個1-mm2芯片。在28nm的規(guī)格下,1mm2的面積包含數(shù)百萬個晶體管,足夠容納一個RISC-V處理器和一個NVLDA加速器。如果設(shè)計(jì)者的目標(biāo)是構(gòu)建一個大型芯片,那么最外層的成本是極其昂貴的,但是架構(gòu)師可以用小型芯片演示許多新穎的想法。

總結(jié)

“黎明前最黑暗?!?/p>

——托馬斯·富勒,1650

為了從歷史的教訓(xùn)中獲益,架構(gòu)師必須意識到軟件創(chuàng)新也可以激發(fā)架構(gòu)師的興趣,提高硬件/軟件界面的抽象層次可以帶來創(chuàng)新機(jī)會,并且市場最終會解決計(jì)算機(jī)架構(gòu)的爭論。 iAPX-432和Itanium說明了架構(gòu)投資如何超過回報(bào),而S/360,8086和ARM提供了長達(dá)數(shù)十年的高年度回報(bào),并且看不到盡頭。

登納德縮放比例定律和摩爾定律的終結(jié),以及標(biāo)準(zhǔn)微處理器性能增長的減速,這些都不是必須解決的問題,而是公認(rèn)的事實(shí),并且提供了讓人驚嘆的機(jī)遇。

高級、特定于領(lǐng)域的語言和體系結(jié)構(gòu),將架構(gòu)師從專有指令集的鏈中解放出來,以及公眾對改進(jìn)安全性的需求,將為計(jì)算機(jī)架構(gòu)師帶來一個新的黃金時(shí)代。

在開源生態(tài)系統(tǒng)的幫助下,輕量級開發(fā)的芯片將會令人信服,從而加速商業(yè)應(yīng)用。這些芯片中通用處理器的ISA理念很可能是RISC,它經(jīng)受住了時(shí)間的考驗(yàn)??梢云诖c上一個黃金時(shí)代相同的快速改善,但這一次是在成本、能源、安全以及性能方面。

下一個十年將會是一個全新計(jì)算機(jī)架構(gòu)的“寒武紀(jì)”大爆發(fā),這意味著計(jì)算機(jī)架構(gòu)師在學(xué)術(shù)界和工業(yè)界將迎來一個激動人心的時(shí)代。

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

    關(guān)注

    19

    文章

    7550

    瀏覽量

    88750
  • 圖靈
    +關(guān)注

    關(guān)注

    1

    文章

    41

    瀏覽量

    9753
  • AI芯片
    +關(guān)注

    關(guān)注

    17

    文章

    1911

    瀏覽量

    35250

原文標(biāo)題:兩位圖靈獎得主萬字長文:新計(jì)算機(jī)架構(gòu),黃金十年爆發(fā)!

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    指令集架構(gòu)與微架構(gòu)的區(qū)別

    指令集架構(gòu)(Instruction Set Architecture,ISA)與微架構(gòu)(Microarchitecture)是計(jì)算機(jī)體系結(jié)構(gòu)中的兩重要概念,它們在處理器的設(shè)計(jì)和實(shí)現(xiàn)中扮演著不同的角色。以下是對兩者區(qū)別的詳細(xì)闡述。
    的頭像 發(fā)表于 10-05 15:10 ?689次閱讀

    計(jì)算機(jī)主機(jī)內(nèi)部結(jié)構(gòu)

    計(jì)算機(jī)主機(jī)的內(nèi)部結(jié)構(gòu)復(fù)雜而精密的系統(tǒng),它包含了多個關(guān)鍵組件,這些組件協(xié)同工作以實(shí)現(xiàn)計(jì)算機(jī)的各種功能。以下是對
    的頭像 發(fā)表于 09-26 16:40 ?1008次閱讀

    CPU時(shí)鐘周期與主頻的關(guān)系和區(qū)別

    CPU時(shí)鐘周期與主頻是計(jì)算機(jī)體系結(jié)構(gòu)中兩緊密相連且至關(guān)重要的概念,它們之間既存在關(guān)系又有所區(qū)別。以下詳細(xì)闡述CPU時(shí)鐘周期與主頻的關(guān)系和區(qū)別。
    的頭像 發(fā)表于 09-26 15:46 ?2153次閱讀

    總線時(shí)鐘周期與CPU時(shí)鐘周期的區(qū)別

    總線時(shí)鐘周期與CPU時(shí)鐘周期是計(jì)算機(jī)體系結(jié)構(gòu)中兩重要但有所區(qū)別的概念。為了深入探討它們之間的區(qū)別,本文將從定義、作用、關(guān)系、影響因素以及實(shí)際應(yīng)用等多個方面進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 09-26 15:43 ?2830次閱讀

    CPU時(shí)鐘周期、機(jī)器周期和指令周期的關(guān)系

    CPU時(shí)鐘周期、機(jī)器周期和指令周期是計(jì)算機(jī)體系結(jié)構(gòu)中三緊密相連且至關(guān)重要的概念,它們共同構(gòu)成了CPU執(zhí)行指令和處理數(shù)據(jù)的基本時(shí)間框架。以下是對這三周期之間關(guān)系的詳細(xì)解析。
    的頭像 發(fā)表于 09-26 15:38 ?3743次閱讀

    CPU時(shí)鐘周期的組成和作用

    CPU時(shí)鐘周期是計(jì)算機(jī)體系結(jié)構(gòu)至關(guān)重要的概念,它直接關(guān)聯(lián)到CPU的運(yùn)行速度和性能。以下是對CPU時(shí)鐘周期的定義、組成和作用的詳細(xì)解析。
    的頭像 發(fā)表于 09-26 15:32 ?887次閱讀

    內(nèi)存緩沖區(qū)和內(nèi)存的關(guān)系

    內(nèi)存緩沖區(qū)和內(nèi)存之間的關(guān)系是計(jì)算機(jī)體系結(jié)構(gòu)至關(guān)重要的方面,它們共同協(xié)作以提高數(shù)據(jù)處理的效率和系統(tǒng)的整體性能。
    的頭像 發(fā)表于 09-10 14:38 ?794次閱讀

    數(shù)字寄存器的原理和使用

    數(shù)字寄存器是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的組成部分,其原理和使用對于理解計(jì)算機(jī)的工作原理和數(shù)據(jù)存儲方式具有重要意義。
    的頭像 發(fā)表于 09-05 14:08 ?749次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    計(jì)算機(jī)科學(xué)中,寄存器(Register)是高速存儲單元,它位于中央處理器(CPU)內(nèi)部,用于存儲計(jì)算機(jī)程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是
    的頭像 發(fā)表于 08-02 18:23 ?4965次閱讀
    寄存器是什么意思?寄存器是如何構(gòu)成的?

    龍芯CPU統(tǒng)系統(tǒng)架構(gòu)規(guī)范及參考設(shè)計(jì)下載

    系統(tǒng)架構(gòu)規(guī)范(LA架構(gòu)嵌入式系列)-v1.0.pdf *附件:龍芯架構(gòu) ELF psABI 規(guī)范-v2.01.pdf *附件:計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)(LoongArch)-3rd.pdf *附件:龍芯架構(gòu)
    發(fā)表于 06-20 14:42

    計(jì)算機(jī)控制器的結(jié)構(gòu)和功能

    隨著信息技術(shù)的迅猛發(fā)展,計(jì)算機(jī)已經(jīng)深入我們生活的方方面面。而計(jì)算機(jī)控制器,作為計(jì)算機(jī)系統(tǒng)的核心部件之,承擔(dān)著協(xié)調(diào)各部件工作、指揮整個計(jì)算機(jī)
    的頭像 發(fā)表于 06-17 15:47 ?1968次閱讀

    工業(yè)控制計(jì)算機(jī)體系結(jié)構(gòu)是什么

    工業(yè)控制計(jì)算機(jī)種專門為工業(yè)自動化控制領(lǐng)域設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),具有高性能、高可靠性、實(shí)時(shí)性、可擴(kuò)展性等特點(diǎn)。本文詳細(xì)介紹工業(yè)控制計(jì)算機(jī)
    的頭像 發(fā)表于 06-16 11:38 ?1144次閱讀

    寄存器和內(nèi)存的區(qū)別

    計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器和內(nèi)存是兩至關(guān)重要的組成部分。它們各自承擔(dān)著不同的角色,共同確保計(jì)算機(jī)系統(tǒng)的正常運(yùn)行。本文將對寄存器和內(nèi)存進(jìn)行詳細(xì)的介紹,包括它們的定義、功能以及二者之間的主要區(qū)別。
    的頭像 發(fā)表于 05-12 17:11 ?2642次閱讀

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)() - 開箱

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)() - 開箱 、開箱 昉·星光2( VisionFive 2 )的包裝盒設(shè)計(jì)的很有科技感?!皳肀ё兏? 擁有未來”這句話太適合當(dāng)下環(huán)境了。 正面: 反面
    的頭像 發(fā)表于 02-21 10:10 ?782次閱讀
    昉·星光2 RISC-V單板<b class='flag-5'>計(jì)算機(jī)體</b>驗(yàn)(<b class='flag-5'>一</b>) - 開箱