Bus Fundamentals

Bus Fundamentals

1. The Basic Concept of a Bus

Bus Definition

Bus:

  • A transmission path shared by several components
  • Carries data, addresses, and control information
  • An essential part of a computer system

Characteristics of a bus:

  • Sharing: several components share the same bus
  • Time sharing: only one component may use the bus at a given moment
  • Standardisation: follows unified standards and protocols

Bus Functions

Data transfer:

  • Transfers data among the CPU, memory, and I/O devices
  • Supports different data widths
  • Guarantees the reliability of data transfer

Address transfer:

  • Carries memory addresses and I/O addresses
  • Determines the target location of a data transfer
  • Supports address expansion

Control signal transfer:

  • Carries read/write control signals
  • Carries timing control signals
  • Carries interrupt and DMA signals

2. Classification of Buses

By Function

Data bus:

  • Transfers data information
  • Transfers in both directions
  • Its width determines the data transfer efficiency

Address bus:

  • Transfers address information
  • Transfers in one direction (CPU → peripheral)
  • Its width determines the addressable range

Control bus:

  • Transfers control signals
  • Includes read/write, interrupt, DMA and other signals
  • Coordinates the work of the components

By Connection Scope

System bus:

  • Connects the CPU, memory, and I/O controllers
  • A high-speed bus
  • For example: the front-side bus (FSB)

I/O bus:

  • Connects I/O devices and I/O controllers
  • A medium-speed bus
  • For example: PCI, PCIe

Communication bus:

  • Connects communication devices
  • A low-speed bus
  • For example: USB, serial ports

Memory bus:

  • Connects the CPU and memory
  • A dedicated high-speed bus
  • For example: the memory bus

3. The Composition of a Bus and Its Performance Metrics

Bus Composition

Transmission lines:

  • Data lines: transfer data information
  • Address lines: transfer address information
  • Control lines: transfer control signals
  • Power lines: supply power
  • Ground lines: provide the reference ground

Interface circuits:

  • Transceiver: sends signals onto the bus
  • Receiver: receives signals from the bus
  • Driver: strengthens the signal
  • Buffer: isolates and buffers the signal

Arbitration logic:

  • Bus arbiter: decides who owns the bus
  • Priority logic: determines the priority of the devices
  • Collision detection: detects bus conflicts

Performance Metrics

Bandwidth (data transfer rate):

  • The amount of data transferred per unit of time
  • Unit: MB/s, GB/s
  • Impact: the overall performance of the system

Bus width:

  • The number of bits on the data bus
  • 8 bits, 16 bits, 32 bits, 64 bits, and so on
  • Impact: the amount of data moved in a single transfer

Bus frequency:

  • The operating frequency of the bus
  • Unit: MHz, GHz
  • Impact: the speed of data transfer

Loading capability:

  • The number of devices the bus can connect
  • Limited by its drive capability
  • Impact: the expandability of the system

4. Bus Operations and Timing

Synchronous Timing

Basic concept:

  • There is a unified clock signal
  • All operations proceed synchronously on clock edges
  • The timing relationships are simple and explicit

Characteristics:

  • Advantages: simple timing, simple control
  • Disadvantages: constrained by the clock frequency
  • Applications: high-speed buses

Timing control:

  • Rising clock edge: the data is valid
  • Falling clock edge: the data is stable
  • Requirements on setup time and hold time

Asynchronous Timing

Basic concept:

  • There is no unified clock signal
  • Operations are coordinated by handshake signals
  • Devices communicate with each other directly

Characteristics:

  • Advantages: adapts to devices of different speeds
  • Disadvantages: complex control, slower operation
  • Applications: connecting low-speed devices

Handshake protocol:

  • Request signal: the requester issues the request
  • Acknowledge signal: the responder issues the acknowledgement
  • Completion signal: confirmation that the operation has finished

5. Common Bus Standards

System Buses

Front-side bus (FSB):

  • Connects the CPU and the northbridge chip
  • A high-speed synchronous bus
  • Its frequency can reach several GHz

Memory bus:

  • Connects the CPU and memory
  • A dedicated high-speed bus
  • Supports dual-channel and quad-channel configurations

I/O Buses

PCI bus:

  • A parallel bus standard
  • 32-bit / 64-bit data width
  • Frequency 33MHz / 66MHz

PCIe bus:

  • A serial bus standard
  • Point-to-point connection
  • High speed, low latency

USB bus:

  • A universal serial bus
  • Supports hot plugging
  • Compatible across multiple versions

Communication Buses

Serial bus:

  • RS-232, RS-485
  • Point-to-point communication
  • Long-distance transmission

Parallel bus:

  • IEEE-488
  • Multi-device connection
  • High-speed data transfer

6. Bus Arbitration

Arbitration Methods

Centralised arbitration:

  • A dedicated arbiter
  • A unified priority rule
  • Simple control

Distributed arbitration:

  • Each device arbitrates on its own
  • Based on priority or time slices
  • Complex control

Priority Strategies

Fixed priority:

  • The priority of the devices is fixed
  • Simple but possibly unfair
  • Suitable for real-time systems

Round-robin priority:

  • Priority is handed out in turn
  • Fair but less efficient
  • Suitable for time-sharing systems

Dynamic priority:

  • Priority is adjusted according to the waiting time
  • Balances efficiency and fairness
  • Suitable for multitasking systems

Exercises

Exercise 1

Briefly describe the basic concept of a bus and its main functions.

Bus BasicsBus FunctionsData Transfer

Approach: Define what a bus is first, then enumerate the three categories of information it carries together with the coordination role, so that the answer covers both “what it is” and “what it does”.

Steps:

  1. The basic concept of a bus:
    • A transmission path shared by several components
    • Carries data, addresses, and control information
    • An essential part of a computer system
  2. Data transfer:
    • Transfers data among the CPU, memory, and I/O devices
    • Supports different data widths
    • Guarantees the reliability of data transfer
  3. Address transfer:
    • Carries memory addresses and I/O addresses
    • Determines the target location of a data transfer
    • Supports address expansion
  4. Control signal transfer:
    • Carries read/write control signals
    • Carries timing control signals
    • Carries interrupt and DMA signals
  5. Coordination:
    • Coordinates the work of the components
    • Manages who owns the bus
    • Handles bus conflicts

Answer: A bus is a transmission path shared by several components that carries data, address, and control information, and it is an essential part of a computer system. Its main functions are data transfer among the CPU, memory, and I/O devices, address transfer that determines the target of a transfer, control signal transfer that carries read/write, timing, interrupt, and DMA signals, and coordination that manages bus ownership and resolves conflicts.

Exercise 2

What are the differences between the data bus, the address bus, and the control bus?

Data BusAddress BusControl Bus

Approach: Compare the three buses on the same four axes — function, direction, width or type, and characteristic — and then state how they cooperate in one complete transfer.

Steps:

  1. Data bus:
    • Function: transfers data information
    • Direction: transfers in both directions
    • Width: determines the data transfer efficiency
    • Characteristic: carries the actual data content
  2. Address bus:
    • Function: transfers address information
    • Direction: transfers in one direction (CPU → peripheral)
    • Width: determines the addressable range
    • Characteristic: specifies the target location of a data transfer
  3. Control bus:
    • Function: transfers control signals
    • Direction: transfers in both directions
    • Type: includes read/write, interrupt, DMA and other signals
    • Characteristic: coordinates the work of the components
  4. How they relate:
    • The three buses work together
    • The address bus specifies the location, the data bus carries the data, and the control bus coordinates the operation
    • Together they carry out a complete data transfer

Answer: The data bus carries the data itself in both directions and its width sets the transfer efficiency; the address bus carries addresses in one direction from the CPU to the peripheral and its width sets the addressable range; the control bus carries control signals such as read/write, interrupt, and DMA, and it coordinates the components. They work as a team: the address bus says where, the data bus moves the data, and the control bus says when.


Glossary

TermAbbreviationExplanation
Bus-A shared information channel that connects multiple components
Internal bus-The bus inside the CPU chip
System bus-The bus between the CPU, main memory, and I/O
Communication bus-The communication bus between computers
Data bus-The bus that transfers data
Address bus-The bus that transfers addresses
Control bus-The bus that transfers control signals
Bus width-The number of bits on the data bus
Bus bandwidth-The amount of data the bus transfers per unit of time
Bus cycle-The time taken by one bus operation
Bus transaction-One complete bus operation
Bus arbitration-The adjudication when several bus masters compete for the bus
Bus master-A device that can initiate a bus transfer
Bus slave-A device that responds to a bus transfer
Centralised arbitration-The centralised form of bus arbitration
Distributed arbitration-The distributed form of bus arbitration
Daisy chain-The daisy-chain form of bus arbitration
Counter timer query-Arbitration by counter and timed query
Independent request-The independent-request form of arbitration
Synchronous bus-A bus controlled by a unified clock
Asynchronous bus-A bus controlled by handshake signals
Semi-synchronous bus-A bus that combines synchronous and asynchronous timing
Split transaction bus-A bus that separates the request from the response
Burst transfer-The transfer of a block of data over consecutive addresses
Peripheral Component InterconnectPCIThe standard local bus
PCI ExpressPCIeThe high-speed serial bus standard

Found an issue with this content?

Tell us what could be improved.