Close Menu


Course Title: 
Computer Systems Organisation
Educational Level: 
Semester offered: 
Associated Programme: 
B.Sc. CS
Core Course: 
Course Aims: 

This course aims to introduce students to the principles behind the organization of a computing system.

  • It identifies the primitive building blocks from which computers are built, and describes how information is represented physically.
  • It describes the techniques used to control the complexity of building increasingly sophisticated components from simpler ones.
  • item It makes explicit the relationship between instruction execution and changes in hardware state.

In addition to these architectural concerns, the course discusses some of the techniques used by the operating system to manage the hardware for use by applications. It also discusses the interfaces to some common peripheral devices, such as video displays, network controller cards, keyboards and mice.

  • Data Representation and Digital Logic: Overview of the history of the digital computer; Introduction to digital logic (logic gates, flip-flops, circuits); Representation of numeric data (floating point); Range, precision, and errors in floating-point arithmetic; Characters, pointers, strings, composite data (arrays, lists, objects).
  • The Microarchitecture Level: The functional units of the processor (adders, ALU’s, registers, buses); Data paths, microinstructions, the control unit; Hardwired controllers and micro-coded controllers. 
  • Instruction Set Architectures: Introduction to instruction set architecture, microarchitecture and system architecture; Processor architecture (instruction types, register sets, addressing modes); Processor structures (memory-to-register and load/store architectures); Instruction sequencing, flow-of-control, subroutine call and return mechanisms; Structure of machine-level programs; Limitations of low-level architectures; Low-level architectural support for high-level languages; Translation (compiling, assembling, linking, loading).
  • Peripherals and Protocols: I/O fundamentals: handshaking and buffering; polling; Interrupt mechanisms: vectored and prioritized, interrupt acknowledgment; Buses: protocols, arbitration, direct-memory access (DMA), Examples of modern buses: e.g., PCIe, USB, HyperTransport  
  • Memory: Storage systems and their technology (semiconductor, magnetic, optical); Memory hierarchy, latency and throughput; Cache memories: operating principles, replacement policies, multilevel cache, cache coherency; Storage standards (CD-ROM, DVD); Sound and audio, image and graphics, animation and video; Multimedia standards (audio, music, graphics, image, telephony, video, TV); The significance of power dissipation and its effects on computing structures
  • Input/Output Devices: Input devices: mice, keyboards (text and musical), scanners, touch-screen, voice; Video displays and printers; Input transducers (temperature, pressure, position, movement). 
  • Parallelism: Processor and system performance measures and their limitations ; Instruction pipelining and instruction-level parallelism (ILP); Superscalar architectures; vector processors; array processors; VLIW; Multicore and multithreaded processors; GPU’s and special-purpose graphics processors; Flynn’s taxonomy (Multiprocessor structures and architectures); Amdahl’s law. 
Course Assessment: 
  • Final Written Examination (2 hours) 50%
  • Coursework: 50% 
    • 5 Quizzes     5%
    • 1 In-course Test 10%
    • 6 Laboratories 15%
    • 2 Assignments 20%

Students will be required to pass both the coursework and the final examination to pass the course.

Course Prerequisites: 

COMP1126 - Introduction to Computing I,

COMP1127 - Introduction to Computing I,

COMP1161- Object-Oriented Programming AND COMP1210 - Mathematics for Computing.

Top of Page