|
|
|
|
|
|
|
Chapter 7
Concurrent Processors: Vector Processors and Multiple Instruction Issue Processors |
|
|
|
|
|
|
|
|
The processors we looked at in chapter 4 were generally limited to performance of greater than 1 CPI (cycle per instruction). To go beyond tha gt requires an additional degree of concurrency over that found in simple pipeline processors. In one way or another, the processor must be able to execute multiple instructions at the same time. Concurrent processors must be able to make simultaneous accesses to memory and to simultaneously execute multiple operations. We refer to processors that achieve this higher degree of concurrency as concurrent processors, short for processors with instruction-level concurrency. |
|
|
|
|
|
|
|
|
For this chapter, we restrict our attention to those processors that execute only from one program stream. They are uniprocessors in that they have a single instruction counter, but the instructions may have been significantly rearranged from original program order so that concurrent instruction execution can be achieved. |
|
|
|
|
|
|
|
|
Concurrent processors are significantly more complex than simple pipelined processors.In pipelined processors, performance is largely a function of basic technology and timing, as well as program behavior (occurrence of branch and run-on events). In concurrent processors, performance depends in greater measure on compiler ability, execution resources, and memory system design. |
|
|
|
|
|
|
|
|
Concurrent processors depend on sophisticated compilers to detect various types of instruction-level parallelism that exist within a program. Depending upon the type of concurrent processor, the compiler must restructure the code into a form that allows the processor to use the available concur- |
|
|
|
|
|