Computer Buses

Computer Buses

  • Definition: Electronic pathways for high-speed communication between the CPU, memory, and other devices.
  • Function: Facilitate data and instruction transfer throughout the computer system.

Types of Buses

  • System Bus (Internal Bus):
    • Connects the CPU to main memory (RAM).
    • Initially a single bus (Von Neumann architecture) led to bottlenecks.
    • Modern systems use three separate buses:
      • Data Bus: Moves data between the CPU, main memory, and registers. It is bidirectional.
      • Address Bus: Carries memory addresses of data locations. It is unidirectional (CPU to RAM).
      • Control Bus: Transmits instructions (e.g., read, write) between components. It is unidirectional (CPU to RAM).
  • Expansion Bus (External Bus):
    • Connects the CPU to input/output (I/O) devices (via ports).
    • Managed by a bridge that connects it to the system bus.
    • Communication is generally slower than the system bus.

Bus Characteristics

  • Bus Width (Word Size):
    • Refers to the number of wires in a bus; each wire transmits one bit of information at a time.
    • A larger bus width allows more data to be transmitted simultaneously, increasing system speed.
    • A system's "x-bit" designation (e.g., 32-bit system) usually indicates its word size, meaning the register size, data bus size, and address bus size are all x bits.
  • Impact of Word Size on RAM: The word size, specifically the address bus width, determines the maximum amount of RAM a system can directly address.
    • Maximum addressable locations = 2^{ ext{number of bits in address bus}}.
    • Examples (assuming 1 byte per addressable location):
      • 8-bit address bus: 2^8 = 256 bytes maximum RAM.
      • 16-bit address bus: 2^{16} = 65,536 bytes (64 KB) maximum RAM.
      • 32-bit address bus: 2^{32} \approx 4.3 billion addresses (4 GB) maximum RAM.
      • 64-bit address bus: 2^{64} addresses maximum RAM.

Data Flow

  • Unidirectional: Data moves in one direction only (e.g., Address Bus, Control Bus).
  • Bidirectional: Data can move in both directions (e.g., Data Bus, allowing data to be written to or read from memory).