Module Overview

Computer Architecture

The aim of this module is to explore the fundamental basics of the computer’s architecture and develop the learners ability to understand the operation of a computer while also giving learners practical experience of implementing basic programs in Assembler and C to learn about the working of the processor and memory in a computer.

Module Code

COMP H1027

ECTS Credits

5

*Curricular information is subject to change

Introduction to Computer Systems

Translation of information to bits, how programs are translated into machine code, how computers work, caches, storage devices, OS Managers, OS examples.

Data Representation and Manipulation

Hexadecimal notation, words, data sizes, addressing and byte ordering, encoding strings, representing high level code at machine level, Boolean algebra, bit-level operations in C, logical operations and shift operations in C; integer representations and floating point representations.

Machine Language

Historical perspective, program encodings, data formats, accessing information, arithmetic and logical operations; control and procedures; array allocation and access, data structures, pointers, buffer overflow, embedding assembly code in C.

Processor Architecture

Instruction Set Architecture, logic design, sequential implementation, pipelining.

Linking

Compiler drivers; static linking; object files; symbols and symbol tables; symbol resolution; relocation; executable object files; dynamic linking with shared libraries; position-independent code.

Virtual Memory

Physical and virtual addressing; address spaces; VM as a tool for caching and memory management; Address translation; memory mapping; dynamic memory allocation; garbage collection.

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)100