Computer Science, Prifysgol Cymru Aberystwyth University of Wales
CS15110 (1995-96 session)
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. John Hunt
- 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
-
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
-
John Fulcher.
Introduction to Microcomputer Systems: Architecture and
Interfacing.
Addison-Wesley, 1991.
-
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.5
Syllabus
John Hunt Departmental Advisor
jjh@aber.ac.uk
Dept of Computer Science, UW Aberystwyth (disclaimer)