Module 5 Pipeline and Vector Processing
Module 5 Pipeline and Vector Processing
Fig. 4.1.
The five registers are loaded with new data every clock pulse. The effect of
o In a conditional branch, the control selects the target instruction if the condition
is satisfied or the next sequential instruction if the condition is not satisfied.
and to load or store an operand, most RISC machines use two separate
execution.
o RISC can achieve pipeline segments, requiring just one clock cycle.
Compiler supported that translates the high-level language program into
● This concept of delaying the use of the data loaded from memory is referred
to as delayed load.
● Thus the no-op instruction is used to advance one clock cycle in order to
● The advantage of the delayed load approach is that the data dependency is
taken care of by the compiler rather than the hardware.
Delayed Branch
The method used in most RISC processors is to rely on the compiler to redefine
the branches so that they take effect at the proper time in the pipeline. This
method is referred to as delayed branch.
The compiler is designed to analyze the instructions before and after the branch
and rearrange the program sequence by inserting useful instructions in the delay
steps.
It is up to the compiler to find useful instructions to put after the branch
instruction. Failing that, the compiler can insert no-op instructions.
An Example of Delayed Branch
The program for this example consists of five instructions.
o Load from memory to R1
o Increment R2
o Add R3 to R4
o Subtract R5 from R6
o Branch to address X
To achieve the required level of high performance it is necessary to utilize the
fastest and most reliable hardware and apply innovative procedures from vector
Cray-1: it uses vector processing with 12 distinct functional units in parallel; a large
number of registers (over 150); multiprocessor configuration (Cray X-MP and Cray Y-MP)
Megaflops
Array Processing
An array processor is a processor that performs computations on large arrays of
data.
The term is used to refer to two different types of processors.
o Attached array processor: Is an auxiliary processor. It is intended to improve the
performance of the host computer in specific numerical computation tasks.
Fig. 4-14 shows the interconnection of an attached array processor to a host computer.
For example, the ILLIAC IV computer developed at the University of Illinois and
manufactured by the Burroughs Corp.
o Are highly specialized computers.
o They are suited primarily for numerical problems that can be expressed in
vector or matrix form.