高等计算机系统结构第3章-指令级并行及其动态开发流水线技术就是指令重叠执行技术,达到加快运算速度的目的。三种流水线冲突:
◆结构冲突(structure hazard):由硬件资源冲突引起(资源冲突)
当硬件在指令重叠执行中不能支持指令所有可能的组合时发生的冲突。(需要更多的硬件资源)
◆数据冲突(data hazard):下一条指令要用到上一条指令的结果。
在同时执行的几条指令中,一条指令依赖于前一条指令的数据,却得不到时发出的冲突。(需要定向,编译器调度)
◆控制冲突(control hazard):由转移指令或其他改变PC指令引
起.(尽早检测条件,计算目标地址,延迟转移,预测)
由于这三种流水线冲突,导致流水线性能降低,不能运作在理想的重叠状态,需要插入停顿周期,从而使流水线性能降低。
指令之间可重叠执行性称为指令级并行性(Instruction Parallelism-ILP)。
因此进一步研究和开发指令之间的并行性,等于拓宽指令重叠执行的可能性,从而能进一步提高流水线的性能。
提高指令级并行度方法:
◆流水线动态调度:依赖硬件技术
广泛用于桌面电脑和服务去处理器中,包括Pentium III 和
白丝初中生Pentium 4,Athlon,MIPS R10000/12000,Sun UltrSPARC III 等◆流水线静态调度:依赖软件技术
更多的用于嵌入式处理器中,一些桌面电脑和服务产品也使用,如IA-64系统结构和Intel 的Itanium .
术语:
◆流水级(pipe stage):流水线由多个流水级组成,通常一条指
圣女的救济令由n 级流水级完成。每个流水级完成指令的部分任务。◆吞吐量(throughput):单位时间内流出流水线的指令数。◆机器周期(machine cycle):不同流水线完成指令功能不等,所
需时间有长有短,因此设计流水线的关键是合理划分指令功能,使每一流水级完成指令功能的时间大致相等。机器周期由最长流水级的时间决定,通常等于时钟周期。
第3章指令级并行及其动态开发 3.1 指令级并行概念
Visualizing Pipelining
第3章指令级并行及其动态开发Visualizing Pipelining
I n s t r.
O r d e r Time (clock cycles)
Reg A L U DMem Ifetch Reg Reg A L U DMem Ifetch Reg Reg A L U DMem Ifetch Reg Reg A L U DMem Ifetch Reg Cycle 1Cycle 2Cycle 3Cycle 4Cycle 6Cycle 7
Cycle 5
One Memory Port/Structural Hazards
I n s t r. O r d e r
Time (clock cycles)
Load
Instr 1
Instr 2
Instr 3
Instr 4
Reg
羊排炖山药A新春团拜会
骨拼音L
U DMem
Ifetch Reg
圆形的特征Reg
A
L
U DMem
Ifetch Reg
小老头狗Reg
A
L
U DMem
Ifetch Reg
Reg
A
L
U DMem
Ifetch Reg Cycle 1Cycle 2Cycle 3Cycle 4Cycle 6Cycle 7
Cycle 5
Reg
A
L
U DMem
Ifetch Reg
结构冲突使得必须插入流水气泡I n s t r.
O r d e r Time (clock cycles)键盘书名号怎么打
Load Instr 1Instr 2Stall Instr 3Reg A L U DMem Ifetch Reg Reg A L U DMem Ifetch Reg Reg A L U DMem Ifetch Reg Cycle 1Cycle 2Cycle 3Cycle 4Cycle 6Cycle 7
Cycle 5Reg A L U DMem Ifetch Reg
Bubble Bubble Bubble Bubble Bubble 改进方法: (1)增加硬件的拷贝数(2)使硬件流水化