![[The University of Leicester]](http://www.le.ac.uk/corporateid/departmentresource/000066/unilogo.gif) | Department of Mathematics & Computer Science |
 |
Next: MC117 Operating Systems and Networks
Up: Year 1
Previous: MC115 Information Systems
MC116 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, 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
- Students will have broad knowledge of memory, processors,
input/output, the software/hardware interface, and the language
hierachy.
- Students will have broad knowledge of binary numbers,
propositional logic, and
implementation via digital circuits. The ability to solve problems in
arithmetic, truth tables, and circuit construction.
- Knowledge of the
MIPS instruction set, and ability to write simple programs.
- Ability to understand and manipulate binary arithmetic
algorithms, and to design simple implementations.
- Knowledge of datapath and control, and the make up of a
processor. Students will have factual knowledge of the processors
listed above.
- An understanding of computer
performance, such that students can manipulate performance equations
to make informed comparisons of processors and languages.
- Students will understand how to improve performance, and the
underlying ideas behind performance.
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: MC117 Operating Systems and Networks
Up: Year 1
Previous: MC115 Information Systems
Author: S. J. Ambler, tel: +44 (0)116 252 3884
Last updated: 10/4/2000
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.