女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機架構的新黃金十年開啟

jmiy_worldofai ? 來源:cc ? 2019-02-15 15:01 ? 次閱讀

近幾年來,不論是普通消費者還是科研人員們都可以感受到兩種浪潮,一種是CPU速度的提升越來越不顯著了,我們說CPU制造商又在“擠牙膏”;另一方面,在深度學習的刺激下,各個半導體巨頭和一群 AI 初創企業都開始宣傳自己的 AI 芯片。我們仿佛看到一類芯片逐漸走向慢車道,另一類芯片則準備搭臺唱戲、躍躍欲試。

這種柳暗花明的背后,顯示的正是計算機計算架構的時代變革;新的方法、新的思維、新的目標引領了新的浪潮。2017 年圖靈獎的兩位得主 John L. Hennessy 和 David A. Patterson 就是這個新浪潮的見證者和引領者。近日他們在ACM 通訊(Communications of the ACM)發表了一篇長報告《A New Golden Age for Computer Architecture》,詳細描述了引發計算機架構新時代到來的種種變化,他們也展望未來的十年將是計算機體系架構領域的“新的黃金十年”。

ISCA 2018 ,2017 圖靈獎頒獎現場,John L. Hennessy(左) 和 David A. Patterson(右)與 Alan Turing 的半身像合影

2018年6月4日,我們回顧了自20世紀60年代以來計算機架構的發展,并以此開始了我們的圖靈講座。除了那個回顧,我們還在講座中介紹了當前的難題和未來機遇。計算機體系結構領域將迎來又一個黃金十年,就像20世紀80年代我們做研究那時一樣,新的架構設計將會帶來更低的成本,更優的能耗、安全和性能。

“不能銘記過去的人注定要重蹈覆轍”

——George Santayana,1905

軟件與硬件的對話,是通過一種稱為指令集的體系結構進行來的。在20世紀60年代初,IBM擁有四條互不兼容的計算機系列,分別針對小型企業,大型企業,科研單位和即時運算,每個系列都有自己的指令集、軟件棧和I/O系統。

IBM的工程師們,也包括ACM圖靈獎獲獎者Fred Brooks在內,希望能夠創建一套新的ISA,將這四套指令集有效統一起來,為此他們需要一種可以讓低端的8位計算機和高端的64位計算機共享一套指令集的解決方案。

實際上,數據通路的加寬和縮小相對是比較容易的,當時的工程師們面臨的最大挑戰是處理器中的控制器部分。受軟件編程的啟發,計算機先驅人物、圖靈獎獲得者Maurice Wilkes提出了簡化控制流程的思路,即將控制器部分定義為一個被稱為“控制存儲器”的二維數組,可通過內存實現,比使用邏輯門的成本要低得多。數組的每一列對應一條控制線,每一行對應一條微指令,寫微指令的操作稱為微編程,控制存儲器包含使用微指令編寫的指令集解釋器,因此執行一條傳統指令需要多個微指令完成。

下圖列出了IBM在1964年4月7日發布的新System/360系列計算機的指令集,四種型號之間的數據通路寬度相差8倍,內存容量相差16倍,頻率相差近4倍,最終性能相差50倍。其中M65機型的控制存儲器容量最大,成本和售價也最昂貴,而最低端M30機型的控制存儲器容量最小,因此也需要有更多的微指令來執行System/360的指令。

IBM將公司的未來押在了這套新指令集上,寄希望其能革新計算行業,贏得未來。而最終IBM也如愿以償,成功主宰了這一市場,并將其影響力延續至今,這些55年前機型的后代產品現在仍能為IBM帶來每年100億美元的收入。

現在看來,盡管市場對技術問題做出的評判還不夠完善,但由于硬件系統架構與商用計算機之間的密切聯系,市場最終成為計算機架構創新的是否成功的關鍵性因素,這些創新往往需要工程人員方面的大量投入。

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

當計算機進入集成電路時代,摩爾定律的力量可以使控制存儲器被設計的更大,而這反過來又催生了更復雜的指令集,如Digital Equipment公司于1977年發布的VAX-11/780機型,其控制存儲器容量就達到了5120指令字*96bit,而其前代型號僅為256指令字*56bit。

于此同時,一些制造商開始設計可記錄控制存儲器(WCS),放開微編程功能以使客戶可以自行定制功能,其中最有名的機型是圖靈獎得主Chuck Thacker和Butler Lampson 和他的同事在1973年為施樂公司Palo Alto研究中心開發的Alto計算機。這是第一臺個人計算機,配備有首款點陣顯示器和首個以太網局域網,其控制器存儲在一個容量為4096指令字*32bit的WCS中。

另一邊,20世紀70年代的微處理器仍處于8位時代(如Intel的8080處理器),主要采用匯編語言編程,各家公司的設計師會不斷加入新的指令來超越競爭對手,并通過匯編語言展示他們的優勢。

戈登·摩爾認為,Intel的下一代指令集將會伴隨Intel的一生,他聘請了大批聰明的計算機科學博士,并將他們送到波特蘭的一個新工廠,以打造下一個偉大的指令集架構。這個被Intel最初命名為8800的計算機架構項目雄心勃勃,它具有32位尋址能力、面向對象的體系結構,可變位長的指令以及用當時最新編程語言Ada編寫的操作系統,是20世紀80年代最具挑戰性的一個項目。

可惜天不遂愿,這個項目在幾年間再三延期,迫使Intel在圣克拉拉啟動了一項緊急更換計劃,要在1979年推出一款16位處理器,也就是后來的8086。Intel給了新團隊52周時間來開發新的指令集以及設計和構建芯片。由于時間緊迫,這個團隊實際上是把 8080 的 8 位寄存器和指令集擴展成了 16 位,設計ISA部分僅僅花了10個人3周時間。最終8086如期完成,但在發布時卻沒引起什么關注。

這一次Intel很走運,當時IBM正在開發一款對位Apple II的個人計算機,正需要16位處理器。IBM一度對Motorola 68000處理器很感興趣,它擁有類似于IBM 360的指令集,但性能表現卻無法滿足IBM激進的需求,故轉而使用Intel 8086的8位總線版。IBM于1981年8月12日宣布推出該機型,全球銷量高達1億臺,為Intel這套指令集鋪墊了一個非常光明的未來。

Intel原本的8800項目更名了為iAPX-432,并最終在1981年推出,但它需要多塊芯片并且存在嚴重的性能問題,最終于1986年終止。同樣在這一年,Intel推出了80386處理器,將8086指令集的寄存器從16位擴展到了32位。戈登?摩爾的預言成為了現實,Intel的下一代指令集確實一直存續下來,但市場做出的選擇是臨危上馬的8086,而不是被寄予厚望的iAPX-432,這對摩托羅拉68000和iAPX-432的架構師來講,都是個現實的教訓,市場永遠是沒有耐心的。

從CISC到RISC

20世紀80年代初,人們開始研究CISC(復雜指令集計算機)控制存儲器中的大型微程序,而Unix系統的誕生則證明了可以使用高級語言來編寫操作系統,因此隨后問題的關鍵從“編程者會使用什么匯編語言”變成了“編譯器會生成什么指令”,軟硬件接口的顯著改進為架構創新帶來了機會。

圖靈獎得主John Cocke和他的同事為小型計算機開發了更簡單的指令集和編譯器,并將編譯器的目標設定為“僅使用 IBM 360指令集中簡單的寄存器到寄存器操作,只以簡單的Load和Store操作訪問內存”。他們發現,這樣簡化的流程可以讓程序運行速度快上3倍。Emer和Clark發現,VAX指令中有20%的常用指令需要60%的微代碼(microcode),但僅占據0.2%的執行時間。

David Patterson把在DEC一次學術休假投入到了研究減少VAX指令中的漏洞上。他認為,如果處理器制造商想要設計更龐大的復雜指令集,就免不了需要一種修復微代碼漏洞的方法。Patterson就此問題寫了一篇論文,但《Computer》期刊卻拒絕刊登,審稿人認為,使用如此復雜以至于需要修補的指令集來設計處理器是很糟糕的。

雖然現在來看,現代的CISC處理器確實包含微代碼修復機制,但當時的這次拒稿卻讓人們懷疑復雜指令集在處理器方面的價值,這也啟發了他去開發更簡單的精簡指令集,以及RISC(精簡指令集計算機)。

這些觀點的產生,以及由匯編語言向高級語言的轉變,為CISC向RISC的過渡創造了條件。首先,精簡指令集是經過簡化的,其指令通常和微指令一樣簡單,硬件可以直接執行,因此無需微代碼解釋器;第二,之前用于微代碼解釋器的快速存儲器被用作了RISC的指令緩存;第三,基于Gregory Chaitin圖染色法的寄存器分配器,使編譯器能夠更簡易、高效地使用寄存器,這指令集中那些寄存器到寄存器的操作有很大好處;最后,集成電路規模的發展,使20世紀80年代的單塊芯片足以包含完整的32位數據路徑以及相應的指令和數據緩存。

下圖是加州大學伯克利分校1982年研發的RISC-I處理器和斯坦福大學1983年研發的MIPS處理器,兩顆芯片充分展示了RISC的優勢,并最終發表在1984年IEEE國際固態電路會議上。加州大學和斯坦福大小的研究生研發出了比行業內現有產品更優秀處理器,這是非常了不起的時刻。

這些由學術機構開發的芯片,激勵了許多企業開始發力RISC處理器,并成為此后15年中發展最快的領域。其原因是處理器的性能公式:

時間/程序=操作數/程序*(時鐘周期)/指令*時間/(時鐘周期)

DEC公司的工程師后來表明,CISC處理器執行每個程序的操作數大約為RISC處理器的75%(上式第一項),在使用類似的技術時,CISC處理器執行每個指令要多消耗5到6個時鐘周期(上式第二項),使得RISC處理器的速度大約快了3倍。

這樣的公式在20世紀80年代還沒有進入計算機體系結構的書中,所以我們在1989年編寫了《Computer Architecture: A Quantitative Approach》一書,使用測量和基準測試來對計算機架構進行量化評估,而不是更多地依賴于架構師的直覺和經驗,使用的量化方法也受到了圖靈獎得主Donald Knuth關于算法的書的啟發。

VLIW、EPIC、Itanium

指令集架構的下一次創新試圖同時惠及RISC和CISC,即超長指令字(VLIW)和顯式并行指令計算機(EPIC)的誕生。這兩項發明由Intel和惠普共同命名,在每條指令中使用捆綁在一起的多個獨立操作的寬指令。與RISC一樣,VLIW和EPIC的目的是將工作負載從硬件轉移到編譯器上,它們的擁護者認為,如果用一條指令可以指定六個獨立的操作(兩次數據傳輸,兩次整數操作和兩次浮點操作),并且編譯器技術可以有效地將操作分配到六個指令槽,則硬件可以變得更簡單。

Intel和惠普合作設計了一款基于EPIC理念的64位處理器Itanium(安騰),想用其取代32位x86處理器。Intel和惠普對Itanium抱有很高的期望,但實際情況卻與他們的預期并不相符,EPIC雖然適用于高度結構化的浮點程序,但卻很難在可預測性較低的緩存丟失或難以預測分支的整型程序上實現高性能。

Donald Knuth后來指出,Itanium的設想非常棒,但事實證明滿足這種設想的編譯器基本上不可能寫出來。開發人員注意到Itanium的延遲和性能表現不佳,并借鑒泰坦尼克號事件重新將其命名為“Itanic”。不過正如前面所提到的,市場永遠是沒有耐心的,最終64位的x86-64成為了繼承者,沒有輪到Itanium。

不過一個好消息是,VLIW仍然小范圍應用于數字信號處理等對分支預測和緩存要求不高的領域。

RISC vs. CISC,PC和后PC時代的宿命對決

Intel和AMD依靠500人的設計團隊和卓越的半導體技術來縮小x86和RISC之間的性能差距,而受到精簡指令相對于復雜指令性能優勢的啟發,Intel和AMD將RISC微指令的執行流程化,使指令解碼器在運行中將復雜的x86指令轉換成類似RISC的內部微指令,從而讓x86處理器可以吸收RISC在性能分離指令、數據緩存、芯片二級緩存、深度流水線以及同時獲取和執行多個指令等許多優秀的設計。在2011年PC時代的巔峰時期,Intel和AMD每年大約出貨3.5億顆x86處理器。PC行業的高產量和低利潤率也意味著價格低于RISC計算機。

在Unix市場中,軟件供應商會為不同的復雜指令集(Alpha、HP-PA、MIPS、Power和SPARC)提供不同的軟件版本,而PC市場上絕對主流的指令集只有一套,軟件開發人員只需兼容x86指令集即可。全球每年出貨數億臺PC,軟件就成為了一個巨大的市場。更大的軟件基礎、相似的性能和更低的價格使得x86處理器在2000年之前同時統治了臺式機和小型服務器市場。

蘋果公司在2007年推出了iPhone,開創了后PC時代。智能手機公司不再購買處理器,而是使用其他公司的設計來構建自己的SoC。移動設備設計人員需要對芯片面積和能效以及性能進行綜合評估,CISC處理器在這一點上處于劣勢。此外,物聯網的到來需要海量的處理器,更加需要在芯片尺寸、功率、成本和性能上做權衡。這種趨勢增加了設計時間和成本的重要性,進一步使CISC處理器處于不利地位。在今天這個“后PC時代”,x86處理器的出貨量自2011年達到峰值以來,每年下降近10%,而RISC處理器的出貨量則飆升至200億。如今,99%的32位和64位處理器都是RISC處理器。

總結這些歷史,可以說市場已經解決了RISC和CISC宿命之爭。CISC贏得了PC時代的后期階段,但RISC正在后PC時代占據主導。復雜指令集領域已經幾十年沒有新的指令集出現了,對于今天的通用處理器來說,最佳的選擇仍然是精簡指令集。

處理器架構當前面臨的挑戰

“如果一個問題無解,那它可能不是一個問題,而是一個事實,我們不需要解決,而是隨著時間的推移來處理。”

——Shimon Peres

雖然前面的部分聚焦在指令集架構的設計上,但大部分計算機架構師并不設計新的指令集,而是利用當前的實現技術來實現現有的ISA。自20世紀70年代后期以來,選擇的技術一直是基于MOS(金屬氧化物半導體)的集成電路,首先是 nMOS(n型金屬氧化物半導體),然后是CMOS(互補金屬氧化物半導體)。

戈登·摩爾在1965年預測,集成電路的晶體管密度會每年翻一番,1975年又改為每兩年翻一番,這一預測最終被稱為摩爾定律。在這一預測中,晶體管密度呈二次增長,驚人的進化速度使架構師可以用更多晶體管來提高性能。

摩爾定律和登納德縮放定律的失效

如圖2所示,摩爾定律已經持續了幾十年,但它在2000年左右開始放緩,到了 2018 年,實際結果與摩爾定律的預測相差了15倍,但摩爾在2003年做的判斷已不可避免(可參考GE Moore 的《No exponential is forever: But 'forever' can be delayed!》論文)。基于當前的情況,這一差距還將持續增大,因為CMOS已經接近極限。

圖2 單個英特爾微處理器上的晶體管數量 vs. 摩爾定律

與摩爾定律相伴的是由羅伯特·登納德(Robert Dennard)預測的登納德縮放定律(Dennard scaling;又稱作MOSFET縮放定律)。Robert Dennard 在 1974 年提出,晶體管不斷變小,但芯片的功率密度不變。隨著晶體管密度的增加,每個晶體管的能耗將降低,因此硅芯片上每平方毫米上的能耗幾乎保持恒定。由于每平方毫米硅芯片的計算能力隨著技術的迭代而不斷增強,計算機將變得更加節能。不過,登納德縮放定律從 2007 年開始大幅放緩,大概在2012 年接近失效(見圖 3)。

圖3每個芯片上的晶體管及每平方毫米的功率

1986 年至 2002 年間,利用指令級并行(ILP)是提高架構性能的主要方法,伴隨著晶體管速度的提高,其性能每年能提高約50%。登納德縮放定律的終結意味著架構師必須找到更有高效的方法利用并行性。

要理解增加ILP 所帶來高效率,可以看一看當前的處理器核心比如ARM、英特爾、AMD。假設該芯片有15級流水線(管線),每個時鐘周期可以發送 4 條指令,那么它在任何時刻都有多達60條指令,包括大約15個分支,它們占執行指令的大約25%。為了能夠充分利用流水線,需要預測分支,并根據推測將代碼放入流水線以便執行。推測的使用同時是 ILP高性能和低能效的源頭。如果分支預測達到完美,推測就能提高 ILP 性能,但能耗會增加一些(也可能節約能耗),但如果分支預測出現失誤,處理器就必須放棄錯誤的推測指令,計算所耗能量就會被浪費。處理器的內部狀態也必須恢復到錯誤預測分支之前的狀態,這將消耗額外的能量和時間。

要理解這種設計的挑戰性,想一想正確預測15個分支就可知道其中的難度。如果處理器架構想把性能的浪費控制在10%以內,那么它必須在 99.3%的時間里正確預測每個分支。很少有通用程序能夠如此準確地預測。

要理解性能浪費疊加的結果,可以參見圖4中,圖中顯示了有效執行的指令,但由于處理器推測錯誤而被浪費。對英特爾酷睿 i7 基準測試上,19%的指令都被浪費了,但能量的浪費情況更加嚴重,因為處理器必須使用額外的能量才能恢復到推測失誤前的狀態。這樣的測試導致許多人得出結論,架構師需要一種不同的方法來實現性能改進。于是迎來了多核時代的誕生。

圖4 不同的SPEC整型數基準測試,英特爾酷睿 i7 浪費的指令占完成指令總數的百分比

多核將識別并行性和決定如何利用并行性的任務轉移給程序員和編程語言。多核并未解決節能的挑戰,而這種挑戰因登納德縮放定律終結更加嚴峻。每個活躍的核都會消耗能量,無論其對計算是否有有效貢獻。一個主要的障礙可以用阿姆達爾定律(Amdahl's Law)表述,該定理認為,在并行計算中用多處理器的應用加速受限于程序所需的串行時間百分比。這一定律的重要性參見圖5,與單核相比,多達64個核執行應用程序速度的差別,假設串行執行的不同部分只有一個處理器處于活動狀態。例如,如果只有1%的時間是串行的,那么 64核的配置可加速大約35倍,當然能量也與64個處理器成正比,大約有45% 的能量被浪費。

圖5 阿姆達爾定律對程序加速的影響

真實的程序當然會更加復雜,部分組件允許在給定時刻使用不同數量的處理器。然而,需要定期性通信和同步意味著大部分應用僅可高效使用一部分處理器。盡管阿姆達爾定律已經出現 50 多年了,這仍然是一個很大的困難。

隨著登納德縮放定律的終結,芯片內核數量的增加意味著能耗也隨之增加。不幸的是,進入處理器的電能有一部分會轉化為熱能,因此多核處理器受限于熱耗散功率(TDP),即封裝和冷卻系統在最大負載時的驅散熱量的最大限度。盡管一些高端數據中心可能使用更先進的封裝和冷卻技術,但沒有一個計算機用戶想要在自己桌子上放置小型熱交換器,或者為手機增加散熱器。TDP 的限制性直接導致了暗硅時代,也就是處理器通過降低時鐘頻率或關閉空閑內核來防止處理器過熱。這種方法的另一種解釋是:一些芯片可將其寶貴的能量從空閑內核轉移到活躍內核。

登納德縮放定律的結束,摩爾定律放緩以及阿姆達爾定律正當其時,意味著低效性將每年的性能改進限制在幾個百分點(如6所示)。想獲得高的性能改進(像 20 世紀八九十年代那樣)需要新的架構方法,新方法應能更加高效地利用集成電路。接下來我們將討論現代計算機的另一個主要缺陷——計算機安全的支持以及缺乏,之后再繼續探討有效利用集成電路的新方法。

圖6 計算機性能的提升(SPECintCPU)

被忽略的計算機安全

20 世紀 70 年代,處理器架構師主要專注于計算機安全,涉及保護環和功能安全。架構師們意識到,大部分漏洞都存在于軟件中,但他們認為架構能會有所幫助。這些功能大部分未被操作系統使用,這些操作系統有意專注于所謂的良性環境(如個人電腦),并且這些功能涉及大量消耗,因此被淘汰。在軟件社區中,很多人認為正式驗證技術如微內核等技術會為構建高度安全的軟件提供有效保障。不幸的是,我們的軟件系統規模和性能驅動器意味著此類技術無法跟上處理器性能。結果就是大型軟件系統仍然有很多安全漏洞,且由于海量在線個人信息和云計算的使用,其影響被放大。

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

架構師們和其他人很晚才意識到安全的重要性,但他們已經開始對虛擬機和加密提供硬件支持。不幸的是,推測給許多處理器帶來了未知但明顯的安全缺陷。特別是,Meltdown和Spectre安全漏洞導致新漏洞利用位體系結構中的漏洞,使受保護信息較快地遭到泄露,這兩種漏洞都使用了旁路攻擊。2018 年,研究者展示了在攻擊者不將代碼加載到目標處理器的情況下,如何利用 Spectre 變體導致網絡信息泄露。盡管這次名為NetSpectre的攻擊泄露信息速度較慢,但它會使同一局域網(或云中同一集群)中的所有機器都受到攻擊,這會產生許多新的漏洞。還有兩個被報告的漏洞存在于虛擬機架構,其中一個叫Foreshadow,會影響專門保護高風險數據(如加密密鑰)的英特爾SGX 安全機制。現在,每個月都會發現新的漏洞。

旁路攻擊并非新鮮事,但在最早期的大多數情況,軟件漏洞是攻擊成功的關鍵。但在Meltdown、Spectre 等攻擊中,硬件的缺陷導致受保護信息泄露。處理器架構師如何定義什么是正確的ISA是一個源頭的難題,因為標準中并未說明執行指令序列的性能影響,而僅僅涉及 ISA-visible 執行架構狀態。架構師需要重新思考ISA正確實現的定義,以避免類似的安全漏洞。與此同時,他們還應該重新思考對計算機安全關注的側重點,以及架構師如何與軟件設計師一起實現更加安全的系統。架構師(以及所有人)都過于依賴信息系統,以至于對安全的重視程度不如對一流設計的關注。

計算機架構的未來機遇

「我們面前有一些令人目瞪口呆的機會,不過它們把自己偽裝成了看似無法解決的困難」。 -John Gardner

不論是對于 ILP 的技術或者多核心處理器,由于為通用計算設計的微處理器注定了效率較低,再加上Dennard Scaling定律和摩爾定律走向終結,所以在我們看來,處理器架構師和設計師們很有可能再也無法讓通用處理器的性能以之前那樣的速度繼續大幅提高。但是我們仍然需要想辦法繼續提升硬件性能、為未來的新的軟件功能留下發展空間,我們就必須仔細思考這個問題:有沒有其他的有潛力的方案?

比較明顯的方案有兩種,以及把這兩種方案合并在一起的話我們還可以得到第三種方案。

執行性能優化

第一種方案是,現代軟件的編寫中大量使用了高級語言,其中有動態類型和動態存儲管理。然而不幸的是,這些語言的編譯和執行是非常低效的。Leiserson 等人用矩陣乘法的小例子說明了這種低效性。

Python 是一種當前火熱的編程語言,也是一種典型的高級、動態類型語言。如下面圖 7,僅僅是把本來用 Python 編寫的程序用 C 語言重新寫一遍,就可以把程序的性能提高 47 倍。在多核心處理器上并行運行多個循環可以繼續得到大約 7 倍的性能提升。優化程序的存儲布局,讓程序使用處理器中的緩存(而不是外部安裝的內存)可以提升 20 倍性能,最后,如果加入拓展的計算硬件,用能夠在每個指令周期內計算 16 次 32 位運算的單指令多數據并行(SIMD)計算單元進行運算的話,我們還可以再把性能提高9倍。把以上這些改進全部用起來的話,

一個運行在英特爾多核處理器上的、經過高度優化過的程序可以比最初的 Python 版本快超過 6 萬倍。

這當然只是一個很小的例子,一般的程序員可能自己就會使用一個有優化作用的庫來享受這種提升。雖然這個例子把性能的變化展現得很夸張,但是在許許多多的程序中,提升 100 倍或者 1000 倍的性能還是完全可以實現的。

圖 7

有一個有趣的研究方向是,考慮其中的一些性能差距是否可以用更好的編譯器技術來補上,當然了也可以同時搭配一些計算架構的改進。雖然高效的語言翻譯、以及高效實現 Python 這類的高級腳本語言確實有很大困難,但潛在的性能收益也是巨大的。即便我們只實現了這些潛力中的 25% 就已經可以讓 Python 程序的運行速度提高數十倍甚至一百倍。這個簡單的例子就清晰地展示了關注軟件工程師的生產力的現代編程語言和關注程序性能表現的傳統方法之間的巨大鴻溝。

設計專用硬件

領域專用的計算架構。除了改進軟件執行效率的第一種方案之外,第二種方案更加以硬件為中心,那就是為某個特定的領域問題設計專用的計算架構,從而為這些問題帶來顯著的性能(和效率)提升。這種方案的名字,DSA,「domain-specific architectures」,描述的就是這種為特定的領域問題而專門定制設計的處理器,它們可編程,同樣也是圖靈完備的,但只適用于特定的某一類問題。從這個角度來講,它們和專用集成電路 ASIC 之間也有所不同,ASIC 只執行單一的功能,對應的程序代碼幾乎從不變化。DSA 則常被稱為加速器,相比于把程序的所有功能都在為通用計算的 CPU 上執行,DSA 可以讓程序中的一部分計算運行得更快。更重要的是,DSA 可以讓一些程序得到明顯更高的性能,因為它們就是為了貼近這些程序的計算需求而設計的。圖像處理單元 GPU、深度學習中使用的神經網絡芯片、軟件定義網絡處理器 SDN 都是典型的例子。DSA 可以達到高得多的性能表現和高得多的能量效率,是由于以下四個原因:

第一點,也是最重要的一點,DSA 可以為具體的領域問題采用更為高效的并行計算設計。比如,單指令多數據并行(SIMD)就比多指令多數據并行(MIMD)的效率高得多,因為它只需要獲取一條指令流就可以讓處理單元在鎖定步驟內執行運算。SIMD 的靈活性固然不如 MIMD 高,但是它很符合許多 DSA 的需求。DSA 中還有可能使用 VLIW 方案來實現 ILP,而不是使用更復雜的亂序執行機制。正如前面提到的,VLIW 無力與通用計算代碼競爭,但是在有限制條件的領域中它就可以高效得多,因為它的控制機制簡單得多。尤其是,多數的高端通用計算處理器都是亂序執行的超標量處理器,對于指令初始化和指令完成都需要復雜的控制邏輯。相比之下,VLIW 在編譯的時候就已經執行好了必需的分析和流程規劃,在顯示并行的程序中就可以起到很好的效果。

第二,DSA 可以更高效地利用不同層次的存儲器。Horowitz 指出,讀寫存儲器的成本已經變得高于數學運算的成本了。比如,從一個 32KB 容量的緩存里讀取一個塊需要消耗的能量差不多要比執行一次 32 位整型加法高 200 倍。正因為這種差別的存在,想要達到高的能源效率,優化存儲器的讀寫就至關重要。通用計算處理器執行代碼的方式是,一般來說存儲器的讀寫都具有時間和空間上的局部性,但是其他狀況是在程序編譯時很難預測的。所以 CPU 會配合使用多級緩存,以便增加存儲器帶寬,同時緩解相對較慢的片外存儲(內存,DRAM)的高延遲問題。CPU 消耗的電能里,常常有一半都是花在了這些多級緩存上面,不過它們的作用也就是避免了大多數對片外 DRAM 的訪問,要知道,讀寫 DRAM 消耗的能源要比讀寫最后一級緩存還要高差不多 10 倍。

緩存的缺點會在這兩種情況下暴露出來:

當數據集非常大的時候,緩存的時間和空間局部性都很差;

當緩存表現得非常好的時候,也就是說局部性非常高的時候,這其實說明大多數緩存都是空閑的。

在那些存儲器的讀寫模式有良好定義、在編譯時就可以發現的應用中(典型的 DSL 都符合),程序員和程序的編譯器都可以優化存儲器的使用,效果要比動態分配緩存更好。所以 DSA 通常會使用一個層次式的存儲器,它的操作也是由軟件明確定義的,這和向量處理器的運行方式很類似。對于適合的應用,用戶控制的存儲器消耗的能源要比緩存低多了。

第三,在適當的時候,DSA 可以用更低的精度做運算。通用計算 CPU 一般支持 32 位和 64 位整型以及浮點數據運算。不過對于機器學習和圖形領域的許多應用來說,這樣的精度都高于實際需求了。比如在深度神經網絡中,推理任務經常使用 4 位、8 位或者 16 位的整型,以獲取更高的數據吞吐量、更高的計算吞吐量。類似地,在深度神經網絡的訓練中需要使用浮點類型,32 位就已經夠用了,16 位很多時候都可以。

第四,如果程序是用領域專用語言(DSL)編寫的,由于語言本身對并行化有更好的支持,DSA 也就可以從中受益。這改進了存儲器讀取的結構和表示,也可以更容易地把應用程序映射到一個領域專用的處理器上去。

領域專用語言

DSA 需要把編程語言中的高級操作對應到硬件架構上去,但是想要從 Python、Java、C、Fortan 這樣的為通用型計算設計的語言中提取這樣的結構和信息實在是太難了。領域專用語言(DSL)讓這個過程變得可以實現,而且也讓我們有機會高效地為 DSA 編程。比如,DSL 中可以定義顯式的向量、稠密矩陣、稀疏矩陣操作,這樣 DSL 的編譯器就可以高效地把這些操作映射到處理器中。許多語言屬于 DSL,比如矩陣運算語言 Matlab,深度神經網絡編程用的數據流語言 TensorFlow,DSN 編程語言 P4,以及描述圖像處理中高級變換操作的 Halide。

使用 DSL 的時候也有一個挑戰,就是如何讓硬件架構設計保持足夠的獨立性,這樣在一種 DSL 中編寫的軟件可以遷移到不同的硬件架構,同時在把軟件映射到下方的 DSA 的時候還能過保持足夠高的效率。比如,TensorFlow 中的 XLA 系統可以把編寫的程序翻譯成使用不同處理器的版本,在英偉達 GPU 和谷歌 TPU 上都可以運行。在 DSA 之間平衡可遷移性的同時還要保持足夠高的效率,這對語言設計師、編譯器設計師、DSA 架構師們來說都是一個有意思的科研挑戰。

下面用 TPUv1 這款 DSA 芯片舉例做詳細的解釋。谷歌 TPUv1 的設計目標是加速神經網絡的推理過程。這款 TPU 從 2015 年就投入了生產環境開始使用,它支持著谷歌的各種應用計算需求,包括搜索查詢、語言翻譯、圖像識別,一直到 DeepMind 的圍棋/象棋 AI AlphaGo/AlphaZero。這個芯片的設計目標就是把深度神經網絡推理時的性能表現和能量效率提升 10 倍。

如下方圖 8 所示,TPU 的內核結構設計和通用計算處理器完全不同。其中的主計算單元是一個矩陣計算單元,這是一個脈動列表結構,它可以在每個時鐘周期進行一次 256x256 矩陣的乘法加法運算。在這項功能上聯合使用的 8 位精度、高效率的脈動架構、SIMD 控制、專門劃分出的一大片芯片面積,最終讓這個乘法累加器的每時鐘周期性能比一般的單核心通用計算 CPU 提升了大約 100 倍。而且,TPU 中并沒有使用緩存,它使用的是大小為 24MB 的本地存儲器,這相當于是 2015 年時期的相同功耗的 CPU 上帶有的緩存空間的 2 倍。最后,激活值存儲器和權重存儲器(以及保留權重的 FIFO 架構)都通過一個用戶控制的高帶寬存儲通道連接在一起。在基于谷歌數據中心的六種常見推理問題的加權性能統計中,TPU 要比通用計算 CPU 快 29 倍。由于 TPU 消耗的電能還不到 CPU 的一半,在處理這些負載時 TPU 的能量效率要比通用計算 CPU 高 80 倍還不止。

圖 8

總結

我們分析了通過提高硬件效率來提升程序運行性能的兩種不同的方案。方案一,改進通常是解釋執行的現代高級編程語言的性能;方案二,設計領域專用的計算架構,相比于通用計算 CPU 的表現,這樣可以極大改進運行速度和能源效率。DSL 也是改進硬件/軟件接口,從而讓計算架構設計師們可以做出 DSA 這樣的創新的另一個重要例子。

想要通過這些方式取得程序性能的顯著提高,需要一支垂直集成的設計團隊,他們需要了解應用、了解領域專用語言以及對應的編譯器技術、了解計算機架構和組件,并且了解其中蘊含的實現技術。在整個計算機產業鏈變得水平整合之前,計算領域的許多早期工作都表現出了強烈的「垂直集成、可以跨越多個不同的抽象層次」的特點。而在現在這個新時代中,垂直整合能力變得更為重要,能夠做出重要的權衡并進行檢驗和優化的團隊將會占有先機。

這些改進機會已經引發了計算架構創新的新浪潮,吸引了許多來自不同計算架構設計邏輯的競爭者:

GPU - 英偉達 GPU 有許多核心,每個都有很大的寄存器,有許多硬件線程,也有緩存

TPU - 谷歌 TPU 主要依賴其中的大規模二維脈動乘法累加器,以及依靠軟件控制片上存儲

FPGA - 微軟在數據中心中部署了現場可編程邏輯陣列(FPGA),這些數據中心是專為神經網絡應用優化的

CPU - 英特爾提供的 CPU 帶有許多核心,然后用大容量的多級別緩存和一維 SIMD 指令增強 CPU 的性能;英特爾也提供微軟使用的 FPGA,以及另一種更接近 TPU 的新型神經網絡處理器。

除了這些大體量的競爭者之外,也有好幾十家初創企業提出了自己的想法。為了滿足不斷增長的計算需求,計算架構設計師們把這樣的芯片成百上千地互相連接起來,形成了為神經網絡計算服務的超級計算機。

深度神經網絡的瀑布式結構也為計算機架構設計帶來一段有趣的時光。很難預測 2019 年中這些不同的方向中是否會出現勝利者,但是市場最終一定會為這場競爭分出勝負,就像它過去也曾分出了一場計算機架構之爭的勝負一樣。

開放的架構

受到開源軟件的成功的啟發,計算機架構的第二個發展機遇在于開放 ISA。為了創建一個「處理器的 Linux」,這個領域需要工業標準級別的開放 ISA,這樣整個生態中才可以創建開源的核心,在不同公司持有各自的專有核心架構的環境中形成補充。如果許多組織結構都使用同樣的 ISA 設計處理器,更激烈的競爭可能會帶來的更快的創新和發展。這里的發展目標是為不同的使用用途提供不同規模的處理器設計,可以有 100 美元一個的處理器,也可以有幾美分一個的處理器。

這里的第一個例子就是 RISC-V,UC 伯克利大學開發的第五代 RISC 架構。在 RISC-V 基金會的管理之下,RISC-V 有一整個生態維護著這個架構。選擇了開放,也就讓這個 ISA 也可以在公眾中露面,軟件和硬件專家們也可以在做出最終決定之前就展開合作。開放體系還會帶來一個好處,就是 ISA 很少會出于純市場營銷的原因而擴大,相比之下專有指令集就經常會為了市場營銷而增擴充指令集。

首先,RISC-V 是一個模塊化的指令集。一小組基礎指令首先支持整個開源軟件框架的運行,然后有一些標準的拓展指令,設計師們可以根據自己的需求添加或者刪除。基礎指令含有 32 位和 64 位地址的版本。RISC-V 指令集的增長完全可以只依靠可選的拓展指令的增加,支持軟件框架運行的基礎指令不增加任何新的拓展也不會有任何問題。專有指令集的處理器架構一般都會需要向前的二進制兼容性,這意味著如果一家處理器制造商決定在某一代處理器中增加一個新的功能,那么這家制造商未來的所有處理器都需要保留對這個功能的支持。但 RISC-V 就不需要這樣,所有的功能增強都是可選的,而且如果沒有應用需要的話就可以隨時刪除。目前 RISC-V 中有如下幾個標準的拓展指令集,用首字母作為它們的簡稱

M. 整型乘法/除法

A. 原子內存操作

F/D. 單精度/雙精度浮點運算

C. 壓縮指令

其次,RISC-V 有一個特色是 ISA 的簡潔性。下面提供了一組 RISC-V 與 ARM 公司在近似時間開發的 ARMv8 架構的對比,雖然對比的內容不是完全可以量化的。

指令更少。RISC-V 的指令更少,基礎指令只有 50 條,這個數量和這些指令的性質和最初的 RISC-I 驚人地相似。其它的幾個標準拓展指令集,M、A、F 和 D,一共增加 53 條指令,再加上 C 的另外 34 條,一共也只有 137 條。ARMv8 則有超過 500 條。

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

第三,RISC-V 的簡潔性不僅降低了設計處理器的復雜度,也減小了驗證硬件正確性的難度。由于 RISC-V 的目標就是要應用在包括數據庫的高性能計算芯片到 IoT 設備上的低功耗芯片上,設計驗證也可以在開發成本中占據不小的比例。

第四,RISC-V 是一個完全從頭開始的設計,它是在初始設計的 25 年后開始的。它的設計師們從前幾代的設計中吸取了許多錯誤經驗。與第一代的 RISC 架構不同,RISC-V 避開了依賴微架構和依賴技術的特征(比如延遲分支和延遲載入)以及很新的創新(比如寄存器窗口),實際上這些功能都隨著編譯器技術的發展而被替代了。

最后,RISC-V 還可以為定制化設計的加速器提供很大的操作指令設計空間,這為 DSA 提供了良好的支持。

除了 RISC-V 之外,英偉達也在 2017 年發布了一個免費開放的架構,名為英偉達深度學習加速器(NVDLA),這是一個用于深度學習推理的標量、可配置的 DSA。它的可選配置包括數據類型(8 位整型、16 位整型、16 位浮點)以及其中的二維乘法矩陣的大小。根據不同的配置,芯片面積可以有 0.5mm2 到 3mm2 的不同大小,功耗也有 20mW 到 200mW 不同。這個架構的 ISA、軟件架構、實現方案也都是全部開放的。

開放的簡單架構實際上會帶來安全方面的好處。首先,安全專家們并不相信模糊不清就可以帶來安全,所以開放的技術實現方案對他們更有吸引力;開放的技術實現也就需要開放的架構。同等重要的是,有越來越多的人和組織機構參與,也就可以圍繞安全的架構設計做出更多改進。專用的架構把參與者局限為企業的員工,而開放的架構允許全世界學術和工業界的人參與提高安全性。更重要的是,這樣開放的架構、技術實現、軟件架構,再加上 FPGA 的高可塑性,都意味著架構設計師們可以在線部署并評價新的解決方案,而且這個周期不再是以年計,而是以周計。雖然 FPGA 比定制化芯片慢大約 10 倍,但這樣的性能表現也已經足以支持用戶的在線使用,也就可以針對真正的攻擊者更及時地做出安全改進。我們期待開放的計算架構未來成為架構設計師和安全專家們進行軟硬件聯合設計的典型范例。

敏捷硬件開發

Beck 等人撰寫的《軟件敏捷開發手冊》為軟件開發領域帶來了一場革命,它克服了傳統瀑布式開發中精心設計的開發計劃和文檔經常失效的問題。小的編程團隊得以快速開發出包含了核心功能但并不完善的軟件原型,然后在下一次迭代開始前就獲得用戶反饋。競爭性的敏捷開發可以讓 5 到 10 人的開發團隊以 2 到 4 周一次迭代的速度快速前進。

再一次,受到軟件開發領域成功經驗的啟發,硬件領域的第三個機遇就是敏捷硬件開發。對架構設計師們來說也有一個好消息,現代電子計算機輔助設計(ECAD)工具提高了抽象級別,可以讓敏捷開發以及對應的更高級別的抽象在不同的設計之間重復使用。

如果說要把軟件開發中的每四周一次迭代的快速前進方式照搬到硬件開發,一聽之下會覺得難以置信,畢竟從硬件設計定版到得到芯片成品就有好幾個月的時間。而下面的圖 9 就展示了敏捷開發過程中可以在適當的抽象級別上更改原型。最中央的抽象級別是軟件模擬器,也是在迭代中做改動最簡單、最快的部分。下一層是可以比細致的軟件模擬器運行快數百倍的 FPGA。在 FPGA 上可以運行操作系統,也可以進行全功能的性能評測,比如 SPEC 中的測試項目;這讓原型的評價更加準確。亞馬遜云服務就提供了 FPGA,架構設計師們無需購買 FPGA 硬件并建立實驗室就可以使用 FPGA 做自己的驗證。為了獲得芯片面積和功耗的具體數值,下一層的 ECAD 工具可以生成芯片的布局圖。在工具運行完畢之后還需要人工進行一些步驟,對結果進行微調,確保新的處理器已經準備好投入生產了。處理器設計師們把這下一層稱作「tape in」。前面的這四個級別都可以使用每四周一次的迭代速度。

圖 9

如果是出于科研目的,我們在 tape in 這一步就可以停下來了,因為這時就已經可以獲得非常準確的面積、能耗、性能的估計數據了。不過如果真的停下來的話,那就像參加長跑比賽,最后在重點線前 50 米停了下來,「因為可以準確地預測出最終要花多少時間了」。既然已經在比賽的準備以及前面的大部分賽程中投入了許多精力,但只要不沖過終點線,那就沒辦法享受到真正的興奮和滿足。所以其實,硬件工程師在有個方面比軟件工程師強,就是因為他們最終會生產出切實可感的物品。把芯片成品拿回來測量、運行真正的程序、把芯片展示給他們的朋友和家人們看,這都是硬件設計工作中非常幸福的時刻。

許多研究人員會認為他們需要在芯片試產之前停下來,因為芯片的制造實在是太貴了。實際上,當芯片很小的時候,它的制造價格就非常便宜。架構設計師們委托半導體廠商制造 100 個 1mm2 面積的芯片只需要花 1.4 萬美元。如果是以 28nm 工藝制作,1mm2 的面積上就可以放下數百萬個晶體管,足以容納一個 RISC-V 處理器再加一個英偉達加速器。如果要制造一個很大的芯片,那么最外面這一步可能就會花很多錢,但是如果是為了展現新的想法的話,小的芯片就可以做到。

結論

「黎明之前正是最灰暗的時刻」-Thomas Fuller

要從歷史經驗中學習,有幾件事架構師們必須知道:軟件開發領域的創新點子同樣可以啟發硬件架構設計師們,提升硬件/軟件接口設計的抽象級別可以為創新帶來機會,以及市場最終會為計算機架構之爭畫上句號。iAPX-432 和 Itanium 的故事說明了硬件架構方面的投資可能無法帶來對等的回報,而 S/360、8086、ARM 架構則能夠年復一年地帶來充沛的盈利。

Dennard Scaling 定律和摩爾定律走向終結,以及標準微處理器的性能提升越來越慢并不是什么必須解決不可的問題,而實際上,它們完全可以看作是令人激動的新機遇。高級別、領域專用的語言和架構把架構設計師們從專用指令集不斷擴充的鏈條中解放出來,同樣也釋放了公眾對于更高的安全性的需求,這都會帶來計算機架構的新的黃金時代。另外依靠開源生態的幫助,敏捷開發的芯片也會越來越令人信服地展現出它的優勢,并逐步越來越快地取得商業上的成功。對于通用處理器的設計理念,ISA 未來也將隨著時間的流逝而越發顯得熠熠生輝,就像 RISC 一樣。在新的黃金時代中我們可以期待繼續看到上個黃金時代那樣的高速發展,只不過這次首當其沖的是價格、能耗以及安全,性能當然也會有繼續的提高。

在未來 10 年中,我們可以期待在計算機架構領域也看到寒武紀生物大爆炸那樣地充滿新鮮創意,這對于學術界和工業界的計算機架構設計師們來說會是一段充滿激情的時光。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11049

    瀏覽量

    216161
  • 計算機
    +關注

    關注

    19

    文章

    7636

    瀏覽量

    90286

原文標題:圖靈獎得主長文報告:是什么開啟了計算機架構的新黃金十年?

文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Raspberry Pi 是單板計算機之王?

    如果你需要一臺小型且經濟實惠的電腦來完成個人項目,那么現在正是最佳時機。單板計算機市場價值30億美元,預計未來十年將持續增長。這意味著有很多選擇,但除非你有非常具體的需求,否則在考慮其他選項之前,有
    的頭像 發表于 03-25 09:27 ?236次閱讀
    Raspberry Pi 是單板<b class='flag-5'>計算機</b>之王?

    計算機網絡架構的演進

    計算機網絡架構的演進見證了信息技術的飛速發展。早期的總線型網絡架構,通過一條共享的通信線路連接各個節點,結構簡單且成本較低,但存在單點故障和傳輸效率不高的問題。隨著技術的發展,星型網絡架構
    的頭像 發表于 01-21 11:11 ?342次閱讀

    云端超級計算機使用教程

    云端超級計算機是一種基于云計算的高性能計算服務,它將大量計算資源和存儲資源集中在一起,通過網絡向用戶提供按需的計算服務。下面,AI部落小編為
    的頭像 發表于 12-17 10:19 ?501次閱讀

    工業中使用哪種計算機

    在工業環境中,工控機被廣泛使用。這些計算機的設計可承受極端溫度、灰塵和振動等惡劣條件。它們比標準消費類計算機更耐用、更可靠。工業計算機可控制機器、監控流程并實時收集數據。其堅固的結構和專業功能
    的頭像 發表于 11-29 14:07 ?637次閱讀
    工業中使用哪種<b class='flag-5'>計算機</b>?

    量子計算機與普通計算機工作原理的區別

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

    計算機接口位于什么之間

    計算機接口是計算機硬件和軟件之間、計算機與外部設備之間以及計算機各部件之間傳輸數據、控制信息和狀態信息的硬件設備和軟件程序。它在計算機系統中
    的頭像 發表于 10-14 14:02 ?1120次閱讀

    計算機存儲系統的構成

    計算機存儲系統是計算機中用于存放程序和數據的設備或部件的集合,它構成了計算機信息處理的基礎。一個完整的計算機存儲系統通常包括多個層次的存儲器,從高速緩存(Cache)到主存儲器(Mai
    的頭像 發表于 09-26 15:25 ?2306次閱讀

    《量子計算觀察》智庫報告第1期:未來5“量超融合”黃金期 3大商機將現

    轉自《量子計算觀察》(摘要版)關鍵詞:量子計算機、超級計算機量子計算機和超級計算機的協同工作,被稱為“量超融合”。未來五
    的頭像 發表于 09-12 08:07 ?512次閱讀
    《量子<b class='flag-5'>計算</b>觀察》智庫報告第1期:未來5<b class='flag-5'>年</b>“量超融合”<b class='flag-5'>黃金</b>期 3大商機將現

    十年預言:Chiplet的使命

    未來十年內芯片算力提升的核心動力。 議題一: 算力困局如何突圍? 韓銀和研究員: 現有的高性能計算架構正遭遇算力瓶頸。目前全球頂級的高性能計算系統,由美國橡樹嶺國家實驗室基于HPE C
    的頭像 發表于 08-27 11:09 ?732次閱讀
    <b class='flag-5'>十年</b>預言:Chiplet的使命

    簡述計算機總線的分類

    計算機總線作為計算機系統中連接各個功能部件的公共通信干線,其結構和分類對于理解計算機硬件系統的工作原理至關重要。以下是對計算機總線結構和分類的詳細闡述,內容將涵蓋總線的基本概念、內部結
    的頭像 發表于 08-26 16:23 ?4931次閱讀

    晶體管計算機和電子管計算機有什么區別

    晶體管計算機和電子管計算機作為計算機發展史上的兩個重要階段,它們在多個方面存在顯著的區別。以下是對這兩類計算機在硬件、性能、應用以及技術發展等方面區別的詳細闡述。
    的頭像 發表于 08-23 15:28 ?3415次閱讀

    計算機視覺的工作原理和應用

    圖像和視頻中提取有用信息,進而進行決策和行動。自1960代第一批學術論文問世以來,計算機視覺技術已經取得了長足的發展,并在多個領域展現出巨大的應用潛力和價值。
    的頭像 發表于 07-10 18:24 ?3195次閱讀

    什么是工業計算機(IPC)?

    工業電腦也稱為IPC,其組件專門設計用于工業工作環境。因此,工業計算機特別堅固,基于強大的處理器,可以根據相應的應用進行單獨調整。工業計算機的典型方面:耐惡劣環境(包括灰塵、水、濺水、寒冷、炎熱
    的頭像 發表于 06-24 18:01 ?1505次閱讀
    什么是工業<b class='flag-5'>計算機</b>(IPC)?

    工業控制計算機的體系結構是什么

    。 硬件結構 工業控制計算機的硬件結構主要包括以下幾個部分: 1.1 中央處理單元(CPU) CPU是工業控制計算機的核心部件,負責執行程序指令和處理數據。工業控制計算機通常采用高性能、低功耗的處理器,如ARM、x86等
    的頭像 發表于 06-16 11:38 ?1473次閱讀

    工業控制計算機的特點 工業控制計算機的應用領域

    工業控制計算機是一種專門為工業自動化和控制系統設計的計算機。它具有高度的可靠性、穩定性和實時性,能夠滿足工業生產過程中對控制精度和響應速度的嚴格要求。 工業控制計算機的特點 高可靠性 :工業控制
    的頭像 發表于 06-16 11:30 ?2020次閱讀