Computer Design 2004-05
Principal lecturer: Dr Simon Moore
Taken by: Part IB, Part II (General), Diploma
Syllabus
Past exam questions
Aims
The aims of this course are to introduce the hardware/software
interface models and the hardware structures used in designing
computers. The first seven lectures are concerned with the
hardware/software interface and cover the programmer's model of the
computer. The last eight lectures look at hardware implementation
issues at a register transfer level
Structure
This is a 16 lecture course primarily lectured by Simon Moore.
There will be one guest lecture. The course is split into two
parts.
Part I - The Hardware/Software Interface
The first part of this course covers the programmer's model of the
computer.
Lectures:
- 1 - introduction to the course and some background history
- 2 - historic machines: EDSAC vs Manchester Mark I
- 3 - introduction to RISC processor design and the ARM instruction set
- 4 - ARM tools and code examples
- 5 - operating system support + memory hierarchy & management
- 6 - Intel x86 instruction set
- 7 - Java Virtual Machine
Part II - Hardware Structures
The second part of this course looks at hardware implementation issues
at a register transfer level.
Lectures:
- 8 - executing instructions - an algorithmic viewpoint
- 9 - basic processor hardware: pipelining & data paths
- 10 - extending the ARM pipeline - including load and branch delay slots
- 11 - memory hierarchy (caching, etc.)
- 12 - buses (internal communication pathways)
- 13 - communication interfaces and devices
- 14 - introduction to N-105 processor
- 15 - implementing the N-105 processor
- 16 - data-flow & comments on future directions
Recommended books
- Hennessy, J.L. & Patterson, D.A. (2002). Computer Architecture:
A Quantitative Approach. Morgan Kaufmann (3rd ed.). (2nd edition, 1996, is also good)
- Patterson, D.A. & Hennessy, J.L. (1998). Computer Organization and
Design. Morgan Kaufmann (2nd ed., as an alternative to the above).
Handouts and Workshops
- Copies of the handouts will be made available at the first lecture
and subsequently from the Student Administrator in the William Gates Building.
Please note that the handouts only give an
outline of the course. Annotations and additional examples are given
in the lectures.
- If paper copies of the handouts are not available for some reason, PDFs of
Part 1 (lectures 1 to 12)
and
Part 2 (lectures 13 to 16)
is available for people in the cam.ac.uk domain.
- Architecure
workshops for Part 1B students (not taken by Diploma and Part II(gen) students)
- Example divide code for lecture 4
Examination Information
There are three lab exercises (ECAD & Architecture workshops 4, 5 and 6)
taken by Part 1Bs only. There are two Tripos questions for Part 1Bs and Diplomas this academic year.
Past exam questions:
Student Feedback
Useful Links
Errata
Lecture 6 - The URL for Intel IA-32 documentation is now:
Lecture 14 - the code example in section 2.4 on "Program Flow" of the N-105 Programmer's Manual should read:
one movi r2 4
bsr three
movi r4 8
two movi r4 6
movi r9 7
br end
nop
three ret
movi r1 4
end nop
|