lecture 1: computer architecture and technology assist ...cse.yeditepe.edu.tr › ~gkucuk ›...

28
Lecture 1: Computer Architecture and Technology Assist.Prof.Dr. Gürhan Küçük Advanced Computer Architectures CSE 533

Upload: others

Post on 27-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Lecture 1:Computer Architecture and Technology

Assist.Prof.Dr. Gürhan KüçükAdvanced Computer Architectures

CSE 533

Page 2: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Today’s Lecture

° Course Objectives, Format, and Grading° Course Prerequisites and Content° Introduction to Computer Architecturep° Computer Technology° Computer Components° Computer Components

Page 3: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Course Objective

° Course Objective : To give students a clear understanding of the architecture and organization

f d t d th t dof modern computers, and the cost and performance tradeoffs involved in there design.

Technology ProgrammingLanguages

Parallelism

LanguagesApplications

Interface DesignComputer Architecture:I t ti S t D i• Instruction Set Design

• Machine Organization• Implementation

OperatingSystems History

Measurement &Evaluation

Page 4: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Class Goals

° Show you how to understand modern computer architecture in its rapidly changing form - discuss f d t l id l l ld lfundamental ideas, plus real world examples.

° Provide you with an understanding of current and future trends in computer architecturefuture trends in computer architecture

° Show you how to design by leading you through the process on challenging problemsthe process on challenging problems

° Make the class informative and enjoyable. So ...• ask questions• ask questions• offer feedback on the course• come to lecture and office hours• learn from those around you but submit individual work

Page 5: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Lecture Format

° Lectures presented from Power Point slides & transparencies

° Examples worked on the board° Copies of slides homeworks and other information canCopies of slides, homeworks and other information can

be downloaded from the course home page at:http://cse.yeditepe.edu.tr/~gkucuk/courses/cse533http://cse.yeditepe.edu.tr/ gkucuk/courses/cse533

° Readings from the book are assigned to complement the lectures.

° Look over the notes and the material from the book before coming to class.

° Class is designed to be interactive => ask and answer questions.

° Office Hours: M 14:00-15:50, T 11:00-11:50 or by appointment, A-409.

Page 6: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Grading

° G di f th i f ll° Grading for the course is as follows:• Homeworks & Quizzes: 10%• Programming Projects: 10%Programming Projects: 10%• Paper Presentation 10%• Final Project 20%• Midterm Exam : 20%• Final Exam : 30%

° Homework° Homework• Due at the start of class• Encouraged to work together, but make sure work is your owng g , y

° Exams• Open book and open note (most likely)• Makeup exams given only under extreme circumstances• Final is comprehensive

Page 7: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Course Info

° Please give me feedback whenever you have questions/concerns - feedback form on web pagequestions/concerns feedback form on web page or just stop by my office

° Email for course related questions: [email protected]

Page 8: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Course Content

° Text book: Computer Architecture: A Quantitative Approach, 2nd Ed., Hennessy and Patterson,Approach, 2nd Ed., Hennessy and Patterson, Morgan Kaugman, 1997.

- Supplementary: Modern Processor Design: Fundamentals of Superscalar Processors J P Shen and M H Lipasti 2003of Superscalar Processors, J.P.Shen and M.H.Lipasti, 2003.

° Topics covered include :• Computer Architecture and TechnologyComputer Architecture and Technology• Computer Performance• Computer Instruction Sets• Computer Arithmetic• Processor Design• Pipelined ProcessorsPipelined Processors• Memory System Design• Input/Output System Design

Page 9: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

What is “Computer Architecture”

° Computer Architecture is the design of the computer at the hardware/software interface.

° Computer Architecture = Instruction Set Architecture + Machine Organization+ Machine Organization

Computer Architecture

Instruction Set Design Machine OrganizationInstruction Set Design Machine Organization

Computer Interface Hardware Components

Compiler/System View Logic Designer’s View

Page 10: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

The Instruction Set: a Critical Interface

software

instruction set

hardware

Page 11: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Instruction Set Architecture

° Instruction set architecture is the attributes of a computing system as seen by the assemblycomputing system as seen by the assembly language programmer or compiler. This includes

I t ti S t ( h t ti b f d?)• Instruction Set (what operations can be performed?)

• Instruction Format (how are instructions specified?)

• Data storage (where is data located?)• Data storage (where is data located?)

• Addressing Modes (how is data accessed?)

• Exceptional Conditions (what happens if something goes• Exceptional Conditions (what happens if something goes wrong?)

° A good understanding of computer architecture isA good understanding of computer architecture is important for compiler writers, operating system designers and general computer programmersdesigners, and general computer programmers.

Page 12: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

MIPS R3000 Instruction Set Architecture (Summary)

° Instruction Categories• Load/Store

Registers

• Computational• Jump and Branch

Floating Point

R0 - R31

• Floating Point• Memory Management• Special PC

HIHILO

OP rs rt rd sa funct

3 Instruction Formats: all 32 bits wide

OP

OP

rs rt immediate

jump targetjump target

Page 13: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Machine Organization

° Machine organization is the view of the computer that is seen by the logic designer. This includesthat is seen by the logic designer. This includes

• Capabilities & performance characteristics of functional units (e.g., registers, ALU, shifters, etc.).

• Ways in which these components are interconnected• Ways in which these components are interconnected• How information flows between components• Logic and means by which such information flow is controlled• Coordination of functional units to realize the ISA

° Typically the machine organization is designed to t i i t ti t hit tmeet a given instruction set architecture.

° However, in order to design good instruction sets, it is important to understand the how the architectureis important to understand the how the architecture might be implemented.

Page 14: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Key considerations in “Computer Architecture”

OperatingApplication Software

Compiler

p gSystem

Instruction SetFirmware

I/O systemInstr. Set Proc. Architecture

Datapath & Control

Digital DesignCircuit Design

Layout

Hardware

° Coordination of many levels of abstractionLayout

° Under a rapidly changing set of forces° Design, Measurement, and Evaluation

Page 15: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Levels of abstraction

° An important concept in computer architecture is the use of various levels of abstractions.

° Each level of abstraction consists of • an interface (outside view of what it does), and • an implementation (inside view of how it works)

Interface Implementation

AY

2 x

ANAND

Interface

B

1 Mux

B

NAND

NAND

NANDY

S B

S

NAND

Page 16: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Forces on Computer Architecture

TechnologyTechnology ProgrammingLanguages

ComputerArchitecture

Applications

Architecture

OperatingSystems

History

Page 17: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Technology Trends

DRAMYear Size 10000000

100000000Microprocessor Logic DensityDRAM chip capacity

Year Size1980 64 Kb1983 256 Kb1986 1 Mb

i80486

Pentium

i80386

R10000

R4400

1000000

10000000

stor

s

1986 1 Mb1989 4 Mb1992 16 Mb1996 64 Mb

i80286

i80386

i8086

R3010

SU MIPS

10000

100000Tran

sis

i80x86M68K

1996 64 Mb1999 256 Mb2002 1 Gb

i4004

1000

10000

1970 1975 1980 1985 1990 1995 2000 2005

MIPSAlpha

° In 1985, the single-chip 32-bit processor and the single-board computer emerged

° B 2002 ill h i° By 2002, we will have entire computer systems on a single chip.

Page 18: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Technology trends

° Processor• logic capacity: increases about 30% per yearlogic capacity: increases about 30% per year• clock rate: increases about 20% per year• performance: increases about 50% per year

° M° Memory• DRAM capacity: increases about 60% per year (4x every 3 years)• performance: increases about 3.4% per year

° Disk• capacity: about 60% per year

performance increases abo t 3 4% per ear• performance: increases about 3.4% per year

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

° What impact does this have on future computer systems?

° What impact does this have on design decisions?

Page 19: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Technoloy Trends

Page 20: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Processor Performance

300

performance now improves - 50% per year (2x every 1.5 years)

200

250RISC

150

200

Intel x86RISC

50

100

35%/yr

RISCintroduction

0

982

983

984

985

986

987

988

989

990

991

992

993

994

995

Year

1 1 1 1 1 1 1 1 1 1 1 1 1 1

Page 21: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Levels of Representation

High Level Language Program

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

Compilerv[k+1] = temp;

lw$15 0($2)Assembly Language Program

A bl

lw$15, 0($2)lw$16, 4($2)sw $16, 0($2)

$ $

Machine Language P

Assembler( )

sw $15, 4($2)0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001Program

Machine Interpretation

1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

Control Signal Specification

ALUOP[0:3] <= InstReg[9:11] & MASK

°°

Page 22: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

The Big Picture

° Since 1946 all computers have had 5 main components

Processor

I t

ControlM

Input

Memory

Datapath Output

Page 23: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Components of a Computer

° The functions of the different computer components arecomponents are

• datapath - performs arithmetic and logic operations

e g adders multipliers shifters- e.g., adders, multipliers, shifters

• memory - holds data and instructions

- e.g., cache, main memory, diske.g., cache, main memory, disk

• input - sends data to the computer

- e.g., keyboard, mouseg , y ,

• output - gets data from the computer

- e.g., screen, sound card

• control - gives directions to the other components

- e.g., bus controller, memory interface unit

Page 24: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Relative Cost of Computer Components

Processor

Computer

Memory DevicesWorkstation Design Target:

Control

y

Input

g g25% of cost on Processor25% of cost on MemoryRest on I/O devices,

Datapath Outputpower supplies, box

Page 25: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Computer System Components

Proc

CachesBusses

Memoryadapters

I/O Devices:

Controllers

DisksDispla s

Controllers

DisplaysKeyboards

Networks

° All h i t f & i ti° All have interfaces & organizations

Page 26: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Example Organization

° TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20

Floating-point Unit

SuperSPARCMBus Module

Floating point Unit

Integer UnitL2$

CCMBus

DRAM Controller

Inst Ref Data L64852 MBus controlM S Adapter S OCache MMU Cache

StoreB ff

M-S Adapter

SBusSBus SCSI

STDIOserialkbdmouse

Buffer

Bus Interface

DMA Ethernet audioRTCBoot PROMFloppy

SBusCards FloppyCards

Page 27: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Instruction Execution

InstructionFetch

Obtain instruction from program storage

Fetch

InstructionDecode

Determine required actions and instruction size

Decode

Operand Locate and obtain operand dataFetch

Execute Compute result value or status

ResultStore

Deposit results in storage for later useStore

NextI t ti

Determine successor instructionInstruction

Page 28: Lecture 1: Computer Architecture and Technology Assist ...cse.yeditepe.edu.tr › ~gkucuk › courses › cse533 › lecture1.pdf · Grading ° Gdi f th i fllGrading for the course

Summary

° Computer Architecture includes the design of the Instruction Set Architecture (programmer’s view) and the Machine Organization (logic designer’s view)the Machine Organization (logic designer s view).

° Levels of abstraction, which consist of an interface and an implementation are useful to manage designs.p g g

° Processor performance increases rapidly, but the speeds of memory and I/0 have not kept pace.

° Computer systems are comprised on datapath, memory, input devices, output devices, and control.

° By next class: • read over all of Chapter 1 and Sections 2.1 to 2.3