A bus in a microprocessor-based system is defined as a group of separate wires which work together to perform a particular task. A microprocessor-based system, or microcomputer, has three buses which combine to transfer information between the microprocessor and other parts of the system, such as memory or input/output devices. Typical tasks performed by these buses include selecting the source or destination location address for a data transfer, actually moving the data from one part of the system to another, and finally, controlling and synchronising the electronic devices involved in the data transfer process.
The three microprocessor buses are called the address bus, data bus and control bus, and these names give a strong clue as to their function:
- Address bus: a group of wires which selects the address of the source/destination for the data transfer. The address bus is an output from the microprocessor.
- Data bus: a bi-directional group of wires used to transfer between the source and destination, one of which will normally be the microprocessor.
- Control bus: a miscellaneous group of wires which is responsible for controlling and synchronising the data transfer process.