elen 350 computer architecture spring 2005 introduction and five components of a computer adapted...

29
ELEN 350 Computer Architecture Spring 2005 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Adapted from CPSC 321 Fall 2004 Hank Walker, TAMU

Post on 21-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

ELEN 350Computer Architecture

Spring 2005Introduction and Five Components of a Computer

Adapted from CS 152 Spring 2002 UC Berkeley

Adapted from CPSC 321 Fall 2004 Hank Walker, TAMU

Course InstructorWeiping Shi ([email protected])

• Class time: MWF 11:30am-12:20pm• Office hour: TuF 3:00pm-5:00pm or by appt.• 320 WERC, Tel: 458-0093

• TA and Grader: TBA

Course Information [contd…]

• Grading: Projects, Assignments, Exams– Quizs 10%– Midterm 30%– Final 30%– Assignments 30%

• Assignments include– Verilog (HDL)– MIPS (Assembly Programming)– More like project

Course Information [contd…]

• Required Text– Computer Organization and Design: The Hardware/Software

Interface, Third Edition , David A. Patterson and John L. Hennessy, Morgan Kaufmann Publishers

• Reference Information– Check the course webpage for other materials and links

Course Information [contd…]

• Course Webpage– http://ece.tamu.edu/~wshi/350.html

Course Overview

34 -b it A LU

LO register(16x2 bits)

LoadH

I

Cle

arH

I

LoadLO

M ultiplicandR egister

S h iftA ll

LoadM p

Extra

2 b

its

3 232

LO [1 :0 ]

R esult[H I] R esult[LO]

32 32

Pre

v

LO

[1]

Booth

Encoder E N C [0 ]

E N C [2 ]

C on trolLog ic

InputM ultiplier

32

S ub /A d d

2

34

34

32

InputM ultiplicand

32= >34s ig nE x

34

34x2 M U X

32= >34s ig nE x

< <13 4

E N C [1 ]

M ulti x2 /x1

2

2H I register(16x2 bits)

2

01

3 4Arithmetic

Single/multicycleDatapaths

Computer Arithmetic

Datapaths

Course Overview [contd…]IFetchDcd Exec Mem WB

IFetchDcd Exec Mem WB

IFetchDcd Exec Mem WB

IFetchDcd Exec Mem WB

Pipelining

Memory Systems

Performance

Memory

What’s In It For Me ?

• In-depth understanding of the inner-workings of modern computers, their evolution, and trade-offs present at the hardware/software boundary.– Insight into fast/slow operations that are easy/hard to

implementation hardware

• Experience with the design process in the context of a large complex (hardware) design.– Functional Spec --> Control & Datapath --> Physical

implementation– Modern CAD tools

Computer Architecture - Definition

• Computer Architecture = ISA + MO

• Instruction Set Architecture– What the executable can “see” as underlying hardware– Logical View

• Machine Organization– How the hardware implements ISA ?– Physical View

Computer Architecture – Changing Definition• 1950s to 1960s: Computer Architecture Course:

–Computer Arithmetic

• 1970s to mid 1980s: Computer Architecture Course: –Instruction Set Design, especially ISA appropriate for compilers

• 1990s: Computer Architecture Course: Design of CPU, memory system, I/O system, Multiprocessors,

Networks

• 2000s: Computer Architecture Course: –Non Von-Neumann architectures, Reconfiguration

• DNA Computing, Quantum Computing ????

Some Examples …° Digital Alpha (v1, v3) 1992-97 RIP soon

° HP PA-RISC (v1.1, v2.0) 1986-96 RIP soon

° Sun SPARC (v8, v9) 1987-95

° SGI MIPS (MIPS I, II, III, IV, V)1986-96

° IA-16/32 (8086,286,386, 486, 1978-1999 Pentium, MMX, SSE, …)

° IA-64 (Itanium) 1996-now

° AMD64/EMT64 2002-now

° IBM POWER (PowerPC,…) 1990-now

° Many dead processor architectures live on in microcontrollers

CPSC 321

“What” is Computer Architecture ?

I/O systemInstr. Set Proc.

Compiler

OperatingSystem

Application

Digital DesignCircuit Design

Instruction Set Architecture

Firmware

• Coordination of many levels of abstraction• Under a rapidly changing set of forces• Design, Measurement, and Evaluation

Datapath & Control

Layout

Impact of Changing ISA

• Early 1990’s Apple switched instruction set architecture of the Macintosh– From Motorola 68000-based machines

– To PowerPC architecture

• Intel 80x86 Family: many implementations of same architecture– program written in 1978 for 8086 can be run

on latest Pentium chip

Factors Affecting ISA ???

ComputerArchitecture

Technology ProgrammingLanguages

OperatingSystems

History

Applications

Cleverness

ISA: Critical Interface

instruction set

software

hardware

Examples: 80x86 50,000,000 vs. MIPS 5500,000 ???

The Big Picture

Control

Datapath

Memory

Processor

Input

Output

Since 1946 all computers have had 5 components!!!

Example Organization• TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20

Floating-point Unit

Integer Unit

InstCache

RefMMU

DataCache

StoreBuffer

Bus Interface

SuperSPARC

L2$

CC

MBus Module

MBus

L64852 MBus controlM-S Adapter

SBus

DRAM Controller

SBusDMA

SCSIEthernet

STDIO

serialkbdmouseaudioRTC

FloppySBusCards

Technology Trends

• Processor– logic capacity: about 30% per year– clock rate: about 20% per year

• Memory– DRAM capacity: about 60% per year (4x every 3 years)– Memory speed: about 10% per year– Cost per bit: improves about 25% per year

• Disk– capacity: about 60% per year– Total use of data: 100% per 9 months!

• Network Bandwidth– Bandwidth increasing more than 100% per year!

i4004

i8086

i80386

Pentium

i80486

i80286

SU MIPS

R3010

R4400

R10000

1000

10000

100000

1000000

10000000

100000000

1965 1970 1975 1980 1985 1990 1995 2000 2005

Transistors

i80x86

M68K

MIPS

Alpha

° In ~1985 the single-chip processor (32-bit) and the single-board computer emerged

° In ~2002 started having multiple processor cores on a chip (IBM POWER4)

DRAMYear Size1980 64 Kb1983 256 Kb1986 1 Mb1989 4 Mb1992 16 Mb1996 64 Mb1999 256 Mb2002 1 Gb

uP-Name

Microprocessor Logic DensityDRAM chip capacity

Technology Trends

Technology Trends

Smaller feature sizes – higher speed, density

ECE/CS 752; copyright J. E. Smith, 2002 (Univ. of Wisconsin)

Technology Trends

Number of transistors doubles every 18 months

(amended to 24 months)

ECE/CS 752; copyright J. E. Smith, 2002 (Univ. of Wisconsin)

The Role of Performance

Example of Performance Measure

Performance Metrics

• Response Time– Delay between start end end time of a task

• Throughput– Numbers of tasks per given time

Examples (Throughput/Performance)

• Replacing the processor with a faster version ?

• Adding additional processor to a system ?

Measuring Performance

• Wall-clock time –or- Total Execution Time

• CPU Time– User Time– System Time

Try using time command on UNIX system

Relating the Metrics

• Performance = 1/Execution Time

• CPU Execution Time = CPU clock cycles for program x Clock cycle time

• CPU clock cycles = Instructions for a program x Average clock cycles per Instruction

Summary • Computer Architecture = Instruction Set Architure + Machine

Organization• All computers consist of five components

– Processor: (1) datapath and (2) control– (3) Memory– (4) Input devices and (5) Output devices

• Not all “memory” are created equally– Cache: fast (expensive) memory are placed closer to the

processor– Main memory: less expensive memory--we can have more

• Interfaces are where the problems are - between functional units and between the computer and the outside world

• Need to design against constraints of performance, power, area and cost

Summary

• Performance “eye of the beholder”

• Running time = IC*CPI*cycle time– IC (instruction count), depends on instruction

set and compiler– CPI (cycles per instruction), depends on

architecture– Cycle time, depends on VLSI technology, not

discussed in this course