A bus which is a collection of wire which transmit data from one part of computer to another, so system bus connects CPU to main memory on the motherboard. Whereas I/O buses which is the branch of system bus connect CPU with the system other components. A system bus is also known by various names like frontside bus, memory bus, local bus or host bus. We can think bus as highway on which data travels in a computer and within it. Sometimes termed as internal bus when used as a reference of personal computers, connects components to CPU and main memory.
Basically bus consist of two parts: address bus which transfer information where data is stored and data bus transfer actual data. Size of a bus is width which determine how much data can transmit at once. Example 16-bit bus can transmit 16 bits of data, whereas as 32-bits bus can transmit 32 bits of data. Bus has a clock speed which is measured in MHz. A fast bus allow data to transfer fast which make an application to run faster. Today all the PCs include local bus for data that require fast transfer speeds such as video card, The buses are directly connected to processor.
Data bus is the most common type of system bus which is used to transfer data from one of the computer component to another. The number of lines in data bus affects the speed of data transfer between the components. A bus consist of 8, 16, 32 or 64 lines. 64 lines data bus means it can transfer 64 bit of data at once. Data buses are bi-directional you can read and write also to and from memory location using these lines
While computers are connected through buses then each component assigned a unique ID which is a address of that component. If one component of the system wants to talk to another component it uses address bus to communicate. This bus is unidirectional carry information or address of data only in one direction. Basically carries address of memory location from microprocessor to the main memory.
This bus is used to control signals from one component to another. Lets take an example to understand the working of control bus, suppose CPU wants to read data from main memory that will use control signals like as acknowledgment signals. Control signals contain Timing Information which specify the time for which a component use data and address bus and Command Signals which specify a type of operation.