BCS302 Unit-3 (Part-III)
BCS302 Unit-3 (Part-III)
BCS302 Unit-3 (Part-III)
Relative differences between Horizontal & Vertical Microprogramming are listed below:
NOTE: The five registers are loaded with new data every clock pulse. The effect of each clock is shown in the following table
(*MM Table 9-1).
Information flows between adjacent stages under the control of a common clock applied to all the registers simultaneously.
The behavior of a pipeline can be illustrated with a space-time diagram that shows the segment utilization as a function of
time.
The space-time diagram of a four-segment pipeline is demonstrated in the following figure (*MM Fig. 9-4).
Figure 9-4 Space-time diagram for pipeline
NOTE: Horizontal axis displays the time in clock cycles and the vertical axis gives the segment number.
We define a task as the total operation performed going through all the segments in the pipeline.
So, the first task T1 is completed after the fourth clock cycle. From then on, the pipe completes a task every clock cycle.
No matter how many segments are there in the system, once the pipeline is full, it takes only one clock period to obtain an
output.
Performance measure
The first task T1 requires a time = k.tp to complete its operation since there are k segments in the pipe.
The remaining n - 1 tasks, completed after a time = (n - 1).tp (emerge from the pipe at the rate of one task per clock
cycle).
Therefore, to complete n tasks using a k-segment pipeline requires:
The speedup of a pipeline processing over an equivalent non-pipeline processing is defined by the ratio
S = n.tn / (k + n - 1).tp
As the number of tasks increases, n becomes much larger than k - 1, and k + n - 1 approaches the value of n.
Under this condition, the speedup becomes S = tn / tp
If we assume that the time it takes to process a task is the same in the pipeline and non-pipeline circuits, we will have
tn = k.tp
Including this assumption, the speedup reduces to
S = k.tp / tp = k
This shows that the theoretical “maximum speedup that a pipeline can provide is k, where k is the number of segments in
the pipeline”.
To clarify the meaning of the speedup ratio, consider the following numerical example.
Question:
A pipeline has 4 segments and executes 100 tasks in sequence with a clock cycle time 20 ns.
1. The pipeline system will take how much total time to complete the execution?
2. What will be the speedup if the time it takes to process the task is the same in the pipeline and non-pipeline
circuits?
Solution:
Given that the time it takes to process a suboperation in each segment be equal to tp = 20 ns. The pipeline has k = 4 segments and
executes n = 100 tasks in sequence.
The pipeline system will take (k + n - 1).tp = (4 + 99) * 20 = 2060 ns to complete.
Answer.
Assuming that tn = k.tp = 4 * 20 = 80 ns,
a non-pipelined system requires n * k.tp = 100 * 80 = 8000 ns to complete the 100 tasks.
The speedup ratio is equal to 8000/2060 = 3 .88. Answer.
As the number of tasks increases, the speedup will approach 4, which is equal to the number of segments in the pipeline.
~~~~~~*****{Ӂ۞Ӂ}*****~~~~~~