Skip to main content

Session 1.1 - Overview and Modelling

Learning Objectives
  • Explain what a computer system is and how its parts transform inputs into outputs.

  • Identify the roles of the CPU, memory, storage, I/O devices and system buses.
  • Describe how the CPI executes instructions through the fetch, decode, and execute cycle.
  • Introduce simple ways to measure the efficiency and speed of algorithms without using detailed Big O Notation.
  • Practice expressing simple processes in pseudo code and reasoning about their efficiency in clear everyday language.
What is a Computer System?
  • A computer system is made up of hardware, software and data which works together to transform inputs into outputs.
  • Hardware includes the CPU, memory such as RAM and cache, storage such as SSDs or Hard Drives (HDDs), input and output devices (I/O) and system busses.
  • Software such as the operating system and applications orchestrates the hardware and schedules work.
  • Data consists of instructions and values encoded as bits which flows through the system.
  • For example, a key press travels through an OS driver to an application, triggers processing in the CPU, updates memory and changes pixels on the screen.
Central Processing Unit (CPU)

The control unit directs the instruction cycle of fetch, decode, execute and write back. The arithmetic logic unit (ALU) performs arithmetic and logical operations on machine word sized data.

Registers provide very small and incredibly fast storage for any current instructions, operands and results. The clock synchronises operations and overall throughput depends on cycles per second and instructions per cycle. 

The word size, for example 64 but, defines how wide the ALU and registers operate and how much memory can be directly addressed.