計算機架構設計的 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.”
--- 大衛 A. 帕特森博士
大衛 A. 帕特森博士,自 1977 年加入該學院以來, David A. Patterson 博士一直在加州大學伯克利分校教授計算機體系結構,並擔任 Pardee 計算機科學主席。他的教學曾獲得加州大學傑出教學獎、ACM 卡爾斯特倫獎、IEEE 穆里根教育獎章和本科教學獎,世界上最大的技術進步專業協會。Patterson 博士因對 RISC 的貢獻而獲得 IEEE 技術成就獎和 ACM Eckert-Mauchly 獎,並因對 RAID 的貢獻而分享了 IEEE 約翰遜信息存儲獎。他還與合著者 John Hennessy 博士分享了 IEEE 約翰 · 馮 · 諾依曼獎章和 C&C 獎。
1、面向摩爾定律設計
半導體行業大致按照摩爾定律發展了半個多世紀,對二十世紀後半葉的世界經濟增長做出了貢獻,並驅動了一系列科技創新、社會改革、生產效率的提高和經濟增長。個人電腦、因特網、智能手機等技術改善和創新都離不開摩爾定律的延續。如今單個處理器已經很難適應摩爾定律了(主要包括隨着更多晶體管被裝入芯片當中,相應會出現電子能量外泄和熱量散發的現象),但云計算興起,算力網絡起飛,在某種程度延續了摩爾定律。
2、使用抽象簡化設計
抽象思維一直推動着計算機技術不斷向前發展,科學技術本身就是現實世界的抽象和演繹:
電路信號 ->01 二進制 -> 指令彙編 -> 高級編程 -> 模塊設計 -> 框架設計 -> 單機系統 -> 分佈式系統 --> 雲計算,計算機領域有句名言:“計算機科學領域的任何問題都可以通過增加一個間接的中間層來解決”。
3、快速做普通案例
計算機大多數時間都是運作在常見情況下,符合 2/8 定律,所以首先我們針對常見情況進行優化改進,加速大概率事件,效果更快。
4、通過並行提高性能
並行設計思想一直是提升性能的核心思想,多進程,多線程,多核 - SMP,SIMD,NUMA,MIPS,向量機,GPU 等等。
5、通過流水線提高性能
不管硬件設計還是軟件設計,流水線設計(pipeline)都是計算機領域最重要設計思想之一,這種思想是一種用面積換速度的思想,用更多的資源來實現高速。
6、通過預測提高性能
遵循 “請求寬恕比請求許可更好” 的說法,下一個好主意是預測。在某些情況下,假設從錯誤預測中恢復的機制不是太昂貴並且您的預測相對準確,那麼平均而言,猜測並開始工作可能比等到您確定知道時更快。我們使用算命先生的水晶球作爲我們的預測圖標。
現在流行大數據 + AI 算法預測和 CPU 的分支預測技術在思想上是不是有異曲同工之妙。
7、存儲的層次設計
cache 層次思想是計算機軟硬件非常偉大思想,一直延伸到現在 redis 緩存 MySQL,本地緩存遠端網絡等等。
8、通過冗餘提高可靠性
提高可靠性最笨的辦法,也是最有效的方法就是冗餘設計,大到飛機的雙引擎設計,小到數據庫冗餘備份模型,服務器熱備,冷備,異地多活等等。
Linux 學習 專注分享 Linux/Unix 相關內容,包括 Linux 命令、Linux 內核、Linux 系統開發、Linux 運維、網絡編程、開發工具等 Linux 相關知識和技術
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/_AywK_tjr545X_ul8vHOqA