第1题
用一台每个时钟周期发射两条指令的超标量处理机运行下面一段程序。所有指令都要进行取指(IF)、译码(ID)、执行、写结果(WB)4个阶段。其中IF、ID、WB这3个阶段各为一个流水段,其延迟时间都为10 ns。在执行阶段,LOAD操作、AND操作各延迟10 ns,ADD操作延迟20 ns,MUL操作延迟30 ns。这4种功能部件各设置一个,它们可以并行工作。ADD部件和MUL部件都采用流水结构,每一级流水线的延迟时间都是10 ns。 I1 LOAD R0,M(A) ;R0←M(A) I2 ADD R1,R0 ;R1←(R1)+(R0) I3 LOAD R2,M(B) ;R2←M(B) I4 MUL R3,R4 ;R3←(R3)×(R4) I5 AND R4,R5 ;R4←(R4)∧(R5) I6 ADD R2,R5 ;R2←(R2)+(R5) ①请列出程序代码中所有的数据相关及其相关类型。 ②假设所有运算型指令都在译码(ID)流水段读寄存器,在写结果(WB)流水段写寄存器,采用顺序发射、顺序完成的调度方法。画出流水线的时空图,计算执行这个程序所用的时间。
第2题
A.LDR r0,[r1,r2,LSL×2]
B.LDR r0,[r2,r1,LSL×2]
C.STR r0,[r1,r2,LSL×2]
D.STR r0,[r2,r1,LSL×2]
第3题
第4题
有A、B、C、D4个存储器操作数,要求完成(A×B)+(C+D)的运算,原来使用的程序如下。 I1 LOAD R1,M(A) ;R1←M(A) I2 LOAD R2,M(B) ;R2←M(B) I3 MUL R5,R1,R2 ;R5←(R1)*(R2) I4 LOAD R3,M(C) ;R3←M(C) I5 LOAD R4,M(D) ;R4←M(D) I6 ADD R2,R3,R4 ;R2←(R3)+(R4) I7 ADD R2,R2,R5 ;R2←(R2)+(R5) 现采用静态指令调度方法,请写出该程序调度后的指令序列。
第5题
A.r1Xr2
B.r2Xr3
C.r1Xr4
D.r2Xr4
第6题
为了减少指令条数,典型的面向定点数的RISC计算机不设置“清除寄存器(置O)指令”和“寄存器之间的数据传送指令”,也不设置“将操作数(存放于寄存器中)取反”的指令。设RISC计算机的算术运算指令均为“采用寄存器寻址的三操作数指令”,格式为: OP R1,R2,R3。 它们的两个源操作数R1和R2必须来自不同的通用寄存器,运算结果(目的操作数)可以存入第3个通用寄存器R3,也可以存入与某个源操作数相同的通用寄存器。 请问:
这样的RISC计算机必须进行怎样特别的系统结构设计,才能用算术运算指令实现“清除寄存器Ri”和“将寄存器Ri的值送入寄存器Rj中”以及“将操作数(存放于寄存器Ri中)取反”。
第7题
第8题
第10题
第11题