Computer Laboratory > Teaching > Course material 2008–09 > Computer Design


Computer Design

Principal lecturer: Dr Simon Moore
Taken by: Part IB
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 nine lectures look at the hardware inplementation issues at a register transfer level.


This is a 14 lecture course (over 16 lecture slots) lectured by Simon Moore. 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 MIPS instruction set
  4. MIPS tools and code examples
  5. Operating system support + memory hierarchy & management
  6. Intel x86 instruction set
  7. Java Virtual Machine
  8. Memory hierarchy (caching, etc.)

Part II - Hardware Structures

The second part of this course looks at hardware implementation issues at a register transfer level. Note that this updated schedule of lectures is slightly different from the published syllabus.


  1. Executing instructions - an algorithmic viewpoint
  2. Simplified MIPS in SystemVerilog
  3. Pipelining
  4. Communication on and off chip
  5. Many-core processors
  6. Data-flow processors & comments on future directions

Errata and Additions

Recommended books

  • Harris, D.M. & Harris, S.L. (2007). Digital Design and Computer Architecture. Morgan Kaufmann.
  • Hennessy, J.L. & Patterson, D.A. (2002). Computer Architecture: A Quantitative Approach. Morgan Kaufmann (3rd ed.).
  • Hennessy, J.L. & Patterson, D.A. (1998). Compuer 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 at the Computer Laboratory. 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, the PDF of the notes is here for people inside the domain.
  • Architecture workshops for Part IB students.


Links used in Lecture 6:

Other links: