Risc 计算机的流水线

lettermail 2003-06-09 06:00:25
高程书中写道:
Risc计算机的 流水线对数据相关的解决方法是增加bypass 路径。
例如第N 条指令和第N+1条指令均为加法指令,而第N条指令的输出结果要用作第N+1条指令的输入源,当第N+1条指令取数时,第N条指令的输出结果还没有送回目的寄存器,这样就产生了数据相关。 (我明白)

在ALU的输出端和输入端寄存器间建立bypass 路径,将第N条指令的结果直接从输出端送往输入端寄存器作为第N+1条指令的源操作数,从而可以避免系统性能下降 I(不明白)

按道理说第N条指令的结果还没有出, 第N+1条指令无论怎样也要等第N条指令的结果出来之后才能工作的, 也就是说书中的建立的bypass 路径应该不能避免系统性能下降才对啊! 我曾经看过“cpu 的基本结构模型图”也不明, 请指教。

...全文
99 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
坐着等天亮 2003-06-24
  • 打赏
  • 举报
回复
高程书错误不要太多噢!
我看了一个晚上是在受不了,就把书送人了。
tiamo 2003-06-23
  • 打赏
  • 举报
回复
经典的risc的指令执行分成5个阶段..IF-instruction fetch,ID-instruction decode,EX-execute,MEM-memory access,WB-write back

很多的指令执行结果会在EX阶段就计算出来了,但是要等到WB阶段才写入内存或者是寄存器
这样就能进行forwarding............

forwarding技术是很落后的技术了,现在的cpu都使用out of order execute,使用register rename的方法解决Data hazards......

好好看看计算机体系结构的书吧

6,169

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧