CS470: Computer
Architecture
Fall 2008 Course Syllabus
|
Instructor: GTA: |
Yashwant Malaiya malaiya
@cs.colostate.edu Alan LaMielle lamielle NO @ SPAM cs.colostate.edu |
Office: 238 USC M, F: 10:00-10:50 AM (tent) Office :E5 Thurs 10:45:Noon cubicle Mon
8-10PM North Lab |
o Prerequisites: a grade of 'C' or better
in CS 370 (System Architecture and Software).
o Text: David A. Patterson &
John L. Hennessy, Computer Organization
& Design: The Hardware/Software Interface, 3rd edition, Morgan Kaufmann
Publishers, Inc. Some material will
be taken from recent publications and other sources.
o Homework/Labs: There will be about 4-5
homework assignments, and 3-4 lab assignments programs. Some assignments will
include use of simulation at the logic level and some will use a machine/assembly
level simulator.
o Tests: There will be 2 Tests and
a comprehensive Final Exam. In addition there will be several quizzes, some of
which may be unannounced.
o Term project in Computer Architecture:
Proposal (1-page): March 4, progress report: April 8, final report May 1.
Grading (tentative)
|
Exam one |
Feb 28, Thurs |
15% |
|
Exam two |
April 15, Tues. |
15% |
|
Final exam |
May 13, Tues (5:50-7:50 P |
25% |
|
Homework & programs |
as assigned |
About 25% |
|
Quizzes |
In-class or on-line |
About 10% |
|
Term Paper |
Due on May 1 |
10% |
o Policies:
o Assignments are due on the
due date at the start of class, or by
the time specified (if
electronic submission is required).
o You may turn assignments in
up to 24 hours late for a 20% penalty. No credit will be given
after that.
o If you will not be able to
take an exam or make an assignment deadline due to an exceptional reason, you
must request the instructor in advance for possible alternative arrangements.
o
Students
must read the CS Department Student Information Sheet available at http://www.cs.colostate.edu/~info/student-info.html
Topic Outline
o
Introduction
o
Review
of logic design basics
o
Gates
and circuits
o
Boolean
algebra and truth tables
o
Combinational
logic and functional blocks
o
Flip-flops,
registers and memories
o
Timing
analysis
o
Finite
state machines
o
Use
of software packages for simulation
o
Computer Performance
o
Measuring
performance; Metrics
o
Benchmarks,
how to interpret performance
o
Trends
in density, performance and cost
o
Assembly language programming
o
Operations;
Operands
o
Instruction
formats and Addressing Modes
o
Decision-making
o
Procedure/function
calls; Stack
o
Arrays;
Pointers
o
RISC
and CISC processors
o
Computer Arithmetic
o
Bits,
bytes, words, characters
o
Numbers
and number bases and Special purpose codes
o
Binary
arithmetic and hardware implementation
o
Floating-point
numbers
o
Implementation
of Multiplication and division hardware
o
Central Processing Unit
o
Structure;
Datapaths
o
Control
unit
o
Instruction
execution
o
FSM
and microprogrammed control
o
Advanced Topics
o
Pipelined
Datapaths
o
Data
Hazards; Forwarding; Stalls
o
Branch
Hazards
o
Higher Level Architecture
o
Memory
hierarchy
o
PC
architecture evolution