<<

IC220 Outline Architecture and • Class Survey / Role Call Organization • What is: - a computer? Spring 2007 - ? Asst. Prof. Luke McDowell - this class? Major W. Clay James • Course Admin – Policy Letter http://www.cs.usna.edu/~lmcdowel/courses/ic220/S07/ – Syllabus

Computers over time Performance over time 1940s -- ENIAC Today – UCLA “mote” 10,000

Intel Pentium 4/3000 Xeon/2000 DEC Alpha 21264A/667

1,000 DEC /600 e c n

a DEC Alpha 5/500 m r o f

r DEC Alpha 5/300 e P IBM POWER 100 100 DEC Alpha 4/266 DEC AXP/500

HP 9000/750 • Rapidly changing field: SUN-4/ 260 IBM RS6000 – vacuum tube -> transistor -> IC -> VLSI MIPS M2000 MIPS M/120 – doubling every 1.5 years: 0 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 Year

1

PAT01F17.eps What We’ll Learn Why learn this stuff?

• How do really work? • You want to call yourself a “computer • How to analyze performance (and not to!) • Issues affecting modern processors (caches, pipelines, wire delay, scientist” or “information technologist” parallelism…) • You want to build software people use • Constant tradeoffs: – Speed vs. Capacity vs. Cost (need performance) • Insight into complexity of easy/hard operations • You need to make a purchasing decision • Student comment from last year on “how much learned”: “A great deal. One of those classes where you don' realize how or offer “expert” advice much you learned- you just come out understanding a lot of things that nobody else does.”

What is a computer? What is a computer, continued

• Our primary focus: Computer Control

Input

Memory – implemented using millions of transistors – Impossible to understand by looking at each transistor

Output – We need...

2

PAT01F05.eps Abstraction What is Computer Architecture?

Hig h-level swap(int v[], int k) lang uage {int temp; program temp = v[k]; (in C) v[k] = v[k+1]; • An abstraction helps us cope v[k+1] = tem p; with complexity by: }

C compiler

Assembly swap: • Delving into the depths lang uage muli $2, $5,4 program add $2, $4,$2 reveals more information (for MIPS) lw $15, 0($2) lw $16, 4($2) sw $1 6, 0($2) sw $15, 4($2 ) jr $31

Assembler

Binary m achine 000000001010 00010000000000011000 lang uage 000000001000 11100001100000100001 program 100011000110 00100000000000000000 (for MIPS) 100011001111 00100000000000000100 101011001111 00100000000000000000 101011 000110 00100000000000000100 000000 111110 00000000000000001000

Instruction Set Architecture Where we are headed

• A very important abstraction • Today – Chapter 1 – interface between hardware and low-level software • A specific instruction set architecture (Chapter 2) – defines how a program interacts with the machine • Logic Design (Appendix B) – standardizes instructions, machine language bit patterns, etc. • Arithmetic and how to build an ALU (Chapter 3) – advantage: • Performance issues (Chapter 4) • Constructing a processor to execute our instructions (Chapter 5) • Pipelining to improve performance (Chapter 6) – disadvantage: • Memory: caches and (Chapter 7) • I/O (Chapter 8) • Modern instruction set architectures: • A few advanced topics – 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

3 Admin Assignments

• Pet Peeves • Get the textbook • Policy • Get a binder to keep track of notes • Collaboration • Syllabus • Read Chapter 1 (1.7 optional) • Homeworks • Homework #1 due Wed – Some exercises completed in class – All exercises must be completed & turned in – Expected less points for exercises done in class • All assignments must be turned in to possibly earn a passing grade

Success in IC220

• In Class – Participate – You must bring relevant slides/homework – Ask & answer questions – Be prepared to interact – Take notes – provided slides are not enough! • On your own – Keep Up – Review/finish exercises after class – Read the book – lecture won’t cover everything – See me for help and/or talk to friends

4