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

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).

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

Resources & Reading list

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

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

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

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.

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



MethodPercentage contribution
Continuous Assessment 25%
Final Assessment  75%


MethodPercentage contribution
Set Task 100%


MethodPercentage contribution
Set Task 100%

Repeat Information

Repeat type: Internal & External

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings