计算机系统设计(上册)基于FPGA的RISC处理器设计与实现

计算机系统设计(上册)基于FPGA的RISC处理器设计与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-11
版次: 1
ISBN: 9787121351198
定价: 55.00
装帧: 平装
开本: 其他
页数: 316页
21人买过
  • 本教材为《计算机系统设计》系列教材的上册,以基于MIPS 32位指令集的微处理器MiniMIPS32为目标,讲授主流RISC流水线微处理器的设计与实现的方法、步骤与技巧。全书将讲解处理器微架构设计,数据通路的设计与实现,流水线设计与优化,软件环境与测试环境的搭建以及基于Digilent FPGA开发板的板级设计等几方面内容,知识点覆盖之前的数字逻辑设计,计算机组成原理,计算机体系结构三门课程,实现对着三门课程的贯穿式教学。 魏继增,男,天津大学计算机科学与技术学院副教授,中国计算机学会计算机工程与工业专委会委员,中国计算机学会天津分委会委员,中国计算机学会会员,IEEE会员,ACM会员。长期从事计算机系统、嵌入式、集成电路领域的科研和教学工作。 目    录

     

    章  绪论 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
  • 内容简介:
    本教材为《计算机系统设计》系列教材的上册,以基于MIPS 32位指令集的微处理器MiniMIPS32为目标,讲授主流RISC流水线微处理器的设计与实现的方法、步骤与技巧。全书将讲解处理器微架构设计,数据通路的设计与实现,流水线设计与优化,软件环境与测试环境的搭建以及基于Digilent FPGA开发板的板级设计等几方面内容,知识点覆盖之前的数字逻辑设计,计算机组成原理,计算机体系结构三门课程,实现对着三门课程的贯穿式教学。
  • 作者简介:
    魏继增,男,天津大学计算机科学与技术学院副教授,中国计算机学会计算机工程与工业专委会委员,中国计算机学会天津分委会委员,中国计算机学会会员,IEEE会员,ACM会员。长期从事计算机系统、嵌入式、集成电路领域的科研和教学工作。
  • 目录:
    目    录

     

    章  绪论 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
查看详情