Parallel Processing
Parallel Processing
1
1. Multiplicity of functional units
n Early computers
q one ALU that perform one operation at a time.
q Slow process
n Multiple and specialized functional units.
q operate in parallel.
n IBM 360/91 →
q two parallel execution units (fixed and floating point
arithmetic)
n CDC-6600 →
q 10 functional units
2
System Architecture of CDC-6600
3
2. Parallelism and pipelining within CPU
n Parallel Adders
q bit serial adders.
q carry-lookahead and carry save adders.
n Multiplier recoding and convergence division.
n Phases of instruction execution are pipelined
q Instruction fetch, decode, operand fetch, arithmetic
logic execution, store result.
n Instruction Prefetch and data buffering.
4
3. Overlapped CPU and I/O operations
5
4. Use of a hierarchical memory system
6
5. Balancing of subsystem
n
bandwidths
. td tm t p
n Bandwidth of a system
q no: of operations performed per unit time.
n Memory bandwidth B m
n Processor bandwidth B p
q max: CPU computation rate.
q Ex: Cray-1 → 160 MFLOPS
7
n I/O bandwidth B d
n Batch processing
q Sequential execution
n Multiprogramming
q Interleaving of CPU and I/O operations
among several programs
n Time sharing
q Assign fixed or variable time slices to
multiple programs
10
11
12