Bus Structure & Control Signals of 8085 Microprocessor (Part 1)
Microprocessor (Part 1)
The 8085 microprocessor uses a bus structure to connect its internal parts to external memory and peripheral devices. It is essential to know the bus architecture in order to understand how the microprocessor communicate and performs instructions. The bus structure of the 8085 microprocessor is categorized into three broad groups:
i) Address Bus,
ii) Data Bus, and
iii) Control Bus, along with additional Control and Status Signals.
Figure 1 shows the bus structure of 8085 microprocessor.
Fig. 1: Bus Structure of 8085 Microprocessor
i) Address Bus
The address bus is a set of wires or pins that the CPU uses to send the address of a memory location or an I/O device it wants to interact with to.
a) Width: The address bus of the 8085 microprocessor is 16 bits wide. This width allows the microprocessor to generate a range of addresses from 0000H to FFFFH, enabling it to access 64KB (65,536 bytes) of memory space.
- 16 lines → A0 to A15.
- This means the 8085 can generate 16-bit addresses from 0000H to FFFFH.
b) Function: The primary function of the address bus is to carry the address of the memory location or I/O device that the microprocessor intends to communicate with. During a memory or I/O operation, the microprocessor places the address of the required location on the address bus.
- Inform the system where to read from or write to.
- It does not carry data or instructions — only the location.
c) Unidirectional: The address bus is unidirectional, meaning the flow of information is only from the microprocessor to the external devices. This ensures that only the microprocessor can specify an address, and external devices do not send address information back to the microprocessor.
- Unidirectional → Information flows from CPU to memory/I/O only.
- Memory never sends an address back to the CPU.
Figure 2, shows the operational sequence of address bus.
Fig. 2: Address bus operational sequence of 8085 microprocessor.
ii) Data Bus
- The data bus is the set of lines used to transfer actual data between the CPU, memory, and I/O devices.
- Unlike the address bus, it carries the contents (data or instructions), not the location.
a) Width: The 8085 microprocessor’s data bus is 8 bits wide, which means it can move 8 bits of data (1 byte) at a time between the microprocessor and external memory or I/O devices.
- 8 lines, from D0 to
- This means that the 8085 is an 8-bit microprocessor, which is also known as the word length of a microprocessor. It can handle 8 bits of data at once.
b) Function: The data bus carries the actual data being processed or sent. It may transport data from memory or an I/O device to the CPU as well as data from the microprocessor to memory or an I/O device.
The information carries by data bus may be:
- An instruction (opcode) fetched from memory.
- An operand (like a number to be added).
- A result to be stored back.
c) Bidirectional: The data bus is bidirectional, unlike the address bus. It can transfer data in both directions – the microprocessor can send data to external devices or external devices can send data to the microprocessor.
Take a read operation, for example. In a read from memory to the microprocessor, the data travels from the memory to the microprocessor. In a write operation from the microprocessor to memory, the data travels from the microprocessor to the memory.
Bidirectional → Data can move to or from the CPU.
- CPU → Memory/I-O (Write operation)
- Memory/I-O → CPU (Read operation)
d) Operation: The data bus is used for transferring data during various operations such as arithmetic calculations, data transfer, and input/output operations.
Figure 3, shows the data bus operation.
Fig. 3: Data bus operation of 8085 microprocessor