Course Format:
Three hours of lecture and two hours of discussion per week and one large
design project.
Instruction set design, Register Transfer. Computer design project. Data-path
design. Controller design. Caches and memory systems. Addressing.
Microprogramming. Computer arithmetic. Survey of real computers and
microprocessors.
Prerequisites:
CS 61C,
EE40 or
EE42, (Previous versions of
this class had CS
150 as a prerequisite)
Expanded Description:
This course will give you an in-depth understanding of the inner-workings of
modern digital computer systems and tradeoffs present at the hardware-software
interface. You will get an understanding of the design process in the context of
a complex hardware system, practical experience with computer-aided design
tools, and running your designs on real hardware. Topics include: Instruction
set design, computer arithmetic, controller and datapath design, cache and
memory systems, input-output systems, networks interrupts and exceptions,
pipelining, performance and cost analysis, computer architecture history, and a
survey of advanced architectures. There will be a computer design project
requiring 100+ hours. We will implement a major subset of the MIPS architecture
to the gate level and run it on FPGAs.
Course Materials:
|
We will be using the beta version of the third edition of Patterson
and Hennessy's Computer Organization and Design book. This will be handed
out in class in multiple volumes.
The "MIPS RISC Architecture" book may be helpful for the project and will
be on reserve in the Engineering Library.
"See MIPS Run" may also be helpful and will be on reserve in the
Engineering Library as well.
"Computer Architecture: A Quantitative Approach" is an advanced
reference, but is not required for the course. |
IMPORTANT! This class will be using the PRS (Personal Response
System) system. PRS is a tool by which the professor can receive instant
feedback, conduct quizzes during lectures, take attendance, among various other
features. For those of you with experience with peer instruction, you will find
that using the transmitter is much more convenient and efficient than raising
hands or holding different colored cards in the air. Each student is required
to buy a PRS transmitter. They should be available at the student center
bookstore for approximately $35-40. These transmitter can be used in other
classes that use the PRS system, and you will be able to sell these back to the
bookstore or other students at the end of the semester.
- Computer Organization and Design: The Hardware/Software Interface, Beta
Version Third Edition ,
by David A. Patterson and John L. Hennessy.
(required--will be handed out in class)
- PRS Transmitter
Available at bookstores--see above
(required)
- MIPS RISC Architecture ,
by Gerry Kane and Joe Heinrich, Prentice Hall.
This provides a complete reference on the MIPS instruction set and has very
nice treatment of pipelined design.
(on reserve)
- See MIPS run ,
by Dominic Sweetman, Morgan Kaufman Publishers.
Provides an in-depth, easy to use guide to the MIPS instruction set, including
special attention to processor control.
(on reserve)
- Computer Architecture: A Quantitative Approach ,
by John L. Hennessy and David A. Patterson.
This is a more advanced text, used in CS252. It is available for occasional
supplementary reading.
Course Operation:
Homework exercises will reinforce the readings and lectures. Laboratory
assignments will help you develop experience with the design tools, and let
you experiment with the design of an actual processor.
No late homeworks will be accepted. Labs will be demonstrated in
Section on Fridays, and reports will be due by 11:59pm on the following
Mondays via the submit program.
For the laboratory assignments, we will be using the workstations in 119
Cory Hall. Additional workstations will be available in 125 Cory Hall. The
workstations in 125 Cory are to be used only after the workstations in 119 are
all full. The workstations in 119 are faster and more powerful. 125 Cory is
also used by EECS150 students, who have priority in that lab.
Final projects will be presented to the course staff at the end of the
term, with a written project due the following week.
Consult the class schedule for due dates of homework exercises, labs, and
projects.
Course Grading:
The CS Division guideline for an upper division CS class is that the
overall class GPA should be between 2.7 and 3.1. Thus, the average grade in
this class will be a B or B+. Please set your expectations accordingly.
There will be two midterm exams covering the material from the readings and
class---and no final. They will be given over a 3-hour period in the evening
to reduce time pressure.
Homeworks: |
10% |
(roughly 2% each) |
Labs: |
28% |
|
Final Project: |
20% |
|
2 Exams: |
32% |
(16% each) |
Group/Section Participation: |
10% |
|
Run glookup for exact breakdown |
Re-grading policy:
From our perspective, re-grading is the worst part about
teaching a course; we are all overworked, and we hate dealing with
grade-grubbing. In order to minimize the psychic pain on our side, we set
forth this re-grading policy. If you are thinking about requesting a re-grade,
please read and follow the guidelines listed below. Failure to do so may result
in a re-grade that actually decreases your score or that seriously irritates your TA.
1.
Unless the error is in the totaling of points, do not ask
for a re-grade before the solutions and grading standards are posted! (And,
since your TAs are already overworked and re-grades are very low on our
priorities list, it may take a while for solutions and grading standards to be
posted – just be patient.)
2.
We will only re-grade entire assignments (not just
single problems or subproblems), so if you are thinking about asking for a
re-grade, be sure that your score will actually go up. (My experience is
that most re-grades tend to lose more points than they gain – you've been
warned.)
3.
Be advised that we tend to grade very leniently the first time
around – each assignment have some fluff built into it (so that, on
average, you will tend to get more points than the standard would otherwise
indicate). However, if you ask for a re-grade, we will be re-grading the
entire exam strictly according to the grading standard. (Meaning: much
more harshly – you've been warned.)
4.
If the standards are out and you're sure that you will gain
points, you can submit the assignment to your TA for a re-grade. You must submit your
regrade request in writing to your TA. Your re-grade reqesut should very
specifically mention exactly why you think you should get points back. Your TA will
not grade it on the spot; rather, he will take it to the weekly staff meeting
where we will all re-grade it together. The entire process may take several
weeks (depending on how busy we all are), so please be patient.
5.
At some point in time, we may present a re-grade deadline. Any re-grade
requests received after the deadline will be rejected no matter what! We
are very busy at the end of the semester, so we can't spend all our time re-grading
stuff.
(We're not trying to be jerks with this policy; rather, we
are just trying to ensure that our time is spent doing productive work rather
than nitpicking with students over ½ of 1% of their grade.)
|