eComputerTips is reader-supported. When you buy through links on our site, we may earn a small commission without any additional cost to you.
What is Data Bus?
Data bus can be defined as the vehicle that carries data from one point to another. It acts as a communication track between the Central Processing Unit, the memory unit, or two or more connected devices.
From the technical perspective, the data bus can be referred to as a communication channel made from different wires, also called the signal lines, to carry bits of data. It is a part of the system bus.
- Data bus is one of the three parts of a system bus, the other two being address bus and control bus, which carries data to and from memory to the CPU.
- Data is carried either in a serial or sequential mode of bits in a line or simultaneously in several lines depending on the type of the bus.
- These buses can be defined broadly and come in different sizes such as 1 bit, 4 bit, 8 bit, 16 bit, 32 bit and the latest 64 bit and even 96 bit data bus. Wider the bus width, the greater the amount of data it can carry.
- There are basically two types of data buses in a computer system namely internal or local data bus and external data bus where the former connects the internal components of the computer motherboard and the latter connects the motherboard to the external devices connected to the computer.
Understanding Data Bus
Data bus is typically a group of parallel wires that connects different elements of a circuit and each wire carries a different logic signal.
It is connected to the inputs and outputs of different gates but the outputs of the normal gates cannot be connected directly.
A data bus is also known by different names such as:
- A processor bus
- A front side bus and
- A backside bus.
The data bus can transfer data to and from the memory and CPU of the computer, or even between two separate computer systems and therefore it acts more like an ‘engine.’
If the width of the data bus is higher, it can support higher bitrates while exchanging information between two components.
The entire process is coordinated by a bus controller which maintains the speed of data transfer which is essential for a computer system to function properly.
This bus controller was not present in the previous versions of data buses but had plain bundles of wires for connecting the computer memory to different peripheral devices.
Depending on the way data is carried, these buses can operate both in parallel or one at a time.
However, the connections in a parallel bus are more complex than a serial bus because more than one bit of data is carried through it at a time.
Therefore, these buses have more wires to carry data simultaneously.
On the other hand, the serial data buses use only one wire to transfer data to and from different components. This makes them much simpler in design.
In a computer system, there are typically two types of data buses such as:
- Internal or local data bus and
- External data bus.
Here the local data bus refers to that which connects all of the internal components of the computer motherboard.
On the other hand, the external data bus connects the motherboard to all of the peripheral devices connected to the computer system.
In a computer, data is transferred between different components in it or the devices connected to it in binary code or in 0s and 1s through a bus called the data bus.
Usually all the components in the computer and the peripheral devices that are related with data addressing are connected to the data bus.
This ensures that the data transferred is available to the target device.
Originally, the data bus had eight conductors which allowed it to transfer only 8 bits or 1 byte of information.
However, over time, the size and width of the data bus grew bigger from 1 to 16 and then to 32 and finally to 64 and 96 conductors that you typically get today.
The increase in size or width offers more room to the bus to carry a larger volume of data at a time.
There are different types of connectors on the motherboard that allow the peripheral devices to access the data bus. These devices can be any type such as:
- Keyboard and others.
The bus determines which devices need data to be transferred by considering the on/off status of the pins. This status is typically represented by the value represented. If it is 0 it is ON and if it is 1 it is OFF.
The wires of the data bus further simplify the codes signified by the binary numbers that the computer needs to interpret.
This data is then sent to another component within the system or to an output device. These output devices can be of different types such as:
Data and information travels through the bus only when an adequate amount of voltage is applied to the conductors and follows a specific schedule based on the Data Bus Inversion or DBI encoding methods and speed of operation.
In short, data buses are the basic tools in a computer system that helps in transferring data and information on demand from the other systems or the users to ensure the system functions as efficiently as it should.
Working Principle of Data Bus
A data bus typically works on a data oriented software framework. This typically helps in managing data in real time between a set of distributed systems allowing them and the applications to work in perfect harmony as a single integrated system.
The working process of the data bus includes these following steps:
- The data is sent in 8 bits or 1 byte at a time if it is a serial data bus or multiple bits if it is a parallel data bus
- The applications interface directly with the data
- The data is filtered selectively after it is understood by the infrastructure and
- The bus controller regulates the speed of data transfer between the components.
The entire working process is in accordance with the guarantees and rules of the different parameters to maintain the Quality of Service which include reliability, rate of data transfer and security during data flow.
Size of Data Bus
The size of the data bus is primarily determined by the number of lines that are available in the group where each of these lines is able to transfer a single bit of information.
However, in the mainframe, the size or width of the data bus refers to the word length.
Initially, the data bus was only 8 bits. However, over time, with the demand for faster data transmission and in larger volume, this size increased to 16 bits, 32 bits, and 64 bits. Today you may even get a data bus of 96 bits.
You will even get multiplexed data buses where a processor with a data bus width of 32 bits can transmit data over an external data bus of 16 bit width.
These are typically found in the LSI or Large Scale Integration components where the width does not correspond to that of the chips themselves.
These multiplexed data buses are more favored because the number of pins required on the circuit to transfer data is significantly reduced.
Ideally, the wider the data bus, the higher is the data flow which increases the performance potential of the computer system on the whole.
However, data buses that are narrower are less costly to use but it degrades the general performance of the system.
Questions & Answers
What are the Data Bus Examples?
Depending on the connection types, some common examples of parallel data buses are Peripheral Component Interconnect Express or PCIe and Small Computer System Interface or SCSI connections and serial data buses include Universal Serial Bus or USB and Serial Advanced Technology Attachment or SATA FireWire, and SAS or Serial Attached SCSI connections.
Where is the Data Bus?
A data bus is usually located within the computer system or a device. These are actually the circuits on the motherboard which helps to connect it to the other components to the CPU.
However, there are some buses that may not be on the motherboard which are typically called the external data buses.
Why is Data Bus Bidirectional?
A data bus can perform different tasks at different times if the line is more in number. Ideally, only one gate can drive information to the bus line but many of them can receive it and in general, data can flow through the wires of the bus in both directions. This is why the data bus is considered to be bidirectional.
How to Calculate a Data Bus?
You can calculate the data bus size by simply multiplying the value of 2 to the power of the address bus width with the data bus width.
For example, if the address bit width is 32 bits and the data bus width is 16 bits, it will come to about 8 GB of addressable memory according to the formula - (2^32)*16.
How Many Lines Do Data Bus have?
Typically, the number of lines in the group is equal to the width or the word size of the internal data bus.
Since each of these lines can carry one bit of information or only one 0 and one 1, the number of lines in a data bus can be 16, 32, or 64 depending on the bitrates.
For example, in an 8086 processor with a 16 bit word size there will be 16 lines carrying 16 bits of information through the internal data bus.
As you can see, the data bus is an important part of the system bus which transfers data as it is instructed to various parts to function properly.
The wider it is, the better it will be for the performance of the computer system and over time it has grown wider and wider to ensure greater and soother data flow.