CSE 141-- Introduction to Computer Architecture Jeff Brown CSE - - PowerPoint PPT Presentation

cse 141 introduction to computer architecture
SMART_READER_LITE
LIVE PREVIEW

CSE 141-- Introduction to Computer Architecture Jeff Brown CSE - - PowerPoint PPT Presentation

CSE 141-- Introduction to Computer Architecture Jeff Brown CSE 141, S2'06 Jeff Brown What is Computer Architecture? Hardware Designer Computer Architect thinks about circuits, thinks about high-level components, timing,


slide-1
SLIDE 1

CSE 141, S2'06 Jeff Brown

CSE 141-- Introduction to Computer Architecture

Jeff Brown

slide-2
SLIDE 2

CSE 141, S2'06 Jeff Brown

What is Computer Architecture?

  • Hardware Designer

– thinks about circuits, components, timing, functionality, ease of debugging

“construction engineer”

  • Computer Architect

– thinks about high-level components, how they fit together, how they work together to deliver performance.

“building architect”

slide-3
SLIDE 3

CSE 141, S2'06 Jeff Brown

Why do I care?

  • You may actually do computer architecture someday
  • You may actually care about software performance

someday

– The ability of application programs, compilers, operating systems,

  • etc. to deliver performance depends critically on an understanding of

the underlying computer organization. – That becomes more true every year. – Computer architectures become more difficult to understand every year.

slide-4
SLIDE 4

CSE 141, S2'06 Jeff Brown

Which is faster?

for (i=0; i<N; i=i+1) for (j=0; j<N; j=j+1) { r = 0; for (k=0; k<N; k=k+1) r = r + y[i][k] * z[k][j]; x[i][j] = r; } for (jj=0; jj<N; jj=jj+B) for (kk=0; kk<N; kk=kk+B) for (i=0; i<N; i=i+1) { for (j=jj; j<min(jj+B-1,N); j=j+1) r = 0; for (k=kk; k<min(kk+B-1,N); k=k+1) r = r + y[i][k] * z[k][j]; x[i][j] = x[i][j] + r; }

slide-5
SLIDE 5

CSE 141, S2'06 Jeff Brown

Which is faster?

load R1, addr1 store R1, addr2 add R0, R2 -> R3 subtract R4, R3 -> R5 add R0, R6 ->R7 store R7, addr3 load R1, addr1 add R0, R2 -> R3 add R0, R6 -> R7 store R1, addr2 subtract R4, R3 -> R5 store R7, addr3

slide-6
SLIDE 6

CSE 141, S2'06 Jeff Brown

Which is faster?

loop1: add ... load ... add ... bne R1, loop1 loop2: add ... load ... bne R2, loop2 loop1: add ... load ... add ... bne R1, loop1 nop nop loop2: add ... load ... bne R2, loop2

slide-7
SLIDE 7

CSE 141, S2'06 Jeff Brown

Administration

  • Instructor: Jeff Brown
  • Who are you?
  • TAs:

– Will Chang – Steve Checkoway

  • Grading
  • Integrity
  • Course workload
slide-8
SLIDE 8

CSE 141, S2'06 Jeff Brown

What is Computer Architecture?

Computer Architecture = Machine Organization + Instruction Set Architecture What the machine looks like How you talk to the machine

slide-9
SLIDE 9

CSE 141, S2'06 Jeff Brown

How to Speak Computer

High Level Language Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Control Signal Spec Machine Interpretation ALUOP[0:3] <= InstReg[9:11] & MASK Machine Language Program Assembler 1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100 Assembly Language Program Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2)

slide-10
SLIDE 10

CSE 141, S2'06 Jeff Brown

The Instruction Set Architecture

  • that part of the architecture that is visible to the programmer

– opcodes (available instructions) – number and types of registers – instruction formats – storage access, addressing modes – exceptional conditions

slide-11
SLIDE 11

CSE 141, S2'06 Jeff Brown

The Instruction Set Architecture

° is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it. I/O system

  • Instr. Set Proc.

Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture

slide-12
SLIDE 12

The Instruction Execution Cycle

Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Locate and obtain operand data Execute Compute result value or status Result Store Deposit results in storage for later use Next Instruction Determine successor instruction

slide-13
SLIDE 13

CSE 141, S2'06 Jeff Brown

Key ISA decisions

  • operations
  • how many?
  • which ones
  • operands
  • how many?
  • location
  • types
  • how to specify?
  • instruction format
  • size
  • how many formats?

y = x + b

  • peration

source operands destination operand

(add r1, r2, r5)

slide-14
SLIDE 14

CSE 141, S2'06 Jeff Brown

Examples of ISAs

  • Alpha AXP
  • Intel IA-32 ("x86")
  • VAX
  • MIPS
  • SPARC
  • IBM 360
  • Intel IA-64 ("Itanium", "IPF")
  • PowerPC
slide-15
SLIDE 15

CSE 141, S2'06 Jeff Brown

Computer Organization

  • Once you have decided on an ISA, you must decide how to

design the hardware to execute those programs written in the ISA as fast as possible (or as cheaply as possible, or using as little power as possible, …).

  • This must be done every time a new implementation of the

architecture is released, with typically very different technological constraints.

slide-16
SLIDE 16

CSE 141, S2'06 Jeff Brown

The Challenge of Computer Architecture

  • The industry changes faster than any other.
  • The ground rules change every year.

– new problems – new opportunities – different tradeoffs

  • It’s “all” about making programs run faster than the next

guy’s machine. Or more efficiently.

slide-17
SLIDE 17

CSE 141, S2'06 Jeff Brown

Performance Trends

slide-18
SLIDE 18

CSE 141, S2'06 Jeff Brown

1000 10000 100000 1000000 10000000 1970 1975 1980 1985 1990 1995 2000 r4000 r4400 r3010

i8 0 4 8 6 i8 0 3 8 6 i8 0 2 8 6 i8 0 8 6 i8 0 8 0 i8 0 0 8 i4 0 0 4

Technology: Microprocessor Logic Density

slide-19
SLIDE 19

CSE 141, S2'06 Jeff Brown

Pentium 4

slide-20
SLIDE 20

CSE 141, S2'06 Jeff Brown

Pentium 4

slide-21
SLIDE 21

CSE 141, S2'06 Jeff Brown

The five classic components of computers

Computer Memory Datapath Control Output Input

slide-22
SLIDE 22

CSE 141, S2'06 Jeff Brown

Course Outline

I. Instruction Set Architecture

  • II. Computer System Performance and Performance Metrics
  • III. Computer Arithmetic and Number Systems
  • IV. CPU Architecture
  • V. Pipelining
  • VI. Superscalars
  • VII. The Memory/Cache Hierarchy
  • VIII. Parallel Machines
slide-23
SLIDE 23

CSE 141, S2'06 Jeff Brown

What you can expect to get out of this class

  • to become conversant with computer architecture terms and concepts.
  • to understand fundamental concepts in computer architecture and how

they impact computer and application performance.

  • to be able to read and evaluate architectural descriptions of even

today’s most complex processors.

  • to gain experience designing a working CPU completely from scratch.
  • to learn experimental techniques used to evaluate advanced

architectural ideas.

slide-24
SLIDE 24

CSE 141, S2'06 Jeff Brown

Key Points

  • High-performance software requires a deep understanding
  • f the underlying machine organization.
  • The instruction set architecture defines how software is

allowed to use the processor. Multiple computers with vastly different organizations and performance can share an ISA.

  • Most every component in a computer system falls into one
  • f five categories.