Data bus will obviously be bi-directional, because whenever
we provide some input data for processing by the
microprocessor or microcontroller and any device, we are in
look out for output result which is again a data.
The bidirectional data bus, sometimes called the memory bus, handles the transfer of all data and instructions between functional areas of the computer. The bidirectional data bus can only transmit in one direction at a time.
Basically, the data bus is used to transfer instructions from memory to the CPU for execution. It carries data (operands) "to and from" the CPU and memory as required by instruction translation. The data bus is also used to transfer data between memory and the I/O section during input/output operations.