- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.5 流水线工作原理 引出 通过分析发现: 程序执行过程中,机器各部件在某些周期内进行操作,而在某些周期内是空闲的。 如果用控制器进行适当调度,可以让机器的各个部件在每个周期内都在工作。这样可以提高计算机各功能部件的工作效率和计算机的运行速度。 指令的执行过程: 串行执行:即程序中各条机器指令是按顺序执行的。 串行执行的特点 优点:控制简单。 缺点:机器各部分的利用率不高。只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令 并行执行(重叠执行) 一.指令的重叠执行 1.一条指令执行的分为几个过程段 1)取指令: 根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器) 2)译码分析: 译出指令的操作性质,准备好所需数据 3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件) 并行执行(重叠执行) 仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。 三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取指重叠。 结论: 若一条指令的过程段划分更多时,重叠组合方式更多。 重叠解释并不能加快一条指令的实现,但能加快一段程序的解释。 重叠方式中所需时间计算 重叠方式需要解决的问题 从重叠到流水 1、工业生产流水线 下面通过一个例子来说明流水线的好处: 两种方案 两种方案的工作过程对比 流水线生产过程的抽象描述 这种流水工作方式的主要特点 流水线技术 把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。 把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。 流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。 指令流水线 浮点加法流水线 把流水线技术应用于运算的执行过程,就形成了运算操作流水线,也称为部件级流水线。 把浮点加法的全过程分解为求阶差、对阶、尾数相加、规格化4个子过程。 理想情况:速度提高3倍 流水线中的相关问题 数据相关(存储器数据相关或寄存器数据相关): 同时执行的多条指令间出现对同一单元的“先写后读”的要求. 程序转移对流水线的影响 在大多数流水线机器中,当遇到条件转移指令时,确定转移与否的条件码往往由条件转移指令本身或由它前一条指令形成,只有当它流出流水线时,才能建立转移条件并决定下条指令地址。因此当条件转移指令进入流水线后直到确定下一地址之前,流水线不能继续处理后面的指令而处于等待状态,因而影响流水线效率。 本节重难点 1.流水线工作原理. 2.流水线的相关问题(数据相关和程序相关). 习题 流水线阻塞:流水线不能连续工作.原因: (1)数据相关:后推法和相关专用通路法. (2)程序转移:猜测法. (3)中断:不精确断点法和精确断点法。 1.己知某计算机有80条指令,平均每条指令由12条微指令组成,其中有一条取指微指令是所有指令公用的,设微指令长度为32位。请算出控制存储器容量。 解:微指令所占的单元总数: (80×12-80+1) × 32=(80×11+1 ) × 32 =881 × 32 所以控制存储器容量可选IK × 32。 1.表中给出了8条指令I1~I8所包含的微命令控制信号。试设计微指令控制字段要求所用的控制位最少,而且保持微指令本身内在的并行性。 微指令 所包含微命令 微指令 所包含微命令 I1 ABCDE I2 ADFG I3 BH I4 C I5 CEGI I6 AHJ I7 CDH I8 ABH 习题 解:微指令与包含的命令对应表如表所示。 从表中可知,E、F、H及B、I、J分别两两互斥,所以微指令控制字段格式设计如下: ×× ×× × × × × 00:不操作 00:不操作 0:不操作 0:不操作 0:不操作 0:不操作 01:E 01: B 1: A 1: C 1:D 1:G 10:F 10: I 11:H 11: J 2.某机采用微程序控制方式,微指令字长24位,水平型编码控制的微指令格式,断定方式,共有微命令30个,构成4个相斥类,各包含5个、8个、14个和3个微
文档评论(0)