計算機系統基礎

《計算機系統基礎》是2017年機械工業出版社出版的圖書,作者是袁春風。

基本介紹

  • 書名:計算機系統基礎
  • 作者:袁春風
基本信息,內容簡介,目錄信息,

基本信息

計算機系統基礎
書號:46477
ISBN:978-7-111-46477-8
作者:袁春風
印次:1-6
開本: 16開
字數:300千字
定價:49.0
所屬叢書:計算機類專業系統能力培養系列教材
出版日期:2017-08-17

內容簡介

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

目錄信息

叢書序言
序 言
前 言
第一部分 系統概述和可執行目標檔案的生成
第1章 計算機系統概述2
1.1 計算機的發展歷程2
1.1.1 電子計算機的誕生2
1.1.2 第一代計算機2
1.1.3 第二代計算機3
1.1.4 第三代計算機3
1.1.5 第四代計算機4
1.2 計算機系統的基本功能和基本組成5
1.2.1 計算機系統的基本功能5
1.2.2 計算機硬體6
1.2.3 計算機軟體10
1.3 程式開發與執行過程11
1.3.1 從源程式到可執行程式11
1.3.2 執行檔的啟動和執行12
1.3.3 程式中每條指令的執行13
1.4 計算機系統的層次結構15
1.4.1 計算機系統抽象層的轉換15
1.4.2 計算機系統的不同用戶17
1.5 計算機系統性能評價19
1.5.1 計算機性能的定義19
1.5.2 計算機性能的測試19
1.5.3 用指令執行速度進行性能評估21
1.5.4 用基準程式進行性能評估23
1.6 本書的主要內容和組織結構24
1.7 小結26
習題27
第2章 數據的機器級表示與處理29
2.1 數制和編碼29
2.1.1 信息的二進制編碼29
2.1.2 進位計數制31
2.1.3 定點與浮點表示35
2.1.4 定點數的編碼表示35
2.2 整數的表示40
2.2.1 無符號整數和帶符號整數的表示40
2.2.2 C語言中的整數及其相互轉換41
2.3 浮點數的表示43
2.3.1 浮點數的表示範圍43
2.3.2 浮點數的規格化44
2.3.3 IEEE 754浮點數標準44
2.3.4 C語言中的浮點數類型48
2.4 十進制數的表示50
2.4.1 用ASCII碼字元表示50
2.4.2 用BCD碼錶示50
2.5 非數值數據的編碼表示51
2.5.1 邏輯值51
2.5.2 西文字元51
2.5.3 漢字字元52
2.6 數據的寬度和存儲54
2.6.1 數據的寬度和單位54
2.6.2 數據的存儲和排列順序55
2.7 數據的基本運算58
2.7.1 按位運算和邏輯運算59
2.7.2 左移運算和右移運算59
2.7.3 位擴展運算和位截斷運算61
2.7.4 整數加減運算61
2.7.5 整數乘除運算65
2.7.6 常量的乘除運算67
2.7.7 浮點數運算69
2.8 小結73
習題74
第3章 程式的轉換及機器級表示82
3.1 程式轉換概述82
3.1.1 機器指令及彙編指令83
3.1.2 指令集體系結構84
3.1.3 生成機器代碼的過程84
3.2 IA-32指令系統概述88
3.2.1 數據類型及其格式89
3.2.2 暫存器組織和定址方式90
3.3 IA-32常用指令類型及其操作95
3.3.1 傳送指令95
3.3.2 定點算術運算指令98
3.3.3 按位運算指令101
3.3.4 控制轉移指令102
3.3.5 x87浮點處理指令107
3.3.6 MMX/SSE指令集108
3.4 C語言程式的機器級表示110
3.4.1 過程調用的機器級表示110
3.4.2 選擇語句的機器級表示121
3.4.3 循環結構的機器級表示125
3.5 複雜數據類型的分配和訪問128
3.5.1 數組的分配和訪問128
3.5.2 結構體數據的分配和訪問132
3.5.3 聯合體數據的分配和訪問135
3.5.4 數據的對齊137
3.6 越界訪問和緩衝區溢出138
3.6.1 緩衝區溢出攻擊139
3.6.2 緩衝區溢出攻擊的防範141
3.7 兼容IA-32的64位系統143
3.7.1 x86-64的發展簡史143
3.7.2 x86-64的基本特點144
3.7.3 x86-64的基本指令和對齊144
3.8 小結150
習題151
第4章 程式的連結165
4.1 編譯、彙編和靜態連結165
4.1.1 編譯和彙編165
4.1.2 可執行目標檔案的生成166
4.2 目標檔案格式168
4.2.1 ELF目標檔案格式168
4.2.2 可重定位目標檔案格式170
4.2.3 可執行目標檔案格式171
4.3 符號表和符號解析173
4.3.1 符號和符號表173
4.3.2 符號解析176
4.3.3 與靜態庫的連結179
4.4 重定位181
4.4.1 重定位信息182
4.4.2 重定位過程182
4.5 執行檔的載入186
4.6 動態連結188
4.6.1 動態連結的特性188
4.6.2 程式載入時的動態連結188
4.6.3 程式運行時的動態連結190
4.7 小結191
習題192
第二部分 可執行目標檔案的運行
第5章 程式的執行200
5.1 程式執行概述200
5.1.1 程式及指令的執行過程200
5.1.2 CPU的基本功能和組成202
5.1.3 打斷程式正常執行的事件204
5.2 數據通路基本結構和工作原理205
5.2.1 數據通路基本結構205
5.2.2 數據通路的時序控制206
5.2.3 數據通路基本工作原理208
5.3 流水線方式下指令的執行213
5.3.1 指令流水線的基本原理213
5.3.2 適合流水線的指令集特徵217
5.3.3 CISC和RISC風格指令集217
5.3.4 指令流水線的實現220
5.3.5 高級流水線實現技術224
5.4 小結225
習題226
第6章 層次結構存儲系統229
6.1 存儲器概述229
6.1.1 存儲器的分類229
6.1.2 主存儲器的組成和基本操作231
6.1.3 存儲器的主要性能指標231
6.1.4 各類存儲元件的特點232
6.1.5 存儲器的層次結構233
6.2 主存與CPU的連線及其讀寫操作233
6.2.1 主存模組的連線和讀寫操作233
6.2.2 “裝入”指令和“存儲”指令操作過程237
6.3 磁碟存儲器238
6.3.1 磁碟存儲器的結構238
6.3.2 磁碟存儲器的性能指標240
6.3.3 磁碟存儲器的連線242
6.3.4 固態硬碟243
6.4 高速緩衝存儲器244
6.4.1 程式訪問的局部性244
6.4.2 cache的基本工作原理246
6.4.3 cache行和主存塊的映射248
6.4.4 cache中主存塊的替換算法253
6.4.5 cache一致性問題254
6.4.6 影響cache性能的因素255
6.4.7 IA-32的cache結構舉例257
6.4.8 cache和程式性能258
6.5 虛擬存儲器261
6.5.1 虛擬存儲器的基本概念262
6.5.2 虛擬地址空間263
6.5.3 虛擬存儲器的實現264
6.5.4 存儲保護271
*6.6 IA-32/Linux中的地址轉換272
6.6.1 邏輯地址到線性地址的轉換272
6.6.2 線性地址到物理地址的轉換277
6.7 小結280
習題280
第7章 異常控制流287
7.1 進程與進程的上下文切換287
7.1.1 程式和進程的概念287
7.1.2 進程的邏輯控制流288
7.1.3 進程的上下文切換290
7.1.4 進程的私有地址空間291
7.1.5 程式的載入和運行293
7.2 異常和中斷295
7.2.1 基本概念295
7.2.2 異常的分類296
7.2.3 中斷的分類300
7.2.4 異常和中斷的回響過程301
7.2.5 IA-32的中斷向量表303
7.2.6 IA-32的中斷描述符表303
7.2.7 IA-32中異常和中斷的處理305
7.2.8 Linux對異常和中斷的處理306
7.2.9 IA-32/Linux的系統調用309
7.3 小結312
習題312
第8章 I/O操作的實現315
8.1 I/O子系統概述315
8.2 用戶空間I/O軟體318
8.2.1 用戶程式中的I/O函式319
8.2.2 檔案的基本概念320
8.2.3 系統級I/O函式322
8.2.4 C標準I/O庫函式324
8.2.5 用戶程式中的I/O請求328
8.3 I/O硬體與軟體的接口330
8.3.1 I/O設備330
8.3.2 設備控制器331
8.3.3 I/O連線埠及其編址333
8.3.4 I/O控制方式334
8.4 核心空間I/O軟體341
8.4.1 與設備無關的I/O軟體341
8.4.2 設備驅動程式343
8.4.3 中斷服務程式344
8.5 小結346
習題347
附錄A 數字邏輯電路基礎352
附錄B gcc的常用命令行選項366
附錄C GDB的常用命令368
參考文獻371

相關詞條

熱門詞條

聯絡我們