Module Texts
Hyde, R., Write Great Code: Thinking Low Level, Writing High-level v.2, No Starch Press, 2005, ISBN: 1593270658
Scarpino, M., Programming the Cell Processor: For Games, Graphics and Computation, Prentical Hall, 2008, ISBN: 978-0136008866
Yang, L.T., Guo, M., High Performance Computing: Paradigm and Infrastructure, Wiley, 2005, ISBN: 047165471X
Module Special Admissions Requirements
Prior study of CE00842-4 Hardware Software Systems and Graphics and CE00314-5 Further Programming Concepts in C++ or equivalent.
Module Resources
High performance PCs and Games consoles
Module Learning Strategies
The module presents contextual and explanatory material, together with recommended reading and research in lectures. Practicals will implement this theory and students will develop a portfolio of practical work which will be assessed in the test and exam. There will normally be 1 lecture and 1 practical per week.
(1:n)1 (1:20)1
Module Additional Assessment Details
An exam length 2 hours weighted at 70% assessing Learning Outcomes 1-3
A test length 45 minutes weighted at 30% assessing Learning Outcomes 1-3
Module Indicative Content
- Survey of Hardware platforms (general-purpose computer, game console, handheld device): features and programming constraints.
- Low-level concepts such as pinelining / SIMD and MIMD execution / register banks and usage / floating point operations / bus architecture and operation (CPU/DMA control).
- Memory systems (scratchpad, cache and local memories).
- Embedding low-level code in high level source code.
- Performance issues: bottlenecks, profiling techniques, code optimisation.
- Multithreading and multiprocessor programming in particular for game consoles such as Playstation or Xbox.
- Graphics and audio hardware.
- Interfacing with peripherals for input and output.