Post on 29-Dec-2015
1
EKT 422/4Computer Architecture
By:
Mr. Mohd. Nazrin Md. Isa
nazrin@unimap.edu.my
04-9798410
Level 2, Block A,
School of Microelectronic EngineeringUNIVERSITI MALAYSIA PERLISUNIVERSITI MALAYSIA PERLIS
2
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 PERLISUNIVERSITI MALAYSIA PERLIS
3
Useful links Portal UniMAP
Books:http://WilliamStallings.com/StudentSupport.html
VHDL : http://www.opencores.orghttp://www.csee.umbc.edu/help/VHDL
Quartus II/UP-3http://www.altera.comhttp://users.ece.gatech.edu/~hamblen/UP3/
4
TIMETABLE
LECTURE 8.00-10.00 – MONDAY DKP1 8.00-9.00 - THU DKR 3LAB @ MKY6 TUE 8-10 (E), 1 P.M -3.00P.M
(E+UE) THU :4-6.00 P.M (UE)
5
Introduction to VHDLIntroduction to VHDL
Very High Speed Integrated Circuit Hardware Description Language (VHDL)
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
Architecture
Entity
Digital signalDigital Signal
InputDigitalData
Output DigitalData
VHDL & QUARTUS II REVIEW
6
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 ISBEGIN s <= x XOR y XOR Cin; Cout <= (x AND y) OR (x AND y) OR (y AND
Cin);END LogicFunc;
VHDL & QUARTUS II REVIEW
7
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
VHDL & QUARTUS II REVIEW
8
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;
VHDL & QUARTUS II REVIEW
9
Mode Purpose
IN Used for a signal that is an input to an entity
OUT Used for a signal that is an output from an entity.
INOUT 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.
THE POSSIBLE MODES FOR SIGNALS
VHDL & QUARTUS II REVIEW
10
Example of VHDL Code Full Adder-explanation (3)
ARCHITECTURE LogicFunc OF fulladd ISBEGIN 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 ISBEGIN CONCURRENT ASSIGNMENT statement ;END architecture_name;
Details, refer VHDL REFERENCE IN PORTAL
VHDL & QUARTUS II REVIEW
11
QUARTUS II
Details, refer guide in PORTAL
Go to http://www.altera.com/download
Quartus II install register licence ready to use
VHDL & QUARTUS II REVIEW
12
What is a computer?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.
Chapter One : Introduction to Computer Architecture
13
What is a computer system?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.
Chapter One : Introduction to Computer Architecture
14
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.
Organization and architecture
Chapter One : Introduction to Computer Architecture
15
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 PERLISUNIVERSITI MALAYSIA PERLIS
Chapter One : Introduction to Computer Architecture
16
Function
These are the basic functions that a computer can perform.
- Data processing- Data storage- Data movement- Control
Chapter One : Introduction to Computer Architecture
17
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.
Chapter One : Introduction to Computer Architecture
18
Operation(a) Data movement
Chapter One : Introduction to Computer Architecture
From one communications line or peripheral to another.
19
Operation (b) Storage
Chapter One : Introduction to Computer Architecture
Data transferred from the external environment to computer storage (read) and vice versa (write)
21
Operation (d)Processing from storage to I/Oor vice versa
Chapter One : Introduction to Computer Architecture
22
StructureThere 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.
Chapter One : Introduction to Computer Architecture
24
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.
Chapter One : Introduction to Computer Architecture
25
Central Processing Unit
The organization of a simple computer with one CPU and two I/O devices
Chapter One : Introduction to Computer Architecture
26
Introduction (computer Introduction (computer generation)generation)
Generation Year Technology Typical speed (operations per-second)
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
Chapter One : Introduction to Computer Architecture
28
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.
Chapter One : Introduction to Computer Architecture
29
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).
Chapter One : Introduction to Computer Architecture
30
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.
Chapter One : Introduction to Computer Architecture
32
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.
Chapter One : Introduction to Computer Architecture
33
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.
Chapter One : Introduction to Computer Architecture
34
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.
Chapter One : Introduction to Computer Architecture
Chapter one (cont’d)
Computer Evolution and Performance
UNIVERSITI MALAYSIA PERLISUNIVERSITI MALAYSIA PERLIS
36
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
Chapter One : Computer Evolution And Performance
37
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
Chapter One : Computer Evolution And Performance
38
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
Chapter One : Computer Evolution And Performance
40
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)
Chapter One : Computer Evolution And Performance
42
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 MQ
hold temporarily operands
Chapter One : Computer Evolution And Performance
43
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
Chapter One : Computer Evolution And Performance
44
IBM
Manufacturer of Punched-card processing equipment
1953 - the 701 IBM’s first stored program computer Scientific calculations
1955 - the 702 Business applications
Lead to 700/7000 series
Chapter One : Computer Evolution And Performance
45
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.
Chapter One : Computer Evolution And Performance
46
Transistor Based Computers
Second generation machines NCR & RCA (other manufacturers)
produced small transistor machines
IBM-7000 series DEC - 1957
Produced PDP-1
Chapter One : Computer Evolution And Performance
47
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
Chapter One : Computer Evolution And Performance
48
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
Chapter One : Computer Evolution And Performance
49
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
Chapter One : Computer Evolution And Performance
51
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
Chapter One : Computer Evolution And Performance
52
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
Chapter One : Computer Evolution And Performance
54
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
Chapter One : Computer Evolution And Performance
55
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
Chapter One : Computer Evolution And Performance
56
Speeding it up
Pipelining On board cache On board L1 & L2 cache Branch prediction Data flow analysis Speculative execution
Chapter One : Computer Evolution And Performance
57
Performance Balance
Processor speed increased Memory capacity increased Memory speed lags behind
processor speed
Chapter One : Computer Evolution And Performance
59
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
Chapter One : Computer Evolution And Performance
60
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
Chapter One : Computer Evolution And Performance
62
Key is Balance
Processor components Main memory I/O devices Interconnection structures
Chapter One : Computer Evolution And Performance
63
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
Chapter One : Computer Evolution And Performance
64
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
Chapter One : Computer Evolution And Performance
66
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%
Chapter One : Computer Evolution And Performance
67
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
Chapter One : Computer Evolution And Performance
68
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
Chapter One : Computer Evolution And Performance
69
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
Chapter One : Computer Evolution And Performance
71
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
Chapter One : Computer Evolution And Performance
72
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
Chapter One : Computer Evolution And Performance
73
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
Chapter One : Computer Evolution And Performance
74
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
Chapter One : Computer Evolution And Performance
75
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
Chapter One : Computer Evolution And Performance