Computer Science, Prifysgol Cymru Aberystwyth University of Wales


CS15110 - Computer Architecture


Brief Description

This module builds on the material covered in CS15010 providing a detailed study of the typical units constituting a microprocessor system. Emphasis is placed on Low-level language programming and associated software engineering issues together with microprocessor architecture and interfacing to the analogue and digital world. Semi-conductor technology is also covered at a materials level, together with a study of fabrication and design techniques. Practicals combine the assembly language programming aspects with the architecture and interfacing issues, to give a practical experience of the hardware/software interface.

Aims, Objectives, Syllabus, Booklist


Further Details

Number of lectures
24
Number of seminars/tutorials
-
Number of practicals
10 x 2 hours
Coordinator
Dr. Andy Ormsby
Other staff involved
Mr. Graham Parker
Pre-requisites
A grade C or better in GCSE Physics, Electronics, or Modular Science including modules on electricity and CS15010
Co-requisites
None
Incompatibilities
None
Assessment
Assessed coursework - 50%
Written exam - 50%
Timing
This module is offered only in Semester 2

Aims

The module aims to give an appreciation and experience of the interface between hardware and software along with the role of low-level languages. In addition, it is the intention that students will gain an understanding of the internal architecture and operation of microprocessor devices and the practicalities of interfacing to peripheral devices. An insight to Computer Aided Design environments will be provided by the practicals associated with full-custom design.

Objectives

It is not the objective of this module to qualify students as expert assembler language programmers or expert hardware engineers. Students will however, be expected to have a strong empathy toward the software/hardware /architecture interfaces, together with a sound practical experience of a range of typical devices and implementations. Specifically this will include:

Syllabus

Introduction - 1 Lecture
Course Organisation; Introduction to low-level languages; Characteristics of low-level languages; Processor characteristics.
Motorola 68000 Assembler Language - 9 Lectures, 5 Practicals
Assembler language programmer's model - Register sets; Layout and format of code; Structure and design; Introduction to Instruction Set; Subroutines; Use of a stack; Role of Stack Pointer; Assembler directives; Control of thread of execution - Jumps and Branches; Role of the Status Register; Role of Programme Counter; Equivalent high-level language constructs; Bit manipulation; Addressing Modes; Applications; Subroutine workspace; Introduction to assembler environment; Use of environment and 68000 Tutor Boards.
Peripherals and Interfacing - 6 Lectures, 4 Practicals
68230 PIT: Detailed look at use of; Use of data sheets. Operational Amplifiers: Ideal characteristics; Virtual Earth; Buffers and Impedance matching; Comparators.
Architecture - 3 Lectures
Internal Registers; Control Units: Hard-wired and Microcoded; Instruction types; Instruction cycles.
Cache - 1 Lecture
Performance considerations; Fully associative cache; Direct mapped cache.
Semi-Conductor Technology - 4 Lectures, 1 Practical
Principles of CMOS technology; Materials; Doping; Fabrication of CMOS transistors; Fabrication of large scale devices; Design rule checking and relevance to computer scientists.

Booklist

It is considered essential to purchase the following

John Fulcher. Introduction to Microcomputer Systems: Architecture and Interfacing. Addison-Wesley, 1991.

Alan Clements. Principles of Computer Hardware. Oxford, 1991.

Ian Sayers et. al. Principles of Microprocessors. CRC Press, 1991.

Notes
Only one of these books will be required by each student.

The following should be consulted for different approaches or for further information

Alan Clements. Microprocessor Systems Design. PWS-Kent, 1992.

Alan Clements. Principles of Microprocessor Design. PWS-Kent, 1992.

King and Knight. Programming the M68000. Benjamin/Cummings, 1987.

Leventhal. 68000 Assembly Language Programming. McGraw-Hill, 1986.

M68000 users manual. Motorola.

Version 2.2

Syllabus Syllabus

Nigel Hardy Departmental Advisor

nwh@aber.ac.uk

Dept of Computer Science, UW Aberystwyth (disclaimer)