本書作為《計算機系統(tǒng)基礎》教材的教學指導用書,主要對每個章節(jié)的教學目標和內容安排、主要內容提要、基本術語解釋、常見問題解答等給出系統(tǒng)性的說明和描述,并在此基礎上提供了大量的單項選擇題及其參考答案、分析應用題及其分析解答,其中涉及計算機系統(tǒng)概述、數據的機器級表示與處理、程序的轉換及機器級表示、程序的鏈接、程序的執(zhí)行流程、存儲器層次結構、異常和中斷機制以及輸入/輸出子系統(tǒng)等計算機系統(tǒng)的核心內容。
后PC時代的到來,使得原先基于PC而建立起來的專業(yè)教學內容已經遠遠不能反映現(xiàn)代社會對計算機專業(yè)人才的培養(yǎng)要求,原先計算機專業(yè)人才培養(yǎng)強調“程序”設計也變?yōu)楦鼜娬{“系統(tǒng)”設計。這需要我們重新規(guī)劃教學課程體系,調整教學理念和教學內容,加強學生系統(tǒng)能力培養(yǎng),使學生能夠深刻理解計算機系統(tǒng)整體概念,更好地掌握軟/硬件協(xié)同設計和程序設計技術,從而更多地培養(yǎng)出滿足業(yè)界需求的各類計算機專業(yè)人才。不管培養(yǎng)計算機系統(tǒng)哪個層面的人才,計算機專業(yè)教育都要重視學生“系統(tǒng)觀”的培養(yǎng)。
2014年7月,機械工業(yè)出版社出版了由作者編寫的主教材《計算機系統(tǒng)基礎》,重點介紹應用程序員如何利用計算機系統(tǒng)相關知識來編寫更有效的程序。教材以高級語言程序的開發(fā)和運行過程為主線,將該過程中每個環(huán)節(jié)涉及硬件和軟件的基本概念關聯(lián)起來,試圖使讀者建立一個完整的計算機系統(tǒng)層次結構框架,了解計算機系統(tǒng)全貌和相關知識體系,初步理解計算機系統(tǒng)中的每一個抽象層及其相互轉換關系,建立高級語言程序、ISA、OS、編譯器、鏈接器等之間的相互關聯(lián);對指令在硬件上的執(zhí)行過程和指令的底層硬件執(zhí)行機制有一定的認識和理解,從而增強讀者在程序的調試、性能優(yōu)化、移植和健壯性保證等方面的能力,并為后續(xù)的“計算機組成與設計”“操作系統(tǒng)”“編譯技術”“計算機體系結構”等課程打下堅實基礎。
為了讓學生更好地理解基本概念和基本原理,能夠全面、系統(tǒng)、準確、牢固地掌握相關知識,作者在編寫主教材時采用了“基本原理和實現(xiàn)細節(jié)相結合,歷史發(fā)展過程和現(xiàn)實實際情況相結合”的方針,因而使得主教材的內容涵蓋面廣、細節(jié)內容較多、篇幅較大,給使用該教材的老師和學生帶來了一些困難。為了更好地協(xié)助主講老師用好主教材,也為了學生能更好地理解習題內涵,作者編寫了本書,對主教材中每一章的內容進行了概括總結,給出了以下6個方面的教學輔助內容。
。1)教學目標和內容安排:給出相應章節(jié)的教學總體目標和基本教學要求,并較為詳細地說明課堂教學內容和學生課后閱讀內容的安排,以及每章的主要教學思路或教學方法。
。2)主要內容提要:對主教材中相應章節(jié)內容進行濃縮,形成主干知識框架結構,便于學生將全書內容串接起來,形成本課程的知識框架體系。
。3)基本術語解釋:給出相關章節(jié)所涉及的基本術語的解釋說明,并給出名詞術語的中英文對照。
。4)常見問題解答:提供了大量的常見問題,并給出對每個問題的解釋說明。這些常見問題是作者在長期的教學過程中發(fā)現(xiàn)的、普遍存在于學生中的共性問題。
。5)單項選擇題:提供了相應章節(jié)內容的單項選擇題及其參考答案,并對部分習題的答案進行分析解答。
(6)分析應用題:提供了相應章節(jié)內容的分析應用題及其分析解答。
單項選擇題和分析應用題這兩個方面的教學輔助內容,主要是為了鞏固學生所學的基本原理而設置的。通過對一些具體問題的分析,能夠提高學生對基本原理的認識。
本書作為主教材的教學輔助資料,可以與主教材配套使用。同時,本書相對獨立、自成體系,因此也可單獨使用。本書既可作為“計算機系統(tǒng)基礎”課程的教師參考書,也可作為學生學習“計算機系統(tǒng)基礎”課程時的學習參考書。
本書由南京大學計算機系統(tǒng)基礎課程教學團隊編寫,由袁春風教授主編。本書的編寫得到了國防科技大學王志英教授、北京航空航天大學馬殿富教授、西北工業(yè)大學周興社教授、武漢大學何炎祥教授、北京大學陳向群教授等各位專家的悉心指導和熱情鼓勵。余子濠同學對書中部分程序進行了驗證,并對全書文字內容進行了校對,提出了許多有益的修改意見。
特別感謝機械工業(yè)出版社華章公司為本書的編寫工作提供了極大的支持,包括提供大量國外優(yōu)秀的相關圖書資料,并多次召集國內權威專家進行指導等。
由于計算機組成與系統(tǒng)結構相關的基礎理論和技術在不斷發(fā)展,新的思想、概念、技術和方法不斷涌現(xiàn),加之作者水平有限,在編寫中難免存在不當或遺漏之處,懇請同行專家和廣大讀者對本書的不足之處給予指正,以便在后續(xù)的版本中予以改進。讀者在主教材或本教輔教材使用過程中有任何問題或疑惑,都可與作者直接聯(lián)系。
作者于南京 2016年10月
前言
第1章 計算機系統(tǒng)概述 1
1.1 教學目標和內容安排 1
1.2 主要內容提要 2
1.3 基本術語解釋 3
1.4 常見問題解答 8
1.5 單項選擇題 10
1.6 分析應用題 13
第2章 數據的機器級表示與處理 19
2.1 教學目標和內容安排 19
2.2 主要內容提要 20
2.3 基本術語解釋 22
2.4 常見問題解答 27
2.5 單項選擇題 33
2.6 分析應用題 42
第3章 程序的轉換及機器級表示 77
3.1 教學目標和內容安排 77
3.2 主要內容提要 79
3.3 基本術語解釋 81
3.4 常見問題解答 88
3.5 單項選擇題 93
3.6 分析應用題 108
第4章 程序的鏈接 135
4.1 教學目標和內容安排 135
4.2 主要內容提要 136
4.3 基本術語解釋 137
4.4 常見問題解答 140
4.5 單項選擇題 142
4.6 分析應用題 149
第5章 程序的執(zhí)行 159
5.1 教學目標和內容安排 159
5.2 主要內容提要 160
5.3 基本術語解釋 163
5.4 常見問題解答 168
5.5 單項選擇題 174
5.6 分析應用題 178
第6章 層次結構存儲系統(tǒng) 186
6.1 教學目標和內容安排 186
6.2 主要內容提要 187
6.3 基本術語解釋 191
6.4 常見問題解答 200
6.5 單項選擇題 206
6.6 分析應用題 214
第7章 異?刂屏 236
7.1 教學目標和內容安排 236
7.2 主要內容提要 237
7.3 基本術語解釋 241
7.4 常見問題解答 243
7.5 單項選擇題 248
7.6 分析應用題 252
第8章 I/O操作的實現(xiàn) 257
8.1 教學目標和內容安排 257
8.2 主要內容提要 259
8.3 基本術語解釋 262
8.4 常見問題解答 269
8.5 單項選擇題 276
8.6 分析應用題 285