BSc Computer Science with Industrial Experience

Year of entry: 2024

Course unit details:
System Architecture

Course unit fact file
Unit code COMP25212
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
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 principles underlie the vast majority of modern computers, there is 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
Students who are not from the Department 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.

Teaching and learning methods

Lectures, coursework, online quizzes.

Guest lecture from industry (TBC).

Continuous feedback with students will be maintained through active participation in the classroom.

Assessment methods

Method Weight
Written exam 70%
Practical skills assessment 30%

Feedback methods

Feedback given after assessment

Recommended reading

COMP25212 reading list can be found on the Department 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 64

Teaching staff

Staff member Role
Oliver Rhodes 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