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
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
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Discuss the fundamental differences between types of embedded and desktop computer systems
- Describe the importance of the different design decisions made in processor and system design
- Define and describe the component parts of computer systems
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Measure the performance of simple systems in domain specific environments
- Implement an operating system on an embedded device
- Build a simple embedded system and write software for it to demonstrate different input/output techniques
Syllabus
- 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, a 3-hour lab, and a coursework.
Type | Hours |
---|---|
Lecture | 36 |
Revision | 10 |
Follow-up work | 16 |
Completion of assessment task | 25 |
Practical | 3 |
Preparation for scheduled sessions | 16 |
Wider reading or practice | 44 |
Total study time | 150 |
Resources & Reading list
General Resources
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.
Textbooks
Patterson D. A. and Hennessy J. L (2011). Computer Organization and Design,The Hardware/Software Interface. Morgan Kaufmann.
W. Stallings (2012). Computer Organization and Architecture. Prentice Hall.
Patterson D. A. and Hennessy J. L (2008). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann.
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Coursework | 15% |
Laboratory Exercises | 5% |
Exam | 80% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Exam | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Method | Percentage contribution |
---|---|
Exam | 100% |
Repeat Information
Repeat type: Internal & External