Skip to main navigationSkip to main content
The University of Southampton

ELEC2204 Computer Engineering

Module Overview

This module looks at the how computer systems are designed and constructed, focussing on microcontrollers but also looking at how they fit into the context of other types of computer (e.g. DSP and desktop processor). It considers how data is processed and manipulated, communication via buses. It also looks at operating systems (including real-time systems), performance and benchmarking, and factors that affect the power consumption of systems. We also look at multicore and GPU processing, and development toolchains (how to get from C to optimised machine code).

Aims and Objectives

Module Aims

This module aims at providing knowledge on how computer systems are designed and constructed, mainly focussing on microcontrollers but also considering other types of computer (e.g. DSP and desktop processor).

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Define and describe the component parts of computer systems
  • Describe the importance of the different design decisions made in processor and system design
  • Discuss the fundamental differences between types of embedded and desktop computer systems
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Relate an instruction set to a data-path design
  • Choose appropriate topologies and interfaces based on application requirements and system properties
  • Process high-level code into machine code, describe the optimisation process
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Build a simple embedded system and write software for it to demonstrate different input/output techniques
  • Measure the performance of simple systems in domain specific environments
  • Implement an operating system on an embedded device


- Processor architectures - Embedded vs desktop systems; microcontroller vs microprocessor (vs DSP) - Memory systems, cache, file systems - Interfacing and I/O - Computer arithmetic and ALUs - Operating systems (inc. real-time) vs freestanding C - Performance and benchmarking, power consumption, power modes - Multicore and GPUs - Development toolchains, compilation and optimisation

Learning and Teaching

Teaching and learning methods

There will be 36 hours of lectures, 2 x 3-hour labs, one coursework, and a number of tutorial sessions (schedule to be advised).

Follow-up work18
Wider reading or practice45
Preparation for scheduled sessions18
Completion of assessment task11
Total study time150

Resources & Reading list

Laboratory space and equipment required. The ECS Digital Electronics laboratory with power supplies, function and signal generators and oscilloscopes and logic analysers. Processor boards to support the laboratories attached to this module. These include AVR/Atmel processor boards.

Patterson D. A. and Hennessy J. L (2008). Computer Organization and Design: The Hardware/Software Interface. 

Patterson D. A. and Hennessy J. L (2011). Computer Organization and Design,The Hardware/Software Interface. 

W. Stallings (2012). Computer Organization and Architecture. 

Software requirements. Open source and commercial compilers and tool chains for the processors targeted in the laboratories



MethodPercentage contribution
Design 15%
Exam  (2 hours) 75%
Laboratory 10%


MethodPercentage contribution
Exam 100%


MethodPercentage contribution
Exam 100%

Repeat Information

Repeat type: Internal & External

Share this module Share this on Facebook Share this on Twitter Share this on Weibo

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.