第3章:教学版OpenMIPS处理器蓝图

3.1 系统设计目标

3.1.1 设计目标

该书第二篇设计实现教学版OpenMIPS处理器,是一款具有哈佛结构的32位标量处理器,好处是:

  • 五级整数流水线:分别是取指,译码,执行,访存,会写
  • 哈佛结构,分开的指令,数据接口
  • 32个32位整数寄存器
  • 大端模式
  • 向量化异常处理,支持,精确异常处理
  • 支持6个外部中断
  • 具有32bit数据,地址总线宽度
  • 能实现单周期乘法
  • 支持延迟转移
  • 兼容MIPS32指令集架构
  • 大多数指令可以在一个时钟周期内完成

3.1.2 五级流水线

在这里插入图片描述

  1. 取指令时间过长:有可能取指令的时间不止T,则运行效率变低:
    在这里插入图片描述
    解决取指令时间过长的方案是引入缓存(Cache),处理器从缓存读取指令只需要一个时钟周期

  2. 执行时间过长:比如加载/存储指令(Load/Store),涉及访问存储器,执行阶段时间大于T,此时也会导致流水线停滞。
    解决方案是引入五级流水
    在这里插入图片描述

  • 取指:指令存储器读出指令,同时确定下一条指令地址
  • 译码:对指令进行译码,从通用寄存器读出要使用的寄存器的值,是转移指令且满足条件,给出新的指令的地址
  • 执行:按照译码阶段给出的操作数,运算类型进行运算,给出结果,如果是Load/Store指令,还会给出目标地址
  • 访存:如果是Load/Store指令,此阶段会访问数据存储器,否则只是讲执行结果向下传递到回写阶段。同时判断是否有异常需要处理,如果有,则清除流水线,转移到异常处理例程入口地址继续执行
  • 回写:将运算结果保存到目标寄存器

3.1.3 指令执行周期

在这里插入图片描述

3.2 教学版OpenMIPS处理器接口

在这里插入图片描述
在这里插入图片描述

3.3 文件说明

在这里插入图片描述

3.4 实现方法

增量模型概念,从简单开始,一步步补充
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tanfuz/article/details/113766977