当前位置:首页 > 工业技术
计算机组成原理与接口技术  基于MIPS架构实验教程
计算机组成原理与接口技术  基于MIPS架构实验教程

计算机组成原理与接口技术 基于MIPS架构实验教程PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:左冬红编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302512622
  • 页数:570 页
图书介绍:本书以MIPS微处理器为背景,全面阐述了计算机组成原理与接口技术。首先简要阐述了计算机系统的基本构成、结构模型、工作原理以及计算机系统的信息表示、存储和运算基础; 然后重点介绍了MIPS指令系统、汇编程序设计及其C语言常用语句的汇编指令实现方法,并介绍了一个基于简单MIPS指令集单周期微处理器的具体实现方法。
《计算机组成原理与接口技术 基于MIPS架构实验教程》目录

第1篇 MIPS汇编程序设计 3

第1章 QtSpim汇编程序开发环境 3

1.1 QtSpim简介 3

1.2 QtSpim菜单栏简介 4

1.2.1 File菜单 4

1.2.2 Simulator菜单 5

1.2.3 其余菜单 5

1.3 QtSpim汇编、调试程序示例 7

1.3.1 QtSpim用户程序入口 7

1.3.2 QtSpim汇编查错 7

1.3.3 QtSpim查看程序存储映像 10

1.3.4 QtSpim调试查错 13

第2章 MARS汇编程序开发环境 17

2.1 MARS界面简介 17

2.2 MARS菜单栏简介 19

2.2.1 File菜单 19

2.2.2 Run菜单 19

2.2.3 Settings菜单 20

2.3 MARS汇编、调试程序 21

2.3.1 汇编语言源程序编辑 21

2.3.2 汇编器 21

2.3.3 查看程序存储映像 22

2.3.4 运行程序 23

第3章 MIPS汇编语言 25

3.1 MIPS汇编程序结构 25

3.2 系统功能调用 26

3.3 伪指令 26

3.4 常用宏汇编指令 28

第4章 MIPS汇编语言程序示例 32

4.1 常用C语句汇编指令实现示例 32

4.1.1 if语句 32

4.1.2 while语句 32

4.1.3 for语句 33

4.1.4 switch语句 33

4.2 子程序设计示例 35

4.2.1 子程序结构 35

4.2.2 递归子程序设计 36

4.3 MIPS汇编语言程序设计实验任务 38

4.4 思考题 39

第2篇 基于FPGA的原型计算机系统设计 43

第5章 Vivado开发工具简介 43

5.1 FPGA设计流程简介 43

5.2 EDA工具Vivado简介 44

第6章 单周期类MIPS微处理器实验 46

6.1 简单指令集MIPS微处理器设计 46

6.1.1 MIPS微处理器数据通路 46

6.1.2 MIPS微处理器控制器 48

6.2 简单指令集MIPS微处理器各模块实现方案 51

6.2.1 存储器 51

6.2.2 寄存器文件 65

6.2.3 运算电路 67

6.2.4 多路复用器 67

6.2.5 位宽扩展 68

6.2.6 控制器 68

6.3 MIPS微处理器实验实现过程示例 69

6.3.1 实验环境 69

6.3.2 创建工程 70

6.3.3 基于IP核新建存储器模块 76

6.3.4 Verilog语言描述其余模块 86

6.3.5 模块功能仿真 94

6.3.6 顶层模块 100

6.3.7 RTL分析 101

6.3.8 引脚约束 101

6.3.9 整体仿真 105

6.3.10 MIPS微处理器综合 114

6.3.11 debug IP核插入 117

6.3.12 MIPS微处理器实现 122

6.3.13 下载编程及测试 125

6.4 实验任务 127

6.5 思考题 128

第7章 存储器映像IO接口设计 130

7.1 存储器映像IO接口原理 130

7.2 存储器映像IO接口实现方案 133

7.3 实验示例 133

7.3.1 实验设备简介 134

7.3.2 新建项目并添加原有代码 134

7.3.3 新建IO接口模块Verilog代码 138

7.3.4 IO接口模块仿真 140

7.3.5 IO接口模块集成 141

7.3.6 汇编源程序示例 142

7.3.7 输入/输出设备引脚约束 144

7.3.8 下载编程测试 144

7.4 实验任务 146

7.5 思考题 146

第8章 VGA接口设计 148

8.1 VGA接口显示原理 148

8.1.1 VGA接口时序 148

8.1.2 VGA显示控制器 149

8.2 VGA控制器实现 150

8.2.1 显示存储器 150

8.2.2 计数器 153

8.2.3 控制逻辑 153

8.2.4 显示存储器地址产生 154

8.2.5 视频数据复用器 154

8.2.6 像素时钟产生 155

8.3 实验示例 156

8.3.1 实验要求 156

8.3.2 实验板VGA接口简介 156

8.3.3 创建工程并添加已有设计代码 157

8.3.4 显示存储器模块 158

8.3.5 计数器模块 158

8.3.6 控制逻辑模块 159

8.3.7 显示存储器地址产生模块 159

8.3.8 VGA控制器模块 159

8.3.9 像素时钟产生模块 160

8.3.10 修改IO接口模块 160

8.3.11 顶层模块集成 161

8.3.12 汇编控制程序 162

8.3.13 整体功能仿真 162

8.3.14 下载编程测试 163

8.4 实验任务 165

8.5 思考题 166

第3篇 基于IP核的嵌入式计算机系统软硬件设计 169

第9章 MicroBlaze嵌入式系统平台 169

9.1 MicroBlaze软核微处理器 169

9.1.1 MicroBlaze基本结构 169

9.1.2 MicroBlaze中断系统 169

9.1.3 MicroBlaze总线结构 171

9.2 standalone操作系统 173

第10章 嵌入式最小系统建立流程 176

10.1 嵌入式最小系统硬件构成 176

10.2 最小系统硬件平台搭建 177

10.3 SDK Hello World程序设计 190

10.4 下载编程测试 194

10.5 实验任务 196

10.6 思考题 196

第11章 C语言数据类型 197

11.1 C语言常见数据类型 197

11.2 实验示例 197

11.2.1 C语言数据类型测试工程 198

11.2.2 C语言数据类型程序调试 199

11.3 实验任务 206

11.4 思考题 206

第12章 程序控制并行IO接口 207

12.1 并行输入/输出设备 207

12.2 GPIO IP核工作原理 209

12.3 并行接口电路原理框图 211

12.4 GPIO IP核配置 213

12.4.1 添加GPIO IP核 213

12.4.2 GPIO IP核属性配置 213

12.4.3 并行外设GPIO IP核配置示例 215

12.4.4 GPIO API函数简介 217

12.5 Xilinx C IO读写函数 218

12.6 实验示例 218

12.6.1 实验要求 218

12.6.2 电路原理框图 219

12.6.3 硬件平台搭建 219

12.6.4 接口软件开发 222

12.6.5 IO读写函数程序代码 227

12.6.6 API函数程序代码 228

12.6.7 实验现象 230

12.7 实验任务 236

12.8 思考题 237

第13章 中断方式并行接口 238

13.1 中断系统相关IP核 238

13.1.1 AXIINTC中断控制器 238

13.1.2 AXI Timer定时计数器 239

13.2 中断相关IP核配置 241

13.2.1 中断控制器配置 241

13.2.2 GPIO IP核中断配置 242

13.2.3 定时计数器配置 242

13.3 IP核API函数 244

13.3.1 中断控制器API函数 244

13.3.2 定时计数器API函数 246

13.4 中断程序设计 247

13.4.1 总中断服务程序 247

13.4.2 中断程序构成 247

13.5 实验示例 247

13.5.1 实验要求 247

13.5.2 硬件电路原理框图 248

13.5.3 硬件平台建立 248

13.5.4 软件设计 251

13.5.5 IO读写函数程序代码 254

13.5.6 API函数程序代码 261

13.5.7 实现现象 266

13.6 实验任务 267

13.7 思考题 268

第14章 并行存储器接口 269

14.1 并行RAM存储芯片 269

14.1.1 异步SRAM存储芯片 269

14.1.2 DDR2 SDRAM存储芯片 272

14.2 存储器接口IP核 275

14.2.1 AXI外部存储控制器EMC 275

14.2.2 存储器接口生成器IP核MIG 277

14.3 异步SRAM实验示例 284

14.3.1 实验要求 284

14.3.2 电路原理框图 284

14.3.3 硬件平台搭建 285

14.3.4 SRAM存储器读写测试软件 292

14.3.5 实验现象 295

14.3.6 任意指定存储单元读写程序设计 296

14.4 DDR2 SDRAM实验示例 297

14.4.1 实验要求 297

14.4.2 电路原理框图 297

14.4.3 硬件平台搭建 297

14.4.4 DDR2 SDRAM存储器读写测试软件 303

14.4.5 实验现象 305

14.4.6 任意指定存储单元读写程序设计 307

14.5 实验任务 308

14.6 思考题 308

第15章 串行接口 310

15.1 串行通信协议简介 310

15.1.1 UART串行通信协议 310

15.1.2 SPI串行通信协议 311

15.1.3 Quad SPI协议 313

15.2 串行通信接口IP核原理 313

15.2.1 Uartlite IP核 313

15.2.2 Quad SPI IP核 314

15.3 串行通信IP核配置 317

15.3.1 Uartlite IP核配置 317

15.3.2 Quad SPI IP核配置 317

15.4 SPI接口外设 319

15.4.1 DA模块 319

15.4.2 AD模块 321

15.5 IP核API函数 322

15.5.1 Uartlite API函数 322

15.5.2 Quad SPI API函数 324

15.6 实验示例 325

15.6.1 UART通信 325

15.6.2 SPI接口DA转换 332

15.6.3 SPI接口AD转换 341

15.7 实验任务 349

15.8 思考题 350

第16章 DMA技术 351

16.1 DMA控制器简介 351

16.1.1 CDMA IP核基本结构 351

16.1.2 CDMA IP核寄存器 352

16.1.3 CDMA IP核简单DMA传输流程 353

16.2 实验示例 354

16.2.1 实验要求 354

16.2.2 硬件电路原理框图 354

16.2.3 硬件平台 354

16.2.4 存储器到存储器DMA传输控制程序 358

16.2.5 存储器到IO接口数据传输控制程序 359

16.2.6 IO接口到存储器DMA数据传输控制程序 359

16.2.7 实验现象 362

16.3 实验任务 364

16.4 思考题 364

第17章 自定义AXI总线从设备接口IP核 365

17.1 AXI总线从设备IP核创建流程和代码框架 365

17.1.1 AXI总线从设备IP核创建流程 365

17.1.2 自定义IP核代码框架 368

17.2 自定义AXI总线简单并行IO接口IP核实验示例 373

17.2.1 实验要求 373

17.2.2 并行接口IP核设计 373

17.2.3 并行接口IP核测试嵌入式系统 375

17.3 自定义AXI总线UART串行接口IP核实验示例 379

17.3.1 实验要求 379

17.3.2 实验条件 379

17.3.3 UART串行接口IP核设计 385

17.3.4 UART IP核测试嵌入式系统 389

17.4 自定义AXI总线语音输入/输出接口IP核实验示例 392

17.4.1 实验要求 392

17.4.2 实验条件 392

17.4.3 PDM语音输入IP核设计 395

17.4.4 PWM语音输出IP核设计 397

17.4.5 语音输入/输出IP核测试嵌入式系统 398

17.5 实验任务 401

17.6 思考题 403

第18章 VGA显示接口 404

18.1 VGA接口控制器TFT IP核 404

18.1.1 工作原理 404

18.1.2 TFT IP核配置 406

18.1.3 TFT IP核API 函数 406

18.2 VGA接口嵌入式系统 408

18.3 实验示例 408

18.3.1 实验要求 408

18.3.2 硬件平台搭建 408

18.3.3 IO读写函数输出图形程序示例 413

18.3.4 API函数输出字符程序示例 413

18.3.5 IO读写函数输出图像程序示例 414

18.3.6 实验现象 418

18.4 实验任务 419

18.5 思考题 420

第19章 传感器 421

19.1 温度传感器ADT7420 421

19.1.1 ADT7420结构 421

19.1.2 ADT7420寄存器 422

19.1.3 ADT7420写入数据时序 424

19.1.4 ADT7420读取数据时序 425

19.1.5 复位流程 425

19.1.6 INT和CT输出 426

19.2 加速度传感器ADXL362 428

19.2.1 ADXL362基本结构 428

19.2.2 ADXL362寄存器 429

19.2.3 ADXL362 SPI接口命令 433

19.2.4 配置流程 434

19.3 AXI IIC IP核 435

19.3.1 AXI IIC IP核基本结构 435

19.3.2 AXI IIC IP核寄存器 435

19.3.3 数据传输控制流程 437

19.4 XADC IP核 438

19.4.1 XADC IP核基本结构 438

19.4.2 XADC IP核寄存器 440

19.4.3 外部模拟信号输入电路 445

19.5 温度和加速度测量实验示例 446

19.5.1 实验要求 446

19.5.2 电路原理框图 446

19.5.3 硬件平台搭建 446

19.5.4 1O读写函数温度监测程序示例 451

19.5.5 IO读写函数加速度监测程序示例 470

19.5.6 实验现象 487

19.6 XADC 4路AD转换实验示例 490

19.6.1 实验要求 490

19.6.2 电路原理框图 490

19.6.3 硬件平台搭建 490

19.6.4 API函数XADC控制程序示例 494

19.6.5 实验现象 497

19.7 实验任务 497

19.8 思考题 497

附录 501

附录A Nexys4 DDR实验板简介 501

A.1 Nexys4 DDR实验板整体布局 501

A.2 电源模块 502

A.3 FPGA编程模式 503

A.4 存储器 503

A.5 100/10 Mbps以太网接口 504

A.6 USB转UART接口 504

A.7 USB HID host接口 505

A.8 VGA接口 505

A.9 基本IO接口 505

A.10 PMOD接口 507

A.11 Micro SD卡插槽 507

A.12 温度传感器 508

A.13 加速度传感器 508

A.14 数字语音输入 508

A.15 单声道数字语音输出 509

附录B Nexys4 DDR实验板Vivado引脚约束文件 510

附录C Nexys4 实验板简介 513

C.1 Nexys4 实验板整体布局 513

C.2 Nexys4 存储器 514

附录D Nexys4 实验板V ivado引脚约束文件 515

附录E Nexys4 和Nexys4 DDR实验板描述文件安装 528

附录F Nexys4 DDR实验板外设接口电路原理图 530

附录G Nexys4 实验板外设接口电路原理图 538

附录H 以太网接口Echo Server工程示例 540

H.1 搭建具有以太网的嵌入式系统硬件平台 540

H.2 TCP/IP Server例程 548

H.3 实验现象 558

附录I 实验报告要求 562

附录J 实验报告范例——MIPS汇编程序设计 563

返回顶部