
CS/ECE 552: INTRODUCTION TO
COMPUTER
ARCHITECTURE
Section 1 for Spring 2005
Instructor: Guri
Sohi
TA: Dave Mulvihill
This is the
official web
page for CS/ECE 552, section 1. Look here for information
about
the course during the semester.
If you find any errors on this page or any broken
links,
please send email to Dave.
Table of Contents
What's
New
- (4/29/2005) Homework 5 solution, final exam syllabus, sample final exam posted.
- (4/27/2005) Homework 4 solution posted.
- (4/13/2005) Homework 5 posted.
- (3/31/2005) Project assembler and test files posted.
- (3/30/2005) ECC handout, midterm solution and homework 4 posted.
- (3/10/2005) Schedule update - no class on Monday, March 14.
- (3/4/2005) Schedule update - no class today.
- (3/3/2005) Homework 3 solution posted.
- (2/22/2005) Midterm syllabus posted.
- (2/22/2005) Homework 2 solution posted.
- (2/16/2005) Homework 3 posted.
- (2/16/2005) Verilog notes posted.
- (2/2/2005) Homework 2 posted.
- (2/2/2005) Verilog links posted.
- (1/19/2005) Homework 1 posted.
- (1/12/2005) Class web page posted.
Course
Description
Computer architecture is the science and art of selecting and
interconnecting
hardware components to create a computer that meets functional,
performance,
and cost goals. In this course the students will learn how to
completely
design a correct single-processor computer, including processor
datapath,
processor control, memory systems, and I/O. We will learn that no magic
is required to make a computer work.
CS/ECE 552 serves students in two ways. First, for those who will
continue
in computer architecture, it lays the foundation of detailed
implementation
experience necessary to make the quantitative tradeoffs found in CS/ECE
752 and 757 meaningful. Second, for those students not continuing in
computer
architecture, it unifies concepts introduced in CS/ECE 352 and 354 and
solidifies an intuition about why hardware is as it is.
CS/ECE 552 assumes that you are familiar with the material in the
prerequisites
CS/ECE 352 and 354, especially:
-
Knowledge of a high-level language
-
Understanding of computer data structures
-
Knowledge of stack mechanisms and procedure calls
-
Understanding of assembly language programming: opcodes, operands, etc.
-
Boolean logic design techniques
-
Realization of boolean functions using AND, OR, NOT, XOR, NAND, NOR
gates
and appropriate minimization techniques
-
Logic building blocks: flip-flops, multiplexers, decoders, shift
registers
Office: 6375 Comp Sci & Stat
Phone: 262-7985
Email: sohi@cs.wisc.edu
Office hours: MW 2:30pm - 3:30pm
Office: 1301 Comp Sci & Stat
Phone: 262-6600
Email: mulvihil@cs.wisc.edu
Office hours: Tuesday/Thursday 2:30-4pm, Friday 10:30-11:30am and by appointment
Required
Course Material
John L. Hennessy and David A. Patterson,
Computer Organization
and Design: The Hardware and Software Interface
Morgan Kaufmann Publishers, Second Edition, 1997.
Note:
The web page about the course textbook has a lot of interesting
information.
Be sure to look through it early in the semester.
Handouts
Course
Reference Material
-
Peter J. Ashenden, The Designer's Guide to VHDL - On reserve at
Wendt
library
-
J. P. Hayes, Computer Architecture and Organization
-
Rafiquzzaman and Chandra, Modern Computer Architecture
-
J. Wakerly, Digital Design Principles and Practices
-
V. C. Hamacher, Z. G. Vranesic and S. G. Zaky, Computer Organization
-
Search the UW Libraries
Lecture
Time: 1:00 pm - 2:15 pm Monday, Wednesday and Friday
Place: 103 Psychology
This class is over-scheduled. A three credit course needs only two
lectures
per week. I will use the extra scheduling to "front load" the course
and
allow more time for the project. For this reason, we can cancel
approximately
15 lectures. Please check the course schedule
for
detailed information.
Prof. Mark Hill's Lecture Notes: (These serve as a useful reference;
Univ. of Wisconsin-Madison only)
Homework
Homework solutions will be available on this web page after the due
date
of the respective homework. Please refer to the Homework
grading policy before starting each homework assignment.
There will be 5 homework assignments, approximately one assignment
every
two weeks. (When an assignment is handed out, we will indicate whether
you should do it individually, or in a group. FOR
GROUP ASSIGNMENTS, EACH MEMBER OF THE GROUP IS EXPECTED TO PARTICIPATE
IN THE SOLUTION OF THE ENTIRE ASSIGNMENT.) Assignments will
not be weighted equally. The approximate weights of each assignment
will
be specified when the assignment is handed out. Assignments will be due
in class on the due date. NO LATE ASSIGNMENTS
WILL BE ACCEPTED, except under extreme non-academic
circumstances
discussed with the instructor at least one week before the assignment
is
due.
The first three assignments (and the project)
will require the use of the Mentor Graphics design automation tools.
Students
will have accounts to run the Mentor tools in CS, on linux
workstations. These workstations are in rooms 1350, 1358, 1366, and
l368
in CS. We do not support the running of Mentor on any other machines.
In case
you want to use X-terminal to work remotely, see the document runningMentorRemotely
for information about how to do this.
Students new to Unix should attend to CSL orientation session during
the first two weeks of class (see posters in CS building) and consult
the
CS
1000 handout.
For information about homework assignments, see the course
schedule.
Project
WISC-SP05 Assembler
Test Programs
The Assembly code, memory dump for system with no cache, and cache dump
for system with direct-mapped cache.
The files demo.force and demo_cache.force
are the force files from a former project demo.
Look at them and make your own force file for the project demo following
these examples. Note: in these file the I$205 is the handle particular to this block.
Don't just copy them, they won't work as is for your design. It is a good idea to trace the same sort of signals included in these force files. You may add other signals if you find them necessary.
Examinations
There will be two exams. The first exam is tentatively set for
Wednesday, March 9th, from 7:15-9:15 PM in 1221 CS. The second exam is scheduled for
Tuesday, May 10th, from 7:45-9:45 AM.
Midterm solution
Midterm syllabus: pdf ps
Previous midterms:
Spring 1999
Spring 2003 Solution
Fall 2003 Solution
Final exam syllabus: pdf ps
Previous final exam:
Spring '92, Solution
Incompletes
and Academic Misconduct
University policy on incompletes and academic misconduct will be
strictly
followed.
Grading
-
20% Homework
-
20% Project
-
30% Exam 1
-
30% Exam 2
Miscellanea
Verilog/VHDL
Links
Note:
If you know of any links that should be added, please email them to the
TA
Force
File Links