CSE 378 - Spring 2001
Machine Organization and Assembly Language Programming
Class Meetings
Main Lectures: |
EE1 125 |
MWF 11:30 - 12:20 |
Section AA: |
EE1 025 |
Th 12:30 - 1:20 |
Section AB: |
EE1 025 |
Th 1:30 - 2:20 |
Instructor
Susan Eggers, 315 Sieg Hall, 543-2118, eggers@cs
Office Hours: |
Tuesdays 9:30 - 10:20 |
|
Fridays 4:30 - 5:20 |
Teaching Assistants
Mark Seigle (seigle@cs)
Jon Burns (jkburns@cs)
Course Goals
The purpose of this course is to give you a basic understanding of computer
architecture and organization. We will cover instruction
sets, addressing modes, instruction encoding, subroutine handling, machine
organization, pipelining, caches and cache hierarchies, I/O and, if time allows,
some short topics at the end.
We will use the MIPS R2000 as our primary example,
learning both a subset of the MIPS assembly language and its R2000
microarchitectural components.
The lectures on these topics are primarily taken
from the text, but I often present the material with a slant that is different
from the book. The lectures will emphasize the concepts; the discussion
sections will concentrate on specific examples of the concepts and explain
the homework assignments.
To get the most out of the lectures, you should read the appropriate
chapters before their topics are discussed in class. This is
important
-- you will need to have made one pass through the basics, i.e., the reading
in the book, to get the most out of the lecture.
Text
-
D. Patterson and J. Hennessy:
-
Computer Organization & Design: The Hardware/Software Interface
(2nd Edition, 1998)
Homework
There will be homework assignments every week (well, almost every week). They
will be either assembly language programming assignments (which you will
simulate on a MIPS simulator, called SPIM), processor implementation assignments
(which you will simulate on a simulator called Sloop and problems
from the book. The purpose of all the assignments is to give you a chance to
apply the concepts learned in lecture;
in addition, the programming assignments will provide practice in assembly
language programming. You can discuss the assignments with each other,
but you should do the actual work by yourselves.
Please hand in your assignments on the due date in class. Late assignments
will not be accepted.
Grading
Grading will be something like homework 40%; midterm 25%; final exam 35%,
but keep in mind that these percentages are approximate. The final exam will
look like a big midterm and will be heavily biased toward the material we
discuss in the second half of the course.
Class Participation
Class participation is strongly encouraged. Don't be afraid to ask questions:
dumb questions do not exist. If I ask you a question and you don't know
the answer, just say so. I will certainly answer some
of your questions also by, "I don't know!''
E-mail and WWW
We will have a class mailing list and we will communicate often through
e-mail. Mark, Jon and I will be mailing out assignments
and clarifications of
the assignments, if needed. Everyone should subscribe
to the CSE 378 mailing list by sending a message reading "subscribe
cse378" to majordomo@cs.
Feel free to send Mark, Jon or me questions. We will
forward questions
and answers to the whole class if appropriate. (But if you have questions
that need a detailed or long explanation, it would be much easier if you
came to our office hours.)
We will be using the World Wide Web as well. All the lecture slides,
the assignments, as well as other information you will
need, will be in our course Web site. Check the CSE378
home page.