欢迎来到天天文库
浏览记录
ID:61044175
大小:728.50 KB
页数:63页
时间:2021-01-20
《流水线技术--流水线中的相关.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.3流水线中的相关1.相关的概念流水线中的相关是指相邻或相近的两条指令因存在某种关联,后一条指令不能在原指定的时钟周期开始执行。◆结构相关当硬件资源满足不了同时重叠执行的指令的要求,而发生资源冲突时,就发生了结构相关。2.相关的分类第三章流水线技术虚拟存储器的特点◆数据相关当一条指令需要用到前面某条指令的结果,从而不能重叠执行时,就发生了数据相关。◆控制相关当流水线遇到分支指令和其他能够改变PC值的指令时,就会发生控制相关。3.几个问题◆相关有可能会使流水线停顿。3.3流水线中的相关虚拟存储器的特点在本章中,我们约定:当一条指令被暂停时,暂停在其后发射
2、(流出)的指令,但继续执行在其前发射的指令。◆消除相关的基本方法:让流水线中的某些指令暂停,而让其它指令继续执行。3.3流水线中的相关虚拟存储器的特点3.3.1流水线中的结构相关2.如果某种指令组合因资源冲突而不能顺利重叠执行,则称该机器具有结构相关。1.在流水线机器中,为了使各种指令组合能顺利地重叠执行,需要把功能部件流水化,并把资源重复设置。3.常见的导致结构相关的原因:◆功能部件不是全流水◆重复设置的资源的份数不够3.3流水线中的相关虚拟存储器的特点4.结构相关举例:访存冲突当数据和指令存在同一存储器中时,访存指令会导致访存冲突。解决办法Ⅰ:插入
3、暂停周期(“流水线气泡”或“气泡”)3.3流水线中的相关虚拟存储器的特点虚拟存储器的特点虚拟存储器的特点引入暂停后的时空图3.3流水线中的相关虚拟存储器的特点5.避免结构相关:6.有些设计方案允许有结构相关◆所有功能单元完全流水化◆设置足够的硬件资源硬件代价很大。◆降低成本◆减少部件的延迟解决方法Ⅱ:设置相互独立的指令存储器和数据存储器或设置相互独立的指令Cache和数据Cache。3.3流水线中的相关虚拟存储器的特点3.3.2流水线的数据相关1.数据相关简介当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作数的顺序,使之不同于它们在非流水实现
4、时的顺序,这将导致数据相关。数据相关举例3.3流水线中的相关虚拟存储器的特点虚拟存储器的特点2.利用定向技术减少数据相关引起的暂停(1)定向技术的主要思路:在发生上述数据相关时,后面的指令并不是马上就要用到前一条指令的计算结果。如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。(2)采用定向技术消除上例中的相关工作过程演示3.3流水线中的相关虚拟存储器的特点虚拟存储器的特点虚拟存储器的特点(3)当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所
5、需的位置。(4)一个功能单元的输出不仅可以定向到其自身的输入,而且还可以定向到其它单元的输入。举例3.3流水线中的相关虚拟存储器的特点3.3流水线中的相关虚拟存储器的特点(5)在DLX中,任何流水寄存器到任何功能单元的输入都可能需要定向路径。(6)当两条指令对存储器同一单元进行读写时,也可能发生数据相关。但本章仅讨论有关寄存器的数据相关。3.数据相关的分类按照指令对寄存器的读写顺序,可以将数据相关分为以下三种类型:(考虑两条指令i和j,假设i先进入流水线)3.3流水线中的相关虚拟存储器的特点虚拟存储器的特点(2)写后写相关(WAW)在i写入之前,
6、j先写。最后写入的结果是i的,错误!(1)写后读相关(RAW)(命名规则)在i写入之前,j先去读。j读出的内容是错误的。这是最常见的相关。①这种相关仅出现在这样的流水线中:◆流水线中有多个段可以进行写操作◆当某条指令在流水线中暂停时,允许其后的指令继续向前流动。3.3流水线中的相关虚拟存储器的特点②DLX整数流水线中不会发生这种相关(仅在WB段进行写操作)③若对DLX作以下修改,则会发生WAW相关:◆把ALU操作指令的“写回”移到MEM段◆假设访问数据存储器需占用两拍举例虚拟存储器的特点(3)读后写相关(WAR)在i读之前,j先写。i读出的内容是错误的!
7、①这种相关仅出现在这样的流水线中:有些指令是在流水线的后部读源操作数,而有些指令则是在流水线的前部写结果。②DLX流水线中不会发生这种相关;(读在先(ID),写在后(WB))③这种相关很少发生;(因为流水线一般是先读操作数,后写结果)④复杂指令可能导致这种相关。3.3流水线中的相关虚拟存储器的特点(1)并非所有的数据相关都可以用定向技术解决举例4.需要暂停的数据相关3.3流水线中的相关(2)增加流水线互锁硬件,插入“暂停”。当互锁硬件发现这种相关时,就暂停流水线,直到相关消失。举例:演示A演示B3.3流水线中的相关3.3流水线中的相关例3.5假设某指令
8、序列中20%的指令是Load指令,并且
此文档下载收益归作者所有