文章
57
粉丝
0
获赞
0
访问
6.9k
$$的原码格式为 1000 0000 0000 0000 0000 0010 0000 0001b,补码为`1111 1111 1111 1111 1111 1101 1111 1111b` 也就是 FFFF FDFFH,舍去高 16 位,得 FDFFH;执行指令“SHR R1”后,R1变成1111 1111 1111 1111 1111 1110 1111 1111b 也就是 FFFF FEFFH,舍去高 16 位,得 FEFFH
执行这4条指令所需的时钟周期数为(5 + 4 - 1) = 8
因为 I3 与 “I1 和 I2“ 都存在数据冒险,需等到 I1 和 I2 将结果写回寄存器后,I3 才能读寄存器内容,所以 I3 段的ID阻塞了两个时钟周期;因为 I4 的前一条指令 I3 在 ID 段被阻塞,I3 还没来得及锁寄存器 IR,流水段寄存器的数据尚未取完,倘若此时 I4 要执行 IF,那么 I3 拿到的是 I4 的译码结果,会覆盖 I3 的指令,所以 I4 的 IF 段被阻塞
至少需要 17 个时钟周期,如下
评分及理由
(1)得分及理由(满分2分)
学生答案中正确给出了执行指令后R1的内容为FEFFH,且计算过程正确(从FDFFH右移得到FEFFH)。虽然原码和补码的表示部分存在冗余信息(如32位表示),但核心结果正确。根据标准答案,正确写出结果即可得满分。
得分:2分
(2)得分及理由(满分2分)
学生答案正确计算了4条指令在5段流水线中所需时钟周期数为8(公式5+4-1=8),与标准答案一致。
得分:2分
(3)得分及理由(满分2分)
学生正确解释了I3的ID段阻塞原因(与I1和I2存在数据相关,需等待写回),以及I4的IF段阻塞原因(因I3在ID段阻塞导致)。理由充分且符合标准答案。
得分:2分
(4)得分及理由(满分7分)
学生提供的指令序列正确(LOAD、LOAD、SHL、ADD、STORE),与标准答案一致(2分)。流水线执行过程示意图中,指令序列和时钟周期安排正确,但存在以下问题:
登录后发布评论
暂无评论,来抢沙发