Module Identifier CS15410  
Module Title COMPUTER ARCHITECTURE  
Academic Year 2001/2002  
Co-ordinator Dr Mark Ratcliffe  
Semester Semester 2  
Other staff Dr Adrian Shaw  
Mutually Exclusive CS14020, CS15010  
Course delivery Lecture   22 lectures  
  Practical   Up to 4 x 2 hr.  
Assessment Supplementary examination   Will take the same form, under the terms of the Department's policy    
  Exam   2 Hours (Multiple choice)   100%  
Further details http://www.aber.ac.uk/compsci/ModuleInfo/CS15410  

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.


Informal feedback on progress is provided in the form of question and answer and example examination questions sessions run in class.

Aims


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.

Learning outcomes


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

Syllabus


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

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