MIPS流水线

 MIPS通常包含5个步骤,5级流水:

1.存储器取指令

2.指令译码同时读寄存器

3.执行操作或计算地址

4.在数据存储器中读取操作数

5.结果写回寄存器

针对流水线设计的指令集:

1.所有指令具有相同的长度。简化了取指令和指令译码。x86中指令长度不等。

2.只有几种指令格式。每条指令源寄存器字段保持不变。确保指令类型确定的同时,读取寄存器堆。否则,需要把译码和读寄存器堆分级。

3.堆内存的操作仅出现在存取操作中。意味着在指令执行级得到的内存地址,可以接着在下一级访问内存。

4.内存中操作数必须对齐。

流水线冒险:

冒险:在下一个时钟周期中下一条指令不能执行。

1.结构冒险。硬件不支持多条指令在同一时钟周期内执行。

2.数据冒险。一个操作必须等待另一个操作完成后才能执行时,流水线必须停顿。解决方法:数据定向/旁路。

3.控制冒险。处理器需要根据一条指令的结果做出决策,其它指令可能还在执行中。解决方法:分支预测/延迟决定。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值