School of Computer Science

Module 06-19340 (2012)

Computer Systems & Architecture

Level 2/I

Iain Styles Semester 2 10 credits
Co-ordinator: Iain Styles
Reviewer: David Parker

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

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:

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

Teaching methods

2 lectures and 1 exercise class per week


Assessment

  • Sessional: 1.5 hr examination (80%) and coursework (20%)
  • Supplementary: 1.5 hr examination (80%) with the coursework 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