MEng Software Engineering

Year of entry: 2020

Course unit details:
System Architecture

Unit code COMP25212
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Offered by Department of Computer Science
Available as a free choice unit? Yes

Overview

The basic architecture of computer systems has been covered in first year course units which detailed both the instruction set architecture and the micro-architecture (hardware structure) of simple processors. Although these principle underlie the vast majority of modern computers, there are a wide range of both hardware and software techniques which are employed to increase the performance, reliability and flexibility of systems.

Pre/co-requisites

Unit title Unit code Requirement type Description
Fundamentals of Computer Architecture COMP15111 Pre-Requisite Compulsory
Operating Systems COMP25111 Pre-Requisite Compulsory
Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Aims

The aims of this course are to introduce the most important system architecture approaches. To give a wider understanding of how real systems operate and, from that understanding, the ability to optimise their use.

Learning outcomes

  • describe the techniques which are employed in modern computing systems to increase performance, reliability and flexibility.

  • compare the strengths and weaknesses of different system architectures.

  • explain how and predict to which extent such techniques impact the performance, reliability and flexibility of computing systems.

  • identify suitable system architectures for a given set of system requirements.

Syllabus

Introduction

The motivation behind advanced architectural techniques.

Caching

The need to overcome latency. Caching as a principle, examples of caching in practice. Processor cache structure and operation.

Pipelining

Principles of pipelining. Implementation of a processor pipeline and its properties. Pipelining requirements and limitations. Additional support for pipelining.

Multi-Threading

Basic multi-threading principles. Processor support for multi-threading. Simultaneous multi-threading.

Multi-Core

Motivation for multi-core. Possible multi-core structures. Cache coherence.

File System Support

Implementation of file systems. RAID

Virtual Machines

Motivation for Virtual Machines. Language Virtual Machines. System Virtual Machines. Virtual Machine implementation. Binary Translation

Assessment methods

Method Weight
Written exam 80%
Practical skills assessment 20%

Recommended reading

COMP25212 reading list can be found on the School of Computer Science website for current students.

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 22
Practical classes & workshops 12
Independent study hours
Independent study 62

Teaching staff

Staff member Role
Antoniu Pop Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details