This is an archived syllabus from 2020-2021
COMP25212 System Architecture syllabus 2020-2021
COMP25212 System Architecture
Level 2
Credits: 10
Enrolled students: 24
Course leader: Oliver Rhodes
Additional staff: view all staff
Requisites
- Pre-Requisite (Compulsory): COMP15111
Additional requirements
- Students who are not from the Department of Computer Science must have permission from both Computer Science and their home School to enrol.
Assessment methods
- 80% Written exam
- 20% Practical skills assessment
Semester | Event | Location | Day | Time | Group |
---|---|---|---|---|---|
Sem 2 | ONLINE Lecture | Fri | 09:00 - 10:00 | - | |
Sem 2 | ONLINE Lecture | Tue | 10:00 - 11:00 | - | |
Sem 2 B | ONLINE LabORATORY | Wed | 09:00 - 11:00 | F |
- Computer Architecture
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.
This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact. Please see Blackboard / course unit related emails for any further updates.
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.
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
Feedback methods
Study hours
- Assessment written exam (2 hours)
- Lectures (22 hours)
- Practical classes & workshops (12 hours)
Learning outcomes
On successful completion of this unit, a student will be able to:
- 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.
Reading list
Title | Author | ISBN | Publisher | Year |
---|---|---|---|---|
Computer organization and design : the hardware/software interface | Patterson, David A., | 9780128018354 (PDF ebook) : | Morgan Kaufmann | 2016. |
Virtual machines : versatile platforms for systems and processes | Smith, James E. (James Edward), 1950- | 0080525407 | Morgan Kaufmann Publishers | 2005 |
Additional notes
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.