Ub5-Pipelining

Befehlspipelining

Zerlegung der Ausführung einer Maschinenoperation in Teilphasen, die dann von hintereinander geschaltenen Verarbeitungseinheiten taktsynchron bearbeitet werden, wobei jede Einheit genau eine spezielle Teiloperation ausführt.

Pipeline-Stufe

Stufen, der Pipeline, die jeweils durch Pipeline-Register getrennt sind

Pipelining

  • Pipeline-Stufen benutzen unterschiedliche Ressourcen

  • Ausführung eines Befehls in $k$ Taktzyklen

  • erhöht den Durchsatz, reduziert NICHT Ausführungszeit eines Befehls

  • Taktzyklus ist abhängig von der langsamsten Stufe

  • Unterscheidung zwischen Integer- und FP-Ausführung

Bsp

截屏2020-07-02 13.13.37
  • Zykluszeit

    • OHNE Pipelining

      $$ \text{Zykluszeit} = \text{Summe aller Stufen} $$

      $$ \text{Zykluszeit} = 250 + 100 + 130 + 220 + 50 = 750 \text{ps} $$

    • Mit Pipelining $$ \text{Zykluszeit} = \text{Längste Stufe} + \text{Latenz des Pipelineregisters} $$

      $$ \text{Zykluszeit} = 250 + 20 = 270 \text{ps} $$

  • SpeedUp $$ \begin{aligned} \text {SpeedUp} &=\frac{\text { average exec time WITHOUT pipeline }}{\text { average exectime WITH pipeline }} \ &=\frac{\mathrm{CPI} \cdot \text { CycleTime WITHOUT pipeline}}{\mathrm{CPI} \cdot \text { CycleTime WITH pipeline}} \end{aligned} $$

Previous
Next