3.1系统设计目标
3.1.1设计目标
教学版的OpenMIPS处理器是一款具有哈佛结构的32位标量处理器,兼容MIPS32Release1指令集架构,可以使用现有的MIPS编译环境,如:GCC编译器等,设计目标如下:
五级流水线
哈佛结构,分开的指令、数据接口
- 32个32位整数寄存器
- 大端模式
- 向量化异常处理,支持精准异常处理
- 支持6个外部中断
- 具有32bit数据、地址总线宽度
- 能实现单周期乘法
- 支持延迟转移
- 兼容MIPS32指令集架构,支持MIPS32指令集中的所有整数指令
- 大多数指令可以在一个时钟周期内完成
3.1.2五级流水线
(一)三级流水可能存在的问题
取指、译码、执行三个阶段未必时间周期都是T,当某一个阶段为2T时,执行阶段会向后移,执行周期会变长。为解决流水线停滞问题,所以引入五级流水。
(二)五级流水线
访存阶段的作用是从存储器装载数据到寄存器或者将寄存器数据保存到存储器,回写阶段的作用是将数据写入目的寄存器,arm9、OpenMIPS的设计目标也是五级流水线OpenMips实现MIPS32指令集中所有的整数指令,大多数都可以在一个时钟周期内执行完成,所有执行指令完成需要的时钟周期:(1)采用试商法完成除法运算,对于32位的除法,执行阶段至少需要32个时钟周期再加上准备时间的时钟周期,最后需要36个时钟周期才能完成
3.2教学版OpenMIPS处理器接口
教学版OpenMIPS处理器外部接口采用左边是输入接口,右边是输出接口的方式绘制,这样比较直观、便于理解。分为三类:系统控制接口(复位、时钟、中断)、指令存储器接口、数据存储器接口。
-
取指阶段
-
译码阶段
-
执行阶段
-
访存阶段
-
回写阶段