Skip to main content Skip to navigation

CS132 Computer Organisation and Architecture

CS132 15 CATS (7.5 ECTS) Term 1

Availability

Core - CS, CSE and CSBS.

Academic Aims

To provide students with a fundamental understanding of the functional components of a computer system, and how they are organised. The emphasis of the module is on the hardware aspects of a system, and how hardware is used during the execution of software. This is a core component of all computer science related degree courses. Practical skills will also be developed in the use and construction of computer components, and their interfacing to microprocessors.

Learning Outcomes

By the end of the module a student should be able to:

  • Understand the operation of electronic logic elements
  • Understand the organisation of a computer system in terms of its main components
  • Understand the detailed operation of a simple microprocessor
  • Understand different processor architectures
  • Understand input/output mechanisms
  • Understand the various parts of a system memory hierarchy
  • Have practical experience of prototyping digital circuits
  • Be able to interface digital circuits to microprocessor systems

Content

  • Information: Analog and digital data; number systems including number representations and conversions; binary variables including logic expressions and simplifications of binary variables; binary arithmetic, signed numbers; arithmetic structures, multiple precision arithmetic, floating point representation and manipulation.
  • Logic: Logic expressions, logic gates; Boolean algebra, logical expression simplification; combinatorial logic including implementation of adders/subtractors, multiplexers/de-multiplexers, encoders/decoders; sequential logic including implementation of storage elements, registers, shift-registers; bus structures.
  • Computer Organisation: Microprocessor architecture; instruction cycles, register transfer language (RTL); instruction set and addressing modes; assembly and machine code programming.
  • Input/Output Mechanisms: Parallel I/O; memory-mapped and programmable I/O devices, eg VIA; I/O scheduling including programmed I/O, interrupt driven I/O, direct memory access (DMA); analog I/O.
  • Memory systems: Motivation for memory hierarchy; devices including magnetic tape, floppy disks, disk formats, hard disks, optical data storage; elementary error detection and correction.
  • Processor Architectures: Example combination of ALU, registers, and CPU; instruction set construction; control units including hardwired and microprogrammed control units; performance of microprocessors; RISC/CISC architectures.

Books

  • Clements A, The Principles of Computer Hardware, Oxford, 2006.
  • Burrell M, Fundamentals of Computer Architecture, Palgrave Macmillan, 2004.
  • Tanenbaum AS, Structured Computer Organization, Prentice Hall, 2006.
  • Müldner T, C for Java Programmers, Addison Wesley, 2000.

Assessment

Two-hour examination (60%), two laboratory reports (40%)

Teaching

20 one-hour lectures and 9 two-hour laboratory sessions