搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
步步惊“芯”:软核处理器内部设计分析
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121204890
  • 作      者:
    雷思磊著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2013
收藏
内容介绍

  《步步惊“芯”:软核处理器内部设计分析》以开源32位软核处理器OR1200为研究对象,像引导读者如做解剖学实验那般,对其进行剖析,力图使读者对教科书上介绍的处理器有一个实践上的认识,打破处理器令人高深莫测的印象,同时使读者了解处理器设计的细节。OR1200包括CPU、MMU、Cache、总线接口、电源管理、中断控制和计时器单元等多个模块,对于不同的模块,根据其难易程度,采用指令驱动分析法、情景分析法及直接分析源代码等不同的分析方法,便于读者理解。
  通过阅读《步步惊“芯”:软核处理器内部设计分析》,读者可以掌握一款成熟的软核处理器OR1200的设计思路、实现方法,同时更加深刻、具体地理解计算机组成原理、计算机体系结构等课程介绍的知识。

展开
目录

第1章 OpenRISC介绍
1.1 开源软核处理器
1.2 OpenRISC 1000架构
1.3 OR1200——OpenRISC 1000架构的一个实现
1.3.1 寻址模式
1.3.2 位和字节次序
1.3.3 寄存器集
1.3.4 指令集
1.3.5 异常模型
1.4 OR1200代码组织
1.5 本书的分析方法

第2章 实验环境的搭建
2.1 GNU开发工具链的安装
2.2 GNU开发工具链的使用
2.2.1 一个简单的汇编程序
2.2.2 编译及ELF文件介绍
2.2.3 链接
2.2.4 Makefile文件
2.2.5 使用OR1KSim模拟器运行程序
2.3 创建OR1200运行的最小系统
2.3.1 最小系统的创建
2.3.2 运行仿真
2.3.3 修改Makefile
2.3.4 观察流水线
2.3.5 流水线介绍
2.4 本书的一些说明及定义
2.4.1 一些说明
2.4.2 一些定义

第3章 QMEM剖析
3.1 QMEM的作用
3.2 Wishbone总线快速了解
3.3 QMEM的Wishbone总线接口
3.3.1 QMEM与CPU、IMMU的连接
3.3.2 QMEM与ICache的连接
3.3.3 QMEM与CPU、DMMU的连接
3.3.4 QMEM与DCache的连接
3.4 QMEM的内部RAM
3.5 复位后取第一条指令的过程分析
3.5.1 复位信号有效阶段
3.5.2 复位信号无效后的第一个时钟周期上升沿
3.5.3 复位信号无效后的第一个时钟周期的组合逻辑阶段
3.6 第二条及后续指令的读取过程分析
3.6.1 复位信号无效后的第二个时钟周期的上升沿
3.6.2 复位信号无效后的第二个时钟周期的组合逻辑阶段

第4章 数据处理类指令剖析
4.1 数据处理类指令说明
4.2 分析用例
4.3 流水线的简单模型
4.4 l.add指令分析
4.4.1 l.add取指阶段的组合逻辑输出
4.4.2 l.add取指阶段的时序逻辑输出
4.4.3 l.add译码阶段的组合逻辑输出
4.4.4 l.add译码阶段的时序逻辑输出
4.4.5 l.add执行阶段的组合逻辑输出
4.4.6 l.add执行阶段的时序逻辑输出
4.4.7 第一条指令分析小结
4.5 l.sfeqi指令分析
4.5.1 l.sfeqi取指阶段的组合逻辑输出
4.5.2 l.sfeqi取指阶段的时序逻辑输出
4.5.3 l.sfeqi译码阶段的组合逻辑输出
4.5.4 l.sfeqi译码阶段的时序逻辑输出
4.5.5 l.sfeqi执行阶段的组合逻辑输出
4.5.6 l.sfeqi执行阶段的时序逻辑输出
4.5.7 第二条指令分析小结
4.6 ALU分析
4.7 流水线数据相关的解决方法
4.8 定制属于自己的指令
4.9 不完整流水线数据通路图

第5章 特殊寄存器访问类指令剖析
5.1 OR1200中的特殊寄存器
5.2 第0组特殊寄存器
5.3 特殊寄存器访问类指令说明
5.4 分析用例
5.5 l.mfspr指令分析
5.5.1 l.mfspr取指阶段的组合逻辑输出
5.5.2 l.mfspr取指阶段的时序逻辑输出
5.5.3 l.mfspr译码阶段的组合逻辑输出
5.5.4 l.mfspr译码阶段的时序逻辑输出
5.5.5 l.mfspr执行阶段第1个时钟周期的组合逻辑输出
5.5.6 l.mfspr执行阶段第1个时钟周期的时序逻辑输出
5.5.7 l.mfspr执行阶段第2个时钟周期的组合逻辑输出
5.5.8 l.mfspr执行阶段第2个时钟周期的时序逻辑输出
5.5.9 l.mfspr指令分析小结
5.6 l.mtspr指令分析
5.6.1 l.mtspr执行阶段的组合逻辑输出
5.6.2 l.mtspr执行阶段的时序逻辑输出
5.7 SPRS分析
5.8 完善流水线数据通路图

第6章 转移类指令剖析
6.1 延迟槽
6.2 转移类指令说明
6.3 分析用例
6.4 l.bf指令分析
6.4.1 l.bf取指阶段的组合逻辑输出
6.4.2 l.bf取指阶段的时序逻辑输出
6.4.3 l.bf译码阶段的组合逻辑输出
6.4.4 l.bf译码阶段的时序逻辑输出
6.4.5 l.bf执行阶段第1个时钟周期的组合逻辑输出
6.4.6 l.bf执行阶段第2个时钟周期的组合逻辑输出
6.4.7 l.bf执行阶段第2个时钟周期的时序逻辑输出
6.4.8 l.bf指令分析小结
6.5 l.jalr指令分析
6.5.1 l.jalr取指阶段的组合逻辑输出
6.5.2 l.jalr取指阶段的时序逻辑输出
6.5.3 l.jalr译码阶段的组合逻辑输出
6.5.4 l.jalr译码阶段的时序逻辑输出
6.5.5 l.jalr执行阶段第1个时钟周期的组合逻辑输出
6.5.6 l.jalr执行阶段第2个时钟周期的组合逻辑输出
6.5.7 l.jalr执行阶段第2个时钟周期的时序逻辑输出
6.6 转移类指令对处理器效率的影响
6.7 继续完善流水线数据通路图

第7章 异常处理类指令剖析
7.1 OR1200中的异常分类
7.2 OR1200中的异常处理过程
7.3 异常处理类指令说明
7.4 分析用例
7.5 EXCEPTION模块的作用
7.6 l.sys指令分析
7.6.1 l.sys取指阶段的组合逻辑输出
7.6.2 l.sys取指阶段的时序逻辑输出
7.6.3 l.sys译码阶段的组合逻辑输出
7.6.4 l.sys译码阶段的时序逻辑输出
7.6.5 l.sys执行阶段的组合逻辑输出
7.6.6 l.sys执行阶段的时序逻辑输出
7.6.7 异常处理过程——FLU1状态
7.6.8 异常处理过程——FLU2状态
7.6.9 异常处理过程——FLU3状态
7.6.10 异常处理过程——FLU4状态
7.6.11 异常处理过程——FLU5状态
7.6.12 l.sys分析小结
7.7 l.trap指令分析
7.7.1 l.trap译码阶段的时序逻辑输出
7.7.2 l.trap执行阶段的组合逻辑输出
7.7.3 l.trap执行阶段的时序逻辑输出
7.7.4 异常处理过程——FLU1状态
7.7.5 异常处理过程——FLU2状态
7.7.6 l.trap分析小结
7.8 l.rfe指令分析
7.8.1 l.rfe取指阶段的组合逻辑输出
7.8.2 l.rfe取指阶段的时序逻辑输出
7.8.3 l.rfe译码阶段的组合逻辑输出
7.8.4 l.rfe译码阶段的时序逻辑输出
7.8.5 l.rfe执行阶段第1个时钟周期的组合逻辑输出
7.8.6 l.rfe执行阶段第2个时钟周期的组合逻辑输出
7.8.7 l.rfe执行阶段第2个时钟周期的时序逻辑输出
7.9 继续完善流水线数据通路图

第8章 乘法、除法类指令剖析
8.1 串行乘法与并行乘法
8.1.1 串行乘法
8.1.2 并行乘法
8.2 串行除法与并行除法
8.2.1 串行除法
8.2.2 并行除法
8.3 乘法、除法类指令说明
8.4 OR1200中关于乘法、除法的一些配置
8.5 分析用例
8.6 l.mul指令分析(串行乘法)
8.6.1 l.mul取指阶段的组合逻辑输出
8.6.2 l.mul取指阶段的时序逻辑输出
8.6.3 l.mul译码阶段的组合逻辑输出
8.6.4 l.mul译码阶段的时序逻辑输出
8.6.5 l.mul执行阶段第1个时钟周期的组合逻辑输出
8.6.6 l.mul执行阶段第1个时钟周期的时序逻辑输出
8.6.7 l.mul执行阶段第2个时钟周期的组合逻辑输出
8.6.8 l.mul执行阶段第2个时钟周期的时序逻辑输出
8.6.9 l.mul执行阶段第33个时钟周期的时序逻辑输出
8.6.10 l.mul执行阶段第34个时钟周期的组合逻辑输出
8.6.11 l.mul执行阶段第34个时钟周期的时序逻辑输出
8.6.12 l.mul执行
……

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证