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

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

计算机体系结构 第3章 单周期MIPS处理器的设计_第1张图片

一、MIPS指令

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

二、数据通路

计算机体系结构 第3章 单周期MIPS处理器的设计_第5张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第6张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第7张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第8张图片

合并

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

计算机体系结构 第3章 单周期MIPS处理器的设计_第9张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第10张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第11张图片
合并结果
计算机体系结构 第3章 单周期MIPS处理器的设计_第12张图片

(2) add

计算机体系结构 第3章 单周期MIPS处理器的设计_第13张图片

(3)beq

计算机体系结构 第3章 单周期MIPS处理器的设计_第14张图片

四、控制部件设计

计算机体系结构 第3章 单周期MIPS处理器的设计_第15张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第16张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第17张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第18张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第19张图片
计算机体系结构 第3章 单周期MIPS处理器的设计_第20张图片

思考:

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

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

五、中断与异常

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

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

你可能感兴趣的:(计算机组成原理)