I don't really like or even understand the need for PDF, so I'll not produce many PDF files. If you require a postscrpt windows viewer there is a good public domain postscript viewer available from here, which works on Windows
Slides and reading notes for Computer Architecture. If you can't print any of the slides contact me.
Topic | Slides | |
---|---|---|
MIPS assembly language | Slides used in the lectures Alternative postscript file, might print better on some printers | |
A exercise sheet to go through. I don't have the answers online, you have to come to the lecture. | exersise sheet, sorry I don't have any online answers. | |
Stacks on the MIPS processor | Slides to understand the slides you really have to have been to the lecture. | |
Simple SPIM file. | sum.s | |
Example SPIM assembler file to calculate the factorial of a number. If you can understand this, then feel happy about stacks. | fact.s | |
Arithmetic, you only have to understand, addition, 2's-complement, shortest path and the introduction to floating point. | Slides | |
Some extra stuff on Floating point | Slides | |
What every computer scientist should know about floating point. Not part of the course but interesting reading. | Web versionpostscript version Some other stuff on the weirdness of floating point. | |
Implementing the MIPS instruction set | Slides | |
Pipelines | Slides, there might be a problem printing that on some printers, so here is a 1 to a page version. | |
Error correcting codes and secondary Storage | Slides | |
Introduction to memory | Slides on Memory 4 to a page and 1 to a page. | |
Caches and Virtual Memory Eriks Slides | More slides on Virtual memory and more | |
I/O | Intro to I/O (One to a page) we will also use the following slides the star office format, One to a page and 4 to a page. I have no idea how well they print. |
Spim Documentation | Read this. |
How to format and write your code | Read this and follow the instructions to make your lab assistant happy. |
Useful notes on SPIM and the MIPS processor One to a page in case there is trouble printing it. PDF version | This is the appendix to the old edition of Patterson and Hennessy it contains all you will need to know about the SPIM simulator. |
Link to the SPIM author's page | Get the information from the horses mouth. |
Programmeringsmanual Postscript version | This is a programming manual for the hardware mips boards which have been used in DoCS before, but it contains much useful information which can be used for the Spim simulator. |
Jakobs lecture on the Crusoe, not part of the course but extra material for your enjoyment. | Slides in PDF |
Based on Tanenbaum's Structured Computer Organization 4th Edition and or Patterson and Hennsesy, Computer Organization and Design
Topic | Tanenbaum | Patterson and Hennessy | Notes |
---|---|---|---|
MIPS Assembly Language | If you have the Tanenbuam book you'll have to read the lecture slides and the MIPS reference material referred to above | Chapter 3, 3.1-3.10 | In the exam you will be asked to write simple MIPS programs. If you are reasonably happy with the assignments and the labs then you will be ok. |
Arithmetic | Appendix A and B.1 | Chapter 4 4.1-4.4 | You should be happy with the concept of Two's complement. |
Digital Logic | 3.1,3.2,3.3 | B.1-B.6 | Truth tables, longest path, latches , You should also have some idea what a finite state machine is. |
Processor Design | 2.1 , 4.1 | Chapter 5 | You should look at the slides used in the lectures. You should able to understand the problems with a single cycle implementation, why a multi-cycle approach is necessary. |
Pipelines | 4.4 | Chapter 6 | You should look at the lecture slides, you should understand what pipelining is, what it achieves, what are the problems (hazards, stalls). |
Microcode | 4.1 | 5.5 | You should understand what micro-code is, what problems it tries to solve. Remember microcode is an implementation style. |
Caches | 4.5.1 | 7.1-7.3 | You should understand the terms Direct Mapped , set associative , write through and write back . |
Virtual memory | 6.1.1,6.1.2,6.1.9 | 7.4,7.5 | You should understand: pages, page-tables and what a TLB is also what problem it tries to solve. |
I/O | 2.1,2.2 ,2.3.1 2.4.1. | Chapter 8 | You must understand the difference between polling and interrupt driven I/O. |
Error Correcting Codes | 2.2.4 | There isn't anything on Error-correcting codes, but the notes fleshes out some of the material from the slides | This was only a brief introduction to error-correcting codes. You must be able to state the difference between error correcting and error detecting codes, define the hamming distance between words , the minimum distance of a code and understand Hamming's construction. |