首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决数据风险的MIPS流水线逻辑

解决数据风险的MIPS流水线逻辑
EN

Stack Overflow用户
提问于 2012-10-25 03:03:50
回答 1查看 1.5K关注 0票数 1

下面的代码在一个5级流水线数据路径上运行。我很难知道我对流水线工作原理的理解是否正确。在下面的尝试中,我试图通过在适当的位置插入“气泡”来解决没有数据转发单元的数据路径中的数据风险。我的第一个问题是,下面的流水线逻辑是正确的吗?

我的第二个问题是假设数据路径中有一个转发单元,来自MEM->EX和WB->EX,这将如何改变我第一个问题的逻辑?

代码语言:javascript
复制
add t0, s1, s2
add t1, t0, s3
sub t2, t0, t1
xor t3, t2, a0
lw t4, 0(t7)
slt t5, t4, t3

这是我对问题1的尝试:

代码语言:javascript
复制
add t0, s1, s2 //IF add1 instruction
nop            //ID add1 instruction
nop            //EX add1 instruction
add t1, t0, s1  //MEM add1 instruction,  IF add2 instruction
nop             //WB add1 instruction,  ID add2 instruction
nop            //EX add2 instruction
nop            //MEM add2 instruction
nop            //WB add2 instruction
sub t2, t0, t1 //IF sub instruction
nop            //ID sub instruction
nop            //EX sub instruction
nop            //MEM sub instruction
xor t3, t2, a0 //WB sub instruction, IF xor instruction
lw t4, 0(t7)   //ID xor instruction, IF lw instruction
nop            //EX xor instruction, ID lw instruction 
nop            //MEM xor instruction, EX lw instruction 
nop            //WB xor instruction, MEM lw instruction
slt t5, t4, t3 //WB lw instruction, IF slt instruction
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-25 03:28:20

看一下这里演示的流水线图:https://www.student.cs.uwaterloo.ca/~cs251/S12/a4.pdf,并将您的指令映射到类似的交错流水线,它将帮助您可视化数据风险。

此外,确切的数据转发实现将取决于作业中问题的设计,这将影响您需要多少nops。

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

https://stackoverflow.com/questions/13055975

复制
相关文章

相似问题

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