What is the purpose and role of Address Bus, Data Bus and Control Bus in Microprocessor?
What are the basic differences between them?
Microprocessor as from name micro(10^-6)processor is processing device of every computing or digital device. It is like an artificial brain functioned by the microchip and is a multipurpose, programmable device that uses digital data as input and provides results as an output once it processes the input according to instructions stored in its memory. It needs to communicate with outer world. For that, It needs to communicate with Input devices like mouse and keyboard to get data, it needs to communicate with memory as, I said before process data according to instructions written in memory and finally it needs to communicate with output devices to display the output on O/P devices. To communicate with external world, Microprocessor make use following 3 buses. There are different 3 types of buses used in Microprocessor:
Address Bus: Sometimes refers as physical address. It is a group of wires or lines that used to transfer the addresses of Memory or I/O devices. It is unidirectional. In Intel 8085 microprocessor, Address bus was of 16 bits. And in Intel 8086 microprocessor, Address bus was of 20 bits. This means that Microprocessor 8085 can transfer maximum of 16 bit address which means it can address 65,536 different memory locations. This bus multiplexed with 8 bit data bus. So the most significant bits (MSB) of address goes through Address bus (A7-A0) and LSB goes through multiplexed data bus (AD0-AD7).
Data Bus: As name tells that it used to transfer data within Microprocessor and Memory/Input or Output devices. It is bidirectional as Microprocessor requires to send or receive data. The data bus also works as address bus when multiplexed with lower order address bus. Data bus is 8 Bits long. The word length of a processor depends on data bus, that’s why Intel 8085 called 8 bit Microprocessor because it have an 8 bit data bus. Intel 8086 also have 16 bits of data bus.
Control Bus: Microprocessor uses control bus to process data, that is what to do with the selected memory location. Some control signals are Read, Write and Opcode fetch etc. Various operations performed by microprocessor with the help of control bus. This is a dedicated bus, because all timing signals generated according to control signal.