since data can be read /write from/to the microprocessor, hence data bus is bidirectional.
if data is required read from microprocessor then it will be pointing to a memory location by the address bus, by indicating which location data its required to read. similarly to write a data to a location, again the microprocessor will be to that particular location by holding that address in address bus. hence it will be unidirectional.
The control bus is a unidirectional bus because it can receive the data from any kind of inputs and send back the output. This whole process is done by the data buses.
The address bus is unidirectional becos address information is always given by microprocessor to i/o devices. The data bus is bidirectional bcos it takes the data from other devices & also give the data to other i/o devices
An address bus cannot be bidirectional because it is designed to carry signals from the central processing unit (CPU) to memory or I/O devices, specifying the address of the data to be accessed. Allowing bidirectional communication would complicate the bus design and synchronization, as it would require mechanisms to manage which device is sending and receiving data at any given time. This could lead to conflicts and increased complexity in circuit design, which is why the address bus is typically unidirectional.
The control and high order address buses are unidirectional.
A data bus is bidirectional because the processor needs it to both read and write. Also, in the case of the 4004, the data bus was tri-multiplexed with the 12 bit address bus and the 8 bit opcode bus.
A data should be either WRITTEN to a memory or should be READ from a memory (both direction)and so the data bus is bidirectional.
A bus in this context is a data route which can carry data in both directions.
The data bus is used to read or write (hence bi-directional) to the data location selected by the address written on the address bus. You only need to write (one-way) to the address bus to select the data location. It does not make sense to read from the address bus.
A bi-directional buffer includes first and second unidirectional buffers connected for retransmitting signals in opposite directions between first and second buses. When an external bus driver pulls the first bus low, the first unidirectional buffer pulls the second bus low and generates a signal inhibiting the second unidirectional buffer from actively driving the first bus. When the external bus driver allows the first bus to return to the high logic level, the first unidirectional buffer temporarily supplies a high charging current to the second bus to quickly pull it up. Similarly, when an external bus driver pulls the second bus low, the second unidirectional buffer pulls the first bus low and generates a signal inhibiting the first unidirectional buffer from actively driving the second bus. When the external bus driver allows the second bus to return to the high logic level, the second buffer temporarily supplies a high charging current to the first bus to quickly pull it up. The bi-directional buffer includes a register for storing and reading out data representing successive logic states of a signal on the first bus, thereby providing a history of data appearing on the bus
An Address Bus gives the memory instructions on where to place the actual data that it will stored or read. Basically a map location. The Data Bus carries the information that is going to be stored or read using the location that the Address Bus gave to the memory. Address bus is unidirectional while data bus is bi directional
The address bus is unidirectional(only in one direction) in the processor. So, the flow of information on this bus is from the microprocessor to the attached device(memory module).
So that the processor can both read and write data.