在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4669|回复: 12

请教个处理器流水线的问题

[复制链接]
发表于 2012-3-27 10:09:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
想设计一个时序的流水线控制器,但是遇到的问题是访存cache缺失后,数据stall信号如果时序控制流水线就会使流水线往前走一拍,这样访存指令后就得多加一个延迟槽,因为编译器的调度能力有限,会造成一些代价。  
请问大家还有什么别的解决方式吗?一般流水线的设计是时序还是组合?  
谢过了
发表于 2012-3-27 17:02:24 | 显示全部楼层
不太理解你的说法,你是按照MIPS来设计的吗?ICACHE缺失后可以把整个流水线都STALL住,直到ICACHE被FILL再往下走;
 楼主| 发表于 2012-3-27 22:09:26 | 显示全部楼层
回复 2# jm2000


    是这样的,我就是纠结于是应该立即stall住(组合发出stall命令)还是应该用时序状态机来控制流水线,后者相当于时序控制。
不知道您对这个问题这么看?
发表于 2012-3-28 11:06:36 | 显示全部楼层
我也不是特别的懂,但是看其他CPU的代码是直接组合电路STALL住的;希望高手来参与解答;
发表于 2012-4-4 11:40:18 | 显示全部楼层
看不懂,不知啥问题。这种细节建议贴代码或者贴图吧。
发表于 2012-4-8 00:46:33 | 显示全部楼层
伪问题!组合怎么stall住,呵呵!
 楼主| 发表于 2012-4-13 15:23:04 | 显示全部楼层
回复 6# hawktour


    是组合产生stall信号 流水线的设计当然是时序的
    问题的表述应该是  我现在知道访存缺失了,我是应该马上让流水线停止还是让其再走一拍 前者就叫组合,后者是缺失流水
    组合的缺点是关键路径长
    时序的缺点是相关导致的访存指令延迟槽数目增加
发表于 2012-4-26 22:10:48 | 显示全部楼层
这个我也一直想问下,不错。学习了。。。谢谢。
发表于 2012-4-29 08:35:21 | 显示全部楼层
学习了。。。。
发表于 2012-5-2 01:08:34 | 显示全部楼层
这个得考虑几方面。比如
1,考虑IF stage里面的timing budget,如果它不在全局关键路径上,那你是有加组合逻辑的可能性的。
而且我估计Icache miss信号的产生最差的情况下也不会比Icache hit之后,instruction 线上的信号来的晚,而你stall大概只需要在instrcution信号上加点mux之类的东西来做nop stall。代价不会太大。

2,按照第一条做,当前周期就可以给出nop,否则的话,我猜你会在IFstage传递一个不正确的指令到IDstage,同时把miss信号传递到ID周期,然后通过一个并行的FSM之类的东西在ID 周期生成一些信号,来做nop stall。这么做大概也会增加ID stage复杂度。总之你需要a)要么通知所有(或者某几级)级间寄存器把stall的结果舍掉 b)要么在IF或ID把指令变成nop。

3) 另外我没感觉哪里会出现你说的delay slot多一个周期。假如当前IF周期发生 cache miss,后面第二个周期会更新cache并找到指令,那么如果在IF级做stall,就是下面第一个图;如果在ID做stall,就是下面第二个图。 所有情况在IDstage都是需要增加两个cycle得到真实指令。

图一:
          IFstage   IDstage
          add
miss-- nop           add
          nop           nop
get  -- sub           nop
                            sub

图二:
          IFstage   IDstage
          add
miss-- xxx           add
          nop           nop  -- process stall at ID
get  -- sub           nop
                            sub

另外你所说的时序处理或者组合处理都不是问题,我觉得重要的是,你需要确定的用框图设计出来,然后再代码描述。你要是没设计好就这么干编,做总体和调试的时候是会累死的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 20:32 , Processed in 0.040036 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表