Chap 7 Parallel Processing Multicore Computers
Chap 7 Parallel Processing Multicore Computers
1
Parallel Organizations
2
Parallel Organizations
Single instruction, single data (SISD) stream
§ Single processor executes a single instruction stream to operate on data stored in a
single memory
§ Uniprocessors fall into this category
Single instruction, multiple data (SIMD) stream
§ A single machine instruction controls the simultaneous execution of a number of
processing elements on a lockstep basis
§ Vector and array processors fall into this category
Multiple instruction, single data (MISD) stream
§ A sequence of data is transmitted to a set of processors, each of which executes a
different instruction sequence
§ Not commercially implemented
Multiple instruction, multiple data (MIMD) stream
§ A set of processors simultaneously execute different instruction sequences on different
data sets
3 § SMPs, clusters and NUMA systems fit this category
Parallel Organizations
4
Symmetric Multiprocessor (SMP)
Two or more similar processors of comparable capacity
Processors share same memory and I/O facilities
§ Processors are connected by a bus or other internal connection
§ Memory access time is approximately the same for each processor
5
Symmetric Multiprocessor (SMP)
6
Multicore Computers
Multicore CPU: CPU has some cores running concurrently.
The use of multiple processors on the same chip provides the
potential to increase performance without increasing the clock
rate
Strategy is to use two simpler processors on the chip rather than
one more complex processor
With two processors larger caches are justified
As caches became larger it made performance sense to create two
and then three levels of cache on a chip
7
Amdahl’s Law
Deals with the potential speedup of a program using multiple
processors compared to a single processor
Illustrates the problems facing industry in the development of
multi-core machines
Software must be adapted to a highly parallel execution
environment to exploit the power of parallel processing
Can be generalized to evaluate and design technical improvement
in a computer system
N: No of processors
f: Percent of program can
be processed in parallel
8
Amdahl’s Law