計算機組成原理是一門理論性、工程性和實踐性都很強的核心專業(yè)基礎(chǔ)課程,其實踐教學對理論教學具有強支撐作用,是強化學生計算機系統(tǒng)能力,分析解決復雜工程問題能力的重要途徑。 作者本著理論實踐一體化、實驗目標系統(tǒng)化、實驗測試自動化、課程實驗在線化、實驗過程游戲化的原則,歷經(jīng)八年持續(xù)的實踐教學改革,開發(fā)了一系列原創(chuàng)的硬件在線虛擬仿真實驗,建立了逐層遞進、立足計算機系統(tǒng)、設(shè)計型實驗為主導的實踐教學體系。幫助學生站在硬件工程師的視角,從邏輯門電路開始逐步設(shè)計運算部件、存儲器、數(shù)據(jù)通路和控制器、沖突冒險與中斷異常處理機制直至完整的MIPS 流水CPU來深入理解計算機軟硬件系統(tǒng)。同時,將《計算機組成原理(微課版)》一書課后習題進行了詳細解析,有助于學生鞏固課堂所學。 本書可供高等學校計算機相關(guān)專業(yè)計算機組成原理課程的配套實驗指導用書和系統(tǒng)能力培養(yǎng)的重要參考,也可供相關(guān)專業(yè)工程技術(shù)人員參考。
(1)理論實踐一體化:相關(guān)實驗緊扣理論教學重點難點,課程內(nèi)容覆蓋率90%以上,有助于構(gòu)建理論課堂中教學師生的共同語境,為翻轉(zhuǎn)課堂提供豐富的教學素材,實驗內(nèi)容大多處于布魯姆認知分類法中的運用、分析、綜合、評價四個層次,學生完成系列實驗,對相關(guān)知識的掌握更透徹,為理論教學提供了強支撐。
(2)實驗目標系統(tǒng)化:實驗圍繞計算機系統(tǒng)設(shè)計與實現(xiàn)的系統(tǒng)能力培養(yǎng)目標,讓學生站在硬件工程師的視角,從邏輯門電路開始逐步設(shè)計運算部件,存儲器、數(shù)據(jù)通路和控制器、沖突冒險與中斷異常處理機制直至完整的流水CPU來深入理解計算機軟硬件系統(tǒng),將系統(tǒng)能力培養(yǎng)的復雜工程問題---CPU設(shè)計的高挑戰(zhàn)度任務分解成若干難度遞進的子任務和單元實驗中,讓學生實踐中不斷提升計算機系統(tǒng)能力。
(3)實驗平臺虛擬化:實驗采用跨平臺開源的Logisim虛擬仿真平臺,該平臺簡單易學,易調(diào)試、無需任何硬件平臺即可開展實驗,突破傳統(tǒng)實驗對空間和時間的要求。加州大學伯克利分校CS61C、康奈爾大學CS3410課程均采用了該平臺。采用分離數(shù)字電路對象構(gòu)建原理圖的方式進行CPU系統(tǒng)設(shè)計和仿真,有效延續(xù)了數(shù)字邏輯課程的設(shè)計方法,有利于培養(yǎng)學生硬件設(shè)計思維。無需額外開設(shè)硬件描述語言類先導課程,有效回避了硬件描述語言過于抽象、硬件設(shè)計程序化、學習周期長的問題。
(4)課程實驗在線化。實驗已經(jīng)全部上線EduCoder頭哥在線實訓平臺面向全國開放,結(jié)合EduCoder平臺的SPOC課堂,可實現(xiàn)實驗自動測試,自動檢查,自動評分,學生實驗過程教師全程輕松管控,可一鍵到處實驗成績,大大降低了教師實驗教學工作強度,有效解決了硬件實驗難,檢查難、指導難的困局。
(5)實驗過程游戲化:借鑒游戲闖關(guān)的設(shè)計理念,將高挑戰(zhàn)度的CPU設(shè)計任務細分成若干可明確檢查的學習關(guān)卡。實驗內(nèi)容和難度逐漸遞進,通過各階段成果實時得分增強學習的及時反饋,提升學習趣味性;為學生提供豐富的測試用例以及自動檢測工具等學習裝備,讓學生的較短時間內(nèi)體驗更多的設(shè)計內(nèi)容;實驗完成率高,學生獲得感、成就感強,被學生評價為這是一門讓人手癢的實踐課程。
譚志虎,華中科技大學教授,院長助理,主要研究方向為計算機系統(tǒng)結(jié)構(gòu),網(wǎng)絡(luò)存儲,科研成果獲湖北省科技進步一等獎。主要承擔《計算機組成原理》、《計算機組織與結(jié)構(gòu)》、《計算機系統(tǒng)基礎(chǔ)》、《Verilog語言》、《計算機系統(tǒng)能力綜合訓練》等課程的教學工作,在中國大學慕課上開設(shè)《計算機組成原理》、《計算機硬件系統(tǒng)設(shè)計》兩門慕課課程,主編《計算機組成原理實踐教程---從邏輯門到CPU》教材一部。主持省部級教改項目5項,發(fā)表CSSCI類教研論文7篇,先后獲湖北省教學成果一等獎,校實驗技術(shù)成果一等獎,寶鋼優(yōu)秀教師獎,校教師教學競賽一等獎,教學質(zhì)量一等獎,課堂教學卓越獎。
第 1章數(shù)據(jù)表示實驗1
1.1 漢字編碼實驗 1
1.2 奇偶校驗實驗 4
1.3 磁盤陣列條帶校驗實驗 6
1.4 海明校驗碼設(shè)計實驗 9
1.5 CRC校驗碼設(shè)計實驗 12
1.6 編碼流水傳輸實驗 15
第 2章 運算器組成實驗 18
2.1 可控加減法電路設(shè)計實驗 18
2.2 4位快速加法器設(shè)計實驗 19
2.3 多位快速加法器設(shè)計實驗 20
2.4 32位ALU設(shè)計實驗 22
2.5 陣列乘法器設(shè)計實驗 24
2.6 原碼一位乘法器設(shè)計實驗 26
2.7 補碼一位乘法器設(shè)計實驗 28
2.8 乘法流水線設(shè)計實驗 30
第3章 存儲系統(tǒng)實驗 32
3.1 RAM組件實驗 32
3.2 存儲器擴展實驗 33
3.3 MIPS RAM設(shè)計實驗 35
3.4 MIPS寄存器文件設(shè)計實驗 38
3.5 cache硬件設(shè)計實驗 41
3.6 cache軟件仿真實驗 44
3.7 cache性能分析實驗 46
3.8 虛擬存儲器仿真實驗 50
第4章 MIPS匯編程序設(shè)計實驗 53
4.1 MIPS體系結(jié)構(gòu) 53
4.2 MIPS指令集 56
4.3 MIPS匯編入門 60
4.4 MIPS編程進階 67
4.5 MIPS程序設(shè)計實驗 71
第5章 MIPS處理器設(shè)計實驗 77
5.1 單總線三級時序CPU設(shè)計實驗 77
5.2 單總線現(xiàn)代時序CPU設(shè)計實驗 85
5.3 單周期MIPS處理器設(shè)計實驗 91
5.4 多周期MIPS處理器設(shè)計實驗 101
第6章 指令流水線設(shè)計實驗 109
6.1 理想流水線CPU設(shè)計實驗 109
6.2 氣泡流水線CPU設(shè)計實驗 113
6.3 重定向流水線CPU設(shè)計實驗 119
6.4 動態(tài)分支預測機制設(shè)計實驗 122
第7章 輸入輸出系統(tǒng)實驗 126
7.1 程序查詢控制方式編程實驗 126
7.2 中斷服務程序編程實驗 128
7.3 三級時序中斷機制設(shè)計實驗 129
7.4 現(xiàn)代時序中斷機制設(shè)計實驗 133
7.5 單級中斷機制設(shè)計實驗 138
7.6 多重中斷機制設(shè)計實驗 142
7.7 流水中斷機制設(shè)計實驗 144
第8章 實驗平臺與常見問題 147
8.1 Logisim軟件介紹 147
8.2 Logisim常見問題 147
8.3 頭哥平臺介紹 152
8.4 頭哥平臺常見問題 153
8.5 Mars仿真器介紹 156
第9章 Logisim庫參考手冊 158
9.1 線路庫 158
9.2 邏輯門庫 162
9.3 復用器庫 165
9.4 運算器庫 168
9.5 存儲庫 172
9.6 輸入 輸出庫 178
9.7 基礎(chǔ)庫(Base Library) 182
第 10章 習題解析 185
10.1 第 1章習題解析 185
10.2 第 2章習題解析 187
10.3 第3章習題解析 194
10.4 第4章習題解析 201
10.5 第5章習題解析 211
10.6 第6章習題解析 216
10.7 第7章習題解析 225
10.8 第8章習題解析 230
10.9 第9章習題解析 233