計算機系統基礎(第2版)

計算機系統基礎(第2版)

《計算機系統基礎(第2版)》是2019年11月機械工業出版社出版的圖書,作者是袁春風、餘子濠。

基本介紹

  • 中文名:計算機系統基礎(第2版)
  • 作者:袁春風、餘子濠
  • 出版社:機械工業出版社
  • 出版時間:2019年11月
  • 定價:59 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787111604891
內容簡介,圖書目錄,

內容簡介

本書主要介紹與計算機系統相關的核心概念,解釋這些概念如何相互關聯並終影響程式執行的結果和性能。本書共分8章,主要內容包括數據的表示和運算、程式的轉換及機器級表示、程式的連結、程式的執行、存儲器層次結構、虛擬存儲器、異常控制流和I/O操作的實現等。本書將計算機系統每個抽象層涉及的重要概念通過程式的開發和運行串聯起來,內容詳盡,反映現實,概念清楚,通俗易懂,實例豐富,並提供大量典型習題以供讀者練習。本書可以作為計算機專業本科或大專院校學生計算機系統方面的基礎性教材,也可以作為有關專業研究生或計算機技術人員的參考書。

圖書目錄

叢書序言
序 言
前 言
第一部分 系統概述和可執行目標檔案的生成
第1章 計算機系統概述2
1.1 計算機基本工作原理2
1.1.1 馮·諾依曼結構基本思想2
1.1.2 馮·諾依曼機基本結構3
1.1.3 程式和指令的執行過程4
1.2 程式的開發與運行7
1.2.1 程式設計語言和翻譯程式7
1.2.2 從源程式到執行檔9
1.2.3 執行檔的啟動和執行10
1.3 計算機系統的層次結構12
1.3.1 計算機系統抽象層的轉換12
1.3.2 計算機系統核心層之間的關聯14
1.3.3 計算機系統的不同用戶16
1.4 計算機系統性能評價18
1.4.1 計算機性能的定義19
1.4.2 計算機性能的測試19
1.4.3 用指令執行速度進行性能評估21
1.4.4 用基準程式進行性能評估22
1.4.5 Amdahl定律23
1.5 本書的主要內容和組織結構24
1.6 小結27
習題27
第2章 數據的機器級表示與處理30
2.1 數制和編碼30
2.1.1 信息的二進制編碼30
2.1.2 進位計數制32
2.1.3 定點與浮點表示36
2.1.4 定點數的編碼表示36
2.2 整數的表示41
2.2.1 無符號整數和帶符號整數的表示41
2.2.2 C語言中的整數及其相互轉換42
2.3 浮點數的表示44
2.3.1 浮點數的表示範圍44
2.3.2 浮點數的規格化45
2.3.3 IEEE 754浮點數標準45
2.3.4 C語言中的浮點數類型49
2.4 十進制數的表示51
2.4.1 用ASCII碼字元表示51
2.4.2 用BCD碼錶示51
2.5 非數值數據的編碼表示52
2.5.1 邏輯值52
2.5.2 西文字元52
2.5.3 漢字字元53
2.6 數據的寬度和存儲55
2.6.1 數據的寬度和單位55
2.6.2 數據的存儲和排列順序57
2.7 數據的基本運算61
2.7.1 按位運算和邏輯運算61
2.7.2 左移運算和右移運算61
2.7.3 位擴展運算和位截斷運算63
2.7.4 整數加減運算64
2.7.5 整數乘除運算68
2.7.6 常量的乘除運算71
2.7.7 浮點數運算72
2.8 小結78
習題79
第3章 程式的轉換及機器級表示87
3.1 程式轉換概述87
3.1.1 機器指令及彙編指令88
3.1.2 指令集體系結構89
3.1.3 生成機器代碼的過程89
3.2 IA-32指令系統概述94
3.2.1 數據類型及其格式95
3.2.2 暫存器組織和定址方式96
3.2.3 機器指令格式101
3.3 IA-32常用指令類型及其操作103
3.3.1 傳送指令103
3.3.2 定點算術運算指令106
3.3.3 按位運算指令109
3.3.4 控制轉移指令110
3.3.5 x87浮點處理指令115
3.3.6 MMX/SSE指令集116
3.4 C語言程式的機器級表示118
3.4.1 過程調用的機器級表示118
3.4.2 選擇語句的機器級表示132
3.4.3 循環結構的機器級表示136
3.5 複雜數據類型的分配和訪問139
3.5.1 數組的分配和訪問139
3.5.2 結構體數據的分配和訪問144
3.5.3 聯合體數據的分配和訪問146
3.5.4 數據的對齊148
3.6 越界訪問和緩衝區溢出151
3.6.1 緩衝區溢出151
3.6.2 緩衝區溢出攻擊153
3.6.3 緩衝區溢出攻擊的防範155
3.7 兼容IA-32的64位系統158
3.7.1 x86-64的發展簡史158
3.7.2 x86-64的基本特點159
3.7.3 x86-64的基本指令和對齊159
3.7.4 x86-64的過程調用161
3.7.5 x86-64的浮點操作與SIMD指令165
3.8 小結166
習題167
第4章 程式的連結182
4.1 編譯、彙編和靜態連結182
4.1.1 編譯和彙編182
4.1.2 可執行目標檔案的生成184
4.2 目標檔案格式186
4.2.1 ELF目標檔案格式186
4.2.2 可重定位目標檔案格式187
4.2.3 可執行目標檔案格式190
4.2.4 執行檔的存儲器映像192
4.3 符號表和符號解析193
4.3.1 符號和符號表193
4.3.2 符號解析196
4.3.3 與靜態庫的連結199
4.4 重定位201
4.4.1 重定位信息202
4.4.2 重定位過程202
4.5 動態連結206
4.5.1 動態連結的特性207
4.5.2 程式載入時的動態連結207
4.5.3 程式運行時的動態連結209
4.5.4 位置無關代碼210
4.6 小結214
習題215
第二部分 可執行目標檔案的運行
第5章 程式的執行222
5.1 程式執行概述222
5.1.1 程式及指令的執行過程222
5.1.2 CPU的基本功能和組成224
5.1.3 打斷程式正常執行的事件226
5.2 數據通路基本結構和工作原理227
5.2.1 數據通路基本結構227
5.2.2 數據通路的時序控制229
5.2.3 匯流排式數據通路230
5.2.4 單周期數據通路235
5.3 流水線方式下指令的執行238
5.3.1 指令流水線的基本原理238
5.3.2 適合流水線的指令集特徵241
5.3.3 CISC和RISC風格指令集242
5.3.4 指令流水線的實現245
5.3.5 高級流水線實現技術248
5.4 小結249
習題250
第6章 層次結構存儲系統253
6.1 存儲器概述253
6.1.1 存儲器的分類253
6.1.2 主存儲器的組成和基本操作255
6.1.3 存儲器的主要性能指標255
6.1.4 各類存儲元件的特點256
6.1.5 存儲器的層次結構257
6.2 主存與CPU的連線及其讀寫操作257
6.2.1 主存晶片技術257
6.2.2 主存與CPU的連線及其讀寫260
6.2.3 “裝入”指令和“存儲”指令操作過程263
6.3 硬碟存儲器266
6.3.1 磁碟存儲器的結構266
6.3.2 磁碟存儲器的性能指標268
6.3.3 磁碟存儲器的連線269
6.3.4 固態硬碟270
6.4 高速緩衝存儲器271
6.4.1 程式訪問的局部性271
6.4.2 cache的基本工作原理273
6.4.3 cache行和主存塊的映射275
6.4.4 cache中主存塊的替換算法281
6.4.5 cache一致性問題282
6.4.6 影響cache性能的因素283
6.4.7 IA-32的cache結構舉例284
6.4.8 cache和程式性能285
6.5 虛擬存儲器289
6.5.1 虛擬存儲器的基本概念289
6.5.2 虛擬地址空間290
6.5.3 虛擬存儲器的實現291
6.5.4 存儲保護299
*6.6 IA-32+Linux中的地址轉換300
6.6.1 邏輯地址到線性地址的轉換301
6.6.2 線性地址到物理地址的轉換306
*6.7 實例:Intel Core i7+Linux存儲系統308
6.7.1 Core i7的層次化存儲器結構308
6.7.2 Core i7的地址轉換機制308
6.7.3 Linux系統的虛擬存儲管理311
6.8 小結314
習題315
第7章 異常控制流322
7.1 進程與進程的上下文切換322
7.1.1 程式和進程的概念322
7.1.2 進程的邏輯控制流323
7.1.3 進程的上下文切換325
7.1.4 進程的存儲器映射326
7.1.5 程式的載入和運行329
7.2 異常和中斷332
7.2.1 基本概念333
7.2.2 異常的分類334
7.2.3 中斷的分類337
7.2.4 異常和中斷的回響過程338
*7.3 IA-32+Linux中的異常和中斷340
7.3.1 IA-32的中斷向量表340
7.3.2 IA-32的中斷描述符表341
7.3.3 IA-32中異常和中斷的處理342
7.3.4 Linux對異常和中斷的處理344
7.3.5 IA-32+Linux的系統調用348
7.4 小結350
習題351
第8章 I/O操作的實現354
8.1 I/O子系統概述354
8.2 用戶空間I/O軟體357
8.2.1 用戶程式中的I/O函式358
8.2.2 檔案的基本概念359
8.2.3 系統級I/O函式361
8.2.4 C標準I/O庫函式363
8.2.5 用戶程式中的I/O請求368
8.3 I/O硬體與軟體的接口370
8.3.1 I/O設備370
8.3.2 基於匯流排的互連結構371
8.3.3 I/O接口的功能和結構374
8.3.4 I/O連線埠及其編址376
8.3.5 I/O控制方式377
8.4 核心空間I/O軟體384
8.4.1 與設備無關的I/O軟體384
8.4.2 設備驅動程式386
8.4.3 中斷服務程式387
8.5 小結389
習題390
附錄A 數字邏輯電路基礎395
附錄B gcc的常用命令行選項409
附錄C GDB的常用命令411
參考文獻414

相關詞條

熱門詞條

聯絡我們