CS470: Computer
Architecture
Spring 2012 Course Syllabus
Computers today range from high performance machines to smartphones and embedded processors in appliances. They crunch numbers, drive high definition displays as well as run everyday applications. The course covers: How to build a functional unit using lower level components in an optimal way (cost/power/performance). Combinational and sequential blocks using gates and storage elements. Processor specification using ISA Implementing high-level language constructs using machine/assembly language. Exploiting potential parallelism to achieve high performance. Memory hierarchy to achieve a large address space with a low cost with fast access. How is technology advancing? What to expect in near future?
|
Instructor: TA: |
Yashwant Malaiya malaiya @ cs.colostate.edu Minwoo
"Jake" Lee lemin @ cs.colostate.edu |
356 CSB, W: 11-12,
Th 3:30-4:30 Lab Thursday 5-7 |
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, 4rd Revised ed., Morgan Kaufmann Publishers, Inc. Some material will be taken from
recent publications and other sources.
o
Homework/Labs: There will be
about 6 homework assignments, and about 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 about
quizzes, mostly on-line, but some may in the class, some of which may be
unannounced.
o
Term project in Computer Architecture: Proposal (1-page): March 7, progress report: April 4,
final report April 23, short presentation- as scheduled.
Grading
(tentative)
|
Exam one |
Feb 21 |
15% |
|
Exam two |
April 3 |
15% |
|
Final exam |
25% |
|
|
Homework
& programs |
as assigned |
about 25% |
|
Quizzes |
In-class or
on-line |
about-10% |
|
Term Paper |
Due on April
23 |
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 that can be documented, you must request the instructor in advance
for possible alternative arrangements.
o
Students must
read the CS Department Student
Information Sheet.
Topic Outline
o
Review of logic
design basics
o
Gates, boolean algebra and truth tables
o
Combinational
logic and functional blocks (MUX, decoders, Adders, PLAs)
o
Flip-flops,
registers and memories
o
Timing analysis
o
Finite state
machines
o
Use of software
packages for simulation
o
Computer
Performance and Trends
o
Measuring
performance; Metrics
o
Benchmarks
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
Numbers and 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
Paralleism for enhanced performance
o
Pipelined Datapaths
o
Data Hazards;
Forwarding; Stalls
o
Branch Hazards
o
Exceptions*
o
Multiple Issue
o
Memory Hierarchy
o
Cache
Implementations
o
Cache
Performance
o
Memory Hierarchy
o
Storage and IO
o
Buses and hubs
o
RAID
o
Mutiple processor systems
o
SIMD Multimedia
Extensions*
o
Multicore*