首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指令流水线的旁路方法

指令流水线的旁路方法
EN

Stack Overflow用户
提问于 2012-01-15 23:51:04
回答 1查看 498关注 0票数 0

嗨,假设下面的指令:

代码语言:javascript
复制
R1<-M1
R2<-M2
R3<-R1*R2
M3<-R3

现在,我们将创建一个类似下面的管道,而不绕过:XXX: bubble

代码语言:javascript
复制
IF1 ID1 EX1 ME1 WB1
    IF2 ID2 EX2 ME2 WB2
        IF3 XXX XXX XXX ID3 EX3 WB3
        XXX XXX XXX XXX IF4 ID4 EX4 WB4

我们将创建一个带有旁路的管道,就像下面的管道:XXX:by

代码语言:javascript
复制
IF1 ID1 EX1 ME1 WB1
    IF2 ID2 EX2 ME2 WB2
        IF3 XXX ID3 EX3 WB3
        XXX XXX IF4 ID4 EX4 WB4

我们应该等待WB1和WB2完成,然后我们可以执行指令3。因此,在旁路方法中,我们将在EX1和EX2电平之后将R1和R2值存储到缓冲区中。

但是..。在旁路中,在EX1之后,如何获取寄存器的R1值?我们还没有达到WB1的值。为什么我们需要一个缓冲区,为什么不直接读取R1?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-16 00:22:01

因为要加载到R1中的从存储器读取的值还没有写入寄存器文件。如果要从R1读取值,您将获得R1<-M1指令之前包含的值R1。在ME1之后,新的R1值存储在ME->WB流水线寄存器中。

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

https://stackoverflow.com/questions/8871004

复制
相关文章

相似问题

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