All reading assignments, except the Background Material listed for the first assignment, are in the text for the course, Computer Organization and Design, Third Edition by D. Patterson and J. Hennessy (Morgan Kaufmann, 2005; ISBN: 1-55860-604-1). The third edition is quite different from earlier ones, so be sure to get the right one.
The first printing of the book has quite a few typographical and other errors (“errata”). Some of these might have been corrected in successive printings. The companion web site for the book has an “official” errata list, but I suggest you also use my list of errata for the book. Go through the errata lists and write in all the needed changes in your copy of the book before you start studying.
| Topic | Reading Assignments |
|---|---|
| Review of Assembly Language and Combinational Logic |
CS-343 Background Material
(PDF)
Textbook:
|
| Sequential Logic | Appendix B, Sections B.7 through B.13 |
| ALU Design and Implementation | Chapter 3, Sections 3.1 through 3.6 |
| First Exam | See “A Note About Exams” below. |
| Processor Performance | Chapter 4. |
| Datapath and Control | Chapter 5. |
| Pipelining | Chapter 6, Sections 6.1 through 6.6. |
| Second Exam | See “A Note About Exams” below. |
| Memory Hierarchy | Chapter 7, Sections 7.1 through 7.5. |
| Storage and I/O | Chapter 8, Sections 8.1, 8.2, and 8.4 through 8.6. |
| Final Exam | See “A Note About Exams” below. |
A Note About Exams
There is an archive of many previous exams given in this course. I provide this archive for two reasons: (1) Some people have copies of old exams anyway, so it seems only fair for everyone in the class to have the same material available to them. (2) Seeing old exams gives you some idea of what kinds of questions I ask on exams. That is, you can see my personal “exam style.”
A Note of Caution: Do not
try to use the past exams as a study guide for this semester’s
exams. If you look over the old exams you will see that I do not
ask the same questions each time. The fact is, I don’t cover
the same material each semester, I don’t assign the same
projects each semester, and I don’t even use the same text book
each semester. So trying to learn the answers to past exam questions
is a very poor strategy for preparing for this semester’s
exams. A much better strategy is to study the reading assignments
carefully, write a lot of code, and make sure you understand what you
are doing in this semester’s assignments. For these reasons, I
do not provide the answers to past exams.
Every term some
students ignore this advice, and the consequences are generally quite
grim!