<<

Flynn’s Classification Of Computer Architectures • In 1966, Michael Flynn proposed a classification for computer architectures based on the number of instruction streams and data streams (Flynn’s Taxonomy). • Flynn uses the stream concept for describing a machine's structure • A stream simply means a sequence of items (data or instructions). • The classification of computer architectures based on the number of instruction streams and data streams (Flynn’s Taxonomy).

Prof.P.Sumathi/IT CS 8491 1 Flynn’s taxonomy

• Single Instruction Single Data (SISD) – Traditional sequential computing systems • Single Instruction Multiple Data (SIMD) • Multiple Instructions Multiple Data (MIMD) • Multiple Instructions Single Data (MISD)

Computer Architectures

SISD SIMD MIMD MISD

Prof.P.Sumathi/IT CS 8491 2 SISD

• At one time, one instruction operates on one data • Traditional sequential architecture • SISD corresponds to the traditional single-core uni-processor ( von Neumann computer). • A single data stream is being processed by one instruction stream • A single-processor computer (uni-processor) in which a single stream of instructions is generated from the program.

Prof.P.Sumathi/IT CS 8491 3 SIMD

• At one time, one instruction operates on many data – Data parallel architecture – Vector architecture has similar characteristics, but achieve the parallelism with pipelining. • Array processors

Prof.P.Sumathi/IT CS 8491 4 SIMD • SIMD (Single-Instruction stream, Multiple-Data streams) • Multiple processing elements driven by a single instruction stream • Each instruction is executed on a different set of data by different processors i.e multiple processing units of the same type on multiple-data streams. • This group is dedicated to array processing machines . • SIMD computers operate on vectors of data. For example , a single SIMD instruction might add 64 numbers by sending 64 data streams to 64 ALUs to form 64 sums within a single clock cycle Prof.P.Sumathi/IT CS 8491 5 • SIMD works best when dealing with arrays in for loops.

• Hence, for parallelism to work in SIMD, there must be a great deal of identically structured data, which is called data-level parallelism. • SIMD is at its weakest in case or switch statements, where each execution unit must perform a different operation on its data

Prof.P.Sumathi/IT CS 8491 6 MISD machine • Not commonly seen. • Systolic array is one example of an MISD architecture. • systolic array is a homogeneous network of tightly coupled data processing units (DPUs) called cells or nodes. • Each processor executes a different sequence of instructions. • In case of MISD computers, multiple processing units operate on one single-data stream . • In practice, this kind of organization has never been used

Prof.P.Sumathi/IT CS 8491 7 MIMD

• Multiple instruction streams operating on multiple data streams – Classical or SMP(Symmetric Multiprocessor ) architectures

Prof.P.Sumathi/IT CS 8491 8 MIMD • MIMD (Multiple-Instruction streams, Multiple-Data streams) • Most common and general parallel machine • Each processor has a separate program . • An instruction stream is generated from each program. • Each instruction operates on different data. • Several processing units operate on multiple -data streams. • Programmers normally write a single program that runs on all processors of MIMD computer. Design Space • Extent of address space sharing • Location of memory modules • Uniformity of memory access Prof.P.Sumathi/IT CS 8491 9 Flynn’s taxonomy summary

• SISD: traditional sequential architecture • SIMD: processor arrays, on a budget – reduced control unit cost – Many early • MIMD: most general purpose parallel computer today – Clusters, data centers • MISD: not a general purpose architecture.

Prof.P.Sumathi/IT CS 8491 10