UPMSP Intermediate Computer study materials
UPMSP Intermediate Computer study resources

UPMSP Intermediate Computer: Computer Fundamentals and Organization

UPMSP Intermediate Computer · Work through your exam, one topic at a time.

All guide sections

Computer Fundamentals and Organization

Computer Fundamentals and Organization tests whether you can describe a computer as an organised set of functional units, place memories in a hierarchy, and reason about buses and capacity. Questions are usually short-answer: label a block diagram, compare RAM and ROM, or compute addressable memory from an address bus width.

Functional units

A computer has five functional units: input, memory, arithmetic logic unit (ALU), control unit and output. The ALU and control unit together form the CPU. The control unit fetches and decodes instructions and issues control signals; the ALU performs arithmetic and logical operations; registers inside the CPU hold operands and results. Memory stores both program and data, which is the stored-program concept.

Memory hierarchy

From fastest and most expensive to slowest and cheapest: CPU registers, cache, main memory (RAM), then secondary storage such as magnetic disk, SSD and optical media. Cache is small but close to the CPU and reduces average access time. RAM is volatile, so contents vanish when power is removed. ROM is non-volatile and holds firmware such as the bootstrap loader.

Buses and capacity

The data bus carries data and its width sets how many bits move at once. The address bus selects a memory location; with n address lines the CPU can address 2^n locations.

Worked example. A CPU has a 20-bit address bus and a 16-bit data bus with byte-addressable memory. Addressable locations = 2^20 = 1,048,576 = 1 MiB. Reasoning: each distinct address pattern selects one byte, so the number of address patterns, not the data bus width, limits memory size; the 16-bit data bus only means two bytes can be transferred per cycle.

Traps. Do not say the ALU stores data, because registers do. Do not call cache larger than RAM. Keep 1 KiB = 1024 bytes distinct from the decimal 1000 storage vendors use.