This module introduces the core ideas of computer architecture for students studying the subject of computing, building a mental model of the functioning of a typical computer system that can be used to reason about system (hardware/software) behaviour – and can be extended in later modules.
The aim of this Module is to provide the student with : To introduce students to the fundamental concepts of computer architecture, and their practical relevance to system development and operation in a range of application contexts.
By the end of this module the student should be able to:
1. Describe the core elements of computer organisation common to all modern computer systems.
2. Explain how numerical, textual, graphical and other data used in applications is represented, and use low-level operations to manipulate it at machine level.
3. Reason about how high-level code is compiled into low-level machine instructions.
4. Describe the key components of a typical operating system and how they support the development of applications.
5. Explain the enabling technology that underlies the Internet of Things/embedded computing.
1 Computer architecture
Principal low-level components (logic gates, logic blocks) and what they do, bus interconnections, memory, storage devices
2 Data representation
Bits, bitwise operations, integers, floating and fixed point, text, colours, bitmaps,audio.
3 Machine instructions
The von Neumann architecture, a modern CPU, arithmetic, control flow, the stack compilation.
4 Operating systems
Userspace and kernelspace, drivers, scheduling, memory management, filesystems, use of operating systems (e.g. Linux ) to support simple system management, OS level security concepts