Summary 
This module runs throughout the academic year, starting in
Autumn and ending in Spring. The module consists of two
parts. In the first, important elements of computer
architecture are covered including digital logic, computer
arithmetic and instruction set architecture. The approach in
the module is to show how the basic elements of a computer
are constructed and combined to give sophisticated
architectures that support accelerated performance via cache
memory and pipelining. The second half of the module shows
how computing devices can be connected into networks, and
covers the principles of layered protocols, error
detection/correction and reliable transmission over
networks. 
Session 
Academic Year 2017/18 
Credits 
20 
Assessment 
15% coursework and 85% exam, split as follows:
 15% multiplechoice quizzes set by Dirk Sudholt in the
Autumn Semester
 85% Spring Semester examination set by both lecturers
covering material from the whole course.

Lecturer(s) 
Dr Dirk Sudholt & Dr Joab Winkler 
Resources 

Aims 
The aim of this module is to give a fundamental knowledge
and understanding of the basic computer structures that
underlie computer architectures and to demonstrate how
computer systems can be combined effectively into networks.

Objectives 
By the end of this module students should:
 know how to design functional units using
combinatorial and sequential logic;
 understand the computer representation of integer and
floatingpoint numbers;
 understand and be able to describe the components of a
computer system, and the interfaces between them;
 understand the structure of a typical computer
instruction set, and be able to explain the function of
instructions using RTL notation;
 understand and be able to write simple programs in
assembly language;
 understand how system performance can be accelerated
by use of pipelining and cache memory.

Content 
Autumn Semester (Dr Dirk Sudholt)
 Gates and circuits
 Boolean algebra
 Implementing logic
 Sequential circuits
 Computer arithmetic: binary numbers
 Computer arithmetic: floating point
 Instruction set architecture
 The structure of the CPU
 Assembly language programming
 Accelerating performance
 Computer memory
Spring Semester (Dr Joab Winkler)
 Overview of connected and connectionless networks
 Routing algorithms
 Overview of layered protocols
 Error detection and correction
 Algorithms for reliable transmission

Teaching Method 
Lectures, problem classes and laboratory work. 
Feedback 
Students will receive feedback on their solutions to
laboratory exercise sheets and problem sheets. Solutions to
the online quizzes are delivered through the MOLE system
with additional feedback, and can also be discussed with
laboratory demonstrators. 
Recommended Reading 
 A. Clements (2006) Principles of computer hardware.
Oxford University Press
 M. Mano (1992) Computer system architecture (third
edition). Prentice Hall
