Introduction to Computer Systems
The aim of the course is to develop a fundamental understanding of the organisation and operation of a desktop computer system. The emphasis of the course is on understanding how high-level language programs are represented and executed at an architectural level.
Learning Outcomes - Knowledge and Understanding
To know the specific material covered in the Syllabus, including the ability to do the following:
To describe the basic architecture of a simple computer
To describe the representations used for instructions, numbers and text
To describe the functions of the components of a CPU
To explain how main memory is organised
To describe the architecture of the Pentium microprocessor
To describe models for input/output
Learning Outcomes - Intellectual Skills
To compare different number representations
To compare different kinds of memory
To translate simple high-level programs into assembly programs
To compare different implementations of the control unit
Learning Outcomes - Practical Skills
To map CPU control to hardware
To develop assembly programs for the Pentium microprocessor
Introduction: relationship to other courses, levels of abstraction, instruction set level, hardware design level, role of the computer architect.
Data representation: binary numbers, arithmetic, octal, hex, base conversion, sign and magnitude, 1's complement and 2's complement, BCD, overflow, characters, ASCII/Unicode. Floating point numbers: conversion, normalisation, arithmetic operations, overflow/underflow representation errors, IEEE standard: format, arithmetic, NANs, Infinity and denormalised values.
Memory Organisation: registers, memory, disks; byte and word addressing; byte ordering, alignment, banks and interleaving.
CPU organisation and operation: components of a simple CPU, instructions, machine code, fetch-execute cycle, simple assembly programming.
Pentium architecture: programming model, registers, memory models, addressing modes, arrays, records, instructions, expressions, loops, procedures.
Input and output: device types and characteristics, controllers, ports, programmed I/O, interrupts, DMA, Pentium interrupt model, traps and exceptions, simple device drivers.
Lectures and tutorials
5th, Morgan Kaufmann Publishers
Third edition, Global edition., Pearson
Module leadersProfessor Wayne Luk
Dr Maria Valera-Espina