Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

31
CS2504, Spring'2007 ©Dimitris Nikolopoulos CS2504: Computer Organization Lecture 1: Welcome to CS2504 Instructor: Dimitris Nikolopoulos (Δημήτρης Νικολόπουλος)

Transcript of Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

Page 1: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

CS2504: Computer Organization

Lecture 1: Welcome to CS2504Instructor: Dimitris Nikolopoulos

(Δημήτρης Νικολόπουλος)

Page 2: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

2

Administrivia

Instructor: Dimitris Nikolopoulos Office hours: MCB 614, Monday 10.00am-11.30am 217 VTKWII Building, Wednesday 3.00pm-4.30pm By appointment: [email protected]

TA: Ganesh Narayanaswami Office hours: TBD [email protected]

Page 3: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

3

Administrivia

Course structure: Lectures, discussion, some problem solving 10% pop quizzes (always have a notebook), 20%

midterm, 25% final, 50% homework (including programming and logic design assignments)

Midterm, final, quizzes in class.

Usual honor rules apply Use common sense You can not share code or written material You can share ideas

Page 4: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

4

Prerequisites

Familiarity with UNIX (CS 2204) Data structures and C++ (CS 2605)

Grades C or higher Fill out forms, honestly

Page 5: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

5

Textbook

Patterson and Hennessy, Computer Organization and Design, 3ed. Additional material on CD

Software (simulators, etc.) Practice problems

Course web sites: http://courses.cs.vt.edu/~cs2504 Make a habit of checking the web site! http://forum.cs.vt.edu Curator to be used for homework assignments

Page 6: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

6

Assignments

Submitted online via curator Instructions for file formats, coding rules,

tools etc. will be posted Primary tools: SPIM, LogicSIM Late submission penalized by 25% per diem We do use plagiarism detection tools Protocol:

Discuss grade with grader (TA or DSN) If not resolved, discuss further with DSN

Page 7: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

7

Assignments

Use common sense: Take frequent backups Keep copies of your assignments until they are

graded and any grading issues are resolved Assignments are atomic

Can't prevent exchange of ideas. Feel free! Don't exchange code Do not edit the output! We run the assignments and

we enforce occasional demos Use reasonable coding principles

Some instructions will be posted. Use comments, reasonable identation, etc.

Page 8: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

8

Reading

Read the book, lectures follow the book Read lecture notes, come to lectures

Check University policies for attendance Lectures convey useful insight Lectures will be posted shortly after class Reward for bugs in lecture notes

Consult frequently with the TA and DSN Nice guys, help a lot!

Textbook CD, companion site Google!

Page 9: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

9

Evaluation

Graded on a curve: 100-point scale Top 10% of class A, If within 95% of top 10% average A- 1 point under A, B+ 2 points under A B 10 points from A, C 20 points etc Curves may foster some competition, but they also

shield you from unexpected failures in tests and assignments

Instructor reserves right to tune grading policy

Page 10: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

10

Course outline

I. Computers, abstractions and technology

II.Instruction set architecture: talking to the computer in its own language

III.Arithmetic for computers

IV.Understanding and measuring performance

V.Processor: Datapath and control

VI.Improving performance: pipelines and ILP

VII.Memory hierarchies

VIII.Storage and I/O

IX.Multiprocessors and clusters

Page 11: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

11

Introduction

Computers, Abstractions and Technology

Page 12: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

12

Computer revolution

Computers in ATMs Computers in cars Laptops, palmtops, cell phones Settop boxes, Sony PS3, Wii Computers and the web Computers and scientific revolution

Human genome Climate change Nuclear reactions

Page 13: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

13

Computers around us

Desktops: one user, at home Servers: many users, remotely Supercomputers: highest performance Embedded computers: computers hidden

inside a box, running one application Class quiz: Which category has the highest

population on the planet?

Page 14: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

14

And the winner is...

Page 15: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

15

Quiz set No. 2

How many of you know what a Pentium processor is?

How many of you know what an ARM processor is?

How many of you think that they are carrying an ARM processor in their jackets?

Page 16: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

16

Microprocessor sales

Page 17: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

17

Below your program

System software Operating system:

hiding complexities, managing resources efficiently

Compiler: translate high-level languages into assembly language instructions

Assembler: translate assembly instructions to bit streams

Page 18: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

18

A computer from 10 feet

Page 19: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

19

A computer from 1 foot

Page 20: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

20

Inside a microprocessor

Page 21: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

21

Some definitions

Integrated circuit A large collection of transistors

CPU Microprocessor

Datapath and control Arithmetic and instruction logic in the CPU

DRAM Volatile storage for data and instructions

Page 22: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

22

Some definitions

Cache Volatile superfast storage for instructions and data

Non-volatile storage Disks, tapes and other media for permanent storage

ISA (instruction set architecture) Abstract interface between hardware and software:

how to talk to a machine correctly ABI (application binary interface)

ISA plus OS interfaces for talking to devices other than the CPU

Page 23: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

23

Abstracting it away

Computers seen as layers of abstractions: Each layers provides an interface to access the

computer and hides implementation details from the layers above it

Example: binary code, instruction set, high-level programming language, component programming

Simplifies computing tasks, such as programming, compiling, running programs

CS has been raising the level of abstraction for almost 50 years

Some indications that this trend may change in the near future (blurred boundaries)

Page 24: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

24

Memory hierarchies

A hierarchy of storage “devices”: E.g. Cache, DRAM, disk, tapes, the library Moving down: Lower cost, increased capacity, slower

access time What makes memory hierarchies work:

The principle of locality Programs go through phases A program needs only a portion of its instructions/data

to execute in the time span of a phase Adjacent data accessed by adjacent instructions Data is often reused

Page 25: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

25

The network

Wasn't even in the CO books until the latest edition...

Now, a computers without a network interface may be considered useless!

Networking drives computer evolution in many ways

Page 26: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

26

Moore's law (processors)

Page 27: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

27

Moore's law (memories)

Page 28: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

28

Moore's law discussion

Many project its end Some reasons for being pessimistic:

Physical limitations with packaging components in silicon

Physical limitations with power. Microprocessor power density is similar to that of nuclear reactors...

Physical limitations with distance. Signals need time to travel inside the processor...

Page 29: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

29

Moore's law discussion

What is the driving force? For many years: technology! Able to package more transistors on a chip Think of PC ads you've seen in the past. All about

clock-rate... Think of PC ads you've seen recently. All about

multicore... So what changed?

Page 30: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

30

Staying on Moore's curve

Innovation in the design of microprocessors has become more important Instruction-level parallelism Prediction, speculation Thread-level parallelism Better organization of memory hierarchies

System software has become more important Optimizing compilers for exotic microprocessors Parallelism in algorithms and system software

Page 31: Lecture 1: Welcome to CS2504 Instructor: Dimitris ...

CS2504, Spring'2007©Dimitris Nikolopoulos

31

Recap An exciting, rapidly changing field of study:

The computer is ubiquitous You may be carrying 2-3 with you as we speak May have a few tens of them at home

Exponential growth driven by: Technology Innovation

Technology that changes our lives in ways not seen before: Google and access to information The human genome The $100 laptop The virtual patient