Outline SI232 Introduction to Computer • Class Survey / Role Call Architecture • What is: - a computer? - computer architecture? Spring 2006 - this class? Asst. Prof. Luke McDowell • Course Admin http://www.cs.usna.edu/~lmcdowel/courses/si232/S06/ – Policy Letter – Syllabus Computers over time Performance over time 1940s -- ENIAC Today – UCLA “mote” 10,000� Intel Pentium 4/3000 Intel Xeon/2000 DEC Alpha 21264A/667 DEC Alpha 21264/600 1,000� Performance DEC Alpha 5/500 DEC Alpha 5/300 IBM POWER 100 100� DEC Alpha 4/266 DEC AXP/500 • Rapidly changing field: HP 9000/750 SUN-4/� 260 IBM RS6000 – vacuum tube -> transistor -> IC -> VLSI MIPS M2000 MIPS M/120 0 – doubling every 1.5 years: 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 Year 1
What We’ll Learn Why learn this stuff? • How do computers really work? • You want to call yourself a “computer scientist” • How to analyze performance (and not to!) • Issues affecting modern processors (caches, • You want to build software people use pipelines, wire delay, parallelism…) (need performance) • Constant tradeoffs: • You need to make a purchasing decision – Speed vs. Capacity vs. Cost or offer “expert” advice • Insight into complexity of easy/hard operations 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 Datapath transistor – We need... Output Processor 2
Abstraction What is Computer Architecture? High-level swap(int v[], int k) language {int temp; program tem p = v[k]; • An abstraction helps us cope (in C) v[k] = v[k+1]; v[k+1] = tem p; with complexity by: } C compiler • Delving into the depths Assembly swap: language m uli $2, $5,4 reveals more information program add $2, $4,$2 (for MIP S) lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Assembler Binary machine 00000000101000010000000000011000 language 00000000100011100001100000100001 program 10001100011000100000000000000000 (for MIP S) 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000 Instruction Set Architecture Where we are headed • A very important abstraction • Today – Chapter 1 • A specific instruction set architecture (Chapter 2) – interface between hardware and low-level software • Logic Design (Appendix B) – defines how a program interacts with the machine • Arithmetic and how to build an ALU (Chapter 3) – standardizes instructions, machine language bit patterns, etc. • Performance issues (Chapter 4) – advantage: • Constructing a processor to execute our instructions (Chapter 5) • Pipelining to improve performance (Chapter 6) – disadvantage: • Memory: caches and virtual memory (Chapter 7) • I/O (Chapter 8) • A few advanced topics • Modern instruction set architectures: – 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP 3
Classroom Pet Peeves Admin • Pet Peeves • Policy • Collaboration • Syllabus Assignments Success in SI232 • Get the textbook • In Class – Participate – Ask & answer questions • Get a binder to keep track of notes – Be prepared to interact • Read Chapter 1 (1.7 optional) – Take notes – provided slides are not enough! • Homework #1 due next Wed • 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
Recommend
More recommend