Computer Architecture

Registers; ALU and Control Unit; System Buses

C-CAT

Registers

Registers are very fast storage locations inside the CPU. All data must pass through registers before the ALU can process it (in classical designs).

RegisterFull NameFunction
MARMemory Address RegisterHolds address of memory location to access
MDRMemory Data RegisterHolds data being transferred to/from memory
ACAccumulatorHolds intermediate arithmetic/logic results
PCProgram CounterAddress of next instruction to fetch
CIRCurrent Instruction RegisterHolds instruction currently being executed

4.1 Data Flow During LOAD

  1. PC → MAR (address of instruction)
  2. Memory → MDR → CIR (instruction fetched)
  3. Decode: operand address → MAR
  4. Memory → MDR → AC (data loaded)

ALU and Control Unit

5.1 Arithmetic and Logic Unit (ALU)

The ALU performs:

  • Arithmetic: add, subtract, increment, decrement, sometimes multiply/divide

Logic: AND OR, NOT, XOR, compare

Operands typically come from registers (especially AC) and results return to AC or a general-purpose register.

5.2 Control Unit (CU)

The CU controls:

  • ALU operation selection
  • Memory read/write timing
  • I/O read/write
  • Bus signal assertion (RD, WR, etc. on real processors)

It provides timing and control signals so all components stay synchronized with the system clock.

Analogy: ALU is the "calculator"; CU is the "conductor" reading the score (instruction) and telling each section when to play.

System Buses

Buses are shared communication pathways connecting CPU, memory and I/O.

BusWidth (typical)DirectionCarries
Address16–64 bitsUnidirectional (CPU → memory/I/O)Memory addresses only
Data8–64 bitsBidirectionalData and sometimes multiplexed address
ControlFew linesMixedRD, WR, interrupt, clock, etc.

6.1 Address Bus

  • Carries addresses, not data.
  • Unidirectional: CPU (or DMA master) drives addresses outward.
  • Wider bus ⇒ larger directly addressable memory (e.g. 16 lines → 64 KB).

6.2 Data Bus

  • Carries operands, instructions, I/O data.
  • Bidirectional: read fills bus toward CPU; write drives bus from CPU.

6.3 Control Bus

  • Carries commands and status: memory read/write enable, interrupt acknowledge, bus grant, etc.

6.4 Block Diagram (Conceptual)

Keyboard ──┐
 ├──▶ [Data Bus] ◀──▶ CPU ◀──▶ [Address Bus] ──▶ RAM/ROM
Printer ──┘ ▲ │
 └── [Control Bus]
Timer ────────────────┘

Continue learning

Related notes

Put this topic into timed practice

Open mock tests when you want full-exam pacing, or keep drilling in practice mode.