[The University of Leicester]

Department of Mathematics & Computer Science



Next: CO1017 Operating Systems and Networks Up: Level 1 Previous: CO1015 Information Systems

CO1016 Computer Systems


CO1016 Computer Systems

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

Prerequisites:
Assessment: Coursework: 30% Three hour exam in January: 70%
Lectures: 36 Problem Classes: 12
Tutorials: none Private Study: 90
Labs: none Seminars: none
Project: none Other: none
Surgeries: 12 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 and the memory hierarchy, processors (control and the datapath), the software/hardware interface, the concept of high and low level languages, and the relationship of high and low level languages via translation and interpretation.

Objectives

You will have:

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.

The top level view of a modern computer: memory, processors, the software/hardware interface, microprograms, instruction set architecture, assembly language and the operating system.

The binary number system, elementary logic, and truthtables. Binary arithmetic: basic definitions, algorithms for computing arithmetic operations. 2s-complement integers, overflow and correctness.

Basic digital electronics: gates for implementing (Boolean models of) simple logical propositions, and the composition of gates to make more complex circuits. Multiplexors, decoders, and related circuits. Clocks. Implementation of atomic Arithmetic Logic Units (ALUs) via digital circuits. Construction of a 32-bit ALU. Simple memory circuits, including caches. Register files.

The MIPS instruction set and simple MIPS programs. A subset of the MIPS language treated in detail at the assembly and machine levels. Semantics, machine fields, branch calculations, and assembly/machine translations.

Construction of a simple 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.

Reading list

Recommended:

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

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

Stallings, Computer Organization and Architecture, Prentice Hall, 2000 (fifth edition).

Background:

Carpinelli, Computer Systems: Organization and Architecture, Pearson (Addison Wesley),2001.

Clements, The Principles of Computer Hardware, Oxford University Press, 2000 (third edition).

Englander, The Architecture of Computer Hardware and Systems Software, Wiley, 2000.

Hayes, Computer Architecture and Organization, 3rd edition, McGraw Hill, 2000.

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.

Williams, Computer Systems Architecture, Pearson (Addison Wesley), 2001.

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



Next: CO1017 Operating Systems and Networks Up: Level 1 Previous: CO1015 Information Systems

[University Home] [MCS Home] [University Index A-Z] [University Search] [University Help]

Author: S. J. Ambler, tel: +44 (0)116 252 3884
Last updated: 2002-07-11
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.