指令系统
分类
寻址方式
设计
能够改变控制流的指令:分支、跳转、过程调用、过程返回
操作码设计
MIPS
流水线
MIPS流水线
改进后
取指(IF)
译码(ID)
执行(EX)
存储器访问
寄存器-寄存器 ALU
寄存器-立即值 ALU
分支
访存(MEM)
Load/Store
分支
写回(WB)
性能分析
吞吐率(TP)
单位时间流水线完成的任务数或输出的结果数
实际吞吐率
效率
相关
结构相关
某些指令组合在流水线中重叠执行时,产生资源冲突
解决方案:指令和数据分离;添加“气泡”
数据相关
指令在流水线中重叠执行时,流水线可能改变指令读/写的顺序,使得读/写的操作顺序不同于非流水线的实现顺序
分类
- 写后读相关(RAW)
- 写后写相关(WAW)
- 读后写相关(WAR)
定向技术(旁路/短路)
流水线锁
插入暂停周期
流水线调度(指令调度)
编译器重新组织代码顺序消除暂停
控制相关
分支指令带来的暂停
减少流水线处理分支指令时的暂停时钟周期数有如下两种途径:
- 在流水线中尽早地判断出分支转移是否成功。
- 尽早地计算出分支转移成功时的PC值(即分支的日标地址)。
延迟分支
向量处理机
向量处理方式
- 水平处理方式
- 垂直处理方式
- 分组处理方式