Games Systems Architecture
This module extends the student's experience of hardware-level programming, and looks at hand-held device hardware
Synopsis of Module
This unit is designed to enable students to understand the organisation of a production processor, develop an understanding of assembly language programming and an essential understanding of digital systems design. The purpose of the unit is not to primarily develop a skill in low level programming but to illuminate underlying computer systems concepts fundamental to making effective use of computers in the games setting. The approach is essentially a practical one to allow students to develop their own low level software and to interface with simple digital devices.
Aims of Module
- To provide an appreciation of a range of different microprocessor organisations, focussing on those used for games systems, and a detailed understanding of the organisation of a particular microprocessor.
- To develop a skill in assembly language programming.
- To develop an understanding of how machine instruction sets are implemented by microprograms and hardware.
- To develop an understanding of elementary digital design of combinational and sequential functions.
- To introduce the fundamental hardware issues faced by games developers
Learning Outcomes
On completion of this module, the student will be able to
- Demonstrate an appreciation of the architecture of a range of different microprocessors and display a detailed understanding of the organisation of a particular microprocessor.
- Write representative software in assembly language to perform data manipulation and control simple I/O devices, and give graphical output.
- Discuss how machine instruction sets are implemented in hardware and using microprograms.
- Design elementary combinational and sequential digital circuits.
Outline Syllabus
- Microprocessor architecture and organisation - 16 and 32-bit words, microprocessors and microcontrollers. Instruction sets; formats, operands - addressing modalities, subroutines, concurrency, RISC and CISC designs. (40%)
- A detailed treatment of the organisation of a particular microprocessor, eg the ARM. The memory map and support for high-level programming languages. (40%)
- A detailed treatment of the pipeline process and the issues of superscalar architecture. (10%)
- Digital design - Logic Gates, Boolean functions and simplification, truth tables and timing diagrams. Simple combinational and sequential functions. (10%)