計算機系統 : 核心概念及軟硬件實現, 5/e (Computer Systems, 5/e)
J. Stanley Warford
- 出版商: 機械工業
- 出版日期: 2019-01-31
- 定價: $594
- 售價: 8.5 折 $505
- 語言: 簡體中文
- ISBN: 7111616847
- ISBN-13: 9787111616849
-
相關分類:
Computer-Science
- 此書翻譯自: Computer Systems, 5/e (Hardcover)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$800$720 -
$180程式是如何跑起來的 (How Program Works)
-
$834$792 -
$505並行計算機組成與設計
-
$454數字邏輯設計與計算機組成
-
$480$379 -
$301ARM 嵌入式系統編程與優化 (Embedded Systems:ARM Programming and Optimization)
-
$330$314 -
$658數字設計 : 系統方法
-
$450$356 -
$403匯編程序設計與電腦體系結構:軟件工程師教程
-
$301FPGA原理和結構
-
$474$450 -
$658數字設計和電腦體系結構(原書第2版·ARM版)
-
$580$568 -
$580$458 -
$560$437 -
$352ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器
-
$680$646 -
$980$774 -
$680$510 -
$680$537 -
$690$545 -
$780$663 -
$1,200$948
相關主題
商品描述
本書採用七層結構講解計算機系統的核心概念及軟硬件實現方法,關注基礎的計算概念而非追踪新的技術進展,並且特別強調通過實踐培養學生解決問題的能力。全書以Pep/9虛擬機模型貫穿各章,清晰呈現了各個抽象層次之間的關係,並配有完整的程序示例和豐富的習題。圖書配套網站(computersystemsbook.com)提供了豐富的教學資源。
重要更新
Pep/9取代了前兩版所用的虛擬機Pep/8。除了更新指令集外,Pep/9還採用了內存映射I/O,改進了部分指令的助記符,並擴展了MIPS內容。
高級語言從C++變為C。C作為系統編程語言更為常見,而且也更加適合計算機系統文本,從而能夠更加精確地描述內存模型。
新增Intel x86架構的實現示例。作為補充材料,這些示例取代了上一版中的人物傳記,以幫助讀者理解虛擬機概念與真實實現的對應關係。
大量新主題與擴展主題。如用Java而不是C++語言實現翻譯器、使用Pep/9 CPU模擬器新的UnitPre和UnitPost特性等,豐富了全書內容。
目錄大綱
出版者的話
譯者序
前言
第一部分應用層(第7層)
第1章計算機系統2
1.1抽象層次2
1.1.1藝術中的抽象3
1.1.2文檔中的抽象4
1.1.3機構中的抽象5
1.1.4機器中的抽象6
1.1.5計算機系統中的抽象6
1.2硬件7
1.2.1中央處理單元8
1.2.2主存儲器9
1.2.3磁盤10
1.3軟件11
1.3.1操作系統12
1.3.2軟件分析與設計13
1.4數字信息14
1.4.1空間量化14
1.4.2時間量化16
1.4.3快速響應碼18
1.4.4圖像21
1.5數據庫系統27
1.5.1關係27
1.5.2查詢28
1.5.3語言結構30
本章小結31
練習32
第二部分高級語言層(第6層)
第2章C 36
2.1變量36
2.1.1 C編譯器36
2.1.2機器無關性37
2.1.3 C的內存模型37
2.1.4全局變量和賦值語句38
2.1.5局部變量40
2.2控制流42
2.2.1 if/else語句42
2.2.2 switch語句43
2.2. 3 while循環44
2.2.4 do循環44
2.2.5數組和for循環45
2.3函數46
2.3.1空函數和傳值調用的參數46
2.3.2函數的例子48
2.3.3傳引用調用的參數48
2.4遞歸51
2.4.1階乘函數52
2.4.2遞歸的思考方式55
2.4.3遞歸加法55
2.4.4二項式係數函數57
2.4.5逆轉數組元素順序61
2.4.6漢諾塔61
2.4.7相互遞歸63
2.4.8遞歸的成本64
2.5動態內存分配65
2.5.1指針65
2.5.2結構67
2.5.3鍊式數據結構68
本章小結69
練習70
編程題71
第三部分指令集架構層(第3層)
第3章信息的表示76
3.1無符號二進製表示76
3.1.1二進制存儲76
3.1.2整數77
3.1.3基數轉換78
3.1.4無符號整數的範圍80
3.1.5無符號加法80
3.1.6進位位81
3.2二進制補碼表示81
3.2.1補碼的表數範圍83
3.2.2基數轉換84
3.2.3數軸85
3.2.4溢出位86
3.2.5負數和零位87
3.3二進制運算88
3.3.1邏輯運算符88
3.3.2寄存器傳送語言89
3.3.3算術運算符90
3.3.4循環移位運算符91
3.4十六進制與字符表示92
3.4. 1十六進制92
3.4.2基數轉換92
3.4.3 ASCII字符94
3.4.4 Unicode字符97
3.5浮點數表示100
3.5.1二進制小數100
3.5.2餘碼表示102
3.5.3隱藏位103
3.5.4特殊值104
3.5.5 IEEE 754浮點數標準108
3.6模型109
本章小結111
練習111
編程題117
第4章計算機體系結構120
4.1硬件120
4.1.1中央處理單元120
4.1.2主存儲器121
4.1 .3輸入/輸出設備122
4.1.4數據和控制123
4.1.5指令格式123
4.2直接尋址126
4.2.1停止指令126
4.2.2字裝入指令126
4.2.3字存儲指令127
4.2.4加法指令128
4.2.5減法指令128
4.2.6與和或指令129
4.2.7按位取反和取負指令130
4.2.8字節裝入和字節存儲指令131
4.2.9輸入和輸出設備132
4.2 .10大端順序和小端順序133
4.3馮·諾依曼機器134
4.3.1馮·諾依曼執行週期134
4.3.2一個字符輸出程序135
4.3.3馮·諾依曼漏洞138
4.3.4一個字符輸入程序139
4.3.5十進制轉換為ASCII 139
4.3.6一個自我修改程序140
4.4 ISA3層的編程142
4.4.1只讀存儲器143
4.4.2 Pep/9操作系統144
4.4.3使用Pep/9系統145
本章小結146
練習146
編程題148
第四部分彙編層(第5層)
第5章彙編語言150
5.1彙編程序150
5.1.1指令助記符150
5.1.2偽操作152
5.1.3 .ASCII和.END偽操作153
5.1.4彙編器154
5.1.5 .BLOCK偽操作155
5.1.6 .WORD和.BYTE偽操作155
5.1.7使用Pep/9彙編器156
5.1.8交叉彙編器157
5.2立即數尋址和陷阱指令158
5.2.1立即數尋址158
5.2.2 DECI、DECO和BR指令159
5.2.3 STRO指令161
5.2.4解釋位模式:HEXO指令162
5.2.5反彙編器163
5.3符號165
5.3.1帶符號的程序165
5.3.2一個馮·諾依曼示例166
5.4從HOL6層翻譯168
5.4.1 Printf()函數169
5.4.2變量和類型170
5.4.3全局變量和賦值語句171
5.4.4類型兼容174
5.4.5 Pep/9符號跟踪器175
5.4.6算術移位和循環移位指令175
5.4.7常量和.EQUATE 176
5.4.8指令與數據的放置178
本章小結179
練習180
編程題182
第6章編譯到彙編層185
6.1棧尋址和局部變量185
6.1.1棧相對尋址185
6.1.2訪問運行時棧186
6.1.3局部變量188
6.2分支指令和控制流190
6.2.1翻譯if語句191
6.2.2優化編譯器192
6.2.3翻譯if/else語句192
6.2.4翻譯while循環194
6.2.5翻譯do循環195
6.2.6翻譯for循環197
6.2.7麵條代碼198
6.2.8早期語言的控制流199
6.2.9結構化編程定律200
6.2.10 goto爭論200
6.3函數調用和參數201
6.3.1翻譯函數調用201
6.3.2用全局變量翻譯傳值調用參數204
6.3. 3用局部變量翻譯傳值調用參數207
6.3.4翻譯非空函數調用209
6.3.5用全局變量翻譯傳引用調用參數211
6.3.6用局部變量翻譯傳引用調用參數215
6.3.7翻譯布爾類型218
6.4變址尋址和數組220
6.4.1翻譯全局數組221
6.4.2翻譯局部數組224
6.4.3翻譯作為參數傳遞的數組226
6.4.4翻譯switch語句230
6.5動態內存分配235
6.5.1翻譯全局指針235
6.5.2翻譯局部指針240
6.5.3翻譯結構243
6.5.4翻譯鍊式數據結構246
本章小結250
練習251
編程題251
第7章語言翻譯原理259
7.1語言、語法和語法分析259
7.1.1連接260
7.1.2語言260
7.1.3語法261
7.1.4 C標識符的語法262
7.1.5有符號整數的語法263
7.1.6上下文相關的語法264
7.1.7語法分析問題264
7.1.8表達式的語法265
7.1.9 C語法的一部分266
7.1.10 C的上下文相關性269
7.2有限狀態機270
7.2.1用有限狀態機分析標識符270
7.2.2簡化的有限狀態機271
7.2.3非確定性有限狀態機271
7.2.4具有空轉換的狀態機272
7.2.5多語言符號識別器274
7.2.6語法與有限狀態機276
7.3實現有限狀態機277
7.3.1編譯過程278
7.3.2查找表分析器278
7.3.3直接編碼分析器280
7.3.4輸入緩衝區類282
7.3.5多語言符號分析器283
7.4代碼生成288
7.4.1語言翻譯器288
7.4.2語法分析器特性302
本章小結303
練習303
編程題306
第五部分操作系統(第4層)
第8章進程管理312
8.1裝載器312
8.1.1 Pep/9操作系統312
8.1.2 Pep/9裝載器314
8.1.3程序的終止315
8.2陷阱315
8.2. 1陷阱機制316
8.2.2 RETTR指令317
8.2.3陷阱處理程序317
8.2.4陷阱尋址方式斷言319
8.2.5陷阱操作數地址計算320
8.2.6空操作陷阱處理程序323
8.2.7 DECI陷阱處理程序324
8.2.8 DECO陷阱處理程序329
8.2.9 HEXO和STRO陷阱處理程序和操作系統向量332
8.3並發進程334
8.3.1異步中斷334
8.3.2操作系統中的進程335
8.3.3多處理336
8.3 .4並發處理程序337
8.3.5臨界區338
8.3.6第一次嘗試實現互斥339
8.3.7第二次嘗試實現互斥339
8.3.8 Peterson互斥算法340
8.3.9信號量342
8.3. 10帶信號量的臨界區343
8.4死鎖343
8.4.1資源分配圖344
8.4.2死鎖策略345
本章小結346
練習346
編程題351
第9章存儲管理353
9.1內存分配353
9.1.1單道程序設計353
9.1.2固定分區多道程序設計354
9.1.3邏輯地址355
9.1.4可變分區多道程序設計356
9.1.5分頁359
9.2虛擬內存361
9.2.1大程序的行為361
9.2.2虛擬內存361
9.2.3按需分頁362
9.2.4替換頁363
9.2.5頁替換算法363
9.3文件管理365
9.3.1磁盤驅動器365
9.3.2文件抽象366
9.3.3分配技術367
9.4錯誤檢測與糾錯碼369
9.4.1錯誤檢測碼369
9.4.2編碼要求370
9.4.3糾正一位錯誤編碼372
9.5 RAID存儲系統373
9.5.1 RAID 0級:無冗餘條帶化374
9.5.2 RAID 1級:鏡像374
9.5.3 RAID 01和10級:條帶化和鏡像375
9.5.4 RAID 2級:內存風格的ECC 376
9.5.5 RAID 3級:位交叉奇偶校驗377
9.5 .6 RAID 4級:塊交叉奇偶校驗377
9.5.7 RAID 5級:塊交叉分佈奇偶校驗378
本章小結379
練習379
第六部分邏輯門(第1層)
第10章組合電路384
10.1布爾代數和邏輯門384
10.1.1組合電路385
10.1.2真值表385
10.1.3布爾代數386
10.1.4布爾代數定理387
10.1.5互補證明388
10.1.6邏輯圖389
10.1.7其他表示方式391
10.2組合分析392
10.2.1布爾表達式和邏輯圖392
10.2.2真值表和布爾表達式393
10.2.3兩級電路395
10.2.4無處不在的NAND 397
10.3組合設計398
10.3.1範式398
10.3 .2三變量卡諾圖399
10.3.3四變量卡諾圖403
10.3.4對偶卡諾圖406
10.3.5無關條件406
10.4組合設備407
10.4.1視角407
10.4.2復用器408
10.4.3二進制譯碼器409
10.4.4多路分配器410
10.4.5加法器410
10.4.6加法器/減法器412
10.4.7算術邏輯單元413
10.4.8 LG1層的抽象419
本章小結420
練習420
第11章時序電路426
11.1鎖存器與時鐘觸發器426
11.1.1 SR鎖存器426
11.1.2鐘控SR觸發器428
11.1.3主從SR觸發器429
11.1.4基本觸發器433
11.1.5 JK觸發器434
11.1.6 D觸發器435
11.1.7 T觸發器436
11.1.8激勵表437
11.2時序分析與設計437
11.2.1時序分析問題438
11.2.2預設置與清除441
11.2.3時序設計441
11.2.4一個時序設計問題441
11.3計算機子系統444
11.3.1寄存器444
11.3.2總線445
11.3.3內存子系統446
11.3.4地址譯碼449
11.3.5雙端口寄存器組453
本章小結455
練習455
第七部分微代碼(第2層)
第12章計算機組成460
12.1構建一個ISA3層機器460
12.1.1 CPU數據區460
12.1.2馮·諾依曼週期463
12.1.3存儲字節直接尋址指令467
12.1.4總線協議468
12.1.5存儲字直接尋址指令468
12.1.6加法立即數尋址指令469
12.1.7裝入字間接尋址指令470
12.1.8算術右移指令473
12.1.9 CPU控制區474
12.2性能476
12.2.1數據總線寬度和內存對齊476
12.2.2內存對齊480
12.2.3 n位計算機的定義483
12.2.4高速緩存484
12.2.5系統性能公式490
12.2.6 RISC與CISC 491
12.3 MIPS機器494
12.3.1寄存器組494
12.3.2尋址方式495
12.3.3指令集498
12.3.4 MIPS的計算機組成501
12.3.5流水線505
12.4結論512
12.4.1模型簡化512
12.4.2全局架構513
本章小結514
練習514
編程題517
附錄Pep/9體系結構519
部分練習參考答案529
索引543