- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4 流水线技术-吴学涯要点
5.4 流水线技术;;5.4.1 并行处理技术概述;1. 时间并行;2. 空间并行;3. 时间并行+空间并行;5.4.2 流水线技术;;流水线的硬件基本结构
由一系列串联的功能部件(Si)组成
各个功能部件之间设有高速缓冲寄存器(L),暂存上一功能部件的处理结果,同时又能接受新的处理任务
在一个统一的时钟(C)控制下,计算任务从功能部件的一个功能段流向下一个功能段
所有功能段同时对
不同的数据进行不
同的处理,各个处
理步骤并行地操作;;;5.4.3 流水线的分类;1.按级别分类;1)算术流水线;2)指令流水线;3)处理机流水线;2. 按数据分类;5.4.4 流水计算机的组成;1. 存储器体系;2. 流水CPU;1)指令部件;2)指令队列;3)执行部件;执行段的速度匹配问题,通常采用并行的运算部件以及部件流水线的方式来解决
一般采用的方法:
①将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令
②在浮点执行部件中,包括浮点加法部件和浮点乘/除法部件,它们可以同时执行不同的指令
③浮点运算部件均以流水线方式工作;5.4.5 流水计算机的时空图;1.指令流水线过程段;2.非流水计算机工作方式;;3.标量流水计算机工作方式;对标量流水计算机而言,
上一条指令与下一条指令的5个子过程在时间上可以重叠执行
当流水线满载时,每一个时钟周期就可以输出一个结果
用9个时钟周期完成5条指令
每条指令平均用时1.8个时钟周期
采用标量流水线工作方式,
虽然每条指令的执行时间并未缩短,但CPU运行指令的总体速度却能成倍提高
作为提速的代价,需要增加部分硬件才能实现标量流水;4.超标量流水计算机工作方式;;5.4.6指令的相关性;1.数据相关;数据相关是由于指令之间存在数据依赖性而引起的
根据指令间对同一寄存器读和写操作的先后次序关系,可将数据相关性分为三种类型
写后读(Read-After-Write,RAW)相关
读后写(Write-After-Read,WAR)相关
写后写(Write-After-Write,WAW)相关
解决数据相关冲突的办法
⑴采用编译的方法
⑵由硬件监测相关性的存在,采用数据旁路技术设法解决;;;【例5-5】流水线中有三类数据相关冲突:写后读(RAW)相关、???后写(WAR)相关、写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。
(1) I1: ADD R1,R2,R3 ;(R2)+(R3)?R1
I2: SUB R4,R1,R5 ;(R1)-(R5)?R4
(2) I3: STA M(x),R3 ;(R3)?M(x),M(x)是存储器单元
I4: ADD R3,R4,R5 ;(R4)+(R5)?R3
(3) I5: MUL R3,R1,R2 ;(R1)×(R2)?R3
I6: ADD R3,R4,R5 ;(R4)+(R5)?R3;【解】(1)I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关
(2)I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。
(3)如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关;2.资源相关;;3.控制相关;⑴延迟转移法;⑵转移预测法
文档评论(0)