The 8086 processor provides a 16 bit data bus. So It is capable of transferring 16 bits in one cycle but each memory location is only of a byte(8 bits), therefore we need two cycles to access 16 bits(8 bit each) from two different memory locations. The solution to this problem is Memory Banking.Through Memory banking our goal is to access two consecutive memory locations in one cycle(transfer 16 bits).
The memory chip is equally divided into two parts(banks). One of the banks contain even addresses called Even bank and the other contain odd addresses called Odd bank.Even bank always gives lower byte So Even bank is also called Lower bank(LB) and Odd bank is also called a Higher bank(HB).
This banking scheme allows to access two aligned memory locations from both banks simultaneously and process 16 bit data transfer.Memory banking doesn’t make it compulsory to transfer 16 bits, it facilitates the 16 bit data transfer.
The choice between 8 bit and 16 bit transfer depends on the instructions given by the programmer.
The least Significant bit of address (A0 is not used for byte selection)it is reserved for bank selection. Therefore A0=0 will select Even bank. The BHE signal is used for selection of odd bank.the processor will used combination of this two signals decide type of data transfer.
|BHE||A0||types of Transfer|
|0||0||16 bit data transfer from both HB and LB|
|0||1||8 bit data transfer from HB|
|1||0||8 bit data transfer from LB|
In this case the first machine cycle generates odd address (A0=1) transfer lower order 8 data bits on higher order data bus.In second machine cycle higher order data bus will be transfer on lower order data bus.
- Cache Memory in Computer Organization
- 8255 microprocessor operating modes
- Different Types of RAM (Random Access Memory )
- Addressing modes in 8085 microprocessor
- Registers of 8085 microprocessor
- Flag register in 8085 microprocessor
- Instruction cycle in 8085 microprocessor
- Random Access Memory (RAM) and Read Only Memory (ROM)
- 8085 program to exchange a block of bytes in memory
- Flag register of 8086 microprocessor
- Arithmetic instructions in 8085 microprocessor
- Logical instructions in 8085 microprocessor
- Data transfer instructions in 8085 microprocessor
- General purpose registers in 8086 microprocessor
- Branching instructions in 8085 microprocessor
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : poorna883