內容簡介
本書系統而全面地介紹了計算機系統的設計基礎、指令機體系結構、流水線和指令級並行技術、層次存儲系統與存儲設備、互連網路以及多處理器系統等重要內容。對計算機系統結構的論述主要以RISC結構模型機DLX為基礎,通過定量分析的方法進行。本書內容豐富全面,既介紹了當今計算機系統結構的最新研究成果,也引述了有影響的計算機系統設計開發方面的大量實踐經驗。全書編排層次 合理,敘述由淺人深。各章結尾還附有大量的習題和參考文獻。
本書既可以作為高等院校計算機專業高年級學生和研究生學習“計算機系統結構”、“計算機原理”等課程的教科書或參考書,也可供與計算機相關的專業科技人員學習參考。
目錄
譯者的話
前言
序
致謝
第一章計算機設計基本原理1
1.1簡介1
1.2計算機設計者的任務2
1.3計算機技術和套用的發展趨勢4
1.4成本及其發展趨勢6
1.5評價和報告計算機的性能13
1.6計算機設計的定量準則22
1.7綜合:存儲層次的概念29
1.8謬誤和陷阱32
1.9結論38
1.10歷史回顧和參考文獻39
參考文獻44
習題46
第二章指令系統的原理與實例54
2.1簡介54
2.2指令集系統結構的分類55
2.3存儲器定址57
2.4指令集的操作62
2.5運算元的大小與類型67
2.6指令集的編碼68
2.7相關問題:編譯器70
2.8綜合:DLX系統結構75
2.9謬誤與陷阱84
2.10結論86
2.11歷史回顧和參考文獻87
參考文獻90
習題92
第三章流水線97
3.1什麼是流水線97
3.2DLX的基本流水線102
3.3流水線的主要障礙——流水線冒險107
3.4數據冒險112
3.5控制冒險123
3.6實現流水線的困難是什麼?136
3.7擴展DLX流水線能處理多周期操作142
3.8相關問題:指令集設計和流水線151
3.9綜合:MIPSR4000流水線152
3.10謬誤與陷阱159
3.11結論160
3.12歷史回顧和參考文獻161
參考文獻161
習題163
第四章高級流水線與指令級並行168
4.1指令級並行:概念及挑戰168
4.2採用動態調度克服數據冒險183
4.3採用動態硬體預測技術減少分支開銷199
4.4採用多發射以取得更高的指令級並行性211
4.5支持指令級並行的編譯技術219
4.6硬體對並行性的支持227
4.7指令級並行性研究239
4.8綜合:PowerPC620252
4.9謬誤與陷阱262
4.10結論264
4.11歷史回顧和參考文獻265
參考文獻269
習題273
第五章存儲器層次結構設計281
5.1簡介281
5.2Cache簡介283
5.3降低Cache缺失率294
5.4降低Cache缺失代價309
5.5減少命中時間317
5.6主存322
5.7虛擬存儲器331
5.8虛擬存儲器的保護和示例336
5.9存儲層次設計的相關問題344
5.10總結:AlphaAXP21064存儲層次347
5.11謬誤和陷阱351
5.12結論354
5.13歷史回顧和參考文獻355
參考文獻357
習題359
第六章存儲系統368
6.1簡介368
6.2存儲設備類型369
6.3匯流排——連線I/O設備到CPU/存儲器376
6.4I/O性能評測381
6.5可靠性、可用性和RAID393
6.6相關問題:與作業系統的接口396
6.7I/O系統設計398
6.8綜合:UNIX檔案系統性能406
6.9謬誤與陷阱413
6.10結論416
6.11歷史回顧和參考文獻417
參考文獻419
習題421
第七章互連網路425
7.1簡介425
7.2簡單的網路426
7.3互連網路與計算機的連線432
7.4互連網路介質433
7.5多台計算機的連線436
7.6商用互連網路的實際問題449
7.7互連網路舉例452
7.8互連網路相關問題455
7.9網路互連457
7.10綜合:一個工作站的ATM網路461
7.11謬誤與陷阱468
7.12結論470
7.13歷史回顧和參考文獻471
參考文獻473
習題474
第八章多處理器478
8.1簡介478
8.2套用領域的特徵486
8.3集中式共享存儲器系統結構492
8.4分散式共享存儲器系統結構509
8.5同步520
8.6存儲器一致性模型531
8.7相關問題541
8.8綜合:SGIChallenge多處理機系統545
8.9謬誤和陷阱550
8.10結論554
8.11歷史回顧和參考文獻558
參考文獻564
習題567
附錄A計算機算術運算573
A.1簡介573
A.2整數運算的基本方法573
A.3浮點582
A.4浮點乘法585
A.5浮點加法588
A.6除法與餘數593
A.7其他有關浮點運算的問題597
A.8提高整數加法的速度601
A.9提高整數乘法與除法的速度607
A.10綜合618
A.11謬誤與陷阱621
A.12歷史回顧和參考文獻622
參考文獻624
習題627
附錄B向量處理機632
B.1什麼是向量處理機?632
B.2基本向量結構633
B.3兩個現實問題:向量長度與跨距643
B.4編譯程式向量化的效果648
B.5提高向量性能649
B.6綜合:向量處理機的性能653
B.7謬誤與陷阱658
B.8結論659
B.9歷史回顧和參考文獻660
參考文獻663
習題664
附錄CRISC系統結構評述669
C.1簡介669
C.2定址方式與指令格式670
C.3指令:DLX子集672
C.4指令:對DLX的公共擴充675
C.5隻有MIPS才有的指令678
C.6隻有SPARC才有的指令680
C.7隻有PowerPC才有的指令682
C.8隻有PARISC才有的指令683
C.9結論685
參考文獻687
附錄D與RISC完全不同的另一方案:Intel80x86689
D.1簡介689
D.280x86暫存器與數據定址方式690
D.380x86整數操作693
D.480x86浮點操作695
D.580x86指令編碼697
D.6綜合:指令系統利用率的測量699
D.7結論704
D.8歷史回顧和參考文獻705
參考文獻706
附錄E一致性協定實現707
E.1監聽高速快取一致性協定的實現問題707
E.2分散式目錄協定的實現問題710
習題715
參考文獻716
譯者簡介
鄭緯民,1970 年畢業於清華大學自動控制系並留校任教。1982 年獲碩士學位,現為清華大學計算機系教授、博士生導師。擔任中國計算機學會副理事長;中國計算機學會學術工會主任;北京市科技進步獎第八屆評審委員會委員等。1985-1986 年曾在美國紐約州立大學石溪分校從事分布作業系統研究。1989-1991年曾在英國南安普敦大學參加函式語言並行編譯系統研究。
主要研究方向為集群計算機、CPU設計、格線計算、高性能存儲、並行處理與分布計算機系統、面向AI體系結構以及說明性語言的編譯方法和程式開發環境等。近幾年來參加或負責的國家攻關、863計畫和自然科學基金項目10餘項。研究成果達到了國際先進水平或國內領先水平,曾獲中國國家科技進步一等獎1項,部級科技進步獎6項。2006年11月,被確認為第21屆ACM SOSP(Symposium on Operating Systems Principles)程式委員會委員,成為自1967年SOSP創辦以來首個擔任SOSP程式委員會委員的亞洲學者,在國內外學術刊物和學術會議上發表論文80餘篇,著有《計算機組成和設計硬體/軟體接口》,《計算機系統結構:一種定量的方法》,《高等計算機系統結構》,《計算機系統結構》,《函式程式設計語言-計算模型、編譯技術和體系結構》等多種計算機學教材。