返回主页

[计算机组成原理 P1147] 某 16 位计算机中,带符号整数用补码表示,数据 Cache 和指令 Cache 分离。题 6表给出

 
学习人数: 3.0k
 
正确率: ??%
答案解析

题目描述
未通过

16 位计算机中,带符号整数用补码表示,数据 Cache 和指令 Cache 分离。题 6表给出了指令系统中部分指令格式,其中 Rs 和 Rd 表示寄存器,mem 表示存储单元地址,(x)表示寄存器 x 或存储单元 x 的内容。

该计算机采用 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]。该语句对应的指令序列及其在指令流水线中的执行过程如下图所示。

则这 4 条指令执行过程中,I3 的 ID 段和 I4 的 IF 段被阻塞的原因各是什么?

4)若高级语言程序中某赋值语句为 x=x*2+a,x 和 a 均为 unsigned int 类型变量,它们的存储单元地址分别表示为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题 6图画出这条语句对应的指令序列及其在流水线中的执行过程示意图。


上一题
下一题
加入错题本
个人笔记
已有7条笔记

登录后提交答案


1 个回答 (点击展开回答)