《深入理解OpenRISC体系结构》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:甄建勇编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111504047
  • 页数:368 页
图书介绍:这是一本介绍OpenRISC体系结构的图书。通读对本书的阅读,读者不仅可以获得计算机体系结构设计的基础理论知识,还可以掌握动手设计处理器的基本技能,迈入CPU设计的大门。本书的内容大致可分为三部分,即知识储备、实例分析和动手实践。其中第一部分着重介绍了体系结构设计中的概念、并行技术、局部性原理,以及进行计算机体系接结构设计的一般流程。第二部分,以OpenRISC为分析对象,深入分析了开源CPU数据通路、控制通路和存储器层次组织的实际实现,对研究体系结构设计具有很高的现实意义和实际价值。此外本部分还介绍了以OpenRISC为基础的ORPSoC的很多设计细节。第三部分,介绍如何运用前面的积累设计一个简单的RISC核,以及设计的仿真和FPGA验证。本书适合急于了解和掌握体系结构设计基础,对开源CPU内部实现充满好奇,并想动手设计属于自己CPU的读者,以及从事嵌入式开发的技术人员。此外,本书还可作为对计算机体系结构设计感兴趣的电子工程类、自动控制类、计算机类的高年级本科生和研究生的参考用书。

第1章 绪论 1

1.1 概述 1

1.2 计算机漫谈 3

1.2.1 十进制计算机 3

1.2.2 二进制计算机 7

1.3 计算机体系结构 12

1.3.1 图灵与图灵机 12

1.3.2 冯·诺依曼与冯·诺依曼体系结构 14

1.3.3 改进的哈佛体系结构 17

1.3.4 发展趋势 19

1.4 并行技术 20

1.4.1 流水线 20

1.4.2 乱序 22

1.4.4 单指令多数据流 22

1.4.5 同时多线程 23

1.4.6 单芯片多处理器 23

1.4.7 对称多处理器 25

1.5 局部性原理 25

1.6 计算机的评价 26

1.7 设计流程 27

1.7.1 分析 27

1.7.2 模拟器 28

1.7.3 FPGA设计 29

1.7.4 ASIC 35

1.8 OpenRISC 36

1.8.1 概述 36

1.8.2 OpenRISC寄存器集 37

1.8.3 OpenRISC指令集 41

1.9 小结 41

1.10 习题 42

第2章 基于OpenRISC的开发 43

2.1 概述 44

2.2 项目描述 44

2.3 开发环境的构建 44

2.3.1 开发环境的组成 44

2.3.2 开发环境的选择与安装 46

2.4 硬件的开发 51

2.4.1 模块划分和编码实现 51

2.4.2 功能仿真与时序仿真 51

2.5 驱动程序的开发 55

2.6 FPGA板级验证 66

2.7 硬件与软件的比较 66

2.8 ORPSoC与or1200 70

2.8.1 ORPSoC架构分析 70

2.8.2 ORPSoC的启动过程 73

2.8.3 or1200 83

2.9 小结 86

2.10 习题 86

第3章 数据通路设计 87

3.1 概述 87

3.2 数据通路 87

3.3 OpenRISC的数据通路整体架构分析 88

3.4 取指 89

3.5 译码 97

3.6 执行 118

3.6.1 运算部件基础 118

3.6.2 or1200的运算部件 127

3.7 访存 135

3.7.1 流水线的访存阶段 135

3.7.2 or1200访存阶段的具体实现分析 136

3.8 写回 142

3.8.1 or1200写回阶段整体功能 142

3.8.2 or1200写回阶段具体实现代码分析 143

3.9 设计一个简单的除法器 150

3.10 小结 156

3.11 习题 157

第4章 控制通路设计 158

4.1 概述 158

4.2 控制通路的复杂性 158

4.3 OR的控制通路设计分析 160

4.3.1 整体介绍 160

4.3.2 sprs模块 160

4.4 OR的异常处理 172

4.4.1 except模块 172

4.4.2 freeze模块 187

4.5 OR的调试系统 190

4.5.1 调试方案的分类 190

4.5.2 advanced debug system 192

4.5.3 我的调试系统 195

4.5.4 JTAG模块 201

4.6 基于or1200的中断实验 223

4.7 小结 239

4.8 习题 239

第5章 存储器组织 240

5.1 概述 240

5.2 TLB与Cache 241

5.2.1 概述 241

5.2.2 TLB 243

5.2.3 Cache 250

5.3 OR的存储器组织 256

5.3.1 OR的MMU 257

5.3.2 OR的Cache 265

5.4 自己设计一个简单的Cache 292

5.5 小结 293

5.6 习题 294

第6章 自己设计一个简单的CPU 295

6.1 概述 295

6.2 层次建模 295

6.3 可综合代码风格 299

6.4 一个简单CPU的设计、实现、仿真与综合 300

6.4.1 架构设计 301

6.4.2 模块划分 301

6.4.3 模块划分与接口定义 302

6.4.4 RTL实现 303

6.4.5 ModelSim仿真 326

6.4.6 综合 331

6.4.7 改进及优化 332

6.4.8 tiny_core的指令集 333

6.5 小结 334

6.6 习题 334

附录A 常用公式和定律 335

附录B wishbone 337

附录C 状态机的4种写法 340

附录D 跨时钟域信号的同步 352

附录E 推荐阅读 362

参考文献 364

后记 365