06 Flynn-S Classification
06 Flynn-S Classification
Flynn’s Classification
Parallel processing
Definition
It is using multiple processors simultaneously to solve a problem.
Purpose
Improve performance (shorter run time - reduced time needed
to solve a problem)
2
Flynn’s Classification
3
Flynn’s Taxonomy (Classification)
• SISD
• SIMD
• MISD
• MI MD
4
Flynn’s Classification
5
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
6
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• SISD
• SIMD
• MISD
• M IM D
7
Flynn’s Classification
8
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• M IM D
9
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• SISD
• SIMD
• MISD
• M IM D
10
Flynn’s Classification
11
Flynn’s Classification
12
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• MISD
• M IM D
13
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• SISD
• SIMD
• MISD
• M IM D
14
Flynn’s Classification
15
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• M IM D
16
Flynn’s Taxonomy (continued)
Mike Flynn, “Very High-Speed Computing Systems,”
Proceedings of IEEE, 1966
• SISD
• SIMD
• MISD
• M IM D
17
Flynn’s Classification
18
Multicore Architecture
• A multicore computer, also known as a chip
multiprocessor, combines two or more processors
(called cores) on a single piece of silicon (called a
die).
• Typically, each core consists of all of the
components of an independent processor, such as
registers, ALU, pipeline hardware, and control
unit, plus L1 instruction and data caches.
• In addition to the multiple cores, contemporary
multicore chips also include L2 cache and,
increasingly, L3 cache.
Single-core computer
2
0
Single-core CPU chip
the single core
2
1
Multi-core architectures
• This lecture is about a new trend in
computer architecture:
Replicate multiple processor cores on a
single die.
Core 1 Core 2 Core 3 Core 4
c c c c
o o o o
r r r r
e e e e
1 2 3 4
5
The cores run in parallel
thread 1 thread 2 thread 3 thread 4
c c c c
o o o o
r r r r
e e e e
1 2 3 4
6
Within each core, threads are time-sliced (just
like on a uniprocessor)
several several several several
threads threads threads threads
c c c c
o o o o
r r r r
e e e e
1 2 3 4
7
Interaction with the
Operating System
• OS perceives each core as a separate processor
2
6
Instruction-level parallelism
• Parallelism at the machine-instruction
level
• The processor can re-order, pipeline
instructions, split them into
microinstructions, do aggressive branch
prediction, etc.
• Instruction-level parallelism enabled rapid
increases in processor speeds over the
last 15 years
27
Thread-level parallelism (TLP)
• This is parallelism on a more coarser scale
• Server can serve each client in a separate
thread (Web server, database server)
• A computer game can do AI, graphics, and
physics in three separate threads
• Single-core superscalar processors cannot
fully exploit TLP
• Multi-core architectures are the next step in
processor evolution: explicitly exploiting TLP
28
* Pipelining: Individual instructions are executed through a pipeline of
stages so that while one instruction is executing in one stage of the pipeline,
another instruction is executing in another stage of the pipeline.