Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Computer Design
Computer Laboratory > Course material 2003-04 > Computer Design

Computer Design

Principal lecturer: Dr Simon Moore
Taken by: Part IB, Part II (General), Diploma

Past exam questions


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


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.


  • 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.


  • 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 - control structures (state machines and microcode)
  • 15 - data-flow & comments on future directions
  • 16 - guest lecture TBA

Recommended books

  • Hennessy, J.L. & Patterson, D.A. (1996). Computer Architecture: A Quantitative Approach. Morgan Kaufmann (2nd ed.)
  • Patterson, D.A. & Hennessy, J.L. (1998). Computer Organization and Design. Morgan Kaufmann (2nd ed.).

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.
  • 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 three Tripos questions for Part 1Bs and Diplomas.

Past exam questions:

Student Feedback

Useful Links


Lecture 6 - The URL for Intel IA-32 documentation is now: