Computer Science, Prifysgol Cymru Aberystwyth University of Wales
CSM0510 (1995-96 session)
Computer Architecture
Brief Description
There is a very close relationship between system software
design, system hardware design and the performance of the system as a
whole. It is advantageous for computer scientists and software
engineers to have an empathy for this relationship and therefore this
module concentrates on the principles involved rather than fine
detail. No prior knowledge of the subject area is assumed, the course
beginning with an introduction to the basic ideas of number systems,
simple electrical laws, logic functions and their electrical
equivalents. The course then looks at how more complex devices can be
created from these primitive building blocks. Having arrived at the
principal components of a microprocessor based system, a study is then
made of the interaction between these components and their differing
roles during the execution of simple low-level language programmes.
The laboratory work associated with the course is designed to
consolidate the lecture material and gives practical experience in
the use of various components and associated test equipment.
Aims, Objectives, Syllabus, Booklist
Further Details
- Number of lectures
- 20
- Number of seminars/tutorials
- 0
- Number of practicals
- 10
- Coordinator
- Dr. Edel Sherratt
- Other staff involved
- Not yet known
- Pre-requisites
-
CSM0120
- Co-requisites
- None
- Incompatibilities
- This module is not available to undergraduate students
- Assessment
- Assessed coursework 50%
Written exam 50%
- Timing
- This module extends over both Semester 1 and Semester 2
Aims
It is the aim of this module to give a broad overview of
computer architecture, and how it influences the execution and
performance of software, together with an awareness of low-level
programming languages. In addition, students will gain an appreciation
of interfacing microprocessor based system to the digital and analogue
world.
-
Introduction to logic and its hardware
implementations.
-
Familiarisation with the principal components of a
microprocessor based system and their differing roles.
-
An appreciation of the interactions of typical components
found in a small embedded system.
-
An understanding of the principles and techniques involved
in the interfacing of such systems to the real world.
-
To provide an insight into the internal architecture of
microprocessors in general.
-
To raise an awareness of the role and intricacies of
low-level languages and their relevant application.
Objectives
Students successfully compleating this module will have a
broad functional understanding of computer architecture and an
awareness of the hardware software interface. In detail, they will be
expected to have:
-
A sound knowledge of the function and operation of
combinational and sequential logic; Gates; Latches; Storage registers;
Shift registers; Counters;
-
An understanding of the principles and applications of
I.C. output types; Totem Poles; Tri-states; Open Collectors;
-
A knowledge of the fundamental components found in a
typical microprocessor based system and their dependencies;
Microprocessors; Memory; I/O devices; Buses; Decoding;
-
The ability to produce an outline design for a small
embedded microprocessor system together with a detailed memory map,
from a given specification;
-
A working knowledge of the internal architecture of a
typical microprocessor and their roles in the execution of software;
MBR; MAR; Control Unit; PSR; IR; ALU;
-
An appreciation of low-level language programming;
Motorola 6800 assembly language; Assignment instructions, Arithmetic
instructions, Logic instructions; Control instructions; Addressing
Modes; Role of the stack in subroutines and interrupts;
-
An knowledge of the functional operation of Cache memory;
Types; Performance considerations;
-
An understanding of the role and operation of Direct
Memory Access; Control of DMA; Bus Arbitration; Performance
Considerations;
-
An appreciation of trends past and present in the hardware
field; Processor families; Single-Chip processors; Parallel
capabilities; Cost/Performance trends.
Syllabus
-
Introduction - 1 Lecture
-
Course Organisation; Why study architecture? What is
hardware?
-
Number Systems - 4 Lectures
-
Logic functions; Notation; Truth Tables; Boolean
relationships; De Morgan's Theorem; Implementation; Combinational
logic; Sequential logic: RS-Latch; D-Type Latch; JK Flip-Flops;
Storage registers; Shift registers; counters.
-
Basic Computer
Hardware - 4 Lectures
-
Principal components of a microprocessor based
system; CPU; RAM; ROM; I/O; Buses; Memory organisation; Memory maps;
Memory decoding; Bus timing; Synchronous and Asynchronous operation
-
Basic Computer Architecture - 8 Lectures
-
Bus transactions; Assembly language (6802 based);
Compiling; Assembling; Relocatable object code; Subroutines and
Stacks; Programme execution; Internal architecture of a
microprocessor: MBR, MAR, ALU, IR, PSR, Control Unit; Interrupts;
Direct Memory Access; Mass storage devices; Cache memory: Fully
associative, Direct mapped.
-
Microprocessor
Evolution - 3 Lectures
-
Concept of a Microprocessor Family; CISC and RISC;
Single-Chip processors; Parallelism; The Transputer; Branch
prediction; Pipelining; Trends past and future.
-
Introduction
to Laboratory Work - 2 Practicals
-
Use of laboratory; Use of test equipment; Use of
measuring equipment. Use of bread-boards; Use of power supplies; Use
of good wiring practice.
-
Combinational
Logic - 1 Practical
-
Investigation of logic gates; Synthesis of
combinational logic circuits.
-
Sequential
Logic - 1 Practical
-
Investigation of sequential logic devices; Practical
applications.
-
Investigation of a small embedded
system - 6 Practicals
-
Advanced use of Oscilloscope; Control bus operation;
Address bus operation; Data bus operation; Timing considerations.
Booklist
It is considered essential to purchase the following
-
Ian Sayers et. al.
Principles of Microprocessors.
CRC Press, 1991.
Students are likely to need ready access to the following
-
Alan Clements.
Principles of Computer Hardware.
Oxford, 1991.
-
John Fulcher.
Introduction to Microcomputer Systems: Architecture and
Interfacing.
Addison-Wesley, 1991.
The following should be consulted for different approaches or for further information
-
Alan Clements.
Microprocessor Systems Design.
PWS-Kent, 1992.
-
M. Rafiquzzaman et. al.
Modern Computer Architecture.
West, 1989.
Version 1.7
Syllabus
John Hunt Departmental Advisor
jjh@aber.ac.uk
Dept of Computer Science, UW Aberystwyth (disclaimer)