計(jì)算機(jī)系統(tǒng)設(shè)計(jì)(上冊)——基于FPGA的RISC處理器設(shè)計(jì)與實(shí)現(xiàn)
定 價(jià):55 元
- 作者:魏繼增
- 出版時(shí)間:2019/1/1
- ISBN:9787121351198
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP302.1
- 頁碼:316
- 紙張:
- 版次:01
- 開本:16開
本教材為《計(jì)算機(jī)系統(tǒng)設(shè)計(jì)》系列教材的上冊,以基于MIPS 32位指令集的微處理器MiniMIPS32為目標(biāo),講授主流RISC流水線微處理器的設(shè)計(jì)與實(shí)現(xiàn)的方法、步驟與技巧。全書將講解處理器微架構(gòu)設(shè)計(jì),數(shù)據(jù)通路的設(shè)計(jì)與實(shí)現(xiàn),流水線設(shè)計(jì)與優(yōu)化,軟件環(huán)境與測試環(huán)境的搭建以及基于Digilent FPGA開發(fā)板的板級設(shè)計(jì)等幾方面內(nèi)容,知識(shí)點(diǎn)覆蓋之前的數(shù)字邏輯設(shè)計(jì),計(jì)算機(jī)組成原理,計(jì)算機(jī)體系結(jié)構(gòu)三門課程,實(shí)現(xiàn)對著三門課程的貫穿式教學(xué)。
魏繼增,男,天津大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院副教授,中國計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)工程與工業(yè)專委會(huì)委員,中國計(jì)算機(jī)學(xué)會(huì)天津分委會(huì)委員,中國計(jì)算機(jī)學(xué)會(huì)會(huì)員,IEEE會(huì)員,ACM會(huì)員。長期從事計(jì)算機(jī)系統(tǒng)、嵌入式、集成電路領(lǐng)域的科研和教學(xué)工作。
目 錄
第1章 緒論 1
1.1 計(jì)算機(jī)系統(tǒng)概述 1
1.1.1 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu) 1
1.1.2 計(jì)算機(jī)硬件系統(tǒng)的組成 2
1.1.3 計(jì)算機(jī)軟件系統(tǒng)的組成 4
1.2 計(jì)算機(jī)系統(tǒng)的評價(jià)指標(biāo) 4
1.3 處理器概述 6
1.3.1 指令集體系結(jié)構(gòu)和微體系結(jié)構(gòu) 6
1.3.2 CISC和RISC 6
1.3.3 指令集體系結(jié)構(gòu)中的“五朵
金花” 7
1.3.4 MIPS指令集體系結(jié)構(gòu)的發(fā)展 8
1.4 本書的主要內(nèi)容 10
1.4.1 目標(biāo)處理器MiniMIPS32 10
1.4.2 原型系統(tǒng)MiniMIPS32_SYS 10
第2章 MiniMIPS32處理器的指令集
體系結(jié)構(gòu) 12
2.1 操作數(shù)的數(shù)據(jù)類型 12
2.2 寄存器概述 12
2.3 MiniMIPS32存儲(chǔ)空間的編址方式 15
2.4 指令系統(tǒng) 16
2.4.1 MiniMIPS32的指令格式 16
2.4.2 MiniMIPS32指令集和具體
操作 16
2.5 MiniMIPS32指令的尋址方式 36
2.6 MiniMIPS32的操作模式 38
2.7 協(xié)處理器CP0 38
2.8 異常處理 38
第3章 MiniMIPS32程序的機(jī)器級表示 40
3.1 從C程序到可執(zhí)行目標(biāo)程序 40
3.2 基于MiniMIPS32的匯編程序
設(shè)計(jì) 42
3.2.1 匯編程序結(jié)構(gòu) 42
3.2.2 匯編程序偽指令 42
3.2.3 匯編程序宏指令 46
3.2.4 MIPS指令集仿真器QtSpim 48
3.3 C語言程序的機(jī)器級表示 53
3.3.1 選擇結(jié)構(gòu) 53
3.3.2 循環(huán)結(jié)構(gòu) 57
3.3.3 函數(shù)調(diào)用 58
3.3.4 數(shù)組 66
第4章 現(xiàn)場可編程邏輯門陣列FPGA
及其設(shè)計(jì)流程 69
4.1 FPGA概述 69
4.1.1 Xilinx FPGA的基本結(jié)構(gòu) 70
4.1.2 Digilent Nexys4 DDR FPGA
開發(fā)平臺(tái) 73
4.2 FPGA的設(shè)計(jì)流程 74
4.3 Xilinx Vivado集成設(shè)計(jì)環(huán)境 75
4.3.1 Vivado集成設(shè)計(jì)環(huán)境介紹 75
4.3.2 基于Vivado的FPGA設(shè)計(jì)
流程 77
第5章 MiniMIPS32處理器的基本流水線
設(shè)計(jì)與實(shí)現(xiàn) 91
5.1 流水線的基本概念 91
5.1.1 什么是流水線 91
5.1.2 指令流水線 91
5.1.3 指令流水線的評價(jià)指標(biāo) 93
5.1.4 指令流水線的特點(diǎn) 94
5.2 MiniMIPS32處理器的整體結(jié)構(gòu)和
設(shè)計(jì)方法 94
5.2.1 MiniMIPS32處理器的整體
結(jié)構(gòu) 94
5.2.2 MiniMIPS32處理器的設(shè)計(jì)
方法 96
5.3 MiniMIPS32處理器的基本
流水線設(shè)計(jì) 97
5.3.1 非轉(zhuǎn)移類R-型指令的流水線
數(shù)據(jù)通路的設(shè)計(jì) 97
5.3.2 非轉(zhuǎn)移類I-型指令的流水線
數(shù)據(jù)通路的設(shè)計(jì) 120
5.3.3 控制單元的設(shè)計(jì) 134
5.4 基于Verilog HDL的實(shí)現(xiàn)與測試 142
5.4.1 MiniMIPS32處理器的基本
流水線的Verilog實(shí)現(xiàn) 142
5.4.2 MiniMIPS32_SYS原型系統(tǒng)的
Verilog實(shí)現(xiàn) 169
5.4.3 功能測試 171
第6章 MiniMIPS32處理器的流水線
相關(guān)問題和暫停機(jī)制 175
6.1 流水線的數(shù)據(jù)相關(guān)和消除方法 175
6.1.1 數(shù)據(jù)相關(guān)的概念 175
6.1.2 數(shù)據(jù)相關(guān)的消除辦法 177
6.1.3 支持定向前推的MiniMIPS32
處理器的設(shè)計(jì) 179
6.1.4 基于Verilog HDL的實(shí)現(xiàn)與
測試 181
6.2 流水線的控制相關(guān)和消除辦法 189
6.2.1 控制相關(guān)的概念 189
6.2.2 控制相關(guān)的消除辦法 189
6.2.3 轉(zhuǎn)移指令流水線數(shù)據(jù)通路的
設(shè)計(jì) 191
6.2.4 轉(zhuǎn)移指令流水線控制單元的
設(shè)計(jì) 193
6.2.5 基于Verilog HDL的實(shí)現(xiàn)與
測試 196
6.3 流水線的暫停機(jī)制 205
6.3.1 引起流水線暫停的原因 206
6.3.2 多周期除法指令的設(shè)計(jì) 207
6.3.3 支持暫停機(jī)制的流水線的
設(shè)計(jì) 208
6.3.4 基于Verilog HDL的實(shí)現(xiàn)與
測試 211
第7章 MiniMIPS32處理器異常處理的
設(shè)計(jì)與實(shí)現(xiàn) 225
7.1 CP0協(xié)處理器 225
7.1.1 概述 225
7.1.2 協(xié)處理器CP0中的寄存器 226
7.1.3 協(xié)處理器CP0指令及數(shù)據(jù)
相關(guān) 229
7.2 異常的基本概念 230
7.2.1 異常和中斷 230
7.2.2 異常處理的流程 231
7.3 MiniMIPS32處理器的異常處理 232
7.3.1 精確異常 232
7.3.2 支持的異常類型 233
7.3.3 MiniMIPS32處理器的異常
處理流程 234
7.3.4 支持異常處理的MiniMIPS32
處理器流水線的設(shè)計(jì) 236
7.4 基于Verilog HDL的實(shí)現(xiàn)與測試 240
7.4.1 支持異常處理的MiniMIPS32
處理器流水線的Verilog HDL
實(shí)現(xiàn) 240
7.4.2 功能測試 260
第8章 綜合測試 264
8.1 改進(jìn)的MiniMIPS32_SYS原型
系統(tǒng) 264
8.1.1 原型系統(tǒng)的架構(gòu) 264
8.1.2 原型系統(tǒng)的實(shí)現(xiàn) 265
8.2 測試方法概述 272
8.3 功能點(diǎn)測試 273
8.4 C程測試 279
附錄A MiniMIPS32處理器交叉編譯
環(huán)境的搭建 281
A.1 虛擬機(jī)Virtual Box的安裝 281
A.2 Ubuntu Linux操作系統(tǒng)的安裝 284
A.3 MiniMIPS32交叉編譯環(huán)境的安裝
與配置 290
附錄B 指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì) 293
B.1 指令存儲(chǔ)器的設(shè)計(jì) 293
B.2 數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì) 299
參考文獻(xiàn) 304