Anda di halaman 1dari 13

EEM 486: Computer Architecture

Lecture 1
Course Introduction
and the
Five Components of a Computer

EEM 486

Course Information

Instructor: Atakan Doan (atdogan@anadolu.edu.tr)


Office Hours: Anytime
Materials:

http://www.eem.anadolu.edu.tr/Dersler.aspx

Text:

Patterson and Hennessy, Computer Organization and

Design: The Hardware/Software Interface,


3rd Edition.

Lec 1.2

Grading
Grading
Midterm I:
Midterm II:
Homeworks+Labs
Final:

20%
20%
20%
40% (30%Exam + 10%Labs)

HW policy: return in 1 week; no late HW; no cheating


Grading Guidelines
AA: 90-100
Others: 40-90
FF: 0-40

Lec 1.3

What You Need to Know

Logic design (EEM 232)


Logical equations, schematic diagrams, components
VHDL for Labs (EEM 334)
Processor, memory, I/O
Read and write in an assembly language (EEM 336)

Lec 1.4

Introduction
This course is all about how computers work
But what do we mean by a computer?
Different types: desktop, servers, embedded devices
Different uses: automobiles, graphics, finance, genomics
Different manufacturers: Intel, Apple, IBM, Microsoft, Sun
Different underlying technologies and different costs!

Analogy: Consider a course on automotive vehicles


Many similarities from vehicle to vehicle (e.g., wheels)
Huge differences from vehicle to vehicle (e.g., gas vs. electric)

Best way to learn:


Focus on a specific instance and learn how it works
While learning general principles and historical perspective
Lec 1.5

Why learn this stuff?


You want to call yourself a computer scientist
You want to build software that people use (need
performance)
You need to make a purchasing decision or offer
expert advice
Both Hardware and Software affect performance:
Algorithm determines number of source-level statements
Language/Compiler/Architecture determine machine instruction
(Chapter 2 and 3)
Processor/Memory determine how fast instructions are
executed (Chapter 5, 6, and 7)

Assessing and Understanding Performance in Chapter 4


Lec 1.6

Historical Perspective
ENIAC built in World War II was the first general
purpose computer
Used for computing artillery firing tables
80 feet long by 8.5 feet high and several feet wide
Each of the twenty 10 digit registers was 2 feet long
Used 18,000 vacuum tubes
Performed 1900 additions per second

Lec 1.7

Technology
Rapidly changing field:

Moores Law
transistor capacity doubles every 18-24 months

Lec 1.8

Moores Law
IBM latest POWER5 has
276 million transistors
Intel Dual-Core Xeon (P4based Tulsa) w/ 16MB unified
L3: 1.328 billion, 2006

2,25
0

P4 Extreme Ed.
178 millions w/
2MB L3
42 millions

Core 2 Duo
(Conroe) 291
millions, July
2006

Exponential growth

Transistor count will be doubled every 18 months


Lec 1.9

Integrated Circuits Capacity

Lec 1.10

Feature Size

We are currently at 0.09m and moving towards 0.065m


Lec 1.11

Average Transistor Cost Per Year

Lec 1.12

What is Computer Architecture?

Computer Architecture =
Instruction Set Architecture +
Machine Organization

Lec 1.13

A View of Computer Architecture


Application
Operating
System
Compiler

Firmware

Instr. Set Proc. I/O system

Instruction Set
Architecture

Datapath & Control


Digital Design
Circuit Design
Layout

Coordination of many levels of abstraction


Under a rapidly changing set of forces; technology, applications,
OS, programming languages, etc.
Design, Measurement, and Evaluation
Lec 1.14

Processor Organization
Capabilities & performance characteristics of principal functional
units, e.g., Registers, ALU, Shifters, Logic Units, ...
Ways in which these components are interconnected
Information flows between components
Logic and means by which such information flow is controlled
Choreography of FUs to realize the ISA
Register Transfer Level (RTL) Description

Lec 1.15

The Instruction Set: a Critical Interface

software
instruction set

hardware

Lec 1.16

Instruction Set Architecture


High Level
Language

main() {
int i,b,c,a[10];
for (i=0; i<10; i++)
a[2] = b + c*i;
}

Compiler
ISA

lw r2, mem[r7]
add r3, r4, r2
st
r3, mem[r8]

Assembler

Lec 1.17

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

True or False: Binary compatibility is extraordinarily


important?

Modern instruction set architectures:


IA-32, PowerPC, MIPS, SPARC, ARM, and others
Lec 1.18

Machine Organization: The Big Picture


Since 1946 all computers have had 5 components

Processor
Input
Control
Memory
Datapath

Output

Lec 1.19

Machine Organization
Components:
input (mouse, keyboard)
output (display, printer)
memory (disk drives, DRAM, SRAM, CD)
network

Our primary focus: the processor (datapath and


control)
implemented using millions of transistors
impossible to understand by looking at each transisto

Lec 1.20

A Typical PC System Architecture

21

Lec 1.21

A Typical PC Motherboard (D975XBX)

22

Lec 1.22

A Typical PC Motherboard (D975XBX)

23

Lec 1.23

How do computers work?


Need to understand abstractions such as:
Applications software
Systems software
Assembly Language
Machine Language
Architectural Issues: i.e., Caches, Virtual Memory, Pipelining
Sequential logic, finite state machines
Combinational logic, arithmetic circuits
Boolean logic, 1s and 0s
Transistors used to build logic gates (CMOS)
Semiconductors/Silicon used to build transistors
Properties of atoms, electrons, and quantum dynamics

So much to learn!
Lec 1.24

Where are We Going??


Input
Multiplier

Input
Multiplicand
32

Multiplicand
Register
32=>34
signEx
<<1
1

32
34

34

32=>34
signEx

34x2 MUX

34

34

Multi x2/x1

Arithmetic

Sub/Add

34-bit ALU

Control
Logic

34

32

32

ShiftAll

LO register
(16x2 bits)

Prev

LoadLO

ClearHI

LoadHI

32

Result[HI]

Booth
Encoder

HI register
(16x2 bits)

LO[1]

Extra
2 bits

"LO
[0]
"

Single/multicycle
Datapaths

LoadMp

ENC[2]
ENC[1]
ENC[0]

LO[1:0]

32

Result[LO]

1000!
CPU!
Moores Law

10!
DRAM
9%/yr.
DRAM (2X/10 yrs)
1!

WB

198
2!
3!
198
4!
198
5!
198
6!
198
7!
198
8!
198
9!
199
0!
199
1!
199
2!
199
3!
199
4!
199
5!
199
6!
199
7!
199
8!
199
9!
200
0!

Exec Mem

Processor-Memory
Performance Gap:
(grows 50% / year)

198
0!
198
1!
198

IFetch Dcd

Performance

EEM 486

100!

Proc
60%/yr.
(2X/1.5yr)

IFetch Dcd

Exec Mem

WB
Time

IFetch Dcd

Exec Mem

IFetch Dcd

WB

Exec Mem

WB

Pipelining
I/O
Memory Systems

Lec 1.25

Summary
All computers consist of five components
Processor: (1) datapath and (2) control
(3) Memory
(4) Input devices and (5) Output devices

Not all memory are created equally


Cache: fast (expensive) memory are placed closer to the processor
Main memory: less expensive memory--we can have more

Need to design against constraints of performance, power, area and


cost

Lec 1.26