Introduction to Computer Systems
In this module you will have the opportunity to develop a fundamental understanding of the organisation and operation of a computer system. The emphasis of the module is on understanding how high-level language programs are represented and executed at an architectural level.
Upon successful completion of this module you will be able to:
- describe the basic organisation of a computer
- explain different representations used for instructions, numbers and text
- show how machine code instructions are executed by a computer
- compare different implementations of a computer's control unit
- explain program behaviour by reading the binary representation of machine code
- translate high-level program fragments into assembler code
- explain the effect that memory hierarchy has on a program's execution time
- estimate the performance of a program on a given computer
- Basic organisation of a computer
- Representations for instructions, numbers and text
- Translation of high-level programs into instructions
- Instruction execution
- Implementation choices of the control unit
- CISC and RISC Instruction Set Architecture
- Assembler programming
- Memory organisation and concepts of spatial and temporal locality
- Performance estimation and Amdahl’s Law
There will be two assessed courseworks which together contribute 15% of the mark for the module.
There will be a final written exam, which counts for the remaining 85% of the marks.
There will be written feedback on the assessed coursework exercises and in-class and/ or email feedback explaining common pitfalls and suggestions for improvement.
3rd, Chapman & Hall
Module leadersDr Bernhard Kainz
Professor Bjoern Schuller