Skip to main content

Unit information: Advanced Computer Architecture (Teaching Unit) in 2023/24

Unit name Advanced Computer Architecture (Teaching Unit)
Unit code COMS30046
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Professor. McIntosh-Smith
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

COMS10016 Imperative and Functional Programming and COMS10017 Object-Oriented Programming and Algorithms I or equivalent.

COMS10015 Computer Architecture or equivalent.

COMS20008 Computer Systems A and COMS20012 Computer Systems B or equivalent.

COMS20010 Algorithms II or equivalent.

Strong programming skills.

Good knowledge of computer architecture.

Units you must take alongside this one (co-requisite units)

EITHER Undergraduate students in Year 3 must choose Assessment Unit COMS30047

OR M-level students must choose the M-Level Assessment Unit COMSM0053.

Please note, COMS30046 is the Teaching Unit for Advanced Computer Architecture. Students can take this unit in either their third or fourth year, and must also choose the Assessment Unit for their year group.

Units you may not take alongside this one


School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

This unit aims to introduce a range of advanced topics in computer architecture, focusing mainly on high performance processors but including recent or hot topics (e.g., low-power design, wide vector units etc.). A student completing the unit should gain an understanding of how most modern processors work. They will also gain an appreciation of how various design decisions can improve quality (according to a metric such as performance, area or power consumption) which extends the output of previous units that focus mainly on functionality. Due to the unit remit, the syllabus is somewhat flexible, and could include:

  • High performance processors: pipelining, hazards, bubbles, branch prediction, delay slots, target buffers, separate instruction units, superscalar, multiple issue, out of order completion, instruction reordering, register renaming, register windows, data parallel execution.
  • Other forms of parallelism: multi-core, multi-threading via SMT and HyperThreading.
  • Application specific processors: graphics processors, neuromorphic processors, stack processors, vector processors, VLIW, DSP, instruction set extensions for multimedia and cryptography.
  • Specific processor designs: x86, Arm, SPARC, MIPS.
  • Selected topics: security, virtualisation, advanced computer arithmetic, bridging the memory gap.

Your learning on this unit

On successful completion of this unit, students will be able to:

  1. Demonstrate understanding of how modern computer architectures work.
  2. Demonstrate understanding of the issues in high performance processor design.
  3. Appreciate alternative, domain-specific processor design challenges.
  4. Write a simulator, and understood how this differs from almost all other software development tasks.

How you will learn

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures and self-directed exercises.

How you will be assessed

50% coursework, 50% viva.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS30046).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.