System Bus


Have you ever wondered how the microprocessor communicates with the devices connected to it?
Well, there are a group of wires (communication path) between microprocessor and its peripherals (and memory) to carry bits which are known as system bus. The system bus performs the following steps to communicate with the peripheral:
i.        Identify the peripheral or the memory location (with its address).
ii.      Transfer data and instructions in the form of bits.
iii.    Provide timing and synchronization signals.

Bus in microprocessor system


According to the above functions, system bus can be classified into three types which are described below:

Address Bus:
It is a set of wires that is used to transmit address from the microprocessor to its peripheral devices (or memory. It is unidirectional. Each peripheral or memory is identified by its address. This is similar to the postal address of the house. For example, the forty-fifth house in a lane can be identified using two digit number 45 or by four digit number 0045. Similarly, the microprocessor with 16-bit address bus has the capacity of addressing 216 = 65,536 memory locations.

Data Bus:
It is a set of wires used to carry data from microprocessor to its peripherals (or memory) and vice-versa. It is bidirectional i.e. data flow in both directions which can be seen in the given figure. Microprocessor uses the data bus to perform the second function: transferring binary information (Step ii). 8085 microprocessor has multiplexed address and data bus. This means the 16-bit address lines are first, used for addressing memory locations and the contents of lower order bits (AD7-AD0) are latched in the buffer. Then, these lower order address lines are used to transfer data between microprocessor and peripherals (or memory).

Control Bus:
The microprocessor needs to know whether to read or write data from I/O or memory. This function is done by control bus. It is not a group of wires like address and data bus, but individual lines that provide a pulse to indicate microprocessor operation. It is used to transfer control signals to peripherals or memory for timing and control. Various signals in this bus are Memory Read, I/O Write and so on.

Consider a memory read operation as an example. To read an instruction from a memory, the microprocessor places the 16-bit (8085 microprocessor) address on the address bus. The address on the bus is decoded by an external logic circuit and the memory location is identified. The microprocessor sends a pulse called Memory Read as the control signal. The pulse activates the memory chip, and the contents of the memory location (8-bit data for 8085 microprocessor) are placed on the data bus and brought inside the microprocessor.


For details on address decoding circuit, please refer to Ramesh Gaonkar book on 8085 microprocessor.

Comments

Popular posts from this blog

Binary Search

Differences between hardwired and micro-programmed control unit