計算機架構(gòu)設(shè)計的8個偉大思想

“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é)伯克利分校教授計算機體系結(jié)構(gòu),并擔(dān)任 Pardee 計算機科學(xué)主席闲延。他的教學(xué)曾獲得加州大學(xué)杰出教學(xué)獎、ACM 卡爾斯特倫獎膳音、IEEE穆里根教育獎?wù)潞捅究平虒W(xué)獎嫉晶,世界上最大的技術(shù)進步專業(yè)協(xié)會叶洞。Patterson 博士因?qū)?RISC 的貢獻而獲得 IEEE 技術(shù)成就獎和 ACM Eckert-Mauchly 獎余掖,并因?qū)?RAID 的貢獻而分享了 IEEE 約翰遜信息存儲獎寸爆。他還與合著者 John Hennessy 博士分享了 IEEE 約翰·馮·諾依曼獎?wù)潞?C&C 獎。

1盐欺、面向摩爾定律設(shè)計

計算機設(shè)計師的一個常數(shù)是快速變化赁豆,這在很大程度上是由摩爾定律驅(qū)動的。它指出冗美,集成電路資源每 18-24 個月翻一番魔种。摩爾定律源于 1965 年英特爾創(chuàng)始人之一戈登·摩爾 (Gordon Moore) 對 IC 容量增長的預(yù)測。由于計算機設(shè)計可能需要數(shù)年時間粉洼,因此在項目開始和結(jié)束之間节预,每個芯片的可用資源很容易翻倍或四倍。就像飛碟射手一樣属韧,計算機架構(gòu)師必須預(yù)測設(shè)計完成時技術(shù)的位置心铃,而不是設(shè)計開始的位置。我們使用“向上和向右”摩爾定律圖來表示快速變化的設(shè)計挫剑。

半導(dǎo)體行業(yè)大致按照摩爾定律發(fā)展了半個多世紀,對二十世紀后半葉的世界經(jīng)濟增長做出了貢獻柱衔,并驅(qū)動了一系列科技創(chuàng)新樊破、社會改革、生產(chǎn)效率的提高和經(jīng)濟增長唆铐。個人電腦哲戚、因特網(wǎng)、智能手機等技術(shù)改善和創(chuàng)新都離不開摩爾定律的延續(xù)艾岂。如今單個處理器已經(jīng)很難適應(yīng)摩爾定律了(主要包括隨著更多晶體管被裝入芯片當(dāng)中顺少,相應(yīng)會出現(xiàn)電子能量外泄和熱量散發(fā)的現(xiàn)象),但云計算興起,算力網(wǎng)絡(luò)起飛脆炎,在某種程度延續(xù)了摩爾定律梅猿。

2、使用抽象簡化設(shè)計

計算機架構(gòu)師和程序員都必須發(fā)明技術(shù)來提高自己的生產(chǎn)力秒裕,否則設(shè)計時間會隨著摩爾定律的資源增長而顯著延長袱蚓。硬件和軟件的主要生產(chǎn)力技術(shù)是使用抽象來表示不同表示級別的設(shè)計。隱藏較低級別的細節(jié)以在較高級別提供更簡單的模型几蜻。我們將使用抽象繪畫圖標來代表第二個偉大的想法喇潘。

抽象思維一直推動著計算機技術(shù)不斷向前發(fā)展,科學(xué)技術(shù)本身就是現(xiàn)實世界的抽象和演繹:

電路信號->01二進制->指令匯編->高級編程->模塊設(shè)計->框架設(shè)計->單機系統(tǒng)->分布式系統(tǒng)-->云計算梭稚,計算機領(lǐng)域有句名言:“計算機科學(xué)領(lǐng)域的任何問題都可以通過增加一個間接的中間層來解決”颖低。

3、快速做普通案例

使常見情況變得更快往往會比優(yōu)化罕見情況更有效地提高性能弧烤。具有諷刺意味的是忱屑,常見情況通常比罕見情況更簡單,因此通常更容易增強扼褪。這種常識性建議意味著您知道常見情況是什么想幻,這只有通過仔細的實驗和測量才能實現(xiàn)。我們使用跑車作為快速制作普通案例的圖標话浇,因為最常見的旅行只有一兩個乘客脏毯,而且制作快速轎車肯定比快速小型貨車更容易。

計算機大多數(shù)時間都是運作在常見情況下幔崖,符合2/8定律食店,所以首先我們針對常見情況進行優(yōu)化改進,加速大概率事件赏寇,效果更快吉嫩。

4、通過并行提高性能

自從計算出現(xiàn)以來嗅定,計算機架構(gòu)師就提供了通過并行執(zhí)行操作來獲得更高性能的設(shè)計自娩。我們將在本書中看到許多并行性的例子。我們使用飛機的多個噴氣發(fā)動機作為并行性能的標志渠退。

并行設(shè)計思想一直是提升性能的核心思想忙迁,多進程,多線程碎乃,多核-SMP姊扔,SIMD,NUMA梅誓,MIPS恰梢,向量機佛南,GPU等等。

5嵌言、通過流水線提高性能

一種特殊的并行模式在計算機體系結(jié)構(gòu)中如此普遍嗅回,以至于它有自己的名字:流水線。例如呀页,在消防車出現(xiàn)之前妈拌,“水桶大隊”會對火災(zāi)做出反應(yīng),許多牛仔電影都會以這種方式來應(yīng)對惡棍的卑鄙行為蓬蝶。城鎮(zhèn)居民形成一條人鏈來攜帶水源生火尘分,因為他們可以更快地將水桶向上移動,而不是個人來回奔跑丸氛。我們的管道圖標是一系列管道培愁,每個部分代表管道的一個階段。

不管硬件設(shè)計還是軟件設(shè)計缓窜,流水線設(shè)計(pipeline)都是計算機領(lǐng)域最重要設(shè)計思想之一定续,這種思想是一種用面積換速度的思想,用更多的資源來實現(xiàn)高速禾锤。

6私股、通過預(yù)測提高性能

遵循“請求寬恕比請求許可更好”的說法,下一個好主意是預(yù)測恩掷。在某些情況下倡鲸,假設(shè)從錯誤預(yù)測中恢復(fù)的機制不是太昂貴并且您的預(yù)測相對準確,那么平均而言黄娘,猜測并開始工作可能比等到您確定知道時更快峭状。我們使用算命先生的水晶球作為我們的預(yù)測圖標。

現(xiàn)在流行大數(shù)據(jù)+AI算法預(yù)測和CPU的分支預(yù)測技術(shù)在思想上是不是有異曲同工之妙逼争。

(CPU的分支預(yù)測技術(shù)优床,簡單說CPU在遇到分支指令時,會先預(yù)測分支條件的結(jié)果誓焦,并根據(jù)預(yù)測的結(jié)果胆敞,提前去執(zhí)行分支后面的指令序列)CPU分支預(yù)測

7、存儲的層次設(shè)計

程序員希望內(nèi)存快速杂伟、大且便宜竿秆,因為內(nèi)存速度通常會影響性能,容量限制了可以解決的問題的大小稿壁,而今天的內(nèi)存成本通常是計算機成本的大部分。架構(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)的底部一樣大且便宜尼变。我們使用分層的三角形圖標來表示內(nèi)存層次結(jié)構(gòu)。形狀表示速度浆劲、成本和大邢邮酢:越靠近頂部,內(nèi)存越快牌借,每比特成本越高度气;層的底部越寬。(越上部膨报,越小磷籍、越快、成本越高现柠;越到底部院领,越慢、越大够吩、成本越低)

cache層次思想是計算機軟硬件非常偉大思想比然,一直延伸到現(xiàn)在redis緩存MySQL,本地緩存遠端網(wǎng)絡(luò)等等废恋。

8谈秫、通過冗余提高可靠性

計算機不僅需要速度快;他們需要可靠鱼鼓。由于任何物理設(shè)備都可能發(fā)生故障拟烫,因此我們通過包含冗余組件來使系統(tǒng)可靠,這些組件可以在發(fā)生故障時接管并幫助檢測故障迄本。我們使用拖拉機拖車作為我們的標志硕淑,因為其后軸兩側(cè)的雙輪胎允許卡車在一個輪胎失效的情況下繼續(xù)行駛。(據(jù)推測嘉赎,卡車司機會立即前往維修設(shè)施置媳,以便修復(fù)漏氣的輪胎,從而恢復(fù)冗余9酢)

?提高可靠性最笨的辦法拇囊,也是最有效的方法就是冗余設(shè)計,大到飛機的雙引擎設(shè)計靶橱,小到數(shù)據(jù)庫冗余備份模型寥袭,服務(wù)器熱備路捧,冷備,異地多活等等传黄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杰扫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子膘掰,更是在濱河造成了極大的恐慌章姓,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件识埋,死亡現(xiàn)場離奇詭異凡伊,居然都是意外死亡,警方通過查閱死者的電腦和手機惭聂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門窗声,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辜纲,你說我怎么就攤上這事笨觅。” “怎么了耕腾?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵见剩,是天一觀的道長。 經(jīng)常有香客問我扫俺,道長苍苞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任狼纬,我火速辦了婚禮羹呵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疗琉。我一直安慰自己冈欢,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布盈简。 她就那樣靜靜地躺著凑耻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柠贤。 梳的紋絲不亂的頭發(fā)上香浩,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音臼勉,去河邊找鬼邻吭。 笑死,一個胖子當(dāng)著我的面吹牛宴霸,可吹牛的內(nèi)容都是我干的镜盯。 我是一名探鬼主播岸裙,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼速缆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恩闻,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤艺糜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后幢尚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體破停,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年尉剩,在試婚紗的時候發(fā)現(xiàn)自己被綠了真慢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡理茎,死狀恐怖黑界,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皂林,我是刑警寧澤朗鸠,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站础倍,受9級特大地震影響烛占,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沟启,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一忆家、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧德迹,春花似錦芽卿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至流酬,卻和暖如春币厕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芽腾。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工旦装, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摊滔。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓阴绢,卻偏偏與公主長得像店乐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呻袭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容