Computer Organisation: Hardware, Software and Memory
Computer Organisation: Hardware, Software and Memory examines the CPU, registers, buses, memory hierarchy, storage devices and the classification of software.
Core concepts
The CPU fetches, decodes and executes instructions. Its main parts are the ALU, control unit and registers such as PC, IR, MAR, MBR and accumulators. The machine cycle is fetch–decode–execute. A bus is a group of wires carrying address, data and control signals. Memory hierarchy from fastest/smallest to slowest/largest is registers → cache → main memory → secondary storage. RAM is read/write and volatile; ROM is non-volatile and stores firmware such as BIOS. Secondary storage includes magnetic disks, SSDs and optical media. Software is system software (OS, language translators, utilities) or application software. Firmware is software stored in ROM.
Worked example
A CPU has a 16-bit address bus. How many memory locations can it address? Each address line can be 0 or 1, so 2^16 = 65,536 locations. If each location is one byte, the address space is 64 KB. The reasoning uses the address bus width, not the data bus width; the data bus determines how many bits are transferred at once.
Traps
Cache is faster but smaller than RAM and is volatile. ROM is not read-only RAM; it is non-volatile. A 32-bit data bus does not by itself mean 2^32 addressable bytes. System software is not the same as application software. Registers are inside the CPU, not in main memory.