In Computing, a bus is a set of signal pathways that, as we have already alluded to, allow information and signals to travel between components inside or outside of a computer. The purpose of buses is to reduce the number of "pathways" needed for communication between the components, by carrying out all communications over a single data channel. There are generally two primary buses within a computer as follows:
Internal bus
The internal bus is also called the front-side bus, or FSB. The internal bus allows the processor to communicate with the system's central memory, the RAM.
Expansion bus
The expansion bus (sometimes called the input/output bus) allows various motherboard components like USB, serial, and parallel ports, cards inserted in PCI connectors, hard drives, CD-ROM and CD-RW drives, etc. to communicate with one another. However, it is mainly used to add new devices using what are called expansion slots connected to the input/outpur bus.
In reality, each bus is generally constituted of 50 to 100 distinct physical lines, divided into three subassemblies as follows:
Address bus
An address bus, also called the memory bus, is a computer bus that is used to specify a physical address. When a processor or DMA-enabled device needs to read or write to a memory location, it specifies that memory location on the address bus (the value to be read or written is sent on the data bus). The width of the address bus determines the amount of memory a system can address. For example, a system with a 32-bit address bus can address 232 (4,294,967,296) memory locations. If each memory address holds one byte, the addressable memory space is 4 GB.
Data bus
A data bus is a computer subsystem that allows for the transferring of datad from one component to another on a motherboard or system board, or between two computers. This can include transferring data to and from the memory, or from the CPU, central processing unit to other components. Every data bus is designed to handle so many bits of data at a time. The amount of data a data bus can handle is called bandwidth.
Control bus
The control bus or command bus transports orders and synchonisation signals coming from the control unit and travelling to all other hardware components. It is a bidirectional bus, as it also transmits response signals from the hardware.
Finally, you should also know that the chipset, the component which routes data between the computer's buses, so that all the components which make up the computer can communicate with each other.