分支指令单独流出.ppt

当指令之间不存在相关时,它们在流水线中是可以重叠起来并行执行的。这种指令序列中存在的潜在并行性称为指令级并行。 (ILP:Instruction-Level Parallelism) 本章研究:如何通过各种可能的技术,在流水线思想的基础上,获得更多的指令级并行性。 硬件技术(动态)+软件技术(静态) 必须要两种技术互相配合,才能够最大限度地挖掘出程序中存在的指令级并行。 4.1 指令级并行 流水线处理机的实际CPI 流水线的理想CPI加上各类相关导致的停顿周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突 理想CPI是衡量流水线最高性能的一个指标,减少任何一种停顿,都可以有效地减少实际CPI,从而提高流水线的性能。 相关是程序固有属性,它反映程序中指令之间的相互依赖关系。 一次相关是否会导致冲突发生以及该冲突会带来多长的停顿,则是流水线的属性。 可以从两个方面来解决相关问题: 通过动态/静态指令调度,保持相关,但避免发生冲突。 通过代码变换,消除相关。 4.1 指令级并行 4.1 指令级并行 3. 基本程序块 定义:除了入口和出口以外不包含其他分支的线性代码段。 程序平均每6~7条指令就会有一个分支。 要开发指令的并行性,就不能局限于基本程序块内部,而要将跨越多个基本块作为各种优化技术的出发点。 4.

文档评论(0)

1亿VIP精品文档

相关文档