计算机体系结构 第3章 单周期MIPS处理器的设计

第3章 单周期MIPS处理器的设计
1、add, sub, addi, subi, lw, sw, beq, j 每条指令在单周期处理器中的执行逻辑
2、上述指令的指令编码、代码、功能以及在单周期中的数据通路,条件分支指令的地址计算、单周期各功能部件的控制信号值判断
3、中断和异常的处理时机

计算机体系结构 第3章 单周期MIPS处理器的设计

一、MIPS指令

计算机体系结构 第3章 单周期MIPS处理器的设计
注:时钟部件
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计

二、数据通路

计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计

合并

(1)R型指令与load/store指令合并

计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
合并结果
计算机体系结构 第3章 单周期MIPS处理器的设计

(2) add

计算机体系结构 第3章 单周期MIPS处理器的设计

(3)beq

计算机体系结构 第3章 单周期MIPS处理器的设计

四、控制部件设计

计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计
计算机体系结构 第3章 单周期MIPS处理器的设计

思考:

问题:为什么不使用单周期实现方式?
1、最长的延迟决定了时钟周期的长度(因为在单周期设计中,时钟周期对所有指令等长)
2、关键路径:load指令(执行时间最长的指令)
使用了5个功能单元
指令存储器 ->寄存器堆 ->ALU -> 数据存储器 -> 寄存器堆
3、使用单周期设计对于小指令集可以接受,但如果还要包括浮点或更复杂指令的指令集,单周期无法胜任。
4、单周期实现方式违背了设计原则
- 加快最常见情况的速度
- 因为时钟周期必须满足所有指令中最坏的情况,
所以不能使用那些缩短常用指令执行时间而不
改善最坏情况的实现技术
5、可通过流水线技术改进性能

  • 与单周期类似的数据通路,但效率更高
  • 流水线是通过重叠多条指令的执行来提高效率的

五、中断与异常

**异常:**指程序正常执行中由于错误而发生的改变,错误原因来自CPU内部或外部。如,溢出、系统调用、故障。
**中断:**由处理器外部事件引起。如,I/O设备请求

中断/异常发生时机:
MIPS中断入口地址可以使用固定地址,中断产生后,保存返回地址及状态,然后由硬件将这个地址送PC。
单周期处理机是在一条指令执行的过程中检测异常事件,当异常事件发生时处理机在该指令结束时转向异常事件处理程序,处理完毕后再返回到用户程序。
计算机体系结构 第3章 单周期MIPS处理器的设计