| 价格 | ¥75.00 |
| 发货 | 广东东莞市 |
| 数量 | -+ |
| 库存 | 100本 |
本书以开源32位软核处理器OR1200为研究对象,像引导读者如做解剖学实验那般,对其进行剖析,力图使读者对教科书上介绍的处理器有一个实践上的认识,打破处理器令人高深莫测的印象,同时使读者了解处理器设计的细节。OR1200包括CPU、MMU、Cache、总线接口、电源管理、中断控制和计时器单元等多个模块,对于不同的模块,根据其难易程度,采用指令驱动分析法、情景分析法及直接分析源代码等不同的分析方法,便于读者理解。
通过阅读本书,读者可以掌握一款成熟的软核处理器OR1200的设计思路、实现方法,同时更加深刻、具体地理解计算机组成原理、计算机体系结构等课程介绍的知识。
目 录
第1章OpenRISC介绍 1
1.1 开源软核处理器 1
1.2 OpenRISC 1000架构 4
1.3 OR1200——OpenRISC 1000架构的一个实现 4
1.3.1 寻址模式 5
1.3.2 位和字节次序 6
1.3.3 寄存器集 6
1.3.4 指令集 7
1.3.5 异常模型 8
1.4 OR1200代码组织 8
1.5 本书的分析方法 11
第2章 实验环境的搭建 13
2.1 GNU开发工具链的安装 13
2.2 GNU开发工具链的使用 18
2.2.1 一个简单的汇编程序 18
2.2.2 编译及ELF文件介绍 19
2.2.3 链接 21
2.2.4 Makefile文件 23
2.2.5 使用OR1KSim模拟器运行程序 24
2.3 创建OR1200运行的系统 25
2.3.1 系统的创建 26
2.3.2 运行仿真 29
2.3.3 修改Makefile 30
2.3.4 观察流水线 32
2.3.5 流水线介绍 33
2.4 本书的一些说明及定义 34
2.4.1 一些说明 34
2.4.2 一些定义 35
第3章 QMEM剖析 37
3.1 QMEM的作用 37
3.2 Wishbone总线快速了解 40
3.3 QMEM的Wishbone总线接口 43
3.3.1 QMEM与CPU、IMMU的连接 44
3.3.2 QMEM与ICache的连接 45
3.3.3 QMEM与CPU、DMMU的连接 46
3.3.4 QMEM与DCache的连接 47
3.4 QMEM的内部RAM 49
3.5 复位后取第一条指令的过程分析 51
3.5.1 复位信号有效阶段 51
3.5.2 复位信号无效后的第一个时钟周期上升沿 56
3.5.3 复位信号无效后的第一个时钟周期的组合逻辑阶段 57
3.6 第二条及后续指令的读取过程分析 58
3.6.1 复位信号无效后的第二个时钟周期的上升沿 58
3.6.2 复位信号无效后的第二个时钟周期的组合逻辑阶段 59
第4章 数据处理类指令剖析 61
4.1 数据处理类指令说明 61
4.2 分析用例 65
4.3 流水线的简单模型 67
4.4 l.add指令分析 69
4.4.1 l.add取指阶段的组合逻辑输出 70
4.4.2 l.add取指阶段的时序逻辑输出 73
4.4.3 l.add译码阶段的组合逻辑输出 75
4.4.4 l.add译码阶段的时序逻辑输出 80
4.4.5 l.add执行阶段的组合逻辑输出 91
4.4.6 l.add执行阶段的时序逻辑输出 97
4.4.7 第一条指令分析小结 98
4.5 l.sfeqi指令分析 99
4.5.1 l.sfeqi取指阶段的组合逻辑输出 99
4.5.2 l.sfeqi取指阶段的时序逻辑输出 100
4.5.3 l.sfeqi译码阶段的组合逻辑输出 100
4.5.4 l.sfeqi译码阶段的时序逻辑输出 101
4.5.5 l.sfeqi执行阶段的组合逻辑输出 102
4.5.6 l.sfeqi执行阶段的时序逻辑输出 105
4.5.7 第二条指令分析小结 106
4.6 ALU分析 106
4.7 流水线数据相关的解决方法 112
4.8 定制属于自己的指令 117
4.9 不完整流水线数据通路图 121
第5章 特殊寄存器访问类指令剖析 123
5.1 OR1200中的特殊寄存器 123
5.2 第0组特殊寄存器 125
5.3 特殊寄存器访问类指令说明 127
5.4 分析用例 128
5.5 l.mfspr指令分析 130
5.5.1 l.mfspr取指阶段的组合逻辑输出 131
5.5.2 l.mfspr取指阶段的时序逻辑输出 132
5.5.3 l.mfspr译码阶段的组合逻辑输出 132
5.5.4 l.mfspr译码阶段的时序逻辑输出 133
5.5.5 l.mfspr执行阶段第1个时钟周期的组合逻辑输出 135
5.5.6 l.mfspr执行阶段第1个时钟周期的时序逻辑输出 138
5.5.7 l.mfspr执行阶段第2个时钟周期的组合逻辑输出 141
5.5.8 l.mfspr执行阶段第2个时钟周期的时序逻辑输出 144
5.5.9 l.mfspr指令分析小结 144
5.6 l.mtspr指令分析 145
5.6.1 l.mtspr执行阶段的组合逻辑输出 147
5.6.2 l.mtspr执行阶段的时序逻