計算機組成和設計硬體/軟體接口(第2版)(計算機組成和設計:硬體/軟體接口)

計算機組成和設計硬體/軟體接口(第2版)

計算機組成和設計:硬體/軟體接口一般指本詞條

與同類著作相比,這本書具有結構清晰完整、系統性強、內容新穎,行文深入淺出,可讀性好的特點。特別值得提出的是,這本書講授計算機組織的基本概念和基礎。更重要的是,這本提供了計算機組織的設計和基本框架,使讀者能夠繼續學習的必要知識,從而可以保持在這一領域的前沿位置。這是一本能使讀者在較短時間內全面了解、熟悉和掌握當代計算機系統發展主流技術和最新成就的優秀教材和專業參考書。 本書是計算機及相關專業本科和研究生的經典教材。

基本介紹

  • 書名:計算機組成和設計硬體/軟體接口(第2版)
  • 作者:Patterson, Hennessy,鄭緯民
  • ISBN:9787302069010
  • 定價:76元
  • 出版社清華大學出版社
  • 裝幀:平裝
圖書簡介,目錄,

圖書簡介

美國加州大學伯克利分校計算機系Patterson教授和史丹福大學計算機系Hennessy教授是現今計算機設計領域非常受人尊敬的學者和開創者。JohnHennessy精通硬體/軟體,是具有傳奇色彩的MIPS編譯器和幾代MIPS硬體產品的技術上的領導者。DavidPatterson是RISC最初提倡者之一。他創造了RISC一詞,定義了RISC的含義,是Sun公司SPARC處理器的主要顧問。他提出了RAID(廉價磁碟冗餘陣列),帶來了為大量數據伺服器提供磁碟存儲的工業的革命,並且又提出了NOW(工作站網路)的概念。該書是他們對計算機組織研究和實踐的全面而系統的總結。目前,世界上很多大學的計算機原理課程採用這本教材。國內也有大學採用這本教材的英文版。

目錄

譯者序1
序言2
前言4
計算機組織和線上設計13
第1章計算機概念和技術1
11引言1
1.2程式內部2
1.3內部的硬體5
1.3.1滑鼠6
1.3.2顯示器7
1.3.3打開機箱8
1.3.4數據的安全12
1.3.5與其他計算機通信13
1.4積體電路:推動創新13
1.5實例:製造Pentium晶片16
1.6謬誤和陷阱18
1.7結論19
1.8歷史回顧和參考文獻20
1.8.1第一台電子計算機20
1.8.2商業發展23
1.8.3各代計算機27
1.8.4參考文獻28
1.9重要術語29
1.10習題31
第2章性能評價35
2.1引言35
2.2性能測量38
2.3各種性能指標之間的關係40
2.4選擇性能評價程式44
2.5性能比較與綜合評價48
2.6實例:新型處理器的SPEC95基準程式及性能評價49
2.7謬誤和陷阱52
2.8結論58
2.9歷史回顧和參考文獻59
2.9.1MIPS、MOPS以及FLOPS59
2.9.2早期綜合性基準程式及核心基準程式的問題61
2.9.3將簡單程式用於基準測試的問題62
2.9.4綜合評價是不可靠的62
2.9.5SPEC基準程式集的性能62
2.9.6參考文獻64
2.10重要術語64
2.11習題65
第3章指令:機器的語言76
3.1引言76
3.2計算機硬體的操作76
3.3計算機硬體的運算元78
3.4指令的計算機內部表示83
3.5決策指令88
3.5.1循環91
3.5.2case和switch語句93
3.6計算機硬體對過程的支持96
3.6.1使用更多的暫存器97
3.6.2嵌套過程99
3.6.3為新數據分配空間101
3.7數字以外104
3.8MIPS的其他定址方式106
3.8.1常數或立即數106
3.8.2分支和跳轉指令的定址109
3.8.3MIPS定址方式小結111
3.8.4機器語言的解碼112
3.9啟動程式116
3.9.1編譯器116
3.9.2彙編程式116
3.9.3連結程式118
3.9.4載入程式120
3.10一個完整的例子121
3.10.1swap過程121
3.10.2sort過程123
3.11數組與指針128
3.11.1clear的數組版128
3.11.2clear的指針版129
3.11.3比較clear的兩個版本130
3.12實例:PowerPC和80x86指令131
3.12.1IBM/MotorolaPowerPC131
3.12.2Intel80x86133
3.13謬誤和陷阱139
3.14結論140
3.15歷史回顧和參考文獻142
3.15.1累加器體系結構142
3.15.2通用暫存器體系結構143
3.15.3緊湊代碼和堆疊體系結構144
3.15.4高級語言計算機體系結構145
3.15.5精簡指令集計算機體系結構145
3.15.680x86簡史145
3.15.7參考文獻146
3.16重要術語147
3.17習題148
第4章計算機的算術運算156
4.1引言156
4.2帶符號數與無符號數156
4.3加法與減法165
4.4邏輯運算170
4.5構造算術邏輯單元174
4.5.11位ALU175
4.5.232位ALU178
4.5.3MIPS的32位ALU179
4.5.4超前進位183
4.6乘法190
4.6.1第一種乘法算法及其硬體實現190
4.6.2第二種乘法算法及其硬體實現193
4.6.3第三種乘法算法及其硬體實現195
4.6.4帶符號數乘法196
4.6.5布斯算法196
4.6.6MIPS中的乘法運算201
4.6.7小結201
4.7除法202
4.7.1第一種除法算法及其硬體實現203
4.7.2第二種除法算法及其硬體實現205
4.7.3第三種除法算法及其硬體實現206
4.7.4帶符號數除法208
4.7.5MIPS中的除法運算208
4.7.6小結209
4.8浮點運算211
4.8.1浮點數表示方法212
4.8.2浮點數加法216
4.8.3浮點數乘法220
4.8.4MIPS的浮點指令224
4.8.5精確的算術運算231
4.8.6小結233
4.9實例:PowerPC和80x86中的浮點部件236
4.9.1PowerPC的乘累加指令236
4.9.280x86的浮點體系結構236
4.10謬誤和陷阱239
4.11結論243
4.12歷史回顧和參考文獻246
4.12.1有關浮點運算的第一場爭論247
4.12.2浮點運算的差異性與可移植性248
4.12.3新不如舊249
4.12.4專家的煩惱250
4.12.5浮點運算的不斷完善251
4.12.6最早採用IEEE754標準的晶片253
4.12.7IEEE754標準現狀255
4.12.8參考文獻256
4.13重要術語257
4.14習題258
第5章處理器:數據通路及其控制269
5.1引言269
5.1.1實現方式概述269
5.1.2邏輯設計規則和時鐘270
5.1.3MIPS子集的實現272
5.2數據通路的建立273
5.3簡單實現方案277
5.3.1創建一個簡單的數據通路278
5.3.2ALU控制280
5.3.3主控制單元的設計282
5.3.4為什麼不使用單周期實現方式295
5.4多周期實現方案299
5.4.1將指令的執行分到各個時鐘周期303
5.4.2定義控制308
5.5微程式設計:簡化控制設計316
5.5.1微指令格式的定義316
5.5.2微程式的創建319
5.5.3微程式的實現322
5.6異常324
5.6.1異常的處理324
5.6.2控制異常檢測327
5.7實例:PentiumPro的實現方法328
5.7.1實現更複雜的體系結構的挑戰329
5.7.2PentiumPro的實現結構329
5.8謬誤和陷阱330
5.9結論331
5.10歷史回顧和參考文獻332
5.10.1參考文獻334
5.11重要術語335
5.12習題335
第6章利用流水線提高性能340
6.1流水線概述340
6.1.1設計流水線指令集344
6.1.2流水線冒險344
6.1.3小結350
6.2流水線數據通路351
6.3流水線控制365
6.4數據冒險與轉發374
6.5數據冒險與阻塞385
6.6分支冒險392
6.6.1假定分支不發生392
6.6.2縮短分支延遲393
6.6.3動態分支預測395
6.6.4流水線小結398
6.7異常399
6.8超標量和動態流水線403
6.8.1超標量MIPS404
6.8.2動態流水線調度407
6.9實例:PowerPC604和PentiumPro的流水線409
6.10謬誤和陷阱411
6.11結論412
6.12歷史回顧和參考文獻414
6.12.1參考文獻417
6.13重要術語418
6.14習題419
第7章存儲器層次結構425
7.1引言425
7.2Cache基礎知識428
7.2.1訪問Cache430
7.2.2Cache缺失處理433
7.2.3Cache實例:DECStation3100434
7.2.4利用空間局部性的優點437
7.2.5設計支持Cache的存儲器系統440
7.2.6小結443
7.3Cache性能的評估和提高444
7.3.1通過更靈活的塊定位方式來減少Cache缺失447
7.3.2在Cache中進行塊定址450
7.3.3替換塊的選擇452
7.3.4減少多級Cache的缺失損失452
7.3.5小結454
7.4虛擬存儲器455
7.4.1頁存放和查找458
7.4.2缺頁459
7.4.3關於寫的情況462
7.4.4加快地址變換:TLB463
7.4.5集成虛擬存儲器、TLB和Cache466
7.4.6用虛擬存儲器實現保護468
7.4.7處理缺頁和TLB缺失469
7.4.8小結472
7.5存儲器層次結構的一般框架472
7.5.1問題1:塊被放置到何處472
7.5.2問題2:如何找到塊473
7.5.3問題3:Cache缺失時替換哪一塊475
7.5.4問題4:寫操作怎么辦475
7.5.5三C:一種理解存儲器層次結構行為的直觀模型477
7.6實例:PentiumPro和PowerPC604的存儲器層次結構479
7.6.1減少缺失損失的附加技術479
7.6.2PentiumPro和PowerPC604的存儲器層次結構480
7.7謬誤和陷阱481
7.8結論484
7.9歷史回顧和參考文獻486
7.9.1存儲器層次結構的發展488
7.9.2保護機制489
7.9.3參考文獻490
7.10重要術語490
7.11習題492
第8章輸入輸出系統498
8.1引言498
8.2I/O性能指標:有關磁碟和檔案系統的例子500
8.2.1超級計算機I/O標準501
8.2.2事務處理I/O標準501
8.2.3檔案系統I/O標準502
8.3I/O設備的種類和特性502
8.3.1滑鼠502
8.3.2磁碟504
8.3.3網路508
8.4總結:把I/O設備連線到處理器和存儲器510
8.4.1匯流排類型512
8.4.2同步和異步匯流排514
8.4.3提高匯流排頻寬517
8.4.4獲得匯流排訪問權519
8.4.5匯流排仲裁521
8.4.6匯流排標準523
8.5將I/O設備連線到存儲器、處理器和作業系統524
8.5.1向I/O設備發出指令525
8.5.2與處理器通信526
8.5.3在設備和存儲器之間傳輸數據528
8.5.4直接存儲器訪問和存儲器系統531
8.6設計I/O系統532
8.7實例:一個典型的桌面I/O系統534
8.8謬誤和陷阱535
8.9結論536
8.10歷史回顧和參考文獻539
8.10.1參考文獻542
8.11重要術語543
8.12習題544
第9章多處理器552
9.1引言552
9.2多處理器編程554
9.3用單一匯流排連線的多處理器555
9.3.1多處理器的Cache一致性558
9.3.2Cache一致性協定實例560
9.3.3使用一致性同步561
9.4通過網路連線的多處理器563
9.5機群568
9.6網路拓撲結構570
9.7實例:多處理器的未來發展趨勢573
9.7.1大規模並行處理器的情況573
9.7.2大規模並行574
9.8謬誤和陷阱575
9.9結論:計算機體系結構的改良與變革577
9.10歷史回顧和參考文獻578
9.10.1單指令多數據計算機579
9.10.2向量計算機580
9.10.3多指令多數據計算機582
9.10.4參考文獻583
9.11重要術語585
9.12習題586
附錄A彙編程式、連結程式和SPIM模擬器589
A.1引言589
A.2彙編程式594
A.3連結程式600
A.4裝載601
A.5記憶體的使用601
A.6過程調用協定603
A.7異常和中斷611
A.8輸入輸出614
A.9SPIM616
A.10MIPSR2000彙編語言624
A.11結論643
A.12重要術語644
A.13習題644
附錄B邏輯設計基礎646
B.1引言646
B.2門電路、真值表和邏輯等效電路646
B.3組合邏輯649
B.4時鐘信號658
B.5存儲單元659
B.6有限狀態機669
B.7時鐘控制原理672
B.8結論676
B.9重要術語676
B.10習題677
附錄C控制器的硬體實現680
C.1引言680
C.2組合邏輯控制單元的實現680
C.3有限狀態機控制的實現684
C.4用時序機來實現後續狀態函式694
C.5微程式的硬體實現699
C.6結論702
C.7重要術語702
C.8習題702
附錄A資料庫設計實例研究:網際網路商店624
附錄BMINIBASE教學輔助軟體633
參考文獻636

相關詞條

熱門詞條

聯絡我們