跳转至

计算机系统结构 流水线

TODO

把最后列表里列的搞懂

重新梳理一下流水线

把课内的课件整理一下:

流水线技术定义:把重复的过程分解为若干个子过程

流水线的时空图:

  • 纵向:一条子指令按运行顺序使用到的硬件

  • 横向:时间

吞吐率:\(TP = \frac{n}{T_k}\)

  • \(n\): 完成的任务数
  • \(T_k\): 完成n个任务所花时间

加速比:\(S = \frac{T_s}{T_k}\)

流水线的实际吞吐率:\(TP = \frac{n}{(k + n - 1) \delta t}\)

1776841011176

最大吞吐率:\(TP_{max} = \lim_{n \rightarrow \inf} \frac{n}{(k+ n-1) \delta t} = \frac{1}{\delta t}\)

另外,还有各段时间不完全相等的流水线,此时的实际吞吐率:\(TP = \frac{n}{\sum_{i = 1}^k \delta t_i + \max(\delta t_1, ..., \delta t_k)}\)

最大吞吐率:\(TP_{max} = \frac{1}{\max(\delta t_1, ..., \delta t_k)}\)

加速比:\(S = \frac{T_s}{T_k}\)

  • \(T_s\) 不使用流水线
  • \(T_k\) 使用

还有效率啥的,懒得记了

  • 数据相关
  • 名相关
  • 三个冒险
  • RAW 写后读
  • 旁路
  • load-use hazard
  • 分支延迟
  • 分支预测
  • 延迟槽