Aims of the Course
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.This course acts as a lead-in to CO-502, the Operating Systems course.
Learning Outcomes - Knowledge and Understanding
To know the specific material covered in the Syllabus, including the ability to do the following:
· Understand the representations used for numbers and text,
· computer arithmetic,
· the functions of the components of a CPU,
· understand how main memory is organised,
· comprehend the architecture of the Pentium microprocessor,
· being able to design models for input/output.
Learning Outcomes - Practical Skills
· being able to convert between data representation schemes
· apply logic operators
· perform binary arithmetic
· developing assembly programs for the Pentium microprocessor.
Learning Outcomes - Intellectual Skills
· to relate binary concepts to the principles of a computer
· to compare different computer architectures and to judge their potential use-case
Learning Outcomes - Transferable Skills
· To assemble a visual presentation on a complex scientific topic and to explain it orally
· To relate conceptual and physical components to technological applications and vice versa
· Overview of the course, and the general idea of ‘what is a computer’
Part 1: Fundamentals
· Data representation:
o binary numbers, arithmetic, octal, hex, base conversion,
o sign and magnitude, 1's complement and 2's complement,
o BCD, overflow, characters, ASCII/Unicode.
o Floating point numbers: conversion, normalisation, arithmetic operations, overflow/underflow representation errors,
o IEEE standard: format, arithmetic, NANs, Infinity and denormalised values.
· Basic circuits & logic
o Half adder
o Full adder
o Chip design
· Memory Organisation:
o registers, RAM, disks;
o byte and word addressing;
o byte ordering,
o banks and interleaving.
Part 2: CPU design
· CPU organisation and operation:
- components of a simple CPU,
- machine code,
- fetch-execute cycle,
- simple assembly programming.
- Pentium architecture:
- programming model,
- memory models,
- addressing modes,
- 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 with slides and videos
- classroom-based discussion
- classroom tutorials (pen and paper)
- assessed and not assessed coursework
- video recordings of lectures
*This is a level 7/M course
Sixth edition, International edition., Boston : Pearson
9th ed., International ed., Boston, Mass. ; London : Pearson
New York : Springer
Module leadersProfessor Kin Leung
Dr Soteris Demetriou