首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我希望在CC7(时钟周期7)之前找到已消除的危险,并给出适当的原因和解决方案。

我希望在CC7(时钟周期7)之前找到已消除的危险,并给出适当的原因和解决方案。
EN

Stack Overflow用户
提问于 2022-04-23 16:19:17
回答 1查看 26关注 0票数 -2

我想在下面的代码中找到消除的危险,直到时钟周期7,并有适当的原因和解决方案。

代码语言:javascript
复制
1: sub $2,$2,$3
2: lw $4, 0($2)
3: and $1,$4,$2
4: beq $1,$2,1
5: or $5,$1,$6
6: add $2,$5,$3

照我的想法

代码语言:javascript
复制
line2: Ex hazard (solution is forwarding)
line3: Ex hazard , mem hazard (solution is forwarding and add one bubble)
line5: Condition hazard 
line6: Ex hazard (forwarding)

我想解决这个问题..。

EN

回答 1

Stack Overflow用户

发布于 2022-04-23 16:45:51

你基本上是对的。

让我们进一步讨论:指令#3有两个危险,$4$2都是先前指令的原始依赖项。虽然插入气泡以覆盖MEM危险延迟指令#3,但它仍然会读取$2的一个陈旧值,这样其他延迟就没用了:它也需要为该寄存器进行转发。

您已经错过了指令4中$1的EX危险。

指令5在$1上也存在原始危险,这将需要转发,因为指令5的ID阶段(假设分支未被接收)与指令3的MEM阶段重叠,这不足以避免原始依赖项中陈旧值的危险。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71981509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档