Transcript overview

55:035
Computer Architecture and
Organization
Lecture 1
Introduction

Introduction


Description
Course Outline
Administrative
 Brief History of Computers
 Overview of Computer Organization
 Overview of Computer Performance
 Case Study: Intel Processors

55:035 Computer Architecture and Organization
2
Introduction

Description from ISIS

Basic concepts; computer evolution, register transfer
level design, simulation techniques, instruction sets
(CISC and RISC), assembly language programming,
ALU design, arithmetic algorithms and realization of
arithmetic functions, hardwired and microprogrammed control, memory hierarchies, virtual
memory, cache memory, interrupts and DMA,
input/output; introduction to high-performance
techniques, pipelining, multiprocessing; introduction
to hardware description languages (Verilog, VHDL);
students design and simulate a simple processor.
55:035 Computer Architecture and Organization
3
Introduction

Course Outline

Introduction [chap 1] (2)



Brief History
Overview of Computer Organization
Architecture: Instruction Set Design [chap 2] (6)





Information representation & arithmetic operations
Instruction Formats, Addressing Modes
Assembly language Programming
Basic input/output operations
Subroutine linkage
55:035 Computer Architecture and Organization
4
Introduction

Course Outline, cont’d

Case Studies of Instruction Set Architecture [chap. 3]
(4)




Motorola M68000
ARM
Intel Pentium
Computer Arithmetic and ALU Design [chap. 6] (6)




Addition (Subtraction)
Multiplication (Division)
Shifting and Rotating
Floating Point Arithmetic
55:035 Computer Architecture and Organization
5
Introduction

Course Outline, cont’d


Verilog / VHDL Tutorials [Supplemental material] (6)
Memory [chap 5] (6)




Semiconductor Memory Technology
Cache Memory
Virtual Memory
Memory Management and Case Studies
55:035 Computer Architecture and Organization
6
Introduction

Course Outline, cont’d

Processor Design [chap 7] (6)





Input/Output [chap 4] (4)




Datapath design
Control Unit Design
Microprogramming
Exception Handling
Device Interfacing and Addressing
Interrupts
Bus Design
Additional topics [selected from chapters 8-12]
55:035 Computer Architecture and Organization
7
Administrative

Lectures



Instructor




Time: M/W/F 8:30 - 9:20 AM
Room: 4030 SC
James Maxted: [email protected]
Design engineer for Rockwell Collins (35 years)
Office: 1126 SC, hours M/W/F 9:30 - 10:20 AM
TA


Dakai Jin: [email protected]
Office: 1313 SC, hours
55:035 Computer Architecture and Organization
8
Administrative (cont’d)

Grading




Approximately 1 homework per week
1 multi-part project
2 exams (1 mid-term, final)
Weighting




Homework 14%
Project 36%
Midterm 20%
Final 30%
55:035 Computer Architecture and Organization
9
Administrative (cont’d)

Course webpage



Place to find syllabus, lecture notes, homework, etc
http://www.engineering.uiowa.edu/~carch/
Project



Design and simulate a simple processor
Mentor Graphics tools
VerilogHDL
55:035 Computer Architecture and Organization
10
Administrative (cont’d)

Collaboration



Discussion of the material is encouraged, but…
All students are expected to do their own work
Disabilities

Please contact me (office hours or email)
55:035 Computer Architecture and Organization
11
Brief History of Computers

Computing Aids

Abacus and Counters
 Abacus: Greek for board or slab
 Probably originated in Middle East
 Invented 2000+ years ago

Napier’s Rods (Bones)
 Assisted multiplication, square roots, and
cube roots
 Invented around 1600


Chalk Board
Interest Table
 Shows interest for varying principles and
periods of time
55:035 Computer Architecture and Organization
12
Brief History of Computers

Machines that Calculate or Control

Adding machines
 Blaise Pascal’s “Pascaline”
 1642

Automatic loom
 Punch cards used to control a
manufacturing process
 1800

Cash register
 “Incorruptible cashier”
 1900
55:035 Computer Architecture and Organization
13
Brief History of Computers

Electromechanical Devices

Hollerith 1890 Census Tabulator
 Punch, tabulator and sorting box

International Business Machines (IBM)
 Accounting Machines
 Changed circuits by moving cables in
plugboards
 Early 1900s

Ciphering and deciphering
 Encode and decode secret messages
during World War II
 Enigma and Bombe
55:035 Computer Architecture and Organization
14
Brief History of Computers

Electronic Computers

Vacuum tube
 ENIAC: 17,000 tubes, 30 tons, 1800 ft2
 1945

Transistor
 IBM System/360 Family
 Compatible processors, Standardized
peripherals and connections
 1962

Integrated circuit
 IBM PC
 Intel 8088
 1981
55:035 Computer Architecture and Organization
15
Brief History of Computers
The First
Programmer


Ada Augusta or Charles Babbage
Robert Campbell, Richard Bloch, Grace
Murray Hopper, or Howard Aiken
55:035 Computer Architecture and Organization
16
John von Neumann - IAS
55:035 Computer Architecture and Organization
17
von Neumann Architecture
Sequential operation
 Automatic (without human intervention)
 Five elements:






Input
Output
Memory
Arithmetic Unit
Control
55:035 Computer Architecture and Organization
18
Revised von Neumann Architecture
55:035 Computer Architecture and Organization
19
The Stored Program Concept
Programming the Harvard Mark I was by
external paper tape
 The ENIAC was “programmed” by rewiring it
completely!

55:035 Computer Architecture and Organization
20
The First Business Computer

LEO — Lyons Electronic Office — 1950


UNIVAC — Universal Automatic Computer —
1951 for the Census Bureau


Modeled after the EDSAC
Perhaps the first mass produced machine
ERMA — Electronic Recording Means of
Accounting —1957 for Bank of America
55:035 Computer Architecture and Organization
21
The First Bug
55:035 Computer Architecture and Organization
22
Basic functional units of a computer
Arithmetic
and
logic
Input
Memory
Output
Control
Processor
I/O
55:035 Computer Architecture and Organization
23
Connections between the processor and the memory
Memory
MAR
MDR
Control
PC
R0
R1
Processor
IR
ALU
R
n- 1
n general purpose
registers
55:035 Computer Architecture and Organization
24
Single-bus structure
Input
Output
Memory
55:035 Computer Architecture and Organization
Processor
25
Sharing the processor
Printer
Disk
OS
routines
Program
t
0
t1
t2
t3
55:035 Computer Architecture and Organization
t4
Time
t5
26
The processor cache
Main
memory
Cache
memory
Processor
Bus
55:035 Computer Architecture and Organization
27
Basic Performance Equation
N S
T
R
N is the actual number of instruction executions
S is the average number of basic steps needed to
execute one machine instruction
R is the clock rate
T is the processor time required to execute a program
that has been prepared in some high-level language
Instruction Sets: CISC and RISC
RISC – Reduced Instruction Set Computers
(smaller S likely leads to larger N)
 CISC – Complex Instruction Set Computers
(larger S likely leads to smaller N)

N S
T
R
Performance Measurement
System Performance Evaluation Corporation
SPEC rating for a benchmark =
Running time on the ethalon reference computer
Running time on the computer under test
 n

SPEC raiting    SPECi 
 i 1

1
n
n is the number of the benchmarks programs in the
suite
Intel Processors: 4004
 First microprocessor (1971)
 For Busicom calculator
 Characteristics
 10 mm process
 2300 transistors
 400 – 800 kHz
 4-bit word size
 16-pin DIP package
 Masks hand cut from Rubylith
 Drawn with color pencils
 1 metal, 1 poly (jumpers)
 Diagonal lines (!)
55:035 Computer Architecture and Organization
31
Intel Processors: 8008
 8-bit follow-on (1972)
 Dumb terminals
 Characteristics
 10 mm process
 3500 transistors
 500 – 800 kHz
 8-bit word size
 18-pin DIP package
 Note 8-bit datapaths
 Individual transistors visible
55:035 Computer Architecture and Organization
32
Intel Processors: 8080
 16-bit address bus (1974)
 Used in Altair computer
 (early hobbyist PC)
 Characteristics
 6 mm process
 4500 transistors
 2 MHz
 8-bit word size
 40-pin DIP package
55:035 Computer Architecture and Organization
33
Intel Processors: 8086 / 8088
 16-bit processor (1978-9)
 IBM PC and PC XT
 Revolutionary products
 Introduced x86 ISA
 Characteristics
 3 mm process
 29k transistors
 5-10 MHz
 16-bit word size
 40-pin DIP package
 Microcode ROM
55:035 Computer Architecture and Organization
34
Intel Processors: 80286
 Virtual memory (1982)
 IBM PC AT
 Characteristics
 1.5 mm process
 134k transistors
 6-12 MHz
 16-bit word size
 68-pin PGA
 Regular datapaths and
ROMs
Bitslices clearly visible
55:035 Computer Architecture and Organization
35
Intel Processors: 80386
 32-bit processor (1985)
 Modern x86 ISA
 Characteristics
 1.5-1 mm process
 275k transistors
 16-33 MHz
 32-bit word size
 100-pin PGA
 32-bit datapath,
microcode ROM,
synthesized control
55:035 Computer Architecture and Organization
36
Intel Processors: 80486
 Pipelining (1989)
 Floating point unit
 8 KB cache
 Characteristics
 1-0.6 mm process
 1.2M transistors
 25-100 MHz
 32-bit word size
 168-pin PGA
 Cache, Integer datapath,
FPU, microcode,
synthesized control
55:035 Computer Architecture and Organization
37
Intel Processors: Pentium



Superscalar (1993)
 2 instructions per cycle
 Separate 8KB I$ & D$
Characteristics
 0.8-0.35 mm process
 3.2M transistors
 60-300 MHz
 32-bit word size
 296-pin PGA
Caches, datapath,
FPU, control
55:035 Computer Architecture and Organization
38
Intel Processors: Pentium Pro/II/III


Dynamic execution (1995-9)
 3 micro-ops / cycle
 Out of order execution
 16-32 KB I$ & D$
 Multimedia instructions
 PIII adds 256+ KB L2$
Characteristics
 0.6-0.18 mm process
 5.5M-28M transistors
 166-1000 MHz
 32-bit word size
 MCM / SECC
55:035 Computer Architecture and Organization
39
Intel Processors: Pentium 4



Deep pipeline (2001)
 Very fast clock
 256-1024 KB L2$
Characteristics
 180 – 90 nm process
 42-125M transistors
 1.4-3.4 GHz
 32-bit word size
 478-pin PGA
Units start to become
invisible on this scale
55:035 Computer Architecture and Organization
40
Intel Processors: Core 2 Duo


2006
Characteristics









65nm and 45nm
291 million transistors
2.5 GHz+ operation
32-bit word size
LGA775
Dual core
14 stage pipeline
Each gets L1 instruction
and data caches
Shared L2 cache
Source: Intel
55:035 Computer Architecture and Organization
41
Transistors in Intel Processors
55:035 Computer Architecture and Organization
42
Clock Frequencies of Intel uP
55:035 Computer Architecture and Organization
43
Intel Summary

104 increase in transistor count, clock frequency
over 30 years!
55:035 Computer Architecture and Organization
44
Clock Increases Have Slowed
55:035 Computer Architecture and Organization
45
Levels of Abstraction
DEVICE
RTL
+
A <= B + C;
GATE
TRANSISTOR
S
n+
PHYSICAL
G
D
n+
Adapted from “Digital Integrated Circuits” copyright 2003 Prentice Hall/Pearson
55:035 Computer Architecture and Organization
46
Levels of Abstraction (cont’d)
55:035 Computer Architecture and Organization
47