CS2504, Spring'2007©Dimitris Nikolopoulos
CS2504: Computer Organization
Lecture 1: Welcome to CS2504Instructor: Dimitris Nikolopoulos
(Δημήτρης Νικολόπουλος)
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]
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
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
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
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
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.
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!
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
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
CS2504, Spring'2007©Dimitris Nikolopoulos
11
Introduction
Computers, Abstractions and Technology
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
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?
CS2504, Spring'2007©Dimitris Nikolopoulos
14
And the winner is...
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?
CS2504, Spring'2007©Dimitris Nikolopoulos
16
Microprocessor sales
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
CS2504, Spring'2007©Dimitris Nikolopoulos
18
A computer from 10 feet
CS2504, Spring'2007©Dimitris Nikolopoulos
19
A computer from 1 foot
CS2504, Spring'2007©Dimitris Nikolopoulos
20
Inside a microprocessor
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
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
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)
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
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
CS2504, Spring'2007©Dimitris Nikolopoulos
26
Moore's law (processors)
CS2504, Spring'2007©Dimitris Nikolopoulos
27
Moore's law (memories)
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...
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?
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
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