在基于硬件的前瞻执行中,指令流出时,下列描述中( )是正确的。
A: 把保留站和该ROB项置为“忙”
B: 如果该指令需要的操作数已经就绪,就把它(们)送入保留站
C: 必须有空闲的保留站且有空闲的ROB项
D: 把该ROB项的编号放入保留站r
A: 把保留站和该ROB项置为“忙”
B: 如果该指令需要的操作数已经就绪,就把它(们)送入保留站
C: 必须有空闲的保留站且有空闲的ROB项
D: 把该ROB项的编号放入保留站r
举一反三
- 在Tomasulo算法中,只要指令队列头部的指令所要求的保留站有空闲的,该指令就可以流出。
- 假设:r是分配给当前指令的保留站或者缓冲器单元(编号)
- 假设:r是分配给当前指令的保留站或者缓冲器单元(编号);rd为目的寄存器编号;rs和rt为操作数寄存器编号;imm为符号扩展后的立即数; RS为保留站;result为浮点部件或load缓冲器返回的结果; Qi为寄存器状态表;Regs[]为寄存器组; Op为当前指令的操作码。与rs对应的保留站字段是Vj,Qj;与rt对应的保留站字段是Vk,Qk。若当前流出的指令是浮点运算指令,且Qi[rs] ≠ 0,则要进行的操作为( )
- 在基于硬件的前瞻执行中,当预测错误的分支指令到达ROB队列的头部时,要进行()
- 保留站中的( )字段用于保存源操作数的值。