Skip to content
BetterDL

Bus

Also called: shared bus, bus lines, system bus

A set of shared wires that carries a group of related signals, such as an address or a data word, between the parts of a digital system.

A bus is a group of wires treated as one path, carrying one multi-bit value: an address, a data word, a set of control signals. Its width is the number of wires. An 8-bit data bus has 8 wires, D7–D0.

In a simple computer there are three:

  • the address bus, from the processor to every memory chip (address lines)
  • the data bus, carrying words in both directions
  • the control bus: chip selects, read/write and the like

What makes a bus a bus is sharing. Many chips connect to the same wires, so connecting a new chip costs no new wiring. The price is a rule: at any moment, only one device may drive the bus. Everyone else either listens or keeps its outputs at high impedance with tri-state buffers. Breaking the rule is bus contention.

Widths are independent. A memory system might have a 16-bit address bus (64K addresses) and an 8-bit data bus (bytes), because the address width counts words and the data width is the word size.

Inside a CPU, buses connect registers, the ALU and memory interface in the datapath.

1
128
0
64
1
32
1
16
0
8
1
4
0
2
0
1

Worked example

Example

Who drives the data bus?

A RAM, a ROM and an I/O chip share an 8-bit data bus. The processor reads address 2000₁₆, which belongs to the RAM.

  1. 1.

    The address decoding activates the RAM's chip select only.

  2. 2.

    The RAM enables its tri-state outputs and drives the stored word, say 10110100, onto D7–D0.

  3. 3.

    The ROM and I/O chip keep their outputs at Z.

  4. 4.

    The processor latches 10110100 from the bus. When the read ends, the RAM lets go too.

Common mistakes

  • Thinking a bus is a single wire. A bus is a group of wires, one per bit.

  • Letting two devices drive the same bus at once. Only one driver may be enabled at a time.

  • Assuming the address and data buses must be the same width. One counts words, the other is the word size.

Practice Bus

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Bus is taught in Memory and Basic CPU / Computer Architecture.