No offerings have been identified for this subject in 2016

ITC222 Computer Organisation (8)


This subject provides a study of the organisation and operation of computers through programming at the assembly language level. It introduces the architecture of microprocessors and relates low-level hardware and software organisation to the structures with which students are familiar from their previous knowledge of programming in a high-level language.

+ Subject Availability Modes and Location

Continuing students should consult the SAL for current offering details prior to contacting their course coordinator: ITC222
Where differences exist between the handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Subject information

Duration Grading System School:
One sessionHD/FLSchool of Computing and Mathematics

Assumed Knowledge

ITC106 or ITC129 or ITC140 or ITC421 or ITC429

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to describe and analyse the various software and hardware factors that can impact upon the performance of a computer system;
  • be able to discuss the instruction set of a microprocessor and construct small programs in assembly language for that microprocessor;
  • be able to describe the mechanisms by which user programs interact with kernel services and I/O (Input/Output) devices;
  • be able to describe the actions of an optimising compiler and interpret how these influence high-level language coding techniques.


The subject will cover the following topics:
  • The organisation of a computer as a hierarchy of levels, their inter-relations and the low-level view of computer operation.
  • An instruction set, and its design and use.
  • The use of registers and a comparison of memory-memory, register-memory and load-store architectural models.
  • Procedure calls and the data structures used to support them.
  • How a low-level program is constructed.
  • How data structures are implemented at a low level.
  • The assembly process and the characteristics of a program in memory.
  • Compiler optimisation and coding techniques.
  • Number systems and data representation.
  • The basic arithmetic and logical operations used to manipulate data and the algorithms that they use.
  • The interaction of a user program with the operating system and the hardware including programmed I/O, interrupts and direct memory access.
  • Calculating Central Processing Unit (CPU) performance and performance benchmark issues.
  • Performance-related design issues including instruction-set choice, pipelining, branching techniques and memory hierarchy.
  • Complex Instruction Set Computing (CISC) versus Reduced Instruction Set Computing (RISC) issues.


The information contained in the 2016 CSU Handbook was accurate at the date of publication: 06 September 2016. The University reserves the right to vary the information at any time without notice.