某指令流水线分为五级,分别完成取址(IF)、译码并取数(ID)、执行(EX)、访存(MEM)、写结果(WR)。设完成
某指令流水线分为五级,分别完成取址(IF)、译码并取数(ID)、执行(EX)、访存(MEM)、写结果(WR)。设完成各阶段操作的时间依次为90 ns、60 ns、70 ns、1 00 ns、50 ns。试问流水线的时钟周期应取何值?若第一条和第二条指令发生数据相关,试问第二条指令需推迟多少时间才能不发生错误?若相邻两条指令发生数据相关,而不推迟第二条指令的执行可采取什么措施?
某指令流水线分为五级,分别完成取址(IF)、译码并取数(ID)、执行(EX)、访存(MEM)、写结果(WR)。设完成各阶段操作的时间依次为90 ns、60 ns、70 ns、1 00 ns、50 ns。试问流水线的时钟周期应取何值?若第一条和第二条指令发生数据相关,试问第二条指令需推迟多少时间才能不发生错误?若相邻两条指令发生数据相关,而不推迟第二条指令的执行可采取什么措施?
A.指令译码,取指令,执行指令,存操作结果
B.取指令,指令译码,存操作结果,执行指令
C.取指令,指令译码,执行指令,存操作结果
D.执行指令,取指令,指令译码,存操作结果
名称
指令的汇编格式
指令功能
加法指令
ADD Rs,Rd
(Rs)+(Rd)->Rd
算术/逻辑左移
SHL Rd
2*(Rd)->Rd
算术右移
SHR Rd
(Rd)/2->Rd
取数指令
LOAD Rd,mem
(mem)->Rd
存数指令
STORE Rs,mem
Rs->(mem)
该计算机采用 5 段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地 址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发 技术处理数据相关,并且同一寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。 (1)若 int 型变量 x 的值为-513,存放在寄存器 R1 中,则执行“SHL R1”后,R1 中的内容是多少?(用十六进制表 示) (2)若在某个时间段中,有连续的 4 条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这 4 条指令 所需的时钟周期数为多少? (3)若高级语言程序中某赋值语句为 x=a+b,x、a 和 b 均为 int 型变量,它们的存储单元地址分别表示为[x]、[a]和[b]。该语句对应的指令序列及其在指令流中的执行过程如题 44 图所示。则这 4 条指令执行过程中 I3 的 ID 段和 I4 的 IF 段被阻塞的原因各是什么? (4)若高级语言程序中某赋值语句为 x=x*2+a,x 和 a 均为 unsigned int 类型变量,它们的存储单元地址分别表示 为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题 44 图画出这条语句对应的指令序列及其在流水 线中的执行过程示意图。
A.在同一个计算机中,各种指令的指令周期是相同的
B.CPU 每取出并执行一条指令所需的全部时间称为指令周期
C.执行阶段完成执行指令的操作,又称为执行周期
D.在大多数情况下, CPU 是按照“取址—执行—再取址—再执行 … ”的顺序自动工作的