在DLX基本流水线中可采用哪些静态方法降低分支损失?

题目
问答题
在DLX基本流水线中可采用哪些静态方法降低分支损失?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在DLX流水线上执行分支指令时,PC值有两种可能的变化情况。一种是();另一种是()。


正确答案:PC值改变为分支转移的目标地址;PC值保持正常(等于当前值加4)

第2题:

简述减少流水线分支损失四种方法。


正确答案: (1)冻结或排空流水线:在流水线中停住或删除分支后的指令,直到知道转移目标地址
(2)预测分支转移失败:流水线继续照常流动,如果分支转移成功,将分支指令后的指令转换为空操作,并从分支目标处开始取指令执行;否则照常执行
(3)预测分支转移成功:始终假设分支成功,直接从分支目标处取指令执行
(4)延迟分支(delayedbranch):分支开销为n的分支指令后紧跟有n个延迟槽,流水线遇到分支指令时,按正常方式处理,顺带执行延迟槽中的指令,从而减少分支开销。

第3题:

评述解决数据相关的技术在DLX流水线的应用。


正确答案: 在DLX中,由于ALU和数据存储器都要接受操作数,设置从寄存器文件EX/MEM和MEM/WB到这两个单元输入的定向路径,还有DLX的零监测单元在EX周期完成分支条件检测操作,也设置到该单元的定向路径,减少了数据相关带来的暂停;但并不是所有数据相关带来的暂停都可通过定向技术来消除,采用暂停技术,设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。利用编译器技术,重新组织代码顺序也可消除数据相关带来的必然暂停。

第4题:

基本DLX流水线中,IF段操作可表示为:IF/ID.IR←();IF/ID.NPC,PC←(ifEX/MEM.cond{()}else{});


正确答案:Mem[PC];EX/MEM.NPC;PC+4

第5题:

在DLX基本流水线中可采用哪些静态方法降低分支损失?


正确答案: (1)修改硬件:在ID段增加一个加法器,将计算分支目标地址的操作移到ID段完成。
(2)预测分支失败的方法
(3)延迟分支方法

第6题:

基本DLX流水线中,ALU指令在MEM段的处理动作可表示为:MEM/WB.ALUOutput←();


正确答案:EX/MEM.ALUOutput

第7题:

基本DLX流水线中四个多路选择器的控制端由哪些信息决定?


正确答案: ALU输入端的两个MUX由ID/EX.IR所指出的指令类型控制,IF段的MUX由EX/MEM.Cond域的值控制,WB段的MUX由当前指令类型(Load/ALU)控制。

第8题:

基本DLX流水线中,IF与Mem两个阶段都要访问存储器,怎样避免访存冲突?


正确答案: 把指令存储器和数据存储器分开,使每个存储器具有独立的读写端口。

第9题:

在基本DLX流水线基础上,避免控制相关的方法有哪些?


正确答案: (1)改进硬件功能,把分支目标地址和条件的计算移到译码段进行;
(2)采用预测分支失败机制
(3)采用延迟分支机制。

第10题:

减少流水线分支延迟的静态方法有哪些?


正确答案: (1)预测分支失败:沿失败的分支继续处理指令,就好象什么都没发生似的。当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。
(2)预测分支成功:当流水线ID段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。
(3)延迟分支:主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成。不管分支是否成功,都要按顺序执行延迟槽中的指令。
3种方法的共同特点:它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。