Next: Computer Security
Up: Descriptions of Courses and
Previous: Computer Communications
Contents
Subsections
Here are links to the
course home page
and
the formal TQA
description.
NOTE: Owing to constraints on laboratory space, this module is
limited to 100 students. Visiting students must obtain the
permission of the course lecturer before taking this course, unless it
has already been agreed before entry to the University. The
places will be allotted first come, first served to degree students.
This course is designed to provide an understanding of the different ways
computers can be analysed and designed, starting with
the basic logic elements you are familiar with (NAND, NOR etc.).
The course does not (mostly) look at
the differences between machines with different types of instruction set, nor
does it cover design techniques for extracting maximum performance
from computers - these aspects of computer hardware are often referred to
as computer architecture, and are covered in the Inf3 course of
that name. The
issues and techniques covered in the Computer
Design course are relevant to the design of
all computers, regardless of their particular architecture.
The course splits fairly well into three sections. By the end of the first
section
(
6 lectures) you should be able to design combinational and sequential
logic blocks using a variety of design techniques and implementation
methods, be able to choose suitably between the various design and
implementation options, and be able to analyse other people's designs;
by the end of the second section (
6 lectures), you should
be able to analyse and design systems of the complexity of a simple CPU
or I/O controller;
and by the end of the course, you should be able to analyse and design
at the level of a computer capable of executing assembly code and performing
I/O.
- Introduction
- Levels of abstraction in
computer design.
- Logic Design
- Combinational logic design: 1 & 0 points,
maxterms, minterms, canonical
forms, Karnaugh maps, implicants, prime implicants, essential prime implicants,
hazards, implementations (SSI, MSI, programmable logic).
Sequential logic design: SR latch, flip-flops: level- and
edge-triggerred, D- and JK-type, Huffman model,
Moore and Mealy machines,
sequential machine design procedure, examples, implementations
(SSI, MSI, programmable logic).
- Processor Design
- Data path and control. Fixed program controllers:
example and design procedure. Instruction set processors: data
path design, simple control, microprogrammed control, pipelining.
ALU design: addition -- ripple carry and look ahead adders,
negative numbers & subtraction. Multiplication -- sequential multiplier,
modification for 2's complement, combinational multiplier, division.
Floating point numbers: fp addition, multiply and divide, implementations.
- Memory Design
- Byte vs. word addressing,
memory system design, error detection and correction.
- I/O Design
- I/O controller design.
Connection of I/O controllers to CPU,
synchronization of I/O and CPU -- polling, interrupts.
Direct Memory Access -- bus arbitration, DMA controller implementation. I/O
processors. Synchronous and asynchronous buses
The coursework mark is based entirely on the
hardware lab practicals - from 2 to 5 one
afternoon a week from week 2 to week 9 of the first semester. The practicals in
the hardware lab are
designed to give you familiarity with design techniques covered in the
course. Students work in pairs on the first two exercises and individually
on the third of three exercises.
References:
** V. C. Hamacher, Z. G. Vranesic & S. G. Zaky
Computer Organization, fifth edition,
McGraw-Hill, 2001. Covers almost all the syllabus (and more). Similar
in approach to the lectures.
** D. A. Patterson & J. L. Hennessy Computer Organization
& Design: The Hardware/Software Interface, second edition,
Morgan Kaufmann, 1998. A different view of most of the material
in the syllabus, and a lot of other interesting stuff.
* M. M. Mano Digital Design, second edition, Prentice-Hall,
1991. A very good book on logic design, with much more coverage of
that part of the syllabus than the previous two books.
* A. S. Tanenbaum Structured Computer Organization,
fourth edition Prentice-Hall, 1999. More a CS2 level book, but
worth referring to.
Next: Computer Security
Up: Descriptions of Courses and
Previous: Computer Communications
Contents
Colin Stirling
2006-01-05