55:035 — Spring 2007 Computer Architecture and Organization

advertisement

55:035 — Spring 2007

Computer Architecture and Organization

Instructor: Andreas Wahle

1 main () {

printf ("Hello world\n");

}

57:017

?

55:035

55:032

3

Syllabus (tentative)

January Weeks 1–2: Basics

February 3–5 Instructions and Addressing

6–7 Arithmetic

March 8

///

Midterm (3/5/2007, 8:30–9:20am)

Spring break

9–10 Memory Design

April 11–13 Central Processing Unit

14–15 Devices and Optimization

May 16 Final (5/11/2007, 9:45–11:45am)

5

Administrative Issues

Scope, syllabus

Homeworks, exams, grading

Office hours and contacts

Introduction

Definitions, history of computing

2

Scope of the course

Overview — what is a computer?

Representation and handling of data

Processor examples

(68000, ARM, IA-32; “SISC”)

How to build a processor?

(arithmetic, CPU design)

Optimization

(memory management, parallelism)

4

Homeworks

Assigned weekly Wednesdays — due on

Friday of the following week before class

First assignment posted this Friday

On paper for theoretical assignments use grade for programming assignments

CSS account needed by mid February!

Unless explicitly stated, problems are to be worked on individually

6

Grading

15% Homework Assignments

20% Verilog Projects

25% Midterm Exam

35% Final Exam (cumulative)

5% “bad luck bonus”

100%

Final “letter” course grade to be determined by instructor!

7

Contact — Teaching Assistant

Keith Pump:

Office: 1313 Seamans Center

E-mail: kpump@engineering.uiowa.edu

Hours: 2:00pm–3:00pm T, W, Th

Contact — Instructor

Andreas Wahle:

Office: 3320 Seamans Center

E-mail: awahle@engineering.uiowa.edu

Phone: (319) 384-0773

Hours: 12:00–1:00pm M, W;

3:00–4:00pm Th

8

What is a Computer?

9

Definition

Com

• put

• er:

. . . a programmable electronic device designed for performing prescribed operations on data at high speed, esp. one housed with or linked to other devices for inputting, storing, retrieving,

and displaying the data.

c 1997 Random House Webster’s College Dictionary

To be added: general-purpose!

11

10

!

The Pre-Electronic Age

Abacus First calculator,

5000 years ago

1820 Mechanical calculator

Industrialization (looms)

1941 First freely programmable computers based on electro-mechanical relays

North America: Mark-I

Europe: Z3, Colossus

12

?

Mark I (Harvard, IBM) Z3

From http://en.wikipedia.org/wiki/Harvard Mark I

13

First Generation: 1945–1955/56

General scheme for computer architecture by John von Neumann

Vacuum-tube technology

Magnetic core memory, tape storage

Mnemonic code (assembler language)

ENIAC (1946), UNIVAC I (1951)

15

UNIVAC 1107

From http://irb.cs.tu-berlin.de/

∼ zuse/Konrad Zuse

14

Second Generation: 1955/56–1964/65

Invention of the transistor (AT&T, 1948)

New languages (FORTRAN, COBOL)

Punch cards or punch tapes

Magnetic storage devices established

IBM 1401, UNIVAC 1107, . . .

⇒ birth of computer industry

16

UNIVAC 1107

From http://www.fourmilab.ch/documents/univac/

17

From http://www.fourmilab.ch/documents/univac/

18

Third Generation: 1964/65–1971/75

Integrated circuits (TI, 1958)

⇒ miniaturization

Direct access (terminals, dial-up lines)

Complex operating systems

Multi-user, multi-tasking

IBM 360, PDP series, . . .

19

Recent Developments

Multi-core (2, 4, 8) processors

Virtual machines (revisited)

Liquid chrystal displays

Exponential growth . . .

⇒ what’s next?

21

Fourth Generation: 1971/75–. . .

VLSI / ULSI

Computer on a chip (Intel 4004, 1971)

Cathode-ray-tube terminals

Raise of the PC (IBM, 1981)

Graphical user interfaces

(Xerox / Apple, 1984)

20

Overview (next time)

1. Functional units of a computer

2. Representation of data (numbers, etc.)

3. Instruction sets

4. Memory usage

5. . . .

22

Download