Computer Systems Architecture 2


Last updated 12 October 1999


CSA2 is a 2'nd year unit in the School of Computer Science. It aims to give the student some insight into the layers of abstraction that separate a typical application or even high-level-language programmer from the underlying hardware of the machine.

The course splits into two roughly even components. The first deals with low-level detail such as number representation, procedure calls, registers, I/O devices etc through the lens of an assembly language - students learn to program in MIPS assembly language (SAL and MAL).

The second component deals with operating system concepts such as file system, process, and security management. Unix utilities and system calls serve as the practical tool for understanding this portion of the course.

The Assessment Procedure and Schedule of Lectures and Labs are both available.

Lectures

Essays and Presentations

Each student is asked to prepare a 3000-word essay on a topic of relevance to computer architecture as well as make a short presentation to the class on that topic.

The full details and list of topics are available.

Presentation details are available detailing time, venue, and expectations of the lecturer.

Assignments

Solutions

Assignment 5 from 1997 was a large (well, large when implemented in assembler) application involving 2D arrays. It is a good illustration of many of the features and issues in assembly language programming. The file 2D.mal contains my solution to the assignment. There is considerable commenting (though is it sufficient?) within the code.

Important Notes

Other course notes and handouts.

Links of Interest

Links of interest on various aspects of computer architecture and operating systems. Some are likely to be of use for the essay questions.

Spike's Home Page Feedback welcome!