复旦大学961-计算机系统基础-第一章-处理器体系基础

961全部内容链接

CPU中的时序电路

TODO

单周期处理器的设计

王道2021《组原》P206

单指令周期:对所有指令都选用相同的执行时间来完成,称为单指令周期方案。此时每条指令都在固定的时钟周期内完成,指令之间串行执行,即下一条指令只能在前一条指令执行结束后才能启动。因此,指令周期取决于执行时间最长的指令的执行时间。对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。

流水线处理器的基本原理

王道2021《组原》P206

流水线方案:指令之间可以并行执行的方案,称为流水线方案,其追求的目标是力争在每个时钟脉冲周期完成一条指令的执行过程(只在理想情况下才能达到该效果)。这种方案通过在每个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。

Data Hazard的处理

《CS-APP》P295 流水线冒险

将流水线技术引入一个带反馈的系统,当相邻指令间存在相关时会导致出现问题。 这些相关有两种形式:

  1. 数据相关:下一条指令会用到这一条指令计算出的结果
  2. 控制相关:一条指令要确定下一条指令的位置。

这些相关可能会导致流水线产生计算错误,称为冒险(hazard), 冒险分为两类:

  1. 数据冒险(data hazard)
  2. 控制冒险(control hazard)

解决数据冒险的方式

  1. 用暂停来避免数据冒险暂停(stalling) 是避免冒险的一种常用技术,暂停时,处理器会停止流水线中一条或多条指令,直到冒险条件不在满足。让一条指令停顿在译码阶段,直到产生它的源操作数的指令通过了写回阶段,这样我们的处理器就能避免数据冒险。
  2. 用转发来避免数据冒险:将要写的值传入到流水线寄存器作为源操作数。这样就能避免暂停,这种将结果值直接从一个流水线阶段传到较早阶段的技术称为数据转发(data forwarding)

流水线设计中的其他问题

《CS-APP》P284 流水线的局限性

  1. 不一致的划分
  2. 流水线过深,收益反而下降
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iioSnail

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值