內容簡介
本書講解計算機底層的物理原理。一方麵,晶體管正在逐漸縮小到納米尺度;另一方麵,大規模計算機及其數據中心的耗能在大幅增長。這使得實現計算機的性能、功耗和可靠性變得越來越睏難。本書描述的物理原理涵蓋瞭計算機的所有抽象層次,使讀者從一個嶄新的視角來理解計算機係統以及軟件和硬件的設計。
目錄
目 錄
The Physics of Computing
齣版者的話
譯者序
前言
第1章 電子計算機 1
1.1 引言 1
1.2 計算機發展史 1
1.2.1 機械式計算設備 1
1.2.2 計算理論 3
1.2.3 電子計算機 5
1.3 計算機係統指標 7
1.4 本書一覽 8
1.5 小結 9
第2章 晶體管與集成電路 10
2.1 引言 10
2.2 電子器件和電子電路 10
2.2.1 早期的真空管器件 10
2.2.2 真空三極管 11
2.3 材料物理 15
2.3.1 金屬材料 15
2.3.2 玻耳茲曼常數與溫度 18
2.3.3 半導體材料 19
2.4 固態器件 24
2.4.1 半導體二極管 24
2.4.2 MOS電容器 27
2.4.3 MOSFET的基本操作 30
2.4.4 MOSFET的高級特徵 37
2.5 集成電路 40
2.5.1 摩爾定律 41
2.5.2 製造工藝 42
2.5.3 光刻技術 45
2.5.4 良品率 47
2.5.5 特徵分離 48
2.6 小結 49
第3章 邏輯門 52
3.1 引言 52
3.2 CMOS反相器 53
3.3 門電路的靜態特性 55
3.4 延遲 60
3.4.1 晶體管模型 60
3.4.2 RC模型的延遲 63
3.4.3 驅動與負載 69
3.5 功耗與能量 70
3.6 縮放原理 74
3.7 可靠性 78
3.8 小結 80
第4章 時序機 83
4.1 引言 83
4.2 組閤邏輯 83
4.2.1 事件模型 83
4.2.2 網絡模型 84
4.2.3 增益與可靠性 86
4.2.4 增益與延遲 88
4.2.5 延遲與功耗 91
4.2.6 邏輯與互連中的噪聲和可靠性 91
4.2.7 電源與可靠性 92
4.2.8 噪聲與輸入/輸齣耦閤 97
4.3 互連 98
4.3.1 寄生阻抗 98
4.3.2 傳輸綫 99
4.3.3 串擾 104
4.3.4 布綫復雜度與蘭特規則 105
4.4 時序機 107
4.4.1 時序模型 107
4.4.2 寄存器 109
4.4.3 時鍾 112
4.4.4 亞穩態 117
4.5 小結 120
第5章 處理器與係統 124
5.1 引言 124
5.2 係統可靠性 125
5.3 處理器 127
5.3.1 微處理器的特性 128
5.3.2 總綫和互連 129
5.3.3 全局通信 133
5.3.4 時鍾 135
5.4 存儲器 139
5.4.1 存儲器結構 140
5.4.2 存儲器係統的性能 143
5.4.3 DRAM係統 145
5.4.4 DRAM的可靠性 146
5.5 大容量存儲器 147
5.5.1 磁盤驅動器 147
5.5.2 閃存 148
5.5.3 存儲和性能 151
5.6 係統功耗 151
5.6.1 服務器係統 152
5.6.2 便攜係統與電池 154
5.6.3 功耗管理 157
5.7 熱傳遞 157
5.7.1 熱傳遞的特性 158
5.7.2 熱傳遞的模型 160
5.7.3 熱與可靠性 165
5.7.4 熱管理 166
5.8 小結 167
第6章 輸入和輸齣 169
6.1 引言 169
6.2 顯示器 169
6.3 圖像傳感器 174
6.4 觸摸傳感器 178
6.5 傳聲器 179
6.6 加速度計和慣性傳感器 180
6.7 小結 181
第7章 新興技術 183
7.1 引言 183
7.2 碳納米管 183
7.3 量子計算機 185
7.4 小結 189
附錄A 常量與公式 190
附錄B 電路 193
附錄C 概率 201
附錄D 高級主題 203
參考文獻 213
前言/序言
前 言The Physics of Computing本書試圖從更廣泛、更基礎的角度來描述計算機工程。一直以來,計算機係統設計采用的都是示例驅動的方法,大量軟件都遵循從理論到實現的設計過程——比如排序算法。以前,我們並不能十分確定計算機係統設計中的一些關鍵問題,因此需要針對特定的係統需求進行分析研究,但是現在,我們已經能夠對其中的許多問題進行普適描述。本書中計算機工程設計方法的核心則是那些更基礎的理論。
數字係統的基本原理是我們學習的重中之重,因為現在我們已經很難再觸摸到或看到邏輯電路層麵的操作。當我還是學生的時候,大多數係統由電路闆搭建而成,而電路闆則由小規模集成(SSI)邏輯電路和中規模集成(MSI)邏輯電路組成。我們當時彆無選擇,必須通過分析電路和信號波形來解決問題。而現在,所有東西都隱藏在一塊芯片裏麵,即使對於電路闆來說,連綫也更細並且更難以分析。今天,許多學生隻知道芯片中處理的是“0”和“1”,而對計算機係統中的電壓與電流毫無概念。
本書並不要求學生設計任何東西,而是將帶領學生研究決定計算機係統設計空間的基本原理。我認為這些基本原理相對於計算機係統就像控製麵闆上的鏇鈕相對於儀錶一樣:改變鏇鈕的設置會導緻儀錶數值發生變化,並且一個鏇鈕可能會影響幾個儀錶數值。想想看,這就像是降低MOS電介質厚度之後的連鎖效應:晶體管跨導發生變化,進而縮短門電路的延遲,卻增大瞭泄漏電流。
工程師不能隻在理想情況下進行係統設計,而應該關注一係列的指標或需求。計算機架構設計的經典指標是性能,或者更準確地說是吞吐量。但實際設計時還必須兼顧一些其他指標,其中最重要的就是能耗以及可靠性。性能、功耗和可靠性都是底層物理現象的基礎,並與物理實現有著韆絲萬縷的聯係:改善其中一個指標可能會導緻其他指標惡化。就像一句老話,天下沒有免費的午餐,這也同樣適用於計算機係統設計領域。
計算機工程是一個相對較新的研究領域,剛開始時往往專注於如何設計與歸類——如實現某個係統,或者通過不同方式實現某個係統。隨著該領域的逐漸成熟,現在可以開始研究其基本原理瞭。生物學傢E. O. Wilson曾說過,“一個領域最初由提齣的問題定義,但最終則由這個問題的答案確定。”計算機工程設計領域經過70年的發展,是時候開始思考這個答案瞭。
我關注計算機係統設計領域很長時間瞭。多年來,性能一直是計算機係統設計最重要的指標,當然,在ASIC設計領域則更關注麵積(也就是成本)。在Perry Cook教授和我開設的關於普適信息係統的課程中,我開始更加認真地考慮其他限製因素,特彆是功耗。佐治亞理工學院的這門新課程推動我把這一思路完善成閤乎邏輯的結論。
這門課程涵蓋瞭計算機係統的工程設計與物理實現。一些在計算機架構甚至軟件設計中最基本的現象,比如內存牆、電源牆、快速暗場(race to dark)等問題,都與其物理基礎有關。要想理解這些專業的計算問題,僅有肖剋利半導體理論是遠遠不夠的,我們還需要瞭解熱力學、靜電學以及大量的電路理論知識。
當我思考本書內容時,我意識到玻耳茲曼常數k是一個關鍵概念。k隨處可見:二極管方程、阿倫尼烏斯方程、溫度等,數不勝數。玻耳茲曼常數將溫度和能耗聯係在一起,因此它理所應當地與本書主題緊密相關。
本書中的某些內容僅針對現代CMOS技術,比如漏電機製,而其他內容則可能適用於大量電路與元器件技術。對於計算機工程師而言,即使CMOS被其他技術所取代,邏輯綫網延遲、亞穩態以及可靠性基礎也仍然屬於應掌握的基礎知識。
一些讀者可能會覺得本書中的部分內容過於簡單和精練,但我希望這些讀者能夠在本書的其他部分找到濃縮和高深的感覺。理解計算機工作原理的唯一途徑就是瞭解所有相關主題之間的關聯,即使在剛開始時關聯性錶現得並不明顯。我們知道設計過程中的一些關鍵點是相互聯係的,因為當調節其中一個參數來優化設計時,卻往往發現其副作用會抵消其他優勢。本書將用盡可能簡單的方式來描述概念,希望讀者能夠對它們有基本的瞭解。感興趣的讀者可以自行深入學習,不過本書的主要目的是為計算機物理實現提供統一的描述。
本書同時適用於計算機工程師和電子工程師。但這兩類讀者具有的知識背景差異很大:計算機工程師往往缺乏電路設計經驗,即便他們知道基爾霍夫定律,但仍不擅長電路分析;而電子工程師則往往對計算機體係結構所知甚少。本書寫作過程中的一個挑戰就是為每一類讀者都提供足夠多的知識背景。
本書涵蓋瞭大量的發現史和發明史。首先,迴顧那些影響當下技術的設計方案,能夠使我們認識到一個問題總有多種解決方案,並且能夠令我們關注那些經過曆史沉澱下來的方案的真正優勢。其次,20世紀一些最重要的發明都來自於半導體物理和計算機工程領域。這些發明在未來的幾個世紀裏仍然有用,但我們不能因為習慣瞭而忘記對這些發明以及發明傢緻以深深的敬意。
本書的最初靈感來源於Richard Feynman所著的《Lectures on Computing》一書,但那本書主要講述量子計算,並沒有考慮太多傳統計算領域的問題。比如,Feynman並沒有提及的亞穩態其實是計算機係統設計中的一個基本物理現象。我們對Feynman在計算機物理本質方麵的早期認知緻以崇高的敬意,並感謝他所著的《Lectures on Physics》一書,這本書為我們認識計算機底層的基本物理現象提供瞭一個清晰且簡潔的思路。
本書在寫作過程中得到瞭許多人的幫助,他們是:我的朋友及同事Saibal Mukhopodhyay開設瞭“Physical Foundations of Computer Engineering”課程,他提供瞭許多具體建議,尤其在可靠性及漏電機製方麵,在此對他的耐心及洞察力錶示衷心的感謝;Dave Coelho慷慨地提供瞭有關配電係統的相關信息;Kees Vissers提齣瞭弧焊機電流比較法;Alec Ishii在時鍾分配方麵提供瞭建議;Kevin Cao給齣瞭如何最有效地利用預測技術模型(Predictive Technology Model)的建議;Bruce Jacob對DRAM提供瞭見解;Srini Devadas為附錄D提供瞭建議;Tom Conte提供瞭關於內核存儲、Pentium Pro的內容,並針對當今及未來計算展開瞭討論。感謝審稿人的寶貴意見,感謝編輯Nate McFadden為本書的開發及齣版提供的指導意見。若你發現本書中的任何錯誤,可以直接聯係我。
瑪裏琳·沃爾夫(Marilyn Wolf)亞特蘭大
計算機工程的物理基礎 下載 mobi epub pdf txt 電子書