首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIPS sw依赖关系

MIPS sw依赖关系
EN

Stack Overflow用户
提问于 2015-05-30 10:23:44
回答 1查看 745关注 0票数 1

我对MIPS代码和依赖性有疑问。如果我遵循MIPS密码。

它是如何工作的,没有任何转发单元?

需要插入多少个档位?

代码语言:javascript
复制
7   ADD $t5, $t4, $t5
8   SUB $t5, $t5, $t3 
9   SW  $t5, 24($t0)

我认为:

第7-8行WAW,原始依赖t5 2循环失速

第8-9行原始依赖项t5,1循环失速

我说的对吗?还是我错过了什么?

第7行和第9行之间有依赖关系吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-30 10:39:52

我觉得你很接近

代码语言:javascript
复制
ADD $t5, $t4, $t5

在ALU中执行,并需要为下一行写回$t5。这意味着一个失速的MEM和WB,因此2个周期。

代码语言:javascript
复制
SUB $t5, $t5, $t3 

也是在ALU中执行的,这就是为什么它被停止了两个周期。

代码语言:javascript
复制
SW  $t5, 24($t0)

现在问题来了。我相信寄存器是在ID上读取的,这意味着这里的摊档将再次是2个周期,等待$t5的WB。看起来可能不是这样,但直到SUB的WB,SW可能不得不等待ID。

编辑:--我写下了这条管道,以便更容易看到。

代码语言:javascript
复制
+----+-----+-------+-------+
|    | ADD |  SUB  |  SW   |
+----+-----+-------+-------+
|  1 | IF  | -     | -     |
|  2 | ID  | IF    | -     |
|  3 | EX  | ID    | IF    |
|  4 | MEM | stall | stall |
|  5 | WB  | stall | stall |
|  6 | -   | EX    | ID    |
|  7 | -   | MEM   | stall |
|  8 | -   | WB    | stall |
|  9 | -   | -     | EX    |
| 10 | -   | -     | MEM   |
| 11 | -   | -     | WB    |
| 12 | -   | -     | -     |
+----+-----+-------+-------+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30544949

复制
相关文章

相似问题

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