《现代计算机组成原理》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:潘松,潘明编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2007
  • ISBN:7030184491
  • 页数:412 页
图书介绍:本书介绍基于EDA技术和SOPC技术的计算机组成原理,计算机的硬件实现方法,软硬件调试方法和不同规模、功能和性能的CPU设计技术,能与国外计算机组成原理课程的教学和实验很好的接轨。内容。主要分为5个部分,1、EDA技术基本内容,包括EDA软件使用方法,FPGA结构和VHDL基础;2、完全基于EDA技术的8位复杂指令CPU软硬件设计,包含了传统计算机组成原理中CPU设计的全部内容;3、基于EDA技术的16位精简指令CPU软硬件设计;4、计算机体系结构的EDA平台实现和研究;5、基于SOPC技术的32位Nios/II软核嵌入式系统的软硬件设计与开发;6、8051 IP核开发应用。

第1章 概述 1

1.1 现代计算机组成原理课的任务 1

1.1.1 问题的提出 1

1.1.2 探索解决问题的方法 3

1.2 EDA技术 5

1.3 FPGA器件 6

1.3.1 FPGA的发展历程 6

1.3.2 Cyclone系列FPGA 7

1.4 硬件描述语言VHDL 8

1.5 EDA设计流程 9

1.6 QuartusII简介 11

1.7 CISC和RISC处理器 12

1.8 FPGA在现代计算机领域中的应用 14

第2章 VHDL与QuartusII应用 16

2.1 VHDL基本语句语法 16

2.1.1 组合电路的VHDL描述 16

2.1.2 VHDL语句结构 18

2.2 时序电路描述 22

2.2.1 D触发器描述 22

2.2.2 时序描述相关语法规则 23

2.2.3 实现时序电路的VHDL不同表述 27

2.3 全加器描述及相关语法 29

2.3.1 半加器描述 30

2.3.2 CASE语句 32

2.3.3 例化语句 33

2.4 计数器设计及相关语法 35

2.5 一般计数器设计 38

2.5.1 相关语法说明 39

2.5.2 程序功能和语法分析 39

2.5.3 含并行置位的移位寄存器设计 40

2.6 QuartusII 6.0使用向导 42

2.6.1 建立工作库文件夹和编辑设计文件 42

2.6.2 创建工程 43

2.6.3 编译前设置 45

2.6.4 全程编译 45

2.6.5 时序仿真 47

2.6.6 应用RTL电路图观察器 50

2.6.7 引脚锁定设置和下载 50

2.6.8 配置文件下载 52

2.6.9 AS模式和JTAG间接模式编程配置器件 53

2.7 嵌入式逻辑分析仪使用方法 55

2.8 原理图输入设计方法 58

习题 61

实验与设计 62

2-1 组合电路的设计 62

2-2 时序电路的设计 63

2-3 含异步清零和同步时钟使能的加法计数器的设计 63

2-4 用原理图输入法设计8位全加器 63

第3章 VHDL深入 65

3.1 数据对象 65

3.1.1 常数 65

3.1.2 变量 66

3.1.3 信号 66

3.1.4 进程中的信号赋值与变量赋值 67

3.2 IF语句概述 75

3.3 进程语句归纳 78

3.3.1 进程语句格式 78

3.3.2 进程结构组成 79

3.3.3 进程要点 79

3.4 并行语句例解 82

3.5 仿真延时 83

3.5.1 固有延时 83

3.5.2 传输延时 84

3.5.3 仿真δ 84

3.6 有限状态机 85

3.6.1 数据类型定义语句 85

3.6.2 一般有限状态机的设计 87

3.6.3 Moore型状态机 91

3.6.4 Mealy型状态机 96

3.7 双向和三态电路信号赋值 98

3.7.1 三态门设计 98

3.7.2 双向端口设计 99

3.7.3 三态总线电路设计 101

习题 103

实验与设计 105

3-1 7段数码显示译码器设计 105

3-2 数控分频器的设计 107

3-3 8位十六进制频率计设计 109

3-4 ADC0809采样控制电路实现 110

3-5 序列检测器设计 110

第4章 CPU功能模块设计 112

4.1 8位CPU功能与结构 112

4.2 CPU中的基本部件 113

4.2.1 算术逻辑单元 113

4.2.2 数据缓冲寄存器 116

4.2.3 移位运算器 116

4.2.4 程序存储器与数据存储器 118

4.2.5 先进先出存储器FIFO 127

4.2.6 流水线乘法累加器 128

4.2.7 程序计数器与地址寄存器 130

4.2.8 指令寄存器 132

4.2.9 指令译码器与控制器 132

4.2.10 时序产生器 136

4.3 数据通路设计 138

4.3.1 模型机的数据通路 138

4.3.2 模型机的电路结构 139

4.4 在系统存储器数据读写编辑器应用 140

4.5 嵌入式锁相环调用 142

4.5.1 建立嵌入式锁相环元件 142

4.5.2 测试锁相环 143

习题 144

实验与设计 145

4-1 算术逻辑运算单元ALU设计实验 145

4-2 带进位算术逻辑运算单元ALU设计实验 148

4-3 移位运算器设计实验 150

4-4 LPM_ROM实验 151

4-5 LPM_RAM实验 152

4-6 LPM_FIFO实验 154

4-7 FPGA与外部16位RAM接口实验 155

4-8 微控制器实验1:节拍脉冲发生器时序电路实验 156

4-9 微控制器实验2:程序计数器PC与地址寄存器AR实验 157

4-10 微控制器实验3:微控制器组成实验 159

4-11 正弦信号发生器设计 162

第5章 8位CISC计算机设计 163

5.1 8位CPU结构 163

5.2 指令系统的结构及功能的确定 166

5.2.1 模型机指令系统 166

5.2.2 拟定指令流程和微命令序列 167

5.2.3 微程序设计 171

5.3 8位CPU的硬件系统设计 173

5.3.1 CPU顶层设计 173

5.3.2 取指令和指令译码 175

5.3.3 设计微代码表 176

5.3.4 建立数据通路 177

5.3.5 运算器ALU的设计 178

5.3.6 控制执行单元 178

5.3.7 在模型CPU中的软件执行 179

5.3.8 模型CPU的硬件仿真 182

5.4 具有移位功能的CPU设计 185

5.4.1 移位运算器的VHDL设计 185

5.4.2 移位运算器与ALU的结合设计 186

5.5 含更多指令的CPU模型机设计 187

5.5.1 指令系统的格式 188

5.5.2 寻址方式确定 189

5.5.3 微程序控制流程图设计 190

5.5.4 微程序代码在LPM模块中的加载 191

5.6 8051单片机IP软核应用系统构建 193

5.6.1 K8051单片机软核基本功能和结构 193

5.6.2 K8051单片机软核实用系统构建和软件测试 196

习题 198

实验与设计 199

5-1 基本模型计算机设计与实现 199

5-2 带移位运算的模型机设计与实现 205

5-3 含16条指令的CPU设计与实现 210

5-4 较复杂CPU应用程序设计实验 213

5-5 K8051单片机核基本系统构建和测试实验 219

5-6 基于K8051核的液晶显示与等精度频率测试系统设计 220

5-7 基于K8051核的数码管显示与等精度频率测试系统设计 222

第6章 16位CISC CPU设计 223

6.1 顶层系统设计 223

6.1.1 16位CPU的组成结构 223

6.1.2 指令系统设计 224

6.1.3 顶层结构的VHDL设计 227

6.1.4 软件设计实例 230

6.2 CPU基本部件设计 232

6.2.1 运算器 232

6.2.2 比较器 234

6.2.3 控制器 236

6.2.4 寄存器与寄存器阵列 240

6.2.5 移位寄存器 242

6.2.6 三态寄存器 244

6.3 CPU的时序仿真与实现 245

6.3.1 编辑仿真波形文件 245

6.3.2 16位CPU的调试运行 248

6.3.3 应用嵌入式逻辑分析仪调试CPU 248

6.3.4 对配置器件编程 250

6.4 应用程序设计实例 251

6.4.1 乘法算法及其硬件实现 251

6.4.2 除法算法及其硬件实现 251

习题 252

实验与设计 253

6-1 16位计算机基本部件实验 253

6-2 16位CPU设计综合实验 253

第7章 流水线结构RISC CPU设计 259

7.1 流水线的一般概念 259

7.1.1 DLX指令流水线结构 260

7.1.2 流水线CPU的时空图 263

7.1.3 流水线分类 264

7.2 流水线中的主要问题及处理 265

7.2.1 资源相关 265

7.2.2 数据相关及其分类 266

7.2.3 数据竞争的处理技术 267

7.2.4 控制相关 273

7.2.5 流水实现的关键技术 273

7.3 流水线的性能评价 275

7.3.1 流水线的性能指标 275

7.3.2 应用举例 277

7.3.3 Amdahl定律 283

习题 284

实验与设计 286

7-1 乘法器实验 286

7-2 除法器实验 290

第8章 16位流水线CPU设计 293

8.1 流水线CPU的结构 293

8.2 指令系统设计 294

8.2.1 寄存器型(R型) 296

8.2.2 寄存器立即数型(RI型) 296

8.2.3 立即数型(I型) 296

8.2.4 立即移位型(SI型) 296

8.3 数据通路设计 297

8.3.1 R型数据通路 297

8.3.2 RI型数据通路 297

8.3.3 装入字数据通路 297

8.3.4 存储字数据通路 298

8.3.5 寄存器转移数据通路 298

8.4 流水线各段设计和功能描述 299

8.4.1 Stage 1取指令段 299

8.4.2 Stage 2译码段ID 306

8.4.3 Stage 3执行有效地址计算段(EXE) 313

8.4.4 Stage 4访存段(MEM) 318

8.4.5 Stage 5回写段(WB) 321

8.4.6 一些关键功能部件的设计 321

8.4.7 控制单元 328

8.4.8 中断与异常 328

8.4.9 流水线CPU系统电路结构 329

8.4.10 CPU与LCD显示模块的接口 330

习题 333

实验与设计 333

8-1 Stage 1取指令段实验 333

8-2 Stage 2指令译码段实验 336

8-3 Stage 3指令执行段实验 340

8-4 Stage 4/5存储与写回段实验 343

8-5 数据相关性控制实验 344

8-6 数据通路实验 345

8-7 流水线CPU综合实验 346

第9章 32位IP软核嵌入式系统 351

9.1 Nios/NiosII软核处理器 351

9.2 Nios软核处理器及其设计流程 353

9.2.1 Nios处理器 353

9.2.2 Nios处理器内部结构 354

9.2.3 Nios系统硬件开发流程 355

9.2.4 Nios系统软件开发流程 356

9.3 32位NiosII系统设计 357

9.3.1 NiosII系统的优势 358

9.3.2 NiosII系统开发流程 359

9.4 自定制Avalon总线外设 362

9.5 DMA 364

9.6 自定制硬件指令 364

第10章 NiosII嵌入式系统软硬件设计 367

10.1 NiosII基本硬件系统构建 367

10.1.1 设计模型准备 367

10.1.2 NiosII系统加入组件 370

10.1.3 NiosII系统生成前设置与系统生成 376

10.1.4 NiosII硬件系统生成 377

10.2 NiosII软件设计与运行流程 379

10.3 加入用户自定义组件设计 390

10.4 加入用户自定义指令设计 398

10.5 Flash编程下载 401

习题 403

实验与设计 403

10-1 设计一个简单的NiosII系统 403

10-2 秒表程序设计 403

10-3 为NiosII系统定制复数乘法器硬件加速指令 404

10-4 利用NiosII系统完成简单计算器程序设计与功能实现 406

10-5 Avalon从外设(数码管动态扫描显示模块)设计 406

附录 GW48-CP+实验系统相关资料 407

一、GW48-CP+系统实验信号名与芯片引脚对照表 407

二、实验电路结构图 408

参考文献 412