上海交通大学-计算机组成原理考研辅导讲稿(8).docx

上传人:王** 文档编号:48057 上传时间:2022-12-09 格式:DOCX 页数:15 大小:312.22KB
下载 相关 举报
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第1页
第1页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第2页
第2页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第3页
第3页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第4页
第4页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第5页
第5页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第6页
第6页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第7页
第7页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第8页
第8页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第9页
第9页 / 共15页
上海交通大学-计算机组成原理考研辅导讲稿(8).docx_第10页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《上海交通大学-计算机组成原理考研辅导讲稿(8).docx》由会员分享,可在线阅读,更多相关《上海交通大学-计算机组成原理考研辅导讲稿(8).docx(15页珍藏版)》请在优知文库上搜索。

1、第八章流水技术第一节流水线工作原理流水工作方式:将一个计算任务细分成若干个子任务,每个子任务由专门的部件处理,多个计算任务依次进行并行处理。处理部件I锁存 牌CLKf处理锁部件存2器处理部件n锁存器一、流水线的分类操作部件级,指令级,处理器级单功能,多功能静态,动态线性,非线性标量,向量二、流水线的性能1.吞吐率:单位时间内流水线能处理的任务数量。对于线性流水线:=maxZ,m)r/时空图:段S5S4S2矫图8-1流水线的时空图例子最大吞吐率:流水线达到不间断流水的稳定状态后可获得的吞吐率。max力力J+tf流水线瓶颈的解决:zz34l-T-1T13|*(a)原流水线,第3段为瓶颈tttttt

2、(b)瓶颈段细分34ttd3ltAtTHTF3-J3(C)瓶颈段重复设置部(C)流水段重复的时空图对于线性流水线,完成个任务所需时间为六心f+5-l),实际吞吐率为:rj,n1TpmaxP机加+(-I)Afr(lm1)IZWTnn2 .加速比:流水方式的工作速度与等效的顺序工作方式时间的比值。对于线性流水线:TinmtnSp=-=-Tkm+n-1+加一1n3 .使用效率:工作时间的时空区与流水线中各段总的时空区之比。nmtnSPE=-=Tftm(m+n-1)m+n-1m退耦流水线TIl卜第级Tm第2级Tm第3级三、流水线的相关处理三种相关性:1 .资源相关(结构相关)解决方法:增加资源2 .数

3、据相关(RAW、WAR、WAW)解决方法:停顿、编译检测、旁路相关专用通路3 .控制相关。解决方法:提前判断、转移延迟槽等四、流水线的调度非线性流水线的调度方法预约表禁止表F=l,5,6,8冲突向量C=10110001调度方案比较表8-2各种调度方案的平均间隔拍数调度策略平均间隔周期be:(3,4)3.50ad:(2,7)4.50ade:(2,2,7)3.67abcb:(3,4,2,7)4.25abc:(3,4,7)4.67acb:(4,3,7)4.67ab:(3,7)5.00ac:(4,7)5.50a:(7)7.00习题:56第二节标量流水技术一、基本概念指令流水线结构:指令级并行性:指令序

4、列中的并行性。基本块循环级并行性:循环递归之间的并行性。例:for(i=l;i=1000;i=i+l)Xi=Xi+s;循环展开后loop:LDF0zO(Rl);F0=arrayelementADDDF4,F0,F2;addscalarinF2SDO(R1),F4;storeresultSUBIRlzRl,8;decrementpointer8bytes(perDW)BNEZRl,loop;branchifRl!=zero执行时的情况:loop:LDF0,0(Rl)1stall2ADDDF4,F0,F23stall4stall5SD0(Rl)zF46SUBIRl,Rl,87BNEZRl,loop

5、8stall9指令调度后:loop:LDF0z0(Rl)stallADDDF4zF0,F2SUBIRl,Rl,8BNEZRl,loopSD8(R1),F4执行时间减少到6个时钟周期。将上述程序展开3次之后loop:LDFOz0(Rl)2ADDDF4,F0,F23SDO(Rl),F41LDF6,-8,O(R1)2ADDDF8,F,F23SD-8(Rl),F81LDF1O,-16(R1)2ADDDF12,F10,F23SD-16(Rl),F121LDF14,-24(Rl)2ADDDF16,F14,F23SD-24(Rl)zF161SUBIRl,Rl,#321平均每个迭代6.8个周期。BNEZRl,

6、loop2未调度时,执行时间为27个周期,loop:LDFOz0(Rl)LDF6f-8,O(Rl)LDF1O,-16(R1)LDF14,-24(Rl)ADDDF4,F0,F2ADDDF8,F6,F2ADDDF12,F10,F2ADDDF16,F14,F2SD0(Rl),F4SD-8(Rl),F8SD-16(R1),F12SUBIRl,Rl,#32BNEZRl,loopSD8(Rl),F16调度后,执行时间为14个周期,平均每个迭代3.5个周期。指令流水处理中的相关性:(I)数据相关。如果满足以下两个条件,则称指令j与指令i是数据相关的:A.指令i产生的结果被指令_/使用;B.指令)与指令女数据

7、相关,而指令A与指令,数据相关。上述程序简单展开的结果是:loop:LDR),O(Ri)ADDDF4,FO,F2SDO(R1),F4SUB!R1.R1.#8LDF6,0(RI)ADDDF8,F6,F2SDO(R1),F8SUBlR1.R1.#8LDF10.0(Ri)ADDDF12,FIO,F2SDO(R1),F12SUBIRLRL#8LDF14.O(R1)ADDDFI6.F14,F2SDO(R1),FI6SUBiRl,Rl,#8BNEZR!.loop这里,相关性都来自减法指令。它使得指令只能顺序执行,而且指令数量多。(2)名字相关。名字相关发生在当两条指令使用相同的寄存器或存储单元(称为名字)

8、时。但是在指令之间不存在涉及该名字的数据流。在指令i及其后的指令)之间存在两种名字相关性。A.反相关。当指令j写一个寄存器,而指令i读这个寄存器时发生反相关。反相关对应于WAR险象,这种险象的检测使得反相关指令对保持其原有的顺序。B.输出相关。输出相关发生于指令i和指令/写相同寄存器或存储器单元时。指令的顺序必须保持。输出相关对应于WAW险象,可通过检测手段发现。解决名字相关的方法:寄存器更名(RegiSterrename)o例如对于上述循环的例子,如果不进行寄存器重新命名,其名字相关的情况如下所示:loop:LDF0,0(RI)ADDDF4,FO,F2SDO(R1),F4LDFO.-8(R1

9、)ADDDF4.F0,F2SD-8(R1),F4LDFO,-16(R1)ADDDF4,F0,F2SD-16(R1).F4LDFO,-24(R1)ADDDF4,F0,F2SD-24(R1),F4SUBIRl.Rl.#32BNEZRLIoop这些名字相关迫使指令序列只能按序执行。在经过了寄存器重新命名之后,名字相关就被消除,而只剩下数据相关。loop:LDFO.O(Rl)ADDDF4.F0.F2SDO(R1),F4LDF6,-8(R1)DDDF8,F6,F2SD-8(R1),F8LDF1O.-I6(R1)ADDDFI2,FI0,F2SD-16(R),F12LDFI4.-24(RI)ADDDF16.

10、F14,F2SD-24(Ri),F16SUBIRl,Rl,#32BNEZRl,loop(3)控制相关。控制相关决定了转移指令与其它指令之间的执行顺序。程序中除了开始的第一个基本块之外,其它每条指令都对某些分支指令有控制相关性,通常必须保持这种控制相关性。控制相关导致两个基本约束:A. 一条与一个分支相关的指令不能移动到这个分支指令之前而使这条指令不受该分支的控制。B. 一条与一个分支不相关的指令不能移动到这个分支之后而使这条指令受到该分支指令的控制。上例中循环展开时取消了一些控制指令,因而消除了一些控制相关。两种保持控制相关性的方法:(1)按序执行;(2)检测控制或分支险象,保证与分支指令控制

11、相关的指令在分支的方向明确之后才执行,而与分支指令不相关的指令则可以提前或者延迟执行。控制相关本身不是必须保持不变的本质因素。必须保持不变的是程序的两个特性:异常行为和数据流。例如:BEQZR2,L1LWRlz0(R2)Ll:这里只存在控制相关,不存在数据相关。习题:7二、指令的动态调度静态调度:用编译调度动态调度:用硬件调度基本思想:无序执行一一打破指令执行的顺序限制。有序指令启动:DIVDF0,F2zF4ADDDFlO,F0,F8SUBDF12,F8zF14第三条指令不能提前启动。无序指令启动的方法:记分牌方法,TOmaSUk)法1.记分牌方法记分牌的构成:(1)指令状态表。(2)功能部件

12、状态表。(3)寄存器结果状态表。四个执行阶段:启动、读操作数、执行、写结果(1)启动规则:无结构冲突,没有WAW相关(2)读操作数规则:操作数具备一一消除RAW相关(3)写结果规则:前面指令已读取操作数或者无数据相关一一消除WAR相关例如:一个具有五个功能部件的CPU,包括一个整数部件(Integer)、两个乘法部件(MUIt1,MUlt2)、一个加法部件(Add)和一个除法部件(DiVide)。假定以下指令序列:LDF6,34(R2)LDF2,45(R3)MULTDF0,F2,F4SUBDF8,F6,F2DIVDFI0,F0,F6ADDDF6,F8,F2这里LD指令由整数部件执行(无流水功能

13、),加法和减法都由加法部件执行,乘法和除法运算操作由相应的部件执行。指令状态表指令状态指令启动该操作数执行完成写结果LDF6,34(R2)1234LDF2.45(R3)567MULTDF0,F2,F46SUBDF8,F6,F27DlVDF10,F0,F68ADDDF6.F8.F2功能部件状态表部件功能部件状态名称BusyOpFiFjFkQjQkRjRkIntegerYesLoadF2R3NoMultiYcsMultFOF2F4IntegerNoYcsMult2NoAddYcsSubFSF6F2IntegerYcsNoDivideYesDivFiOFOF6MultiNoYcs寄存器结果状态表FOF2F4F6F8FIOF12F30MUIllIntegerSUbDiVide假定加法部件的执行需要2个时钟周期,乘法需要10个周期,除法需要40个周期。在MULTD和DIVD写结果时的记分牌情况如下所示。指令状态表指令指令状态启动读操作数执行完成写结果LDF6,MR2)1234LDF2.45(R3)5678MULTDF0.F2.M691920SUB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究生考试 > 专业课

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!