Module Identifier CI25410  
Academic Year 2003/2004  
Co-ordinator Dr Mark B Ratcliffe  
Semester Semester 1  
Other staff Dr Adrian D Shaw, Mr Rhys Parry  
Mutually Exclusive CS15410  
Course delivery Lecture   22 lectures  
  Practical   Up to 4 x 2hr  
Assessment TypeAssessment Length/DetailsProportion
Semester Exam2 Hours  100%
Supplementary Exam Supplementary examination will take the same form, under the terms of the Department's policy   
Further details  

Learning outcomes

On successful completion of this module, a student should be able to:

Brief description

This module examines what a computer is and how it works, down to a level just above electronics. It considers how a program, written in a high level language, is ultimately executed by a computer.


This module provides students who intend to study software development with an appropriate initial understanding of the hardware on which programs run and how programs are executed.


1. What is a computer? - 4 Lectures
Block diagram overview; CPU, memory, I/O, Bus. Memory, Digital Logic; pigeon-hole model, address and contents, bits bytes and words.

2. Buses - 2 Lectures
Address, data and control buses. Basic data transfer.

3. Inside the CPU - 3 Lectures
Simple examples of instructions. The fetch-execute cycle and the program counter. Registers. ALU. Control unit. Implementing a machine code in hardware. Digital logic.

4. A real CPU example: Motorola 68000 and 68HC11 - 4 Lectures
Some machine codes and mnemonics. Addressing modes. Assembly code.

5. Executing high-level software - 4 Lectures
Machine-code equivalents of high-level constructs. Function calls. Stack frames and local variables.

6. I/O - 5 Lectures
Reading and writing data. Interrupts. Transfering large amounts of data; DMA, block I/O.

7. Exercises - 4 Practicals
Use a CPU simulator to watch instruction execution. Assembly language comprehension (probably, but not necessarily, by writing a program).

Reading Lists

** Recommended Text
Ronald J. Tocci and Frank J. Ambrosio (2000) Microprocessors and Microcomputers 5th. Prentice Hall


This module is at CQFW Level 5