計算機組成原理實驗指導(基于RISC-V在線實訓)
定 價:49.8 元
- 作者:華中科技大學計算機科學與技術學院
- 出版時間:2024/5/1
- ISBN:9787115630636
- 出 版 社:人民郵電出版社
- 中圖法分類:TP301
- 頁碼:173
- 紙張:
- 版次:01
- 開本:16開
“計算機組成原理”是一門理論性、工程性和實踐性都很強的專業(yè)核心基礎課程,其實踐教學對理論教學具有強支撐作用,是強化讀者計算機系統(tǒng)能力、分析與解決復雜工程問題能力的重要途徑。
作者本著“理論與實踐一體化、實驗目標系統(tǒng)化、實驗平臺虛擬化、課程實驗在線化、實驗過程游戲化”的原則,歷經(jīng)十年持續(xù)的實踐教學改革,開發(fā)了一系列原創(chuàng)的硬件在線仿真實驗,建立了立足計算機系統(tǒng)、逐層遞進、以設計型實驗為主導的實踐教學體系。本書站在硬件工程師的視角,從邏輯門電路開始逐步設計運算器、存儲器、數(shù)據(jù)通路和控制器、沖突冒險與中斷異常處理機制,直至完整的RISC-V流水CPU,旨在幫助讀者深入理解計算機軟硬件系統(tǒng)。
本書可作為高等學校計算機相關專業(yè)“計算機組成原理”課程的配套實驗指導用書和計算機系統(tǒng)能力培養(yǎng)的參考書,也可供相關專業(yè)工程技術人員參考。
(1)理論實踐一體化:相關實驗緊扣理論教學重點難點,課程內(nèi)容覆蓋率90%以上,有助于構建理論課堂中教學師生的共同語境,為翻轉課堂提供豐富的教學素材,實驗內(nèi)容大多處于布魯姆認知分類法中的運用、分析、綜合、評價四個層次,學生完成系列實驗,對相關知識的掌握更透徹,為理論教學提供了強支撐。
(2)實驗目標系統(tǒng)化:實驗圍繞計算機系統(tǒng)設計與實現(xiàn)的系統(tǒng)能力培養(yǎng)目標,讓學生站在硬件工程師的視角,從邏輯門電路開始逐步設計運算部件,存儲器、數(shù)據(jù)通路和控制器、沖突冒險與中斷異常處理機制直至完整的流水CPU來深入理解計算機軟硬件系統(tǒng),將系統(tǒng)能力培養(yǎng)的復雜工程問題---CPU設計的高挑戰(zhàn)度任務分解成若干難度遞進的子任務和單元實驗中,讓學生實踐中不斷提升計算機系統(tǒng)能力。
(3)實驗平臺虛擬化:實驗采用跨平臺開源的Logisim虛擬仿真平臺,該平臺簡單易學,易調(diào)試、無需任何硬件平臺即可開展實驗,突破傳統(tǒng)實驗對空間和時間的要求。加州大學伯克利分校CS61C、康奈爾大學CS3410課程均采用了該平臺。采用分離數(shù)字電路對象構建原理圖的方式進行CPU系統(tǒng)設計和仿真,有效延續(xù)了數(shù)字邏輯課程的設計方法,有利于培養(yǎng)學生硬件設計思維。無需額外開設硬件描述語言類先導課程,有效回避了硬件描述語言過于抽象、硬件設計程序化、學習周期長的問題。
(4)課程實驗在線化。實驗已經(jīng)全部上線EduCoder頭哥在線實訓平臺面向全國開放,結合EduCoder平臺的SPOC課堂,可實現(xiàn)實驗自動測試,自動檢查,自動評分,學生實驗過程教師全程輕松管控,可一鍵到處實驗成績,大大降低了教師實驗教學工作強度,有效解決了硬件實驗難,檢查難、指導難的困局。
(5)實驗過程游戲化:借鑒游戲闖關的設計理念,將高挑戰(zhàn)度的CPU設計任務細分成若干可明確檢查的學習關卡。實驗內(nèi)容和難度逐漸遞進,通過各階段成果實時得分增強學習的及時反饋,提升學習趣味性;為學生提供豐富的測試用例以及自動檢測工具等學習裝備,讓學生的較短時間內(nèi)體驗更多的設計內(nèi)容;實驗完成率高,學生獲得感、成就感強,被學生評價為“這是一門讓人手癢的實踐課程”。
譚志虎,華中科技大學教授,院長助理,主要研究方向為計算機系統(tǒng)結構,網(wǎng)絡存儲,科研成果獲湖北省科技進步一等獎。主要承擔《計算機組成原理》、《計算機組織與結構》、《計算機系統(tǒng)基礎》、《Verilog語言》、《計算機系統(tǒng)能力綜合訓練》等課程的教學工作,在中國大學慕課上開設《計算機組成原理》、《計算機硬件系統(tǒng)設計》兩門慕課課程,主編《計算機組成原理實踐教程---從邏輯門到CPU》教材一部。主持省部級教改項目5項,發(fā)表CSSCI類教研論文7篇,先后獲湖北省教學成果一等獎,校實驗技術成果一等獎,寶鋼優(yōu)秀教師獎,校教師教學競賽一等獎,教學質量一等獎,課堂教學卓越獎。
第 1章 數(shù)據(jù)表示實驗
1.1 漢字編碼實驗 1
1.1.1 實驗目的 1
1.1.2 實驗原理 1
1.1.3 實驗內(nèi)容 2
1.1.4 實驗思考 4
1.2 奇偶校驗設計實驗 4
1.2.1 實驗目的 4
1.2.2 實驗原理 4
1.2.3 實驗內(nèi)容 5
1.2.4 實驗思考 6
1.3 磁盤陣列條帶校驗設計實驗 6
1.3.1 實驗目的 6
1.3.2 實驗原理 6
1.3.3 實驗內(nèi)容 8
1.3.4 實驗思考 9
1.4 海明校驗碼設計實驗 9
1.4.1 實驗目的 9
1.4.2 實驗原理 9
1.4.3 實驗內(nèi)容 10
1.4.4 實驗思考 12
1.5 CRC 校驗碼設計實驗 12
1.5.1 實驗目的 12
1.5.2 實驗原理 12
1.5.3 實驗內(nèi)容 13
1.5.4 實驗思考 15
1.6 編碼流水傳輸設計實驗 15
1.6.1 實驗目的 15
1.6.2 實驗原理 15
1.6.3 實驗內(nèi)容 15
1.6.4 實驗思考 16
第 2章 運算器實驗 17
2.1 可控加減法電路設計實驗 17
2.1.1 實驗目的 17
2.1.2 實驗內(nèi)容 17
2.1.3 實驗思考 18
2.2 4 位快速加法器設計實驗 18
2.2.1 實驗目的 18
2.2.2 實驗內(nèi)容 18
2.2.3 實驗思考 19
2.3 多位快速加法器設計實驗 19
2.3.1 實驗目的 19
2.3.2 實驗內(nèi)容 20
2.3.3 實驗思考 21
2.4 32 位 ALU 設計實驗 21
2.4.1 實驗目的 21
2.4.2 實驗內(nèi)容 22
2.4.3 實驗思考 23
2.5 陣列乘法器設計實驗 23
2.5.1 實驗目的 23
2.5.2 實驗內(nèi)容 24
2.5.3 實驗思考 25
2.6 原碼一位乘法器設計實驗 25
2.6.1 實驗目的 25
2.6.2 實驗內(nèi)容 26
2.6.3 實驗思考 27
2.7 補碼一位乘法器設計實驗 27
2.7.1 實驗目的 27
2.7.2 實驗內(nèi)容 27
2.7.3 實驗思考 29
2.8 乘法流水線設計實驗 29
2.8.1 實驗目的 29
2.8.2 實驗內(nèi)容 29
2.8.3 實驗思考 30
第3章存儲系統(tǒng)實驗 41
3.1 RAM組件實驗 41
3.1.1 實驗目的 41
3.1.2 實驗原理 41
3.1.3 實驗內(nèi)容 42
3.1.4 實驗思考 42
3.2 存儲器擴展實驗 42
3.2.1 實驗目的 42
3.2.2 實驗內(nèi)容 42
3.2.3 實驗思考 44
3.3 存儲子系統(tǒng)設計實驗 44
3.3.1 實驗目的 44
3.3.2 實驗原理 44
3.3.3 實驗內(nèi)容 45
3.3.4 實驗思考 48
3.4 寄存器文件設計實驗 48
3.4.1 實驗目的 48
3.4.2 實驗內(nèi)容 48
3.4.3 實驗思考 50
3.5 cache硬件設計實驗 50
3.5.1 實驗目的 50
3.5.2 實驗原理 50
3.5.3 實驗內(nèi)容 51
3.5.4 實驗思考 53
3.6 cache軟件仿真實驗 54
3.6.1 實驗目的 54
3.6.2 實驗原理 54
3.6.3 實驗內(nèi)容 55
3.7 cache性能分析實驗 55
3.7.1 實驗目標 55
3.7.2 實驗原理 56
3.7.3 實驗內(nèi)容 56
3.8 虛擬存儲器仿真實驗 60
3.8.1 實驗目的 60
3.8.2 實驗內(nèi)容 60
第4章RISC-V匯編程序設計實驗 62
4.1 RISC-V體系結構 62
4.1.1 RISC-V通用寄存器 62
4.1.2 RISC-V浮點寄存器 63
4.1.3 RISC-V控制狀態(tài)寄存器 64
4.2 RISC-V指令集 65
4.2.1 功能描述符號 65
4.2.2 指令格式 65
4.2.3 R型指令 66
4.2.4 I型指令 67
4.2.5 S型指令 68
4.2.6 B型指令 68
4.2.7 U型指令 69
4.2.7 J型指令 70
4.2.6 RISC-V尋址方式 70
4.2.7 RISC-V數(shù)據(jù)類型 71
4.3 RISC-V匯編入門 71
4.3.1 程序結構 71
4.3.2 數(shù)據(jù)聲明 72
4.3.3 RISC-V訪存指令 73
4.3.4 匯編尋址方式 74
4.3.5 算術運算指令 75
4.3.6 程序控制指令 75
4.3.7 RISC-V偽指令 76
4.3.8 系統(tǒng)調(diào)用與輸入/輸出 77
4.4 RISC-V編程進階 78
4.4.1 運算語句 78
4.4.2 數(shù)組訪問 78
4.4.3 條件分支結構 78
4.4.4 do while循環(huán)結構 79
4.4.5 while循環(huán)結構 79
4.4.6 for循環(huán)結構 79
4.4.7 過程調(diào)用 80
4.5 RISC-V程序設計實驗 81
4.5.1 實驗目的 81
4.5.2 實驗內(nèi)容 82
第5章RISC-V處理器設計實驗 86
5.1 單總線三級時序CPU設計實驗 86
5.1.1 實驗目的 86
5.1.2 實驗原理 86
5.1.3 實驗內(nèi)容 88
5.1.4 實驗思考 94
5.2 單總線現(xiàn)代時序CPU設計實驗 94
5.2.1 實驗目的 94
5.2.2 實驗原理 94
5.2.3 實驗內(nèi)容 95
5.2.4 實驗思考 100
5.3 單周期RISC-V處理器設計實驗 101
5.3.1 實驗目的 101
5.3.2 實驗原理 101
5.3.3 實驗內(nèi)容 101
5.3.4 注意事項 108
5.3.5 實驗思考 111
第6章指令流水線設計實驗 112
6.1 理想流水線CPU設計實驗 112
6.1.1 實驗目的 112
6.1.2 實驗原理 112
6.1.3 實驗內(nèi)容 113
6.1.4 實驗步驟 114
6.1.5 注意事項 115
6.1.6 實驗思考 116
6.2 氣泡流水線CPU設計實驗 116
6.2.1 實驗目的 116
6.2.2 實驗原理 116
6.2.3 實驗內(nèi)容 117
6.2.4 實驗測試 119
6.2.5 實驗思考 121
6.3 重定向流水線CPU設計實驗 121
6.3.1 實驗目的 121
6.3.2 實驗原理 121
6.3.3 實驗內(nèi)容 123
6.3.4 實驗思考 124
6.4 動態(tài)分支預測機制設計實驗 124
6.4.1 實驗目的 124
6.4.2 實驗原理 124
6.4.3 實驗內(nèi)容 125
6.4.4 實驗思考 127
第7章輸入/輸出系統(tǒng)實驗 128
7.1 程序查詢控制方式編程實驗 128
7.1.1 實驗目的 128
7.1.2 實驗原理 128
7.1.3 實驗內(nèi)容 129
7.2 中斷服務程序編程實驗 130
7.2.1 實驗目的 130
7.2.2 實驗原理 130
7.2.3 實驗內(nèi)容 130
7.3 三級時序中斷機制設計實驗 131
7.3.1 實驗目的 131
7.3.2 實驗內(nèi)容 131
7.3.3 實驗思考 135
7.4 現(xiàn)代時序中斷機制設計實驗 135
7.4.1 實驗目的 135
7.4.2 實驗內(nèi)容 135
7.4.3 實驗思考 141
7.5 單周期RISC-V單級中斷機制設計實驗 141
7.5.1 實驗目的 141
7.5.2 實驗內(nèi)容 141
7.5.3 實驗步驟 142
7.5.4 實驗思考 143
7.6 單周期RISC-V多重中斷機制設計實驗 145
7.6.1 實驗目的 145
7.6.2 實驗內(nèi)容 145
7.6.3 實驗步驟 145
7.6.4 實驗思考 146
7.7 流水中斷機制設計實驗 146
7.7.1 實驗目的 146
7.7.2 實驗內(nèi)容 146
7.7.3 實驗思考 147
第8章實驗平臺與常見問題 148
8.1 Logisim軟件介紹 148
8.2 Logisim常見問題 149
8.3 頭歌平臺介紹 154
8.4 頭歌平臺常見問題 155
8.5 RARS仿真器介紹 158
8.5.1 RARS集成開發(fā)環(huán)境 159
8.5.2 交互式調(diào)試功能 162
參考文獻 163