Systems & Devices 3: Advanced Computer Systems - COM00018I
Module summary
Advanced Computer Systems
Related modules
Module will run
Occurrence | Teaching period |
---|---|
A | Semester 2 2024-25 |
Module aims
This module continues the Systems and Devices stream by considering advanced computer systems in terms of their structure and how it affects their programming. To this point, the systems introduced have been basic uniprocessors with simple memory. The module starts by introducing the concept of multiple processor architectures, pipelined and superscalar processors, systems-on-chip and advanced memory structures, including caches.
The rest of the module considers how these hardware features affect the way that such modern systems are efficiently programmed. Issues of programming for pipelines, caches, etc. are considered. Then how processes running in parallel on separate processors can share underlying resources safely. Finally, the module considers building blocks for parallel programming, e.g. threads and communication. It will also consider how such constructs map to processor instructions. The module will consider real-world examples throughout.
Module learning outcomes
S301 |
Appreciate how, and why, the hardware structure of multiprocessor architectures differs from the architectures discussed in S&D1. Use this knowledge to develop software applications for such architectures. |
S302 |
Use knowledge of computer system design concepts to evaluate the likely performance of a proposed computer architecture. |
S303 |
Demonstrate the ability to optimise software for advanced hardware features like caches, branch predictors, and pipelines. |
S304 | Demonstrate through software development, how data structures are laid out in memory, how they can be accessed from a program, and how processor instructions are generated to manipulate them. |
Indicative assessment
Task | % of module mark |
---|---|
Online Exam -less than 24hrs (Centrally scheduled) | 100 |
Special assessment rules
None
Additional assessment information
Students will only need to retake failed assessment components.
Indicative reassessment
Task | % of module mark |
---|---|
Online Exam -less than 24hrs (Centrally scheduled) | 100 |
Module feedback
Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines
Indicative reading
**** H. Abelson, and G.J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1996
*** R.W. Sebesta, Concepts of Programming Languages, Addison Wesley, 2009
*** A. Burns and G. Davis, Concurrent Programming, Addison-Wesley, 1993
** D. Watt and W. Findlay, Programming Language Design Concepts, Wiley, 2004
** T.W. Pratt and M.V. Zelkowitz, Programming Languages: Design and Implementation, Prentice Hall, 2001
** D. Lea, Concurrent Programming in Java, Addison Wesley, 1996
** A. Burns and A. Wellings, Concurrent and Real-Time Programming in Ada, CUP, 2007
** F. Casarini and S. Thompson, Erlang Programming, O'Reilly, 2009
** A. Burns and A. Wellings, Real-Time Systems and Languages 4/e, Addison Wesley