Data flow is always bidirectional my friend, don't confuse.
Relays are bidirectional devices.
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.
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.
Its not, a diode is unidirectional.
Bidirestional
The arc is the line that connects two nodes in a network. There are two kinds of arcs; unidirectional and bidirectional. Unidirectional means the flow is in one direction (if you are studying for example the water supply system in a city). Bidirectional means the flow is in both directions. Network models are very helpful to simplify real problems.
A unidirectional amplifier & a Bidirectional amplifier
Unidirectional TVS: A TVS device with asymmetrical current versus voltage (I−V) properties. A unidirectional TVS is best suited for protecting circuit nodes whose signals are unidirectional or always above or below the reference voltage, usually ground. Bidirectional TVS: A TVS device with symmetrical I−V properties. A bidirectional TVS is best suited for protecting electrical nodes whose signals are bidirectional or can have voltage levels both above and below the reference voltage, usually ground
The optical fiber can be used both as unidirectional and bidirectional. The main application of optical fiber is in long-distance links, so there exists no need to employ them as unidirectional. For each direction different wavelengths are used to modulat the signals. At the same time many bidirectional signals can travel through the same optical fiber.
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
Unidirectional buffer allows data to flow in only one direction, either from input to output or from output to input. Bidirectional buffer allows data to flow in both directions, enabling communication between two devices or systems bidirectionally.
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.