This module aims to provide a strong foundation for allowing students to understand modern computer architectures and systems. Microarchitectures and instruction set architectures (ISAs) will be studied in detail, as well as computer memory types and their organisation. The study will also cover performance acceleration techniques such as caching and pipelining.
Topics relating to parallel processing will be studied, including instruction level parallel processing (SIMD), multi-threading and multi-core processors as well as their synchronisation. Specialised architectures and techniques used in embedded processors (such as those found in smartphones) will be explored. The module also provides an overview of advanced computer communication buses, memory and storage systems prevalent in enterprise class computing (data centres), including topics such as: network-attached storage NAS, virtualisation, clusters, grid computing and cloud computing. Practicals will demonstrate various elements of computer architectures using VHDL.