School of Computer Science

Module 06-19340 (2015)

Computer Systems & Architecture

Level 2/I

Ian Batten Semester 2 10 credits
Co-ordinator: Ian Batten
Reviewer: Iain Styles

The Module Description is a strict subset of this Syllabus Page.

Outline

Principles of computer organisation, architecture and design; the hardware-software interface; control of peripherals; basics of networking.


Aims

The aims of this module are to:

  • provide an understanding of the fundamental concepts and principles of computer architectures
  • introduce the basic components of computer systems, their internal design and operation and their interactions
  • understand how computer hardware and software interact
  • provide a basic understanding of networking sufficient to support programming involving networks in other modules

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. explain and apply the fundamental principles upon which the operation of modern computers is based
  2. demonstrate a knowledge of the structure and organization of computer systems, including the role and operation of each of the component modules
  3. explain and apply the fundamental concepts and issues involved in the control of peripherals, including interrupt-handling
  4. explain the fundamental concepts and issues involved in computer networking, including the need for protocols, addressing and routing
  5. Demonstrate a knowledge of the interaction between software and hardware, demonstrating how programs are executed

Restrictions

None


Pre-requisites

  • 06-28344 - Elements of Functional Computing

Teaching methods

2 lectures and 1 exercise class per week

Contact Hours: 34


Assessment

Sessional: 1.5 hr examination (80%), continuous assessment (20%)

Supplementary (where allowed): 1.5 hr examination (80%) with the continuous assessment mark carried forward (20%)


Detailed Syllabus

  1. Basic concepts
    • Historical Overview
    • Overview of stored program (von Neumann) computer organisation
    • Instruction Sets
    • The Processor Cycle
    • Measuring, predicting, and improving performance
  2. Inside the CPU
    • Basic Device Physics
    • Boolean Algebra and Digital Logic
    • Implementing CPU elements with Digital Logic
    • Pipelining
    • Controlling the CPU
  3. Memory Architecture
    • Memory Design and Construction
    • The Memory Hierachy
    • The Memory Map
    • Caches
  4. I/O and Peripheral Control
    • Buses
    • Memory-mapped I/O
    • Interrupts
    • Direct Memory Access
  5. Hardware/Software Interface
    • What happens during compilation and linking?
    • Machine Code and Assembly Language
    • Generating Code
    • Addressing Modes
  6. Networks
    • Basic Network Topology
    • Network Addressing
    • Routing
    • Network Protocols

Programmes containing this module