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.
-
To introduce assembly language programming.
-
Raise awareness of the appropriate role of low-level
languages.
-
Highlight the intricacies and pitfalls of low-level
language implementations.
-
Application of established software engineering
practices.
-
To provide an understanding of the internal architecture
of microprocessors in general.
-
Give an awareness of the issues involved in interfacing to
digital and analogue systems.
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:
-
A comprehensive appreciation of the Motorola 68000
assembler language in terms of syntax, semantics and pitfalls.
-
A detailed knowledge of a subset of the Motorola 68000
assembler language instruction set.
-
An understanding of the importance of, and role of, a
stack in the correct operation of a modular piece of code and as a
parameter passing mechanism.
-
An understanding of the use and application of bit-wise
and byte-wise manipulation instructions.
-
An understanding of the appropriate use of assembler
language programming.
-
A working knowledge of the internal registers of a typical
microprocessor.
-
A detailed knowledge of the Motorola 68230 PIT.
-
The purpose and operation of Operational Amplifiers in the
context of interface design.
-
An understanding of ADC and DAC devices; Resolution;
Linearity; Sampling rates; Aliasing; Resistor networks.
-
An appreciation of the role and operation of Cache.
-
A basic knowledge of semi-conductor fabrication.
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
Nigel Hardy Departmental Advisor
nwh@aber.ac.uk
Dept of Computer Science, UW Aberystwyth (disclaimer)