processors - an overview

28
Processor Architectures Lorenz Sauer 2003/04

Upload: lorenz-lo-sauer

Post on 05-Dec-2014

328 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Processors - an overview

Processor Architectures

Lorenz Sauer2003/04

Page 2: Processors - an overview

Synopsis

History of Computing Principal Architecture

Von Neuman Architecture RISC, CISC, VLIW SIMD, SISD, MISD, MIMD

• Survey• Outlook

Page 3: Processors - an overview

History of Computing

1st Switches 2nd Binary Theory (comprehensive)

Implemented as: Tubes Transistor

BiPolar FET (especially MOSFET)

Future (DNA,...)

Page 4: Processors - an overview

Hardware-means to the end... Tube Technology

huge, high power dissipation, very slow Transistor

First models: huge Minaturization: rapidly BiPolar: fast, decent power dissipation FET: decent speed, low power dissipation,

extreme Intregration Density is possible

Page 5: Processors - an overview

Computing Timetable

1949 John von Neumann 1970s first microprocessor machines 1980s IBM PC settling in industry 1990s large-scale mainframes 2000s GRID, interconnected computing

>2000 ?

Page 6: Processors - an overview

History: VisiCalc the Killer App

1979: First released with Apple II 1981: Ported to IBM PCs Convinces the ‘industry‘ of IBM PCs New mainstream market born Still executable 27.520bytes of

Spreadsheetness

Page 7: Processors - an overview

Principal Architecture: Basics Processor or Central Processing Unit

CPU is the heart of a computer Execute programs stored in main memory Instructions are processed sequentially:

fetched, examined and executed Church–Turing thesis

The CPU is composed of: Control Unit Arithmetic logic unit (ALU) Registers

Page 8: Processors - an overview

Principal Architecture

C en tr a l Un itC PU

( C e n t r a l P r o c e ssin g U n it )

C alc u la to rA L U

( A r it h m e t ic a l L o gic a l U n it )

C o n tr o lle rC U

( C o n t r o l U n it )

I n pu t /O u tpu t( I O U n it )

M e m o ry( Ad d r es s in g Un it)

B u s S y s te m

Page 9: Processors - an overview

Instruction Execution

Pure VN(Von Neuman)-Execution Model Nowadays few computers employ pure von

Neumann architecture No Check for Interrupts Pure VN computers spend a lot of time

moving data from and to memory So called “Neumann bottleneck“

Page 10: Processors - an overview

Instruction Execution

Advanced VN Model(s) Interrupt built in Bus Architecture extended over several

busses (different stepping possible) Pipelining Caching Co-Processor (Math, DSP,..) Parallelization of Units

Page 11: Processors - an overview

Example of Advanced VN ModelC en tr a l Un it

C PU( C e n t r a l P r o c e ssin g U n it )

C alc u la to rA L U

( A r it h m e t ic a l L o gic a lU n it )

C o n tr o lle rC U

( C o n t r o l U n it )

L 1 -C a ch e

B I U( B us I n t e r f a c e U n it )

R eg is te r s e t

( R e gist e r F ile )

Ad d r es s in gAU

( A ddr e ss U n it )

C o n tr o lb u s Ad d r es s b u sD atab u s

Page 12: Processors - an overview

The Instruction Set Instruction set:

“Collection of all instructions used to communicate with the CPU“

sizes vary from 20 to 300+ instructions Determined upon the type of machine larger instruction sets not necessarily better tailored to the use (of the processor)

Compilers generate many machine instructions (Ops) from a highlevel language statement

Most common are: CISC, RISC, VLIW Complex / Reduced instruction set computing, VLIW ~long

instructions used in parallelism: see MIMD

Page 13: Processors - an overview

Processor: Typical Architectures

SISD MISD SIMD MIMD

S...SingleM...MultipleI...InstructionD...Data

Page 14: Processors - an overview

SISD

Single Instruction Single Data Almost any conventional PC is SISD VN-model is a pure SISD

Page 15: Processors - an overview

MISD

Multiple Instruction Single Data No commercial success Example: Systolic Processor

Page 16: Processors - an overview

SIMD

Single Instruction Multiple Data Executes operations in parallel Example: Vector computer aka Array

computer (~history of supercomputers) Nowadays as SIMD extensions Speeds up certain applications: chiefly

multimedia (~rich in single precision floating point data)

Page 17: Processors - an overview

MIMD

Multiple Instruction Multiple Data Parallel architecture Many functional units Performs different operations on

seperate data Example: Multiprocessor,

interconnected workstations

Page 18: Processors - an overview

Other: Vector-, Array-Processor

Common in supercomputers till 1980s performs operations in parallel Copes well with large data chunks Bad under general purpose conditions Nowadays in PC-CPUs as SIMD

Page 19: Processors - an overview

Other: Artificial Neural Processor

Employed for pattern recognition Artificial Neural Network(ANN) model mutually linked, homogeneous

processing units Units perform basic ANN operations:

Threshold calculation Weighting Addition,....

Page 20: Processors - an overview

Other: Parallel Reduction Machine

Simplification of expressions Expressions reshaped into smaller,

partial ones Obtained through recursion of partial

expressions Performs reduction programs String reduction vs. Graph reduction

machines

Page 21: Processors - an overview

Other: Systolic Processor

Array of Processing units (Cells) Single cell trivial Relay data via n - I/O Structure: Rectangular, Hexagonal or

triangular Elements process same calculation Edge cells are the main I/O

Page 22: Processors - an overview

Other: Fuzzy Processor

Based on fuzzy logic many-valued logic or probabilistic logic approximate values rather than fixed (0|1) “set of approximate rules”-logic:

IF variable IS ~property THEN response 1 IF variable IS >>property THEN response 2

Examples: Washing maschines,Auto focus,...

Page 23: Processors - an overview

Other: Digital Signal Processor

Used for very specific tasks Implements algorithms in Hardware Very fast at specific tasks Useless for general purpose programs Sufficient for some applications

Can lower overall costs

Page 24: Processors - an overview

Survey: GRID Computing Used in scenarios to big for single

supercomputers Heterogenous structure

Heterogenous computer-hardware / software and structure scattered around the globe

Common middleware necessary E.g. Globus Toolkit

2 Types, determined by their use: Computation Grids Data Grids

Examples: SETI Project, @Folding: Protein folding...

Page 25: Processors - an overview

Outlook

Processor Optimization DNA Computer Quantum Computer

Page 26: Processors - an overview

Outlook: Processor Optimization

Clock Speeds Minaturization Improved & extended architecture Compilers (good at trvial tasks, fail at

more complicated and parallel tasks) Non-trivial to determine the use of

instruction extensions Most unit extensions are not used

Page 27: Processors - an overview

Outlook: DNA Computer

Concept from 1994 DNA used as logical gates Input: Code as genetic fragments Output: spliced fragments More or less theoretical (as of yet) Estimated to surpass any conventional

PC in some bioinformatic tasks

Page 28: Processors - an overview

Outlook: Quantum Computer 1981: Quantum computer theory Bits vs QBits Difficult to generate and maintain,

due to outside effects 8 bit Computer is in 1 state of 256 8 Qbit Computer is in n state(s) of 256

Superposition of states Quantum parallelism All values exist; a single value is determined at the time

of measurement 10Qbit computer could surpass a supercomputer Problems of error correction and calculation reliability