本文主要是介绍第3章:教学版OpenMIPS处理器蓝图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3.1 系统设计目标
3.1.1 设计目标
该书第二篇设计实现教学版OpenMIPS处理器,是一款具有哈佛结构的32位标量处理器,好处是:
- 五级整数流水线:分别是取指,译码,执行,访存,会写
- 哈佛结构,分开的指令,数据接口
- 32个32位整数寄存器
- 大端模式
- 向量化异常处理,支持,精确异常处理
- 支持6个外部中断
- 具有32bit数据,地址总线宽度
- 能实现单周期乘法
- 支持延迟转移
- 兼容MIPS32指令集架构
- 大多数指令可以在一个时钟周期内完成
3.1.2 五级流水线
-
取指令时间过长:有可能取指令的时间不止T,则运行效率变低:
解决取指令时间过长的方案是引入缓存(Cache),处理器从缓存读取指令只需要一个时钟周期 -
执行时间过长:比如加载/存储指令(Load/Store),涉及访问存储器,执行阶段时间大于T,此时也会导致流水线停滞。
解决方案是引入五级流水
- 取指:指令存储器读出指令,同时确定下一条指令地址
- 译码:对指令进行译码,从通用寄存器读出要使用的寄存器的值,是转移指令且满足条件,给出新的指令的地址
- 执行:按照译码阶段给出的操作数,运算类型进行运算,给出结果,如果是Load/Store指令,还会给出目标地址
- 访存:如果是Load/Store指令,此阶段会访问数据存储器,否则只是讲执行结果向下传递到回写阶段。同时判断是否有异常需要处理,如果有,则清除流水线,转移到异常处理例程入口地址继续执行
- 回写:将运算结果保存到目标寄存器
3.1.3 指令执行周期
3.2 教学版OpenMIPS处理器接口
3.3 文件说明
3.4 实现方法
增量模型概念,从简单开始,一步步补充
这篇关于第3章:教学版OpenMIPS处理器蓝图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!