CS470: Computer
Architecture
Spring 2016 Course Syllabus (To be updated for Spring 2017)
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: Office: GTA: |
Yashwant Malaiya Malaiya @ cs.colostate.edu 356 CSB Hours: T, Th 2-3 PM PM Mustafa Al-Lail Hours : T, 10AM-11AM, CSB 120, and W, 11AM-12PM CSB 235 or by email at mustafa @
cs.colostate.edu |
|
o
Prerequisites: a grade of 'C' or better in CS 370 (System Architecture
and Software).
o
On-Campus and Distance section: Both will use the same Canvas course,
with same quizzes and assignments. The tests will be arranged separately, they
will be in the class for the on-campus section and take home for the distance
students. The two sections will be graded separately but using the same overall
standards. The on-campus students are required to attend the lectures.
o
Text: David A. Patterson & John L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, 5th ed., Morgan Kaufmann Publishers,
Inc. Some material will be taken from
recent publications and other sources.
o
Homework/Labs: There will be about some homework and programming
assignments. 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 one midterm and a comprehensive Final
Exam.
o
Quizzes: In addition there will be about quizzes, mostly on-line
on Canvas, but some may in the class, some of which may be unannounced.
o Term project in Computer Architecture: Proposal (1-page): 3/3/16, progress report: 3/31/16, final report 5/4/16. A short presentation powerpoint presentation will be required (4/29/16-5/2/16). The distance students will not have to make presentations in the class, but will just use the discussion board.
Grading
(tentative)
Midterm |
March 11 |
20% |
Final exam |
May 6 |
25% |
Homework
& programs |
as assigned |
about 20% |
Quizzes |
In-class or
on-line |
about-15% |
Term Project |
Due on 5/4/16 |
15% |
Participation |
|
5% |
o
Policies:
o
Assignments are due on the due date at the start of class, or by the time specified if
electronic submission by CANVAS 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 Parallelism
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 Multiple
processor systems o SIMD
Multimedia Extensions* o Multicore* |
|