CSC 456 Fall 2013/1d vb
Trends in Pipelining
Introduction
Computing architectures have changed greatly over the relatively short span of a few decades. In the pursuit of good performance and economical cost, processor architectures have taken many forms. There have been many trends over the years relating to specific processor characteristics such as pipeline length. Some changes are based on technological limitations of the time period, and other decisions are based on hypothetical and real world performance research.
Factors Favoring Longer Pipeline Length
With each tick of the clock, the pipeline is advanced by one stage. Having a much longer pipeline allows for each individual step to be very short. Since each individual pipeline step is relatively small it is possible for the clock speed to be much faster since each step does not require as much time or work.
There is a secondary affect of longer pipelines as well. The resulting higher clock speed can also be used as a marketing point. The average user does not understand the metrics of raw processor power, but being able to compare two numbers such as 2.9Ghz vs 3.4Ghz is a simple way in which many attempt to understand different processors.
Factors Favoring Shorter Pipeline Length
The issue with increased pipeline length is the problem of incorrect branch predictions. The longer a pipeline is, the more stages of wasted processing have been wasted when a different branch is taken. Decreasing the pipeline length has resulted in lower clock frequencies, but equal or better IPC. A smaller pipeline suffers less of a loss for every bad prediction, and the overall performance is improved. With all processor properties, there is no simple "best" pipeline, there is always a bell curve pointing to the the most effective pipeline pipeline length for a given setup.
Latch delays can also play a role when you increase pipeline Length.. " When a performance increase is attempted by further increasing the number of stages for a processor in which the number of stages is more than 90% of the optimum for performance, the performance is found not to be increased unless the increasable latch overhead time is less than the overhead time. " [5] - An Analysis about Increasable Latch Overhead Time for Processor Pipeline Depth Increase
Power Consumption vs. Performance
Along with performance, power is another concern in microarchitectural design. There have been multiple studies on what optimal pipeline depth when considering both performance and power. Srinivasan stated that majority of power used is related to latches, including clocking and the leakage of power per latch. The number of latches grows super linearly with the number of pipeline stages according to Srinivasan,
An Example of Pipeline changes in Cray Systems
Year | Name | Pipeline Length | Number of Pipelines | |
---|---|---|---|---|
1976 | Cray 1 [2] | 3 | 12 | |
2006 | IBM Cell BE | 23 | 16 | |
2012 | Cray XK7 [3] | 12 for scalar , 17 for vector | 6 |
An example of the Cell Pipeline