1 EKT 422/4 Computer Architecture By: Mr. Mohd. Nazrin Md. Isa [email protected] 04-9798410 Level...

76
1 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 UNIVERSITI MALAYSIA PERLIS

Transcript of 1 EKT 422/4 Computer Architecture By: Mr. Mohd. Nazrin Md. Isa [email protected] 04-9798410 Level...

1

EKT 422/4Computer Architecture

By:

Mr. Mohd. Nazrin Md. Isa

[email protected]

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)

20

Operation (c) Processing from and to storage

Chapter One : Introduction to Computer Architecture

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

23

The computer: Top-Level structure

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

27

LAB 01 : DISCUSSION

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

31

Self-Reading

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

39

Structure of von Neumann machine

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

41

Structure of IAS – detail

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

50

Growth in CPU Transistor Count

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

53

DEC - PDP-8 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

58

Logic and Memory Performance Gap

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

61

Typical I/O Device Data Rates

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

65

Intel Microprocessor Performance

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

70

POWER4 Chip Organization 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

76

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

Chapter One : Computer Evolution And Performance