Principal lecturer: Dr Simon Moore
Taken by: Part IB
Past exam questions
Exercise sheet (cam domain only)
This course aims to teach students how to design processors, starting
with the Verilog hardware description language and proceeding onto the
hardware/software processor interface and processor design
This is a 22 lecture course with 18 of the lectures delivered by Simon Moore and 4 lectures
worth of material are delivered via a web based tutor (IVC).
Note that this course is based upon the merger of ECAD (2008)
and Computer Design(2008) from last year.
- 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
Handouts and practicals
- 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 cam.ac.uk domain.
- ECAD+Architecture workshops (the practical component to this course)
- Manchester Baby machine in SystemVerilog and Java: see the EACD+Arch
page on the Baby
- Simplified MIPS processor simulated in Java: java-mips-simulator.zip
- Simplified MIPS processor in Verilog: simplemips.zip (unzip to
U:\simplemips\ since some paths in the project are absolute)
- Quick start to simulate using ModelSim...Start ModelSim and then:
- open project simplemips.mpf in the above zip file
- compile -> compile all
- simulate -> Start Simulation..., select work.testBench to simulate, click OK
- simulate -> Run -all
- For further information see the tutorial on ModelSim
- Lecture 9 - the numbers for break-points are the assembler line
numbers rather than addresses of the instructions.
Links used in Lecture 10: