計(jì)算機(jī)架構(gòu)師在過(guò)去60年的計(jì)算機(jī)設(shè)計(jì)中提出的8個(gè)偉大思想,這些思想無(wú)不影響深遠(yuǎn)。時(shí)至今日,架構(gòu)師在設(shè)計(jì)新處理器時(shí)仍會(huì)延續(xù)采用這些思想。
1、面向摩爾定律的設(shè)計(jì)
計(jì)算機(jī)設(shè)計(jì)者面臨的一個(gè)永恒的問(wèn)題就是摩爾定律( Moore's Law ) 。摩爾定律指出,集成電路上可容納的晶體管數(shù)每18~24個(gè)月翻一番。摩爾定律是Intel公司創(chuàng)始人之一GordonMoore在1965年對(duì)集成電路集成度做出的預(yù)測(cè)。由于計(jì)算機(jī)設(shè)計(jì)通常需要幾年時(shí)間,因此項(xiàng)目結(jié)束時(shí)芯片的集成度較之項(xiàng)目開(kāi)始時(shí),很容易翻一番甚至翻兩番。像雙向飛碟射擊運(yùn)動(dòng)員一樣,計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)師應(yīng)當(dāng)預(yù)測(cè)設(shè)計(jì)完成時(shí)的工藝和技術(shù)水平,而不是設(shè)計(jì)開(kāi)始時(shí)的工藝。
2、使用抽象簡(jiǎn)化設(shè)計(jì)
計(jì)算機(jī)架構(gòu)師和程序員都需要開(kāi)發(fā)能夠提高效率的技術(shù),否則設(shè)計(jì)周期會(huì)像資源規(guī)模隨摩爾定律增長(zhǎng)一樣延長(zhǎng)。提高硬件和軟件開(kāi)發(fā)效率的主要技術(shù)之一是使用抽象( abstraction)來(lái)表征不同級(jí)別的設(shè)計(jì)。從而,低層將細(xì)節(jié)隱蔽起來(lái),呈現(xiàn)給高層的只是一個(gè)簡(jiǎn)化的模型。
3、加速大概率事件
加速大概率事件(common case fast) 遠(yuǎn)比優(yōu)化小概率事件更能提高性能。大概率事件通常比小概率事件簡(jiǎn)單,因而更易于對(duì)其進(jìn)行優(yōu)化以提高性能。加速大概率事件意味著設(shè)計(jì)者需要知道哪些事件是經(jīng)常發(fā)生的, 這要經(jīng)過(guò)仔細(xì)的實(shí)驗(yàn)與測(cè)量過(guò)程。
4、通過(guò)并行提高性能
從計(jì)算誕生開(kāi)始,計(jì)算機(jī)架構(gòu)師就給出了通過(guò)并行執(zhí)行操作來(lái)提高性能的設(shè)計(jì)方案。在本書中將會(huì)看到許多并行(parallel) 的例子。
5、通過(guò)流水線提高性能
在計(jì)算機(jī)體系結(jié)構(gòu)中,有一種并行技術(shù)非常普遍,這種技術(shù)有一個(gè)特殊的名字: 流水線(pipelining) 。例如,許多西部電影中有這樣的場(chǎng)景,在消防車出現(xiàn)之前,人們用“水桶隊(duì)列”來(lái)滅火一一小鎮(zhèn)居民們一個(gè)接一個(gè)排成長(zhǎng)隊(duì),接力將水桶快速?gòu)乃磦髦粱饒?chǎng),而不是讓每個(gè)人來(lái)回奔跑運(yùn)水滅火。
6、通過(guò)預(yù)測(cè)提高性能
遵循諺語(yǔ)“求人準(zhǔn)許不如求人原諒" ,下一個(gè)偉大的思想是預(yù)測(cè)( prediction) 。假設(shè)預(yù)測(cè)錯(cuò)誤后恢復(fù)的代價(jià)不大, 并且預(yù)測(cè)的準(zhǔn)確率相對(duì)較高,那么通過(guò)猜測(cè)的方式提前開(kāi)始工作,要比等到確定知道能執(zhí)行時(shí)才啟動(dòng)要效率高一些。
7、存儲(chǔ)器層次結(jié)構(gòu)
現(xiàn)如今,計(jì)算機(jī)價(jià)格的很大一部分來(lái)自于存儲(chǔ)器的開(kāi)銷。存儲(chǔ)器對(duì)程序執(zhí)行有很大的影響,其速度影響著程序的性能, 其容量限制著解題的規(guī)模。因此,程序員總是希望存儲(chǔ)器速度更快、容量更大、價(jià)格更便宜。計(jì)算機(jī)架構(gòu)師發(fā)現(xiàn),通過(guò)存儲(chǔ)器層次結(jié)構(gòu)(hierarchy of memory) 可以來(lái)緩解這些相互矛盾的需求。在存儲(chǔ)器層次中,位于頂層的存儲(chǔ)器速度最快、容量最小, 但每位價(jià)格最昂貴。反之,處于最底層的存儲(chǔ)器速度最慢、容量最大,但每位價(jià)格最便宜。后面介紹的cache 技術(shù)可以給程序員造成一種假象,讓他們感覺(jué)自己所使用的主存既有存儲(chǔ)器層次中頂層的高速度,又和底層存儲(chǔ)器一樣價(jià)格便宜量又足。
8、通過(guò)冗余提高可靠性
計(jì)算機(jī)工作時(shí)不僅要快,還要穩(wěn)定可靠。任何一個(gè)物理器件都有可能失效,因此可以通過(guò)增加冗余器件的方式提高系統(tǒng)的可靠性(dependable) 。當(dāng)發(fā)生失效時(shí),冗余器件可以替代失效器件并幫助檢測(cè)錯(cuò)誤。例如,牽引式掛車后軸每邊都有兩個(gè)雙輪胎,當(dāng)一個(gè)輪胎出問(wèn)題時(shí),另一個(gè)輪胎保證卡車仍然可以繼續(xù)行使。(卡車司機(jī)發(fā)現(xiàn)故障后,立即開(kāi)往修理廠修復(fù)輪胎,從而又恢復(fù)了冗余性。)
-
芯片
+關(guān)注
關(guān)注
456文章
50889瀏覽量
424240 -
摩爾定律
+關(guān)注
關(guān)注
4文章
634瀏覽量
79071 -
計(jì)算機(jī)架構(gòu)
+關(guān)注
關(guān)注
1文章
8瀏覽量
6165
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論