Computer Systems
Computer Systems examines the physical and logical structure of a computer: CPU organisation, memory and storage, input/output, data representation, and the operating system's role. Questions often ask you to explain what a component does, not just name it.
Core architecture
- The von Neumann stored-program model stores instructions and data in the same memory; the CPU fetches instructions over buses.
- The CPU contains the ALU (arithmetic/logic), control unit (decodes and coordinates), and registers. Know the PC (address of the next instruction), MAR (address being accessed), MDR (data being transferred), and accumulator.
- Fetch–decode–execute: fetch the instruction at the PC, increment the PC, decode the opcode, execute, and store any result.
- Memory hierarchy: registers, cache (small and fast), RAM (volatile main memory), then secondary storage such as HDD, SSD, or optical media (non-volatile).
- The operating system manages processes, memory, files, and devices, and provides a user interface.
Worked example
Represent −5 in 8-bit two’s complement.
- +5 = 0000 0101.
- Invert the bits: 1111 1010.
- Add 1: 1111 1011. Reasoning: two’s complement lets the same ALU circuits handle addition and subtraction; the leading 1 marks a negative value.
Traps
- Confusing RAM (volatile working memory) with ROM (non-volatile firmware) or with secondary storage.
- Claiming cache is larger than RAM; cache is smaller but faster.
- Using sign-and-magnitude when two’s complement is required, or forgetting the +1 step.
- Saying the PC holds the current instruction; it holds the address of the next instruction.