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