COMP25212 - System Architecture
Materials for Academic year 2020/2021

Note that this page is very much work in progress and some links might be broken or outdated. The detailed notes are being revised and, in view of the circumstances this year, additional support material is in preparation. Shiny new things will be appearing!

For the newer material you need to go to the associated Blackboard page.
Back to the syllabus


Dr Oliver Rhodes (course leader)
Dr Jim Garside

Recommended textbook

D.A. Patterson, J.L. Hennessy. Computer Organization and Design. The Hardware/Software Interface, Morgan Kaufmann/Elsevier
Various versions exist: the most relevant is probably the ARM Edition (2016)


Exam (80%) + Labs (20%)

** Everything below is historic. **

Lecture Handouts (ppt and pdf)


Caches 01, 02, 03, 04
    - A deep analysis on how to exploit the benefits of cache memory in our programs can be found in Ulrich Drepper's excellent article  "What every programmer should know about memory".
Virtualization 01, 02, 03
    - Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I. and Warfield, A., 2003, October. "Xen and the art of virtualization". In ACM SIGOPS operating systems review (Vol. 37, No. 5, pp. 164-177). ACM. 
- Rosenblum, M. and Garfinkel, T., 2005. "Virtual machine monitors: Current technology and future trends". Computer, 38(5), pp.39-47.
- Adams, K. and Agesen, O., 2006. "A comparison of software and hardware techniques for x86 virtualization". ACM SIGARCH Computer Architecture News, 34(5), pp.2-13.
Storage 01, 02, 03
    - A visualization of Hard Disk Drive components and operation.


Pipelines Lecture 1 Lecture 2
Pipelining examples PDF
Out of Order Pipelines Lecture 3 Lecture 4
    - The original papers on CDC 6600, including the Scoreboard and on Tomasulo's algorithm

- A java applet simulating a Tomasulo pipeline can be found here
Multithreading Lecture 5 Lecture 6
    - A couple of background articles to read on hyperthreading:
      first, an Intel Technical Journal special issue on hyperthreading
      and the original 1997 paper on simultaneous multithreading.
Multicore Lecture 7 Lecture 8 Lecture 9
    - Some info about ARM A15. 
Landscape of Computer Systems Lecture
    - An interesting article about the future of microprocesors, detailing current and future limitations to be found by computer architectures in the near future. 
Solutions to lecture exercises (and more) PDF

Laboratory Scripts (pdf)

Lab Script ex. 1 1 session
Lab Script ex. 2 & 3 1 + 1 sessions
Lab Script ex. 4 1 session

Past Exams

Exam + model answer 2018
Exam + model answer 2017
Exam + model answer 2016
Exam + model answer 2015
Exam + model answer 2014
Exam + model answer 2013

Older papers can be found here