next up previous
Next: MC117 Operating Systems and Up: Year 1 Previous: MC115 Information Systems

MC116 Computer Systems


MC116 Computer Systems

Credits: 20 Convenor: Dr. R. Crole Semester: 1


Prerequisites:
Assessment: Coursework: 30% Three hour exam in January: 70%

Lectures: 30 Classes: 10
Tutorials: none Private Study: 110
Labs: none Seminars: none
Project: none Other: none
Total: 150

Explanation of Pre-requisites

No specific knowledge is required, but a very rudimentary understanding of logic and discrete mathematics will be helpful.

Course Description

While modern computers are complex devices, there are a small number of key components from which the majority of computers can be seen to be composed. This module will provide a broad picture of a modern computer, covering hardware and software. The course will teach details of processors, memory, and external storage, concentrating on the internal details of processors and memory. In particular, the course will cover the low level languages (such as assembler) which allow programmers to write elementary programs and communicate directly with the machine, the instruction set architecture (which describes the composition of the processor, and how assembly programs actually effect direct operation of the computer through machine instructions), and finally microprograms, which manage and control the execution of machine instructions on the processor.

Aims

This module aims to teach the basic details and principles of the structure and operation of a modern computer. The main components of a computer will be described broadly, these being memory, processors (control and the datapath), input/output, the software/hardware interface, the concept of high and low level languages, and the connections of such a language hierachy via translation and interpretation.

Objectives

Transferable Skills

The ability to combine factual knowledge with problem solving skills will pervade the course, and will benefit students within academia and in real life computing situations. The course will be designed to ensure students understand how to apply their understanding of computer systems to those not specifically detailed in the module.

Syllabus

Examples throughout the course will be based on the MIPS Instruction Set Architecture, and will also feature the PowerPC, Pentium Pro, Pentium II, UltraSPARC II processors. Some mention will be made of the Java Virtual Machine.

The top level view of a modern computer: memory, processors, input/output, the software/hardware interface, microprograms, instruction set architecture, assembly language and the operating system. The binary number system, elementary logic, and truthtables. Basic digital electronics: the transistor, gates for implementing (Boolean models of) simple logical propositions, and the composition of gates to make more complex circuits; simple memory circuits. The MIPS instruction set, simple MIPS programs, and the interaction of software and hardware via MIPS programs. Binary arithmetic: basic definitions, algorithms for computing arithmetic operations, and implementation of atomic Arithmetic Logic Units (ALUs) via digital circuits. Datapath and control: construction of a datapath via composition of atomic ALUs. Description of MIPS control program. The interaction of the datapath and control to make a processor. Computing performance: the performance equation and Amdahl's law. Measuring performance via benchmarks such as Whetstone and Drhystone, and their limitations. Simple performance improvements: temporal and spatial locality; superscaling and dynamics; cache basics; Miss Penalty reduction via multilevel caches. Processor-peripheral interfacing.

Reading list

Recommended:

Hennessy and Patterson, Computer Organization and Design, Morgan Kaufmann, 1998.

Tanenbaum, Structured Computer Organization, Prentice Hall, 1998 (fourth edition).

Background:

Baron and Higbie, Computer Architecture, Addison Wesley, 1992.

Clements, The Principles of Computer Hardware, Oxford University Press, 1991.

Hayes, Computer Architecture and Organization, 2nd edition, McGraw Hill, 1988.

Hamacher, Vranesic and Zaky, Computer Organization, 4th edition, McGraw Hill, 1996.

MacCabe, Computer Systems, Irwin, 1993.

Mano, Computer System Architecture, 3rd edition, Prentice Hall, 1993.

Willis, Computer Architecture and Communications, 2nd edition, McGraw Hill, 1994.



next up previous
Next: MC117 Operating Systems and Up: Year 1 Previous: MC115 Information Systems
S. J. Ambler
11/20/1999