This page is a saved copy of the departmental original. The links from it will no longer be valid.
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.
SUPPLEMENTARY READING
Patterson, D.A. & Hennessy, J.L. Computer Organization and Design: The Hardware/Software Interface. 2nd Edition (ISBN 1-558-604-91X) Morgan Kaufmann 1998
Syllabus
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
![]() |
![]() |