CS2504, Spring`2007 ©Dimitris Nikolopoulos
Download
Report
Transcript CS2504, Spring`2007 ©Dimitris Nikolopoulos
CS2504, Spring'2007
©Dimitris Nikolopoulos
CS2504: Computer Organization
Lecture 1: Welcome to CS2504
Instructor: Dimitris Nikolopoulos
(Δημήτρης Νικολόπουλος)
CS2504, Spring'2007
©Dimitris Nikolopoulos
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]
2
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
3
CS2504, Spring'2007
©Dimitris Nikolopoulos
Prerequisites
Familiarity with UNIX (CS 2204)
Data structures and C++ (CS 2605)
Grades C or higher
Fill out forms, honestly
4
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
5
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
6
CS2504, Spring'2007
©Dimitris Nikolopoulos
Assignments
Use common sense:
Assignments are atomic
Take frequent backups
Keep copies of your assignments until they are
graded and any grading issues are resolved
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.
7
CS2504, Spring'2007
©Dimitris Nikolopoulos
Reading
Read the book, lectures follow the book
Read lecture notes, come to lectures
Consult frequently with the TA and DSN
Check University policies for attendance
Lectures convey useful insight
Lectures will be posted shortly after class
Reward for bugs in lecture notes
Nice guys, help a lot!
Textbook CD, companion site
Google!
8
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
9
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
10
CS2504, Spring'2007
©Dimitris Nikolopoulos
Introduction
Computers, Abstractions and Technology
11
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
12
CS2504, Spring'2007
©Dimitris Nikolopoulos
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?
13
CS2504, Spring'2007
©Dimitris Nikolopoulos
And the winner is...
14
CS2504, Spring'2007
©Dimitris Nikolopoulos
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?
15
CS2504, Spring'2007
©Dimitris Nikolopoulos
Microprocessor sales
16
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
17
CS2504, Spring'2007
©Dimitris Nikolopoulos
A computer from 10 feet
18
CS2504, Spring'2007
©Dimitris Nikolopoulos
A computer from 1 foot
19
CS2504, Spring'2007
©Dimitris Nikolopoulos
Inside a microprocessor
20
CS2504, Spring'2007
©Dimitris Nikolopoulos
Some definitions
Integrated circuit
CPU
Microprocessor
Datapath and control
A large collection of transistors
Arithmetic and instruction logic in the CPU
DRAM
Volatile storage for data and instructions
21
CS2504, Spring'2007
©Dimitris Nikolopoulos
Some definitions
Cache
Non-volatile storage
Disks, tapes and other media for permanent
storage
ISA (instruction set architecture)
Volatile superfast storage for instructions and
data
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
22
CS2504, Spring'2007
©Dimitris Nikolopoulos
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)
23
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
24
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
25
CS2504, Spring'2007
©Dimitris Nikolopoulos
Moore's law (processors)
26
CS2504, Spring'2007
©Dimitris Nikolopoulos
Moore's law (memories)
27
CS2504, Spring'2007
©Dimitris Nikolopoulos
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...
28
CS2504, Spring'2007
©Dimitris Nikolopoulos
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?
29
CS2504, Spring'2007
©Dimitris Nikolopoulos
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
30
CS2504, Spring'2007
©Dimitris Nikolopoulos
Recap
An exciting, rapidly changing field of study:
The computer is ubiquitous
Exponential growth driven by:
You may be carrying 2-3 with you as we speak
May have a few tens of them at home
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
31