CS470: Computer Architecture
Spring 2005 Course Syllabus
Engr 120 TR 2:10-3:25
|
Instructor:
GTA: |
Yashwant
Malaiya malaiya@cs.colostate.edu Xi Hua xhua@cs.colostate.edu |
Office: 238 USC M: W: 10:30-11:30 AM Office hours: T, Th 1:00-2:00 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 Course web page: http://www.cs.colostate.edu/~cs470
o Homework/Labs: There will be several homework assignments, including some 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 1, progress report: April 31, final report April 28.
|
Exam one |
Feb 24 |
15% |
|
Exam two |
April 7 |
15% |
|
Final exam |
May 12 (3:40-5:40) |
25% |
|
Homework & programs |
as assigned |
25-30% |
|
Quizzes |
In-class or on-line |
5-10% |
|
Term Paper |
Due on April 28 |
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
o 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 Pipelining for enhanced performance
o Pipelined Datapaths
o Data Hazards; Forwarding; Stalls
o Branch Hazards
o Exceptions
o Computer memory and cache
o Input/output