A bus is a pathway for digital signals to rapidly move data. There are three internal buses associated with processors: the data bus, address bus, and control bus. Together, these three make up the “system bus.” The system bus is an internal bus, intended to connect the processor with internal hardware devices, and is also called the “local” bus, Front Side Bus, or is sometimes loosely referred to as the “memory bus.”
Data moving in and out of the data bus is bi-directional, since the processor reads and writes data, however, the others are uni-directional, since the processor always determines when and what it will read from or write to. The address bus carries addressing signals from the processor to memory, I/O (or peripherals), and other addressable devices around the processor. Control signals move out of the processor, but not in to it.
The data bus “width” of an MCU is typically 8-, 16-, 32- or 64-bits, although MCUs of just a 4-bit data bus or greater than 64-bit width are possible. The width of the data bus reflects the maximum amount of data that can be processed and delivered at one time. A 64-bit processor has a 64-bit data bus and can communicate 64-bits of data at a time, and whether the data is read or written is determined by the control bus. The physical location of the data in memory is carried by the address bus. An internal hardware component, having received the address from the address bus and about to receive the data, enables a buffer to allow the flow of signals to or from the location that was designated by the address bus. The address bus carries only the information regarding the address, and is synchronized with the data bus to accomplish read/write tasks from the processor. The address bus is only as wide as is necessary to address all memory in the system.
Other communication buses also communicate with the processor but are external to the system, such as Universal Serial Bus, RS-232, Controller Area Network (CAN), eSATA, and others. External peripherals may be set up to use the internal bus, and this was common with computers that used “expansion cards” to connect products to the internal bus. However, with one card per device this became untenable for the long term, and other bus communication systems such as USB were developed.
A system bus can be “extended” to communicate with other computers via a chassis called a backplane. Internal buses have very rapid throughput and low latency. Several computers can be rack-mounted in a single backplane for very fast communication between computers.