《计算机系统设计 上 基于FPGA的RISC处理器设计与实现》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:魏继增,郭炜编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121351198
  • 页数:305 页
图书介绍:本教材为《计算机系统设计》系列教材的上册,以基于MIPS 32位指令集的微处理器MiniMIPS32为目标,讲授主流RISC流水线微处理器的设计与实现的方法、步骤与技巧。全书将讲解处理器微架构设计,数据通路的设计与实现,流水线设计与优化,软件环境与测试环境的搭建以及基于Digilent FPGA开发板的板级设计等几方面内容,知识点覆盖之前的数字逻辑设计,计算机组成原理,计算机体系结构三门课程,实现对着三门课程的贯穿式教学。

第1章 绪论 1

1.1 计算机系统概述 1

1.1.1 计算机系统的层次结构 1

1.1.2 计算机硬件系统的组成 2

1.1.3 计算机软件系统的组成 4

1.2 计算机系统的评价指标 4

1.3 处理器概述 6

1.3.1 指令集体系结构和微体系结构 6

1.3.2 CISC和RISC 6

1.3.3 指令集体系结构中的“五朵金花” 7

1.3.4 MIPS指令集体系结构的发展 8

1.4 本书的主要内容 10

1.4.1 目标处理器MiniMIPS32 10

1.4.2 原型系统MiniMIPS32 SYS 10

第2章 MiniMIPS32处理器的指令集体系结构 12

2.1 操作数的数据类型 12

2.2 寄存器概述 12

2.3 MiniMIPS32存储空间的编址方式 15

2.4 指令系统 16

2.4.1 MiniMIPS32的指令格式 16

2.4.2 MiniMIPS32指令集和具体操作 16

2.5 MiniMIPS32指令的寻址方式 36

2.6 MiniMIPS32的操作模式 38

2.7 协处理器CP0 38

2.8 异常处理 38

第3章 MiniMIPS32程序的机器级表示 40

3.1 从C程序到可执行目标程序 40

3.2 基于MiniMIPS32的汇编程序设计 42

3.2.1 汇编程序结构 42

3.2.2 汇编程序伪指令 42

3.2.3 汇编程序宏指令 46

3.2.4 MIPS指令集仿真器QtSpim 48

3.3 C语言程序的机器级表示 53

3.3.1 选择结构 53

3.3.2 循环结构 57

3.3.3 函数调用 58

3.3.4 数组 66

第4章 现场可编程逻辑门阵列(FPGA)及其设计流程 69

4.1 FPGA概述 69

4.1.1 Xilinx FPGA的基本结构 70

4.1.2 DIGILENT Nexys4 DDR FPGA开发平台 73

4.2 FPGA的设计流程 74

4.3 Xilinx Vivado集成设计环境 75

4.3.1 Vivado集成设计环境介绍 75

4.3.2 基于Vivado的FPGA设计流程 77

第5章 MiniMIPS32处理器的基本流水线设计与实现 91

5.1 流水线的基本概念 91

5.1.1 什么是流水线 91

5.1.2 指令流水线 91

5.1.3 指令流水线的评价指标 93

5.1.4 指令流水线的特点 94

5.2 MiniMIPS32处理器的整体结构和设计方法 94

5.2.1 MiniMIPS32处理器的整体结构 94

5.2.2 MiniMIPS32处理器的设计方法 96

5.3 MiniMIPS32处理器的基本流水线设计 97

5.3.1 非转移类R-型指令的流水线数据通路的设计 97

5.3.2 非转移类I-型指令的流水线数据通路的设计 120

5.3.3 控制单元的设计 134

5.4 基于Verilog HDL的实现与测试 142

5.4.1 MiniMIPS32处理器的基本流水线的Verilog实现 142

5.4.2 MiniMIPS32 SYS原型系统的Verilog实现 169

5.4.3 功能测试 171

第6章 MiniMIPS32处理器的流水线相关问题和暂停机制 175

6.1 流水线的数据相关和消除方法 175

6.1.1 数据相关的概念 175

6.1.2 数据相关的消除方法 177

6.1.3 支持定向前推的MiniMIPS32处理器的设计 179

6.1.4 基于Verilog HDL的实现与测试 181

6.2 流水线的控制相关和消除方法 189

6.2.1 控制相关的概念 189

6.2.2 控制相关的消除方法 189

6.2.3 转移指令流水线数据通路的设计 191

6.2.4 转移指令流水线控制单元的设计 193

6.2.5 基于Verilog HDL的实现与测试 196

6.3 流水线的暂停机制 205

6.3.1 引起流水线暂停的原因 206

6.3.2 多周期除法指令的设计 207

6.3.3 支持暂停机制的流水线的设计 208

6.3.4 基于Verilog HDL的实现与测试 211

第7章 MiniMIPS32处理器异常处理的设计与实现 225

7.1 CP0协处理器 225

7.1.1 概述 225

7.1.2 协处理器CP0中的寄存器 226

7.1.3 协处理器CP0指令及数据相关 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处理器流水线的设计 236

7.4 基于Verilog HDL的实现与测试 240

7.4.1 支持异常处理的MiniMIPS32处理器流水线的Verilog HDL实现 240

7.4.2 功能测试 260

第8章 综合测试 264

8.1 改进的MiniMIPS32 SYS原型系统 264

8.1.1 原型系统的架构 264

8.1.2 原型系统的实现 265

8.2 测试方法概述 272

8.3 功能点测试 273

8.4 C程序测试 279

附录A MiniMIPS32处理器交叉编译环境的搭建 281

A.1 虚拟机Virtual Box的安装 281

A.2 Ubuntu Linux操作系统的安装 284

A.3 MiniMIPS32交叉编译环境的安装与配置 290

附录B 指令存储器和数据存储器的设计 293

B.1 指令存储器的设计 293

B.2 数据存储器的设计 299

参考文献 304