Lectures for 2nd Edition
Download
Report
Transcript Lectures for 2nd Edition
Computer Architecture
Instructor: Wen-Hung Liao
E-mail: [email protected]
Office: 大仁樓三樓 200312
Office hours: TBA
Course web page:
http://www.cs.nccu.edu.tw/~whliao/cod2005/
Textbook: Patterson and Hennessy, Computer
Organization and Design, 3rd Edition.
Companion website
Chapter 1
Computer
Abstractions and
Technology
Introduction
Rapidly changing field:
vacuum tube -> transistor -> IC -> VLSI
doubling every 1.5 years:
memory capacity
processor speed (Due to advances in technology and
organization)
Moore’s Law (Example)
Year of introduction
Transistors
4004
1971
2,250
8008
1972
2,500
8080
1974
5,000
8086
1978
29,000
286
1982
120,000
386™ processor
1985
275,000
486™ DX processor
1989
1,180,000
Pentium® processor
1993
3,100,000
Pentium II processor
1997
7,500,000
Pentium III processor
1999
24,000,000
Pentium 4 processor
2000
42,000,000
Things you’ll be learning
How computers work, a basic foundation
How to analyze their performance
Issues affecting modern processors (caches,
pipelines, parallel computing)
Why learn this stuff?
you want to call yourself a “computer
scientist”
you want to build software people use (need
performance)
you need to make a purchasing decision or
offer “expert” advice
Prerequisite
Some background in assembly language
Boolean algebra
Logic design
What is a computer?
Components:
input (mouse, keyboard...)
output (display, printer...)
storage(disk drives, CD…)
memory (DRAM, SRAM...)
data path
control
network
Our primary focus: the processor (data path and control)
implemented using millions of transistors
Impossible to understand by looking at each transistor
Below your program
gram High-level
(in C)
language
pro
High-level programming language
- Fortran
- C/C++
- Java
swap(int v[], int k)
{int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
C compiler
Assembly
language
program
(for MIPS)
Assembly language: machine
dependent
swap:
muli $2, $5,4
add $2, $4,$2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
Assembler
Machine language: consists of binary
digits,or ‘bits’ of information
00000000101000010000000000011000
00000000100011100001100000100001
Binary machine
10001100011000100000000000000000
language 10001100111100100000000000000100
program
101011001111001000000000000000
(for MIPS)
00
10101100011000100000000000000100
00000011111000000000000000001000
Instruction Set Architecture
A very important abstraction
interface between hardware and low-level software
standardizes instructions, machine language bit
patterns, etc.
Advantage: different implementations of the
same architecture
Disadvantage: sometimes prevents using new
innovations
Modern instruction set architectures
80x86/Pentium/K6,PowerPC, DEC Alpha,
MIPS, SPARC, HP, IA-64
RISC vs. CISC architecture
Where we are headed
A specific instruction set architecture (Chapter 2)
Arithmetic and how to build an ALU (Chapter 3)
Assessing and understanding performance (Chapter 4)
Constructing a processor to execute our instructions
(Chapter 5)
Pipelining to improve performance (Chapter 6)
Memory: caches and virtual memory (Chapter 7)
Storage, Networks, and Other Peripherals (Chapter 8)
Multiprocessors (Chapter 9)
Homework
Read Chapter 1 of textbook.
Download appropriate SPIM simulator for
your computer.
The Chip Manufacturing
Process
Integrated IC Cost
Cost per wafer
Cost per die
Dies per wafer yield
Wafer area
Dies per wafer
Die area
Yield
(empirical)
1
(1 (Defectsper area Die area/2))2
Question: What is the approximate relationship
between cost and die area?