Outline Computers over time Performance over time SI232

advertisement
SI232
Introduction to Computer
Architecture
Spring 2006
Asst. Prof. Luke McDowell
http://www.cs.usna.edu/~lmcdowel/courses/si232/S06/
Outline
• Class Survey / Role Call
• What is:
- a computer?
- computer architecture?
- this class?
• Course Admin
– Policy Letter
– Syllabus
Computers over time
1940s -- ENIAC
Today – UCLA “mote”
Performance over time
10,000
Intel Pentium 4/3000
Intel Xeon/2000
DEC Alpha 21264A/667
DEC Alpha 21264/600
Performance
1,000
DEC Alpha 5/500
DEC Alpha 5/300
IBM POWER 100
100
• Rapidly changing field:
SUN-4/
260
– vacuum tube -> transistor -> IC -> VLSI
– doubling every 1.5 years:
DEC AXP/500
0
DEC Alpha 4/266
HP 9000/750
IBM RS6000
MIPS M2000
MIPS M/120
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
• How do computers really work?
Why learn this stuff?
• How to analyze performance (and not to!)
• You want to call yourself a “computer
scientist”
• Issues affecting modern processors (caches,
pipelines, wire delay, parallelism…)
• You want to build software people use
(need performance)
• Constant tradeoffs:
– Speed vs. Capacity vs. Cost
• Insight into complexity of easy/hard operations
What is a computer?
• You need to make a purchasing decision
or offer “expert” advice
What is a computer, continued
• Our primary focus:
Computer
Control
Input
Memory
Datapath
Processor
Output
– implemented using millions of transistors
– Impossible to understand by looking at each
transistor
– We need...
2
Abstraction
• An abstraction helps us cope
with complexity by:
What is Computer Architecture?
Hig h-level
lang ua ge
program
(in C)
swap (in t v[], int k)
{int temp ;
tem p = v[k];
v[k] = v[k+1 ];
v[k+ 1] = tem p;
}
C com p iler
• Delving into the depths
reveals more information
swap :
m uli $2, $5,4
a dd $ 2, $ 4,$2
lw $15, 0($ 2)
lw $16, 4($ 2)
sw $1 6, 0($2 )
sw $1 5, 4($2 )
jr $3 1
Asse mb ly
lang ua ge
program
(for M IP S)
A ssem bler
Binary m a ch ine
lang ua ge
program
(for M IP S)
0000 00 001010 0001 00 000000000 11 000
0000 00 001000 1110 00 011000001 00 001
1000 11 000110 0010 00 000000000 00 000
1000 11 001111 0010 00 000000000 00 100
1010 11 001111 0010 00 000000000 00 000
1010 11 000110 0010 00 000000000 00 100
0000 00 111110 0000 00 000000000 01 000
Instruction Set Architecture
• A very important abstraction
– interface between hardware and low-level software
– defines how a program interacts with the machine
– standardizes instructions, machine language bit patterns, etc.
– advantage:
– disadvantage:
• Modern instruction set architectures:
Where we are headed
•
•
•
•
•
•
•
•
•
•
Today – Chapter 1
A specific instruction set architecture (Chapter 2)
Logic Design (Appendix B)
Arithmetic and how to build an ALU (Chapter 3)
Performance issues (Chapter 4)
Constructing a processor to execute our instructions
(Chapter 5)
Pipelining to improve performance (Chapter 6)
Memory: caches and virtual memory (Chapter 7)
I/O (Chapter 8)
A few advanced topics
– 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP
3
Classroom Pet Peeves
Admin
•
•
•
•
Assignments
•
•
•
•
Get the textbook
Get a binder to keep track of notes
Read Chapter 1 (1.7 optional)
Homework #1 due next Wed
Pet Peeves
Policy
Collaboration
Syllabus
Success in SI232
• In Class – Participate
– 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
Download