Module overview
This module aims to give students an understanding of how a CPU works, and also the ability to implement a working CPU. The module covers basic data- and control-path design, and the implemention of an existing Instruction Set Architecture (ISA). Standard optimisations (pipelining and caches) are introduced to explain basic techniques for improving performance. The module shows how a CPU can be used as one component within a larger computational system, for example how CPUs are integrated with other devices within a modern System on Chip (SoC).
    Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- The relationship between throughput, latency, and pipelining.
- The main stages and functional units in a CPU.
- Memory hierarchy and address mapping.
- Standard optimisations for in-order scalar CPUs, including pipelining and caching.
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Quantitatively analyse and predict the impact of architectural optimisations.
- Select high-level data structures to best exploit the memory hierarchy
- Select SoC IP cores to meet functional and non-functional requirements.
- Classify and critique instruction-set architecture styles in terms of efficiency and performance.
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Construct and synthesise a CPU as part of a system-on-chip on an FPGA, and execute code on that CPU.
- Implement a synthesisable processor at Register Transfer Level (RTL) that complies with an ISA.
- Create test-benches to test digital circuits in simulation.
Syllabus
Classic architectures:
  -ISAs
  -Data-path and control-path design
  -Detailed single-cycle CPU for real-world ISA
  Optimisations:
  -Pipelining
  -Caches
  -Memory hierarchy
  Bus-based systems:
  -Buses & protocols
  -Polling/interrupts
  -IP interfacing
    Learning and Teaching
Teaching and learning methods
Lectures, labs and guided self-study
      
              | Type | Hours | 
|---|---|
| Completion of assessment task | 80 | 
| Specialist Laboratory | 9 | 
| Independent Study | 25 | 
| Lecture | 36 | 
| Total study time | 150 | 
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
| Method | Percentage contribution | 
|---|---|
| Coursework | 60% | 
| Exam | 40% | 
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
| Method | Percentage contribution | 
|---|---|
| Coursework | 60% | 
| Exam | 40% | 
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
| Method | Percentage contribution | 
|---|---|
| Exam | 40% | 
| Coursework | 60% |