计算机组织与糸统结构 设计流小线地理 Designing a pipeliaePpooeessor (第十五讲) 程旭 2000515 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ ¯æ §ù;é øz#¯í Eftjhojoh!b!Qjqfmjof!Qspdft tps ÄËZÅ È
串行洗衣店 6PM 7 1 2 AM 30-3030303030303030301303013043013030 团画而写命A 作时间 务 8 面硝A 串行洗衣店需要8个小时完成4个工作量 °如果他们了解流水技术,那么需要多长时间完成上述工作呢? 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ b|GÇ e ë7kÔUþãÊ`äþ¹0£ eVpªÀZ·TÈwÔUîSÊÈ`äÞĹ06Û Ïuõc %&'$ ¹0ÊÈ 30 $0
流水技术性质 流水技术无助于减少单个任务 的处理延迟( latency,但有助 于提高整体工作负载的吞吐率 6PM 7 →◆多个不同任务同时操作,使用不 任务顺序 同资源 30303030303030 ◆潜在加速比=流水线级数 ◆流水线的速率受限于最慢的流 水段 ◆流水段的执行时间如果不均衡, 那么加速比就会降低 ◆开始填充流水线的时间和最后 排放流水线的时间降低加速比 相关将导致流水线暂停 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ qd°_WX ♦ T´}b£å)þÏu X ØÚʳODWHQF\ ÈÝ} b¤¬H'¹0óQ Xòä[ ♦ îþáàÏuàÊ¡0Süá àd ♦ 0ütó¨ {D ♦ Xó[«$bÔ6X ♦ X; ÊÈVpá5 wtó¨î!" ♦ Ô?XÊÈ ` Ôâ fXÊÈ !"tó¨ ♦ ÌGÚÐÈV0 30 ÊÈ %&'$ ÏuNc
理想流水线 假设所有指令都完全独立! F DCD EX MEM WB F DCD EX MEM WB F DCD EX MEM WB F DCD EX MEM WB F DCD EX MEM WB 最大加速比≤流水线段数 加速比≤非流水化操作的时间 最长段的时间 例如:40ns数据通路,5段,最长段为10ns,加速比≤4 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ 6#qdï ,) '&' (; 0(0 :% ,) '&' (; 0(0 :% ,) '&' (; 0(0 :% ,) '&' (; 0(0 :% ,) '&' (; 0(0 :% Ôûtó¨ ≤ D tó¨ ≤ 2ê¡0XÊÈ ÔSXÊÈ _VQVDBîÃÔSQVtó¨ ≤ ÝÛ¸Ñ`<À
流水技术会产生哪些问题? 流水线冒险〔 Pipeline hazards) 结构冒险( structural hazards):试图同时以两种不同的方式 使用同一资源 例如,多次存储器访问、多次寄存器写 解决方案:多个存储器、暂停 ·数据冒险( data hazards):在产生数据之前,就试图使用它们 Bi]A, add r1, r2, r3; sub r4, r1, 5; lw r6, 0(r7);orr8, r6, r9 解决方案:前递/旁路、暂停/气泡 控制冒险( control hazards):在判定转移条件之前,就试图决 策转移方向 例如,条件转移 解决方案:预测、延迟转移 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ qd°_J×OËÈ" ef=3LSHOLQH+D]DUGV §Xf=VWUXFWXUDOKD]DUGV©Òàʹø¡áàXã SüàÔd _Vîõ,|<ÂÃîõ,<m ·Öîþ,|<ÃV0 DBf=GDWDKD]DUGVü{óDB!©ÒSüWÀ _VDGGUUUVXEUU U OZ UURUUU U ·Ö !æÃÃV0èµ { f=FRQWUROKD]DUGVüøn@Ï5Ê!È©Ò *@Ïå _V5Ê@Ï ·ÖXÃʳ@Ï