“These are eight great ideas that computer architects have invented in the last 60 years of computer design. They are so powerful they have lasted long after the first computer that used them, with newer architects demonstrating their admiration by imitating their predecessors.” --大衛(wèi) A.帕特森博士
大衛(wèi) A.帕特森博士 ,自 1977 年加入該學(xué)院以來, David A. Patterson博士一直在加州大學(xué)伯克利分校教授計算機(jī)體系結(jié)構(gòu),并擔(dān)任 Pardee 計算機(jī)科學(xué)主席。他的教學(xué)曾獲得加州大學(xué)杰出教學(xué)獎、ACM 卡爾斯特倫獎、IEEE穆里根教育獎?wù)潞捅究平虒W(xué)獎,世界上最大的技術(shù)進(jìn)步專業(yè)協(xié)會。Patterson 博士因?qū)?RISC 的貢獻(xiàn)而獲得 IEEE 技術(shù)成就獎和 ACM Eckert-Mauchly 獎,并因?qū)?RAID 的貢獻(xiàn)而分享了 IEEE 約翰遜信息存儲獎。他還與合著者 John Hennessy 博士分享了 IEEE 約翰·馮·諾依曼獎?wù)潞?C&C 獎。
1、面向摩爾定律設(shè)計
計算機(jī)設(shè)計師的一個常數(shù)是快速變化,這在很大程度上是由摩爾定律驅(qū)動的。它指出,集成電路資源每 18-24 個月翻一番。摩爾定律源于 1965 年英特爾創(chuàng)始人之一戈登·摩爾 (Gordon Moore) 對 IC 容量增長的預(yù)測。由于計算機(jī)設(shè)計可能需要數(shù)年時間,因此在項目開始和結(jié)束之間,每個芯片的可用資源很容易翻倍或四倍。就像飛碟射手一樣,計算機(jī)架構(gòu)師必須預(yù)測設(shè)計完成時技術(shù)的位置,而不是設(shè)計開始的位置。我們使用“向上和向右”摩爾定律圖來表示快速變化的設(shè)計。
半導(dǎo)體行業(yè)大致按照摩爾定律發(fā)展了半個多世紀(jì),對二十世紀(jì)后半葉的世界經(jīng)濟(jì)增長做出了貢獻(xiàn),并驅(qū)動了一系列科技創(chuàng)新、社會改革、生產(chǎn)效率的提高和經(jīng)濟(jì)增長。個人電腦、因特網(wǎng)、智能手機(jī)等技術(shù)改善和創(chuàng)新都離不開摩爾定律的延續(xù)。如今單個處理器已經(jīng)很難適應(yīng)摩爾定律了(主要包括隨著更多晶體管被裝入芯片當(dāng)中,相應(yīng)會出現(xiàn)電子能量外泄和熱量散發(fā)的現(xiàn)象),但云計算興起,算力網(wǎng)絡(luò)起飛,在某種程度延續(xù)了摩爾定律。
基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
視頻教程:https://doc.iocoder.cn/video/
2、使用抽象簡化設(shè)計
計算機(jī)架構(gòu)師和程序員都必須發(fā)明技術(shù)來提高自己的生產(chǎn)力,否則設(shè)計時間會隨著摩爾定律的資源增長而顯著延長。硬件和軟件的主要生產(chǎn)力技術(shù)是使用抽象來表示不同表示級別的設(shè)計。隱藏較低級別的細(xì)節(jié)以在較高級別提供更簡單的模型。我們將使用抽象繪畫圖標(biāo)來代表第二個偉大的想法。
抽象思維一直推動著計算機(jī)技術(shù)不斷向前發(fā)展,科學(xué)技術(shù)本身就是現(xiàn)實世界的抽象和演繹:電路信號->01二進(jìn)制->指令匯編->高級編程->模塊設(shè)計->框架設(shè)計->單機(jī)系統(tǒng)->分布式系統(tǒng)-->云計算,計算機(jī)領(lǐng)域有句名言:“計算機(jī)科學(xué)領(lǐng)域的任何問題都可以通過增加一個間接的中間層來解決”。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://gitee.com/zhijiantianya/yudao-cloud
視頻教程:https://doc.iocoder.cn/video/
3、快速做普通案例
使常見情況變得更快往往會比優(yōu)化罕見情況更有效地提高性能。具有諷刺意味的是,常見情況通常比罕見情況更簡單,因此通常更容易增強(qiáng)。這種常識性建議意味著您知道常見情況是什么,這只有通過仔細(xì)的實驗和測量才能實現(xiàn)。我們使用跑車作為快速制作普通案例的圖標(biāo),因為最常見的旅行只有一兩個乘客,而且制作快速轎車肯定比快速小型貨車更容易。
計算機(jī)大多數(shù)時間都是運作在常見情況下,符合2/8定律,所以首先我們針對常見情況進(jìn)行優(yōu)化改進(jìn),加速大概率事件,效果更快。
4、通過并行提高性能
自從計算出現(xiàn)以來,計算機(jī)架構(gòu)師就提供了通過并行執(zhí)行操作來獲得更高性能的設(shè)計。我們將在本書中看到許多并行性的例子。我們使用飛機(jī)的多個噴氣發(fā)動機(jī)作為并行性能的標(biāo)志。
并行設(shè)計思想一直是提升性能的核心思想,多進(jìn)程,多線程,多核-SMP,SIMD,NUMA,MIPS,向量機(jī),GPU等等。
5、通過流水線提高性能
一種特殊的并行模式在計算機(jī)體系結(jié)構(gòu)中如此普遍,以至于它有自己的名字:流水線。例如,在消防車出現(xiàn)之前,“水桶大隊”會對火災(zāi)做出反應(yīng),許多牛仔電影都會以這種方式來應(yīng)對惡棍的卑鄙行為。城鎮(zhèn)居民形成一條人鏈來攜帶水源生火,因為他們可以更快地將水桶向上移動,而不是個人來回奔跑。我們的管道圖標(biāo)是一系列管道,每個部分代表管道的一個階段。
不管硬件設(shè)計還是軟件設(shè)計,流水線設(shè)計(pipeline)都是計算機(jī)領(lǐng)域最重要設(shè)計思想之一,這種思想是一種用面積換速度的思想,用更多的資源來實現(xiàn)高速。
6、通過預(yù)測提高性能
遵循“請求寬恕比請求許可更好”的說法,下一個好主意是預(yù)測。在某些情況下,假設(shè)從錯誤預(yù)測中恢復(fù)的機(jī)制不是太昂貴并且您的預(yù)測相對準(zhǔn)確,那么平均而言,猜測并開始工作可能比等到您確定知道時更快。我們使用算命先生的水晶球作為我們的預(yù)測圖標(biāo)。
現(xiàn)在流行大數(shù)據(jù)+AI算法預(yù)測和CPU的分支預(yù)測技術(shù)在思想上是不是有異曲同工之妙。
7、存儲的層次設(shè)計
程序員希望內(nèi)存快速、大且便宜,因為內(nèi)存速度通常會影響性能,容量限制了可以解決的問題的大小,而今天的內(nèi)存成本通常是計算機(jī)成本的大部分。架構(gòu)師發(fā)現(xiàn)他們可以通過內(nèi)存層次結(jié)構(gòu)來解決這些相互沖突的需求,在層次結(jié)構(gòu)的頂部,每比特最快、最小和最昂貴的內(nèi)存,而在底部每比特最慢、最大和最便宜的內(nèi)存。高速緩存給程序員一種錯覺,即主存儲器幾乎與層次結(jié)構(gòu)的頂部一樣快,并且?guī)缀跖c層次結(jié)構(gòu)的底部一樣大且便宜。我們使用分層的三角形圖標(biāo)來表示內(nèi)存層次結(jié)構(gòu)。形狀表示速度、成本和大?。涸娇拷敳?,內(nèi)存越快,每比特成本越高;層的底部越寬。
cache層次思想是計算機(jī)軟硬件非常偉大思想,一直延伸到現(xiàn)在redis緩存MySQL,本地緩存遠(yuǎn)端網(wǎng)絡(luò)等等。
8、通過冗余提高可靠性
計算機(jī)不僅需要速度快;他們需要可靠。由于任何物理設(shè)備都可能發(fā)生故障,因此我們通過包含冗余組件來使系統(tǒng)可靠,這些組件可以在發(fā)生故障時接管并幫助檢測故障。我們使用拖拉機(jī)拖車作為我們的標(biāo)志,因為其后軸兩側(cè)的雙輪胎允許卡車在一個輪胎失效的情況下繼續(xù)行駛。(據(jù)推測,卡車司機(jī)會立即前往維修設(shè)施,以便修復(fù)漏氣的輪胎,從而恢復(fù)冗余!)
提高可靠性最笨的辦法,也是最有效的方法就是冗余設(shè)計,大到飛機(jī)的雙引擎設(shè)計,小到數(shù)據(jù)庫冗余備份模型,服務(wù)器熱備,冷備,異地多活等等。
編輯:黃飛
-
摩爾定律
+關(guān)注
關(guān)注
4文章
630瀏覽量
78850 -
半導(dǎo)體行業(yè)
+關(guān)注
關(guān)注
9文章
401瀏覽量
40421 -
計算機(jī)架構(gòu)
+關(guān)注
關(guān)注
1文章
8瀏覽量
6149 -
AI算法
+關(guān)注
關(guān)注
0文章
243瀏覽量
12207
原文標(biāo)題:計算機(jī)架構(gòu)設(shè)計的 8 個偉大思想
文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論