Module overview
This course ensures that students both understand how a CPU works, but are also able to implement a working CPU. The course covers basic data- and control-path design, as well as how to implement a working CPU for an existing ISA in RTL. Standard optimisations (pipelining and caches) are introduced to explain basic techniques for improving performance. The course positions the CPU as one component within a larger computational system, and considers how CPUs are integrated with other devices within a modern SoC context.
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Identify the main stages and functional units in a CPU.
- Understand the relationship between throughput, latency, and pipelining
- Describe standard optimisations for in-order scalar CPUs, including pipelining and caching.
- Understand the use of address spaces as a means of system-integration.
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Select high-level data structures to best exploit the memory hierarchy
- Select SoC IP cores needed in order to meet functional and non-functional requirements.
- Classify and critique instruction-set architecture styles in terms of efficiency and performance.
- Quantitatively analyse and predict the impact of architectural optimisations.
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Extend an SoC with custom functionality.
- Implement a synthesisable processor in RTL that complies with an ISA
- Create test-benches to test a digital circuit.
- Construct, synthesise, and execute a system-on-chip in an FPGA
Syllabus
Classic architectures:
-ISAs
-Data-path andcontrol-path design
-Detailed single-cycle CPU for real-world ISA
Optimisations:
-Pipelining
-Caches
-Memory hierarchy
Bus-based systems:
-Buses & protocols
-Polling/interrupts
-IP interfacing
Customisation and optimisation:
-Custom instructions
-Custom accelerators
-Parallel instruction streams
Learning and Teaching
Teaching and learning methods
Lectures, labs and guided self-study
Type | Hours |
---|---|
Lecture | 32 |
Completion of assessment task | 80 |
Independent Study | 10 |
Specialist Laboratory | 10 |
Total study time | 132 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Computing assignment | 50% |
Class Test | 10% |
CAA Exam | 20% |
Computing assignment | 20% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Coursework | 70% |
CAA Exam | 30% |
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 |
---|---|
Coursework | 70% |
CAA Exam | 30% |