A bus in a microprocessor-based system is defined as a group of wires which is used to carry information, All the peripherals are connected with the CPU through buses.
A microprocessor-based system or microprocessor has three buses that combine to transfer the information between the CPU and other parts of the computer which are memory, I/O devices. Actually, data is moved from one location to another location in the computer system is passing through buses.
There are 3 types of buses
- Address Bus
- Data Bus
- Control Bus
Address Bus
An address bus is a group of wires which carries the address of devices or memory location. Data is flowing from CPU or microprocessor to memory or I/O devices due to which it’s called unidirectional. Generally, the 8085 microprocessor has a 16-bits address bus(A0-A15). The microprocessor 8085 can transfer a maximum 16-bit address which means it can address 65,536 different memory locations( This memory location is found by using a formula of 2N, Where N is the number of bits used for address lines.
The length of the address bus determines the amount of memory a system can address.
Data Bus
8085 microprocessor has 8 bits data buses. so, it can be used to carry the 8 bits of data starting from 00000000(00H) to 11111111(FFH). Data buses are bidirectional because of data flow in both directions, from the CPU or microprocessor to memory or I/O devices and vice versa.
When it is in the reading operation, the memory controller and I/O controller will get the data from a specific memory block and I/O devices and put it into the data bus.
When it is written operation, the processor will put the data (to be written) on the data bus.
It has 8 parallel lines of data bus so it can access up to 28 =256 data bus lines.
Control Bus
The control bus is used for sending timing and control signals to the memory and I/O devices.
the microprocessor uses a control bus to process data, which is what to do with a selected memory location.
Some control signals are
- Memory read
- Memory write
- I/O read
- I/O Write
- Opcode fetch
If one line of control bus may be the read/write line. If the wire is low (no electricity flowing) then the memory is read, if the wire is high (electricity is flowing) then the memory is written.