02 Computer Evolution and Performance

Download Report

Transcript 02 Computer Evolution and Performance

EKT 422/4
Computer Architecture
By:
Mr. Mohd. Nazrin Md. Isa
[email protected]
04-9798410
Level 2, Block A,
School of Microelectronic Engineering
UNIVERSITI MALAYSIA PERLIS
1
Syllabus
and Assessments
Final Exam (50%)
Coursework (50%)




Lab Assessment = 10%
Written Test 1 = 10%
Written Test 2 = 10%
Mini project + viva = 20%
- Group project (max=2)
- Software : VHDL
- Hardware : ALTERA UP3
UNIVERSITI MALAYSIA PERLIS
2
Useful links

Portal UniMAP
Books:
http://WilliamStallings.com/StudentSupport.html

VHDL :
http://www.opencores.org
http://www.csee.umbc.edu/help/VHDL


Quartus II/UP-3
http://www.altera.com
http://users.ece.gatech.edu/~hamblen/UP3/
3
TIMETABLE
LECTURE
 8.00-10.00 – MONDAY
DKP1
 8.00-9.00
- THU
DKR 3
LAB @ MKY6
 TUE 8-10 (E), 1 P.M -3.00P.M (E+UE)
 THU :4-6.00 P.M (UE)
4
VHDL & QUARTUS II REVIEW
Introduction to VHDL



Very High Speed
Integrated Circuit
Hardware Description
Language (VHDL)
Entity
Input
Digital
Data
A circuit described using
VHDL code is called a
design entity.
2 main parts :
 Entity declaration specifies the input and
output signals for the
entity
 Architecture - gives
the circuit details.
Entity Declaration
Digital signal
Output Digital
Data
Digital Signal
Architecture
5
VHDL & QUARTUS II REVIEW
Example of VHDL Code
(Full Adder)
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY fulladd IS
PORT ( Cin, x,y :IN STD_LOGIC;
S, Cout :OUT STD_LOGIC);
END fulladd;
ARCHITECTURE LogicFunc OF fulladd IS
BEGIN
s <= x XOR y XOR Cin;
Cout <= (x AND y) OR (x AND y) OR (y AND Cin);
END LogicFunc;
6
VHDL & QUARTUS II REVIEW
Example of VHDL Code
Full Adder-Explanation (1)
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY library_name;
USE library_name.package_name.all
7
VHDL & QUARTUS II REVIEW
Example of VHDL Code
Full Adder-Explanation (2)
ENTITY fulladd IS
PORT ( Cin, x,y :IN STD_LOGIC;
S, Cout :OUT STD_LOGIC);
END fulladd;
ENTITY entity_name IS
PORT (signal_name : MODE type_name ;
.
.
.
signal_name : MODE type_name);
END entity_name;
8
VHDL & QUARTUS II REVIEW
THE POSSIBLE MODES FOR SIGNALS
Mode
IN
OUT
INOUT
Purpose
Used for a signal that is an input to an entity
Used for a signal that is an output from an entity.
Used for a signal that is both an input to an entity and
an output from the entity.
BUFFER Used for a signal that is an output from an entity. The
value of a signal can be used inside the entity, which
means that in an assignment statement, the signal can
appear both on the left and right sides of the <=
operator.
9
VHDL & QUARTUS II REVIEW
Example of VHDL Code
Full Adder-explanation (3)
ARCHITECTURE LogicFunc OF fulladd IS
BEGIN
s <= x XOR y XOR Cin;
Cout <= (x AND y) OR (x AND y) OR (y AND Cin);
END LogicFunc;
ARCHITECTURE architecture_name OF entity_name IS
BEGIN
CONCURRENT ASSIGNMENT statement ;
END architecture_name;
Details, refer VHDL REFERENCE IN PORTAL
10
VHDL & QUARTUS II REVIEW
QUARTUS II
Details, refer guide in PORTAL
Go to http://www.altera.com/download
 Quartus II  install  register  licence ready to use
11
Chapter One : Introduction to Computer Architecture
What is a computer?

A computer is a data processing machine
which is operated automatically under the
control of a list of instructions (called a
program) stored in its main memory.
12
Chapter One : Introduction to Computer Architecture
What is a computer system?
A computer system consists usually of a
computer and it peripherals. Computer
peripherals include input devices, output
devices, and secondary memories.
13
Chapter One : Introduction to Computer Architecture
Organization and architecture



Architecture - refers to those attributes of a system visible to a
programmer or those attributes that have a direct impact on the
logical execution of a program.
Example of architectural attributes (visible to a programmer)
- Instruction set, number of bits used for data
representation, I/O mechanism, memory addressing
technique.
Organization – refers to the operational unit and their
interconnections that realize the architectural specifications
Example of organizational attributes (H/W details transparent to a
programmer)
- Control signal, interface to peripherals, memory
technology.
14
Chapter One : Introduction to Computer Architecture
Structure and function


Structure – The way in which the components relate to
each other. E.g. connection between ALU and control
unit, connection between Instruction register and
instruction decoder.
Function – The operation of each individual component
as part of structure. E.g. How the ALU, Instruction
register and instruction decoder work.
UNIVERSITI MALAYSIA PERLIS
15
Chapter One : Introduction to Computer Architecture
Function
These are the basic functions
that a computer can perform.
-
Data processing
Data storage
Data movement
Control
16
Chapter One : Introduction to Computer Architecture
Cont..




Process data – data can be a variety of forms, and the
range of processing requirements is broad. There are only a
few fundamental methods of data processing ( refer ALU ).
Store data – computer must temporarily store at least those
pieces of data that are being worked on at any given moment
at least a short-term data storage function (temporary
register) and also long-term data storage function (store File).
Move data – comp must be able to move data between itself
and outside world. Device directly connected to computer is
called peripheral. If data are moved over longer distances, the
process is known data communication.
Control – Control of three functions above, and given by
individuals who provides the computer with instruction.
17
Chapter One : Introduction to Computer Architecture
Operation
(a) Data movement
From one communications line
or peripheral to another.
18
Chapter One : Introduction to Computer Architecture
Operation
(b) Storage
Data transferred from the
external environment to
computer storage (read)
and vice versa (write)
19
Chapter One : Introduction to Computer Architecture
Operation
(c) Processing from and to storage
20
Chapter One : Introduction to Computer Architecture
Operation (d)
Processing from storage to I/O
or vice versa
21
Chapter One : Introduction to Computer Architecture
Structure
There are four main components in a computer structure:
-
-
-
Central processing unit (CPU) – controls the
operation of the computer and performs its data
processing functions-processor.
Main memory – stores data
I/O – moves data between the computer and its
external environment
System interconnection – some mechanism that
provides for communication among CPU, main memory
and I/O.
Traditionally a computer consist of single CPU, but in
recent years, there has been increasing use of multiple
processors in single computer.
22
Chapter One : Introduction to Computer Architecture
The computer: Top-Level structure
23
Chapter One : Introduction to Computer Architecture
Central processing unit
Control unit – controls the
operation of the CPU and
hence the computer.
ALU – performs data processing
functions
Registers – provides storage
internal to CPU
CPU interconnection –
mechanism that provides
communication among the
control unit, ALU and
register.
24
Chapter One : Introduction to Computer Architecture
Central Processing Unit
The organization of a simple computer with one CPU and two I/O devices
25
Chapter One : Introduction to Computer Architecture
Introduction (computer generation)
Generation
Year
Technology
Typical speed
(operations persecond)
1
1946-1957
Vacuum tube
40,000
2
1958-1964
Transistor
200,000
3
1965-1971
Small & medium
scale integration
1,000,000
4
1972-1977
Large scale
integration (LSI)
10,000,000
5
1978-1991
Very large scale
integration (VLSI)
100,000,000
6
1991
Ultra large scale
integration (ULSI)
1,000,0000,000
26
LAB 01 : DISCUSSION
27
Chapter One : Introduction to Computer Architecture
Self-Reading
In the beginning ...
A generation refers to the state of improvement in the development of a
product. This term is also used in the different advancements of computer
technology. With each new generation, the circuitry has gotten smaller and
more advanced than the previous generation before it. As a result of the
miniaturization, speed, power, and memory of computers has proportionally
increased. New discoveries are constantly being developed that affect the way
we live, work and play.
28
Chapter One : Introduction to Computer Architecture
Self-Reading

The First Generation: 1946-1958 (The Vacuum Tube Years)
The first generation computers were huge, slow, expensive, and often undependable. In
1946 two Americans, Presper Eckert, and John Mauchly built the ENIAC electronic
computer which used vacuum tubes instead of the mechanical switches of the Mark
I. The ENIAC used thousands of vacuum tubes, which took up a lot of space and gave
off a great deal of heat just like light bulbs do. The ENIAC led to other vacuum tube
type computers like the EDVAC (Electronic Discrete Variable Automatic Computer) and
the UNIVAC I (UNIVersal Automatic Computer).
29
Chapter One : Introduction to Computer Architecture
Self-Reading

The vacuum tube was an extremely important step in the advancement of
computers. Vacuum tubes were invented the same time the light bulb was invented
by Thomas Edison and worked very similar to light bulbs. It's purpose was to act
like an amplifier and a switch. Without any moving parts, vacuum tubes could take
very weak signals and make the signal stronger (amplify it). Vacuum tubes could
also stop and start the flow of electricity instantly (switch). These two properties
made the ENIAC computer possible.

The ENIAC gave off so much heat that they had to be cooled by gigantic air
conditioners. However even with these huge coolers, vacuum tubes still overheated
regularly. It was time for something new.
30
Chapter One : Introduction to Computer Architecture
Self-Reading
31
Chapter One : Introduction to Computer Architecture
Self-Reading

The Second Generation: 1959-1964 (The Era of the Transistor)

The transistor computer did not last as long as the vacuum tube computer lasted,
but it was no less important in the advancement of computer technology. In 1947
three scientists, John Bardeen, William Shockley, and Walter Brattain working
at AT&T's Bell Labs invented what would replace the vacuum tube forever. This
invention was the transistor which functions like a vacuum tube in that it can be
used to relay and switch electronic signals.

There were obvious differences between the transisitor and the vacuum tube. The
transistor was faster, more reliable, smaller, and much cheaper to build than a
vacuum tube. One transistor replaced the equivalent of 40 vacuum tubes. These
transistors were made of solid material, some of which is silicon, an abundant
element (second only to oxygen) found in beach sand and glass. Therefore they
were very cheap to produce. Transistors were found to conduct electricity faster
and better than vacuum tubes. They were also much smaller and gave off
virtually no heat compared to vacuum tubes. Their use marked a new beginning
for the computer. Without this invention, space travel in the 1960's would not have
been possible. However, a new invention would even further advance our ability
to use computers.
32
Chapter One : Introduction to Computer Architecture
Self-Reading

The Third Generation: 1965-1970 (Integrated Circuits - Miniaturizing the
Computer)

Transistors were a tremendous breakthrough in advancing the
computer. However no one could predict that thousands even now millions of
transistors (circuits) could be compacted in such a small space. The
integrated circuit, or as it is sometimes referred to as semiconductor chip,
packs a huge number of transistors onto a single wafer of silicon. Robert
Noyce of Fairchild Corporation and Jack Kilby of Texas Instruments
independently discovered the amazing attributes of integrated circuits. Placing
such large numbers of transistors on a single chip vastly increased the power of
a single computer and lowered its cost considerably.

Since the invention of integrated circuits, the number of transistors that can be
placed on a single chip has doubled every two years, shrinking both the size
and cost of computers even further and further enhancing its power. Most
electronic devices today use some form of integrated circuits placed on printed
circuit boards-- thin pieces of bakelite or fiberglass that have electrical
connections etched onto them -- sometimes called a mother board.
These third generation computers could carry out instructions in billionths of a
second. The size of these machines dropped to the size of small file cabinets.
Yet, the single biggest advancement in the computer era was yet to be
discovered.
33
Chapter One : Introduction to Computer Architecture
Self-Reading




The Fourth Generation: 1971-Today (The Microprocessor)
This generation can be characterized by both the jump to monolithic integrated
circuits (millions of transistors put onto one integrated circuit chip) and the
invention of the microprocessor (a single chip that could do all the processing of a
full-scale computer). By putting millions of transistors onto one single chip more
calculation and faster speeds could be reached by computers. Because electricity
travels about a foot in a billionth of a second, the smaller the distance the greater the
speed of computers.
However what really triggered the tremendous growth of computers and its significant
impact on our lives is the invention of the microprocessor. Ted Hoff, employed by
Intel (Robert Noyce's new company) invented a chip the size of a pencil eraser that
could do all the computing and logic work of a computer. The microprocessor was
made to be used in calculators, not computers. It led, however, to the invention of
personal computers, or microcomputers.
It wasn't until the 1970's that people began buying computer for personal use. One of
the earliest personal computers was the Altair 8800 computer kit. In 1975 you
could purchase this kit and put it together to make your own personal computer. In
1977 the Apple II was sold to the public and in 1981 IBM entered the PC
(personal computer) market.
Today we have all heard of Intel and its Pentium® Processors and now we know
how it all got started. The computers of the next generation will have millions upon
millions of transistors on one chip and will perform over a billion calculations in a
single second. There is no end in sight for the computer movement.
34
Chapter one (cont’d)
Computer Evolution
and Performance
UNIVERSITI MALAYSIA PERLIS
Chapter One : Computer Evolution And Performance
ENIAC - background







Electronic Numerical Integrator And Computer
By Eckert and Mauchly
From University of Pennsylvania
Used for Trajectory tables for weapons
Started 1943
 World’s first general purpose electronic
digital computer
Finished 1946
 Too late to be used for war.
Used until 1955
36
Chapter One : Computer Evolution And Performance
ENIAC - details









Decimal (not binary)
20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes
30 tons
15,000 square feet
140 kW power consumption
5,000 additions per second
Entering/altering programs-extremely tedious
37
Chapter One : Computer Evolution And Performance
von Neumann/Turing







Stored Program concept
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
Completed 1952
38
Chapter One : Computer Evolution And Performance
Structure of von Neumann
machine
39
Chapter One : Computer Evolution And Performance
IAS - details


1000 x 40 bit words
 Binary number
 2 x 20 bit instructions
Set of registers (storage in CPU)
 Memory Buffer Register (MBR)
 Memory Address Register (MAR)
 Instruction Register (IR)
 Instruction Buffer Register (IBR)
 Program Counter (PC)
 Accumulator (AC)
 Multiplier Quotient (MQ)
40
Chapter One : Computer Evolution And Performance
Structure
of IAS
– detail
41
Chapter One : Computer Evolution And Performance
Cont’d
MBR
Contains a word to be stored in memory or sent to
the I/O unit, or is used to receive a word from
memory or from the I/O unit.
MAR
Specifies the address in memory of the word to be
written from or read into MBR.
IR
contains 8-bit opcode instruction being executed.
PC
contains the address of the next instruction
AC and hold temporarily operands
MQ
42
Chapter One : Computer Evolution And Performance
Commercial Computers





1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
US Bureau of Census 1950 calculations
Became part of Sperry-Rand Corporation
Late 1950s - UNIVAC II
 Higher performance
 greater memory capacity
43
Chapter One : Computer Evolution And Performance
IBM


Manufacturer of Punched-card
processing equipment
1953 - the 701



1955 - the 702


IBM’s first stored program computer
Scientific calculations
Business applications
Lead to 700/7000 series
44
Chapter One : Computer Evolution And Performance
Transistors








Replaced vacuum tubes
Smaller
Cheaper
Less heat dissipation
Solid State device
Made from Silicon (Sand)
Invented 1947 at Bell Labs
William Shockley et al.
45
Chapter One : Computer Evolution And Performance
Transistor Based Computers




Second generation machines
NCR & RCA (other manufacturers)
produced small transistor machines
IBM-7000 series
DEC - 1957

Produced PDP-1
46
Chapter One : Computer Evolution And Performance
Microelectronics




Literally - “small electronics”
A computer is made up of gates,
memory cells and interconnections
These can be manufactured on a
semiconductor
e.g. silicon wafer
47
Chapter One : Computer Evolution And Performance
Computer Generations







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 -1991
 100,000 - 100,000,000 devices on a chip
Ultra large scale integration – 1991  Over 100,000,000 devices on a chip
48
Chapter One : Computer Evolution And Performance
Moore’s Law









Increased density of components on chip
Gordon Moore – co-founder of Intel
Number of transistors on a chip will double every
year
Since 1970’s development has slowed a little
 Number of transistors doubles every 18 months
Cost of a chip has remained almost unchanged
Higher packing density means shorter electrical
paths, giving higher performance
Smaller size gives increased flexibility
Reduced power and cooling requirements
Fewer interconnections increases reliability
49
Chapter One : Computer Evolution And Performance
Growth in CPU Transistor Count
50
Chapter One : Computer Evolution And Performance
IBM 360 series




1964
Replaced (& not compatible with) 7000 series
First planned “family” of computers
 Similar or identical instruction sets
 Similar or identical O/S
 Increasing speed
 Increasing number of I/O ports (i.e. more
terminals)
 Increased memory size
 Increased cost
Multiplexed switch structure
51
Chapter One : Computer Evolution And Performance
DEC PDP-8





1964
First minicomputer (after miniskirt!)
Did not need air conditioned room
Small enough to sit on a lab bench
$16,000



$100k+ for IBM 360
Embedded applications & OEM
BUS STRUCTURE
52
Chapter One : Computer Evolution And Performance
DEC - PDP-8 Bus Structure
53
Chapter One : Computer Evolution And Performance
Semiconductor Memory







1970
Fairchild
Size of a single core
 i.e. 1 bit of magnetic core storage
Holds 256 bits
Non-destructive read
Much faster than core
Capacity approximately doubles each year
54
Chapter One : Computer Evolution And Performance
Intel

1971 - 4004




Followed in 1972 by 8008



First microprocessor
All CPU components on a single chip
4 bit
8 bit
Both designed for specific applications
1974 - 8080

Intel’s first general purpose microprocessor55
Chapter One : Computer Evolution And Performance
Speeding it up






Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution
56
Chapter One : Computer Evolution And Performance
Performance Balance



Processor speed increased
Memory capacity increased
Memory speed lags behind processor
speed
57
Chapter One : Computer Evolution And Performance
Logic and Memory Performance Gap
58
Chapter One : Computer Evolution And Performance
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
 Hierarchy of buses
59
Chapter One : Computer Evolution And Performance
I/O Devices





Peripherals with intensive I/O demands
Large data throughput demands
Processors can handle this
Problem moving data
Solutions:
 Caching
 Buffering
 Higher-speed interconnection buses
 More elaborate bus structures
 Multiple-processor configurations
60
Chapter One : Computer Evolution And Performance
Typical I/O Device Data Rates
61
Chapter One : Computer Evolution And Performance
Key is Balance




Processor components
Main memory
I/O devices
Interconnection structures
62
Chapter One : Computer Evolution And Performance
Improvements in Chip
Organization and Architecture



Increase hardware speed of processor
 Fundamentally due to shrinking logic gate size
 More gates, packed more tightly, increasing
clock rate
 Propagation time for signals reduced
Increase size and speed of caches
 Dedicating part of processor chip
 Cache access times drop significantly
Change processor organization and architecture
 Increase effective speed of execution
 Parallelism
63
Chapter One : Computer Evolution And Performance
Problems with Clock Speed and Login Density




Power
 Power density increases with density of logic and clock
speed
 Dissipating heat
RC delay
 Speed at which electrons flow limited by resistance and
capacitance of metal wires connecting them
 Delay increases as RC product increases
 Wire interconnects thinner, increasing resistance
 Wires closer together, increasing capacitance
Memory latency
 Memory speeds lag processor speeds
Solution:
 More emphasis on organizational and architectural
approaches
64
Chapter One : Computer Evolution And Performance
Intel Microprocessor
Performance
65
Chapter One : Computer Evolution And Performance
Increased Cache Capacity


Typically two or three levels of cache
between processor and main memory
Chip density increased

More cache memory on chip



Faster cache access
Pentium chip devoted about 10% of
chip area to cache
Pentium 4 devotes about 50%
66
Chapter One : Computer Evolution And Performance
More Complex Execution Logic


Enable parallel execution of instructions
Pipeline works like assembly line


Different stages of execution of different
instructions at same time along pipeline
Superscalar allows multiple pipelines
within single processor

Instructions that do not depend on one
another can be executed in parallel
67
Chapter One : Computer Evolution And Performance
Diminishing Returns

Internal organization of processors complex




Can get a great deal of parallelism
Further significant increases likely to be
relatively modest
Benefits from cache are reaching limit
Increasing clock rate runs into power
dissipation problem

Some fundamental physical limits are being
reached
68
Chapter One : Computer Evolution And Performance
New Approach – Multiple
Cores






Multiple processors on single chip
 Large shared cache
Within a processor, increase in performance proportional
to square root of increase in complexity
If software can use multiple processors, doubling number
of processors almost doubles performance
So, use two simpler processors on the chip rather than
one more complex processor
With two processors, larger caches are justified
 Power consumption of memory logic less than
processing logic
Example: IBM POWER4
 Two cores based on PowerPC
69
Chapter One : Computer Evolution And Performance
POWER4 Chip Organization
70
Chapter One : Computer Evolution And Performance
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
 up from 1Mb
80386
 32 bit
 Support for multitasking
71
Chapter One : Computer Evolution And Performance
Pentium Evolution (2)



80486
 sophisticated powerful cache and instruction
pipelining
 built in maths co-processor
Pentium
 Superscalar
 Multiple instructions executed in parallel
Pentium Pro
 Increased superscalar organization
 Aggressive register renaming
 branch prediction
 data flow analysis
 speculative execution
72
Chapter One : Computer Evolution And Performance
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
 see chapter 15
Itanium 2
 Hardware enhancements to increase speed
See Intel web pages for detailed information on
processors
73
Chapter One : Computer Evolution And Performance
PowerPC






1975, 801 minicomputer project (IBM) RISC
Berkeley RISC I processor
1986, IBM commercial RISC workstation product, RT PC.
 Not commercial success
 Many rivals with comparable or better performance
1990, IBM RISC System/6000
 RISC-like superscalar machine
 POWER architecture
IBM alliance with Motorola (68000 microprocessors), and Apple,
(used 68000 in Macintosh)
Result is PowerPC architecture
 Derived from the POWER architecture
 Superscalar RISC
 Apple Macintosh
 Embedded chip applications
74
Chapter One : Computer Evolution And Performance
PowerPC Family (1)




601:
 Quickly to market. 32-bit machine
603:
 Low-end desktop and portable
 32-bit
 Comparable performance with 601
 Lower cost and more efficient implementation
604:
 Desktop and low-end servers
 32-bit machine
 Much more advanced superscalar design
 Greater performance
620:
 High-end servers
 64-bit architecture
75
Chapter One : Computer Evolution And Performance
PowerPC Family (2)



740/750:
 Also known as G3
 Two levels of cache on chip
G4:
 Increases parallelism and internal speed
G5:
 Improvements in parallelism and internal
speed
 64-bit organization
76