Architecture & Organization
Architecture & Organization
Structure & Function
Function
Functional view
Structure - Top Level
Structure - The CPU
Structure - The Control Unit
ENIAC - background
ENIAC - details
von Neumann/Turing
Structure of von Neumann machine
Transistors
Transistor Based Computers
Microelectronics
Generations of Computer
Growth in CPU Transistor Count
CPU Structure
CPU With Systems Bus
CPU Internal Structure
Registers
User Visible Registers
General Purpose Registers (1)
General Purpose Registers (2)
How Many GP Registers?
How big?
Condition Code Registers
Control & Status Registers
Program Status Word
Example Register Organizations
Intel
Performance Mismatch
DRAM and Processor Characteristics
Solutions
Pentium Evolution (1)
Pentium Evolution (2)
Speeding it up
Cache
Two Stage Instruction Pipeline
Timing of Pipeline
Pentium Evolution (3)
Pentium 4 Cache
Pentium 4 Diagram (Simplified)
Background to IA-64
Motivation
Superscalar v IA-64
Why New Architecture?
Proximity Intruder
Traffic Advisory
Resolution Advisory
C V R / D F D R
C V R / D F D R
CVR AND DFDR
3.16M
Category: softwaresoftware

Microprocessors and applications

1.

2. Architecture & Organization

Architecture & Organization
Architecture
programmer
is
those
attributes
visible
to
the
Instruction set, number of bits used for data
representation,
I/O
mechanisms,
addressing
techniques.
e.g. Is there a multiply instruction?
Organization is how features are implemented
Control signals, interfaces, memory technology.
e.g. Is there a hardware multiply unit or is it
done by repeated addition?
2
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

3. Architecture & Organization

Architecture & Organization
All Intel x86 family share the same basic
architecture
The IBM System/370 family share the same
basic architecture
This gives code compatibility
At least backwards
Organization
versions
differs
between
3
different
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

4. Structure & Function

Structure & Function
Structure is the way in which
components relate to each other
Function is the operation of
individual components as part of
the structure
4
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

5. Function

All computer functions are:
Data processing
Data storage
Data movement and
Control
5
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

6. Functional view

6
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

7. Structure - Top Level

Computer
Peripherals
Central
Processing
Unit
Computer
Main
Memory
Systems
Interconnection
Input
Output
Communication
lines
7
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

8. Structure - The CPU

CPU
Computer
Registers
I/O
System
Bus
Arithmetic
and
Login Unit
CPU
Internal CPU
Interconnection
Memory
Control
Unit
8
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

9. Structure - The Control Unit

Control Unit
CPU
Sequencing
Logic
ALU
Internal
Bus
Control
Unit
Control Unit
Registers and
Decoders
Registers
Control
Memory
9
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

10. ENIAC - background

Electronic
Computer
Numerical
Integrator
And
University of Pennsylvania
Trajectory tables for weapons
Started 1943 and Finished 1946
Too late for war effort
Used until 1955
10
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

11. ENIAC - details

Decimal (not binary)
20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes and 30 tons
15,000 sq. ft and 140 kW power consumption
5,000 additions per second
11
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

12. von Neumann/Turing

Stored Program concept (1952)
Main memory storing programs and data
ALU operating on binary data
Control unit interpreting instructions from memory
and executing
Input and output equipment operated by control unit
Princeton Institute for Advanced Studies IAS
12
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

13. Structure of von Neumann machine

13
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

14. Transistors

Replaced vacuum tubes
Smaller and Cheaper
Less heat dissipation
Solid State device and Made from Silicon (Sand)
Invented 1947 at Bell Labs
William Shockley et al.
14
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

15. Transistor Based Computers

Second generation machines
NCR & RCA produced
transistor machines
small
IBM 7000
DEC - 1957
Produced PDP-1
15
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

16. Microelectronics

Literally - “small electronics”
A computer is made up of gates,
memory cells and interconnections
These can be
semiconductor
manufactured
on
a
e.g. silicon wafer
16
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

17. Generations of Computer

Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965 on
Up to 100 devices on a chip
Medium scale integration - to 1971
100 - 3,000 devices on a chip
Large scale integration - 1971-1977
3,000 - 100,000 devices on a chip
Very large scale integration - 1978 to date
100,000 - 100,000,000 devices on a chip
Ultra large scale integration
Over 100,000,000 devices on a chip

18. Growth in CPU Transistor Count

18
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

19. CPU Structure

CPU must:
Fetch instructions
Interpret instructions
Fetch data
Process data
Write data
19
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

20. CPU With Systems Bus

20
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

21. CPU Internal Structure

21
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

22. Registers

CPU must have some working space
(temporary storage)
Called registers
Number and function vary between
processor designs
One of the major design decisions
Top level of memory hierarchy
22
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

23. User Visible Registers

General Purpose
Data
Address
Condition Codes
23
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

24. General Purpose Registers (1)

May be true general purpose
May be restricted
May be used for data or addressing
Data
Accumulator
Addressing
Segment
24
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

25. General Purpose Registers (2)

Make them general purpose
Increase
flexibility
and
programmer
options
Increase instruction size & complexity
Make them specialized
Smaller (faster) instructions
Less flexibility
25
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

26. How Many GP Registers?

Between 8 – 32
Fewer = more memory references
RISC
26
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

27. How big?

Large enough to hold full address
Large enough to hold full word
Often possible to combine two
data registers
C programming
double int a;
long int a;
27
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

28. Condition Code Registers

Sets of individual bits
e.g. result of last operation was zero
Can be read
programs
(implicitly)
by
e.g. Jump if zero
Can not (usually)
programs
28
be
set
by
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

29. Control & Status Registers

Control & Status Registers
Program Counter
Instruction Decoding Register
Memory Address Register
Memory Buffer Register
29
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

30. Program Status Word

A set of bits
Includes Condition Codes
Sign of last result
Zero
Carry
Equal
Overflow
Interrupt enable/disable
Supervisor
30
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

31. Example Register Organizations

31
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

32. Intel

1971 - 4004
First microprocessor
All CPU components on a single chip
4 bit
Followed in 1972 by 8008
8 bit
Both designed for specific applications
1974 - 8080
Intel’s
first
general
purpose
microprocessor
32
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

33. Performance Mismatch

Processor speed increased
Memory capacity increased
Memory
speed
processor speed
lags
33
behind
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

34. DRAM and Processor Characteristics

34
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

35. Solutions

Increase number of bits retrieved at one
time
Make DRAM “wider” rather than
“deeper”
Change DRAM interface
Cache
Reduce frequency of memory access
More complex cache and cache on chip
Increase interconnection bandwidth
High speed buses
35
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

36. Pentium Evolution (1)

8080
first general purpose microprocessor
8 bit data path
Used in first personal computer – Altair
8086
much more powerful
16 bit
instruction cache, prefetch few instructions
8088 (8 bit external bus) used in first IBM PC
80286
16 Mbyte memory addressable
80386
32 bit
Support for multitasking

37. Pentium Evolution (2)

80486
sophisticated powerful cache and instruction
pipelining
built in math co-processor
Pentium
Superscalar
Multiple instructions executed in parallel
Pentium Pro
Increased superscalar organization
Aggressive register renaming
branch prediction
data flow analysis
speculative execution
37
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

38. Speeding it up

Pipelining
On board L1 & L2 cache
Branch prediction
Data flow analysis and
Speculative execution
38
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

39. Cache

Small amount of fast memory
Sits between normal main memory and CPU
May be located on CPU chip or module
39
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

40. Two Stage Instruction Pipeline

40
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

41. Timing of Pipeline

41
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

42. Pentium Evolution (3)

Pentium II
MMX technology
graphics, video & audio processing
Pentium III
Additional floating point instructions for 3D
graphics
Pentium 4
Note Arabic rather than Roman numerals
Further
floating
point
and
multimedia
enhancements
Itanium
64 bit
42
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

43. Pentium 4 Cache

80386 – no on chip cache
80486 – 8k using 16 byte lines and four way set
associative organization
Pentium (all versions) – two on chip L1 caches
Data & instructions
Pentium 4 – L1 caches
8k bytes
64 byte lines
four way set associative
L2 cache
Feeding both L1 caches
256k and 128 byte lines
8 way set associative

44. Pentium 4 Diagram (Simplified)

44
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

45. Background to IA-64

Pentium 4 appears to be last in x86 line
Intel & Hewlett-Packard (HP) jointly developed
New architecture
64 bit architecture
Not extension of x86
Not adaptation of HP 64bit RISC architecture
Exploits vast circuitry and high speeds
Systematic use of parallelism
45
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

46. Motivation

Instruction level parallelism
Implicit in machine instruction
Not determined at run time by processor
Long or very long instruction words (LIW/VLIW)
Branch predication
prediction)
(not
the
same
as
branch
Speculative loading
Intel & HP call this Explicit Parallel Instruction
Computing (EPIC)
IA-64 is an instruction set architecture intended
for implementation on EPIC

47. Superscalar v IA-64

47
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

48. Why New Architecture?

Not hardware compatible with x86
Now have tens of millions of transistors available
on chip
Could build bigger cache
Diminishing returns
Add more execution units
Increase superscaling
More units makes processor “wider”
More logic needed to orchestrate
Improved branch prediction required
Longer pipelines required
At most six instructions per cycle
48
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

49.

CLOSEST POINT OF APPROACH
A
TCAS
B
CPA
49
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

50.

50
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

51. Proximity Intruder

51
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

52. Traffic Advisory

52
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

53. Resolution Advisory

53
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

54.

Modern Engine
54
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

55.

55
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

56.

+ 2000 ft
+ 1000 ft
Aircraft elevation
- 250 ft when gear down
- 500 ft when gear up
- 1000 ft
- 2000 ft
56
Unknown
areas
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

57.

57
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

58. C V R / D F D R

CVR/DFDR
58
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

59. C V R / D F D R

CVR/DFDR
59
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

60. CVR AND DFDR

60
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0

61.

61
DECEMBER 2005
U.S. PAUL RUSSEL
VERSION 1.0
English     Русский Rules