This section contains 700 words (approx. 3 pages at 300 words per page) |
When the instructions be executed by a CPU are independent of one another, it is possible to apply the technique of pipelining to execute them faster than would be possible with non-pipelined serial execution. Such potential overlap among instructions is called instruction-level parallelism, because the instructions, being independent, can be executed in parallel. This is a fairly simple but effective idea for exploiting the parallelism that is already inherent in certain instructions.
It is also possible to extent the pipelining idea by increasing the amount of parallelism available in the program. A simple but common way to increase the amount of parallelism among instructions is to exploit parallelism among different iterations of a loop--such parallelism is called loop-level parallelism. An example of such a parallel loop is a FOR loop that adds two 1000-elements arrays:
- for (i=1; i 1000; i = i + 1;)
- x[i] = x[i] + y[i...
This section contains 700 words (approx. 3 pages at 300 words per page) |