电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机系统结构 流水线技术 3.2 DLX的基本流水线

66页
  • 卖家[上传人]:206****923
  • 文档编号:88913382
  • 上传时间:2019-05-13
  • 文档格式:PPT
  • 文档大小:1.65MB
  • / 66 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、3.2 DLX的基本流水线,3.2.1 DLX的一种简单实现,首先讨论在不流水的情况下,如何实现DLX。,1. 实现DLX指令的一种简单数据通路,第三章 流水线技术,项目调研与实践,项目调研与实践,2. 一条DLX指令最多需要以下5个时钟周期:,(1) 取指令周期(IF) IR MemPC NPC PC4 操作,3.2 DLX的基本流水线,项目调研与实践,项目调研与实践,(2)指令译码/读寄存器周期(ID) A RegsIR6 10 B RegsIR11 15 Imm (IR16)16 # IR16 31 操作 指令译码和读寄存器是并行进行的。之所 以能做到这一点,是因为在DLX指令格式中, 操作码在固定位置。这种技术也称为固定字段 译码。,3.2 DLX的基本流水线,项目调研与实践,项目调研与实践,(3)执行/有效地址计算周期(EX) 在这个周期,不同的指令有不同的操作。,3.2 DLX的基本流水线,项目调研与实践, 存储器访问 ALUOutput AImm 操作,项目调研与实践, 寄存器寄存器 ALU 操作 ALUOutput A op B 操作,项目调研与实践, 寄存器立即值 A

      2、LU 操作 ALUOutput A op Imm 操作,3.2 DLX的基本流水线,项目调研与实践, 分支操作 ALUOutput NPCImm Cond (A op 0) 操作,项目调研与实践,(4)存储器访问/分支完成周期(MEM) 在该周期处理的DLX指令只有Load、Store和 分支指令。,这里,将有效地址计算周期和执行周期合并为一个时钟周期,这是由 DLX指令集结构本身的特点所允许的,因为在DLX指令集结构中,没有任何指令需要同时计算数据的存储器地址、计算分支指令的目标地址和进行数据处理。,3.2 DLX的基本流水线,项目调研与实践, 存储器访问 LMD MemALUOutput 或 Mem ALUOutput B 操作,3.2 DLX的基本流水线,项目调研与实践,项目调研与实践, 分支操作 if(cond)PC ALUOutput else PC NPC 操作,项目调研与实践,项目调研与实践,(5)写回周期(WB) 不同指令在该周期完成的工作也不一样。, 寄存器寄存器型 ALU 指令 RegsIR16 20 ALUOutput 操作 寄存器立即值型 ALU 指令 Regs

      3、IR11 15 ALUOutput 操作, Load 指令 RegsIR11 15 LMD 操作,3.2 DLX的基本流水线,项目调研与实践,寄存器寄存器型 ALU 指令 RegsIR16 20 ALUOutput,项目调研与实践,寄存器立即值型 ALU 指令 RegsIR11 15 ALUOutput,项目调研与实践,Load 指令 RegsIR11 15 LMD,3. 分支指令需要4个时钟周期, 其它指令需要5个时钟周期 假设分支指令占总指令数的12, 则: CPI4.88 上述实现无论在性能上,还是在硬件开销上,都不是优化的。,3.2 DLX的基本流水线,3.2.2 基本的DLX流水线,我们可以把3.2.1中的数据通路流水化: 每个时钟周期启动一条新的指令。 这样,该数据通路中的每一个周期就成 了一个流水段。,1. 一种简单的 DLX 流水线,2. 简单DLX流水线的流水过程,第一种描述(类似于时空图) 第二种描述(按时间错开的数据通路序列),3.2 DLX的基本流水线,3.2 DLX的基本流水线,按时间错开的数据通路序列,3. 采用流水技术还应解决好以下几个问题:,上述简单DL

      4、X流水线中:, 指令存储器(IM)和数据存储器(DM)分 开,避免了访存冲突。 ID段和WB段都要访问同一寄存器文件。 ID段:读 WB段:写 如何解决对同一寄存器的访问冲突?,(1)应保证不会在同一个时钟周期内在同一数据 通路资源上做不同的操作。 例如,不能要求一个ALU同时既做有效 地址计算,又做减法操作。,3.2 DLX的基本流水线, 没有考虑 PC 问题,流水线为了能够每个时钟周期启动一条 新的指令,就必须在每个时钟周期进行PC值 的加4操作,并保留新的PC值。这种操作必 须在IF段完成,以便为取下一条指令做好准 备。,3.2 DLX的基本流水线,但分支指令也可能改变PC的值,而且是 在MEM段进行,这会导致冲突。,为解决问题,我们重新组织数据通路,把所有改变 PC值的操作都放在IF段进行。,但分支指令如何处理?,(2)每一流水段内的操作都必须在一个时钟周期 内完成, 流水线各段之间需设置流水线寄存器 (也称为锁存器) 流水线寄存器组及其所含寄存器的命名 例如,ID段和EX段之间的流水线寄存 器组中的IR寄存器的名称为:ID/EX.IR 流水线寄存器的作用 把数据和控制信息从一

      5、个流水段传 送到下一个流水段。,(3)流水线寄存器(组),3.2 DLX的基本流水线, 流水线寄存器的构成,4. DLX流水线的操作,对于流水线中的指令来说,在任一时刻,它 仅在流水线中的某一段内执行操作。 因此,只要知道每一流水段在各种指令下进 行何种操作,就知道了整个流水线的操作。 (表3.1)给出了DLX流水线各段的操作。,3.2 DLX的基本流水线,流水段,表3.1 DLX流水线的每个流水段的操作,任何指令类型,ALU 指令,Load/Store 指令,分支指令,IF,ID,EX,IF/ID.IR MemPC,IF/ID.NPC,PC (if EX/MEM.cond EX/MEM.NPC else PC+4);,ID/EX.A RegsIF/ID.IR610; ID/EX.B RegsIF/ID.IR1115;,ID/EX.NPC IF/ID.NPC; ID/EX.IR IF/ID.IR;,ID/EX.Imm (IR16)16#IR1631;,EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A op ID/EX.B 或 EX/MEM.ALU

      6、Output ID/EX.A op ID/EX.Imm; EX/MEM.cond 0;,EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A + ID/EX.Imm;,EX/MEM.ALUOutput ID/EX.NPC + ID/EX.Imm; EX/MEM.cond (ID/EX.A op 0);,(动画演示),(动画演示),(动画演示),(动画演示),(动画演示),流水段,任何指令类型,ALU 指令,Load/Store 指令,分支指令,MEM,WB,MEM/WB.IR EX/MEM.IR; MEM/WB.ALUOutput EX/MEM.ALUOutput;,MEM/WB.IR EX/MEM.IR; MEM/WB.LMD MemEX/MEM.ALUOutput; 或 MemEX/MEM.ALUOutput EX/MEM.B;,RegsMEM/WB.IR1620 MEM/WB.ALUOutput; 或 RegsMEM/WB.IR1115 MEM/WB.ALUOutput;,RegsMEM/WB.IR1115 MEM/WB.LMD;,表3.1 D

      7、LX流水线的每个流水段的操作,(动画演示),(动画演示),(动画演示),(动画演示),5DLX流水线的控制,主要是确定如何控制那四个多路选择器。,3.2.3 流水线性能分析,吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量。,1. 吞吐率,(1) 最大吞吐率TPmax,最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。 若流水线各段的时间相等,均为t0 , 则: TPmax 1 /t0,3.2 DLX的基本流水线, 若流水线各段的时间不等,则:, 最大吞吐率取决于流水线中最慢的一段所 需的时间,这段就成了流水线的瓶颈。, 消除瓶颈的方法 (举例),细分瓶颈段 重复设置瓶颈段 (时-空图),1,maxti ,TPmax,3.2 DLX的基本流水线,重复设置瓶颈段(时-空图举例), 第一种情况:各段时间相等(设为t0) 假设流水线由 m 段组成,完成 n 个任务。,时空图 完成 n 个任务所需的时间 T流水mt0(n1)t0 (说明),(2) 实际吞吐率TP,流水线的实际吞吐率小于最大吞吐率。,3.2 DLX的基本流水线,完成 n 个任务所需的时间,实际吞吐率,TP TP

      8、max 当n m 时,TP TPmax, 第二种情况:各段时间不等,时空图,3.2 DLX的基本流水线,3.2 DLX的基本流水线,完成 n 个任务所需的时间 T流水ti(n1)tj tjmaxti 实际吞吐率,i=1,m,3.2 DLX的基本流水线,加速比是指流水线的速度与等功能非流水 线的速度之比。,2. 加速比S,ST非流水T流水 (其中T流水和T非流水分别为按流水和按非流水 方式处理 n 个任务所需的时间),若流水线为 m 段,且各段时间相等,均为t0 ,则: T非流水n mt0 (解释) T流水mt0(n1)t0,3.2 DLX的基本流水线,3.2 DLX的基本流水线,可以看出:当n m 时,S m 想一想:n 越大越好?,效率是指流水线的设备利用率。 (1) 由于流水线有通过时间和排空时间,所以 流水线的各段并不是一直满负荷地工作。 故:E 1,3效率 E,3.2 DLX的基本流水线,3.2 DLX的基本流水线,(2) 若各段时间相等,则各段的效率ei相等,即 e1e2 e3 emnt0T流水 (解释) 整个流水线的效率为:,当 n m 时,E 1,E ,nt0,T流水,n

      9、,mn1,1,n,1,m1,(3) 从时空图上看,效率实际上就是 n 个任务所 占的时空区与 m 个段总的时空区之比,即:,n 个任务占用的时空区 E (解释) m 个段总的时空区,3.2 DLX的基本流水线,(4) 提高流水线效率所采取的措施对于提高 吞吐率也有好处。,4流水线性能分析举例,例3.1 在静态流水线上计算 AiBi , 求:吞吐率,加速比,效率。,4,i=1,3.2 DLX的基本流水线,3.2 DLX的基本流水线,解:(1) 确定适合于流水处理的计算过程,(2) 画时空图,(3) 计算性能 吞吐率 TP7(20t) 加速比 S(34t)(20t)1.7 效率 E(4436)(820)0.21,3.2 DLX的基本流水线,3.2 DLX的基本流水线,可以看出,在求解此问题时,该流水线的效率 不高。 (原因),动态流水线的时空图 举例,3.2 DLX的基本流水线,举例 : 这样行不行? 正确答案,3.2 DLX的基本流水线,例3.2 假设前面DLX非流水线实现的时钟周期时间 为10ns,ALU和分支指令需要4个时钟周期,访 问存储器指令需5个时钟周期,上述指令在程序 中出现的相对频率分别是:40%、20%和4

      《计算机系统结构 流水线技术 3.2 DLX的基本流水线》由会员206****923分享,可在线阅读,更多相关《计算机系统结构 流水线技术 3.2 DLX的基本流水线》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.