School of Computer Science

Module 06-19340 (2014)

Computer Systems & Architecture

Level 2/I

Iain Styles Semester 2 10 credits
Co-ordinator: Iain Styles
Reviewer: Mirco Musolesi

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-22754 - Foundations of Computer Science

Teaching methods

2 lectures and 1 exercise class per week

Contact Hours: 34


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