chx08_arch04_ILP-c1

chx08_arch04_ILP-c1 - 20081027 implicit (RAW) WARWAW...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
北京大学微处理器研究开发中心 计算机系统结构研究所 高等计算机系统结构 高等计算机系统结构 (第四讲) 2008年10月27日 程旭 现代指令级并行技术
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
北京大学微处理器研究开发中心 计算机系统结构研究所 流水线的性能 ± 通过更加复杂的流水线和动态调度开发隐形( implicit )指令级 并行性 ± 乱序执行执行,同时保证: 真数据相关 (RAW) 精确中断 ± 通过寄存器换名,消除 WAR WAW 冒险 ± 重排序缓冲器( Reorder buffer )保存尚未提交( committing 但已完成的结果,以支持精确中断 ± 频繁出现的转移指令会产生控制冒险,从而限制性能的改进
Background image of page 2
北京大学微处理器研究开发中心 计算机系统结构研究所 指令流水线的总体结构 取指和译码进入指令重排序缓冲器是按序进行的 执行是乱序的 乱序完成 提交( Commit :回写道体系结构级的状态,即寄存器对 存储器)按序 在提交之前,需要临时存储来保存结果 ( 影子寄存器和存储缓冲器 ) Fetch Decode Execute Commit Reorder Buffer In-order In-order Out-of-order Kill Kill Kill Exception? Inject handler PC
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
北京大学微处理器研究开发中心 计算机系统结构研究所 I-cache Fetch Buffer Issue Buffer Func. Units Arch. State Execute Decode Result Buffer Commit PC Fetch Branch executed Next fetch started 在许多现代处理器中,在下一 PC 计算 和最终确定转移结果之间有 10 个以上 的流水级 ! 控制流导致的性能损失 如果流水线不能及时选择正确指 令,会导致多少损失 ? ~ Loop length x pipeline width
Background image of page 4
北京大学微处理器研究开发中心 计算机系统结构研究所 Instruction Taken known? Target known? J JR BEQZ/BNEZ After Inst. Decode After Inst. Decode After Inst. Decode After Inst. Decode After Reg. Fetch After Reg. Fetch * * 假设在寄存器读时判断是否为 “0” MIPS 的转移和跳转 每条指令的取指都依赖于之前指令的一或二项信息 : 1) 之前的那条指令是发生转移的指令吗( taken branch ? 2) 如果是,转移目标地址是什么 ?
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
北京大学微处理器研究开发中心 计算机系统结构研究所 现代流水线中的转移损失 A PC Generation/Mux P Instruction Fetch Stage 1 F Instruction Fetch Stage 2 B Branch Address Calc/Begin Decode I Complete Decode J Steer Instructions to Functional units R Register File Read E Integer Execute Remainder of execute pipeline (+ another 6 stages) UltraSPARC-III instruction fetch pipeline stages (in-order issue, 4-way superscalar, 750MHz, 2000) Branch Target Address Known Branch Jump Register Target Known
Background image of page 6
北京大学微处理器研究开发中心 计算机系统结构研究所 降低转移损失 软件解决方案 消除转移 循环展开( loop unrolling 增大运行长度( run length) 较小转移确定的时间( resolution time
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/21/2010 for the course CSE240A 662015 taught by Professor Tullsen,deanmichael during the Fall '09 term at UCSD.

Page1 / 52

chx08_arch04_ILP-c1 - 20081027 implicit (RAW) WARWAW...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online