This page is a saved copy of the departmental original. The links from it will no longer be valid.

1999-2000 session

CS1031 Fundamentals of Computer Architecture

Level: 1
Credit rating: 10
Degree(s): CS SE CE CS4 CIS AI
Pre-requisites: none
Co-requisites: CS1011
Pre-requisite for: CS2051, CS2042
Duration: 12 weeks in first semester
Lectures: 24 in total, 2 per week
Tutorials: 3 in total
Laboratories: 10 hours in total, 5 2-hour sessions
Assessment: 1 hour examination (75%) plus laboratory (25%)
Lecturer: Dr A J West
Aims and Objectives

CS1031 serves to introduce both information representation (binary arithmetic, logical operations and so forth), and computer architecture.
The main body of the module is concerned with the fundamental concepts of computer architecture, that is, the internal structure of the computer as seen by the assembly level programmer. It is at this level that hardware and software meet.
We will focus on understanding the MIPS processor, which is a modern "RISC" architecture used in high performance work stations. The intention is to become familiar with the concepts and issues at the assembler/architecture level, rather than to become MIPS programmers. By the end of the course we should be able to contrast the MIPS architecture with some alternative approaches.
In the laboratories you will get some practical experience of MIPS and the topics discussed, by writing short sequences of assembler that you can run on a simulator.

CS1031 is an essential foundation for all further studies in the single honours computer science degree programme.
Reading List

Goodman J. and Miller K., A Programmer's View of Computer Architecture. (ISBN 0-030-988-160) Saunders College Publishing 1993
* This is the recommended text. It provides a good introduction to the subject and is based around the MIPS processor as used in the course.
Kane G. and Heinrich J. MIPS Risc Architecture, (ISBN 0-135-904-722) Prentice Hall,1992,
* A detailed reference for the MIPS instruction set. Too detailed for use in the course generally though you should be aware that it exists so that you can pursue particular queries about MIPS instructions should you wish to do so.

Patterson, D.A. & Hennessy, J.L. Computer Organization and Design: The Hardware/Software Interface. 2nd Edition (ISBN 1-558-604-91X) Morgan Kaufmann 1998

Data representation & manipulation. [4]

Binary for instructions, sign & magnitude, 2s complement, characters, real, octal & hex. binary +-*, overflow & carry. logical operations.
 Floating point arithmetic [2]
The IEEE 488 standard.
Computer fundamentals. [2]

Memory, registers, the ALU and datapath. Performance issues.
The MIPS processor [6]

The MIPS architecture, its instructions and addressing of memory.
MAL/TAL assembly language. small examples and case studies.
Procedure and the stack [3]

Support for precedural decomposition. Call and return mechanism, the stack and the passing of parameters.
Interfacing with peripherals and the outside world [2]

Instruction sets support for devices, polling and interrupts.
Operating System support [2]

User and supervisor modes, traps - protecting processes from interference.
Architecture & instruction format alternatives [3]

0/1/2/3-address code, RISC/CISC + relative efficiency

A timetable and/or additional information might be available for this course.
Contents page List of course units offered

These pages were created automatically on Fri Sep 24 14:00:37 1999 from an HTML file produced by Microsoft Word97.
Please excuse the poor presentation quality. Improvements are being worked upon.
Whilst all reasonable attempts are made to ensure the accuracy of these syllabus pages, the Department reserves the right to make changes without notice.
In case of problems with the layout or structure of these syllabus pages, please mail