Memory Banking of 8086


A memory Bank is the logical storage within computer memory that is used

for storing and retrieving frequently used data. It can be a part of standard

RAM or the cache memory used for easily accessing and retrieving program

and standard data. 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 or 8 bits, therefore we need two cycles to access 16 bits or 8 bit each from two different memory locations.


Memory Banking of 8086


The 8086 has a 20 bit address bus. So it can address 2^20  or 1,048,576 addresses. Each address

represents a stored byte. To make it possible to read or write a word with one machine cycle,

the memory for or 8086 is set up into 2 bank of up to 524,288 bytes each. One memory bank condition all the bytes which have even address such as 


00000H

00002H

00004H etc.


So, the data line of this bank is connected to a lower 8bit data line, i.e. from D0 to d7 of 8086.

The other memory bank contains all bytes which have odd addresses, such as 00001H,0000

3H, 00005H etc. The data line of this bank is connected to upper 8bit data line i.e. from D8 to D15 0f 8086.




Address bus A0 is used for enabling the memory device is the low bank. Address line A1 to A14 are

used  to select the desired memory device in the upper bank. The upper bank is handled by Bite .The main reason that the A0 and BHE signal works as they do ti prevent the writing of an unwanted

signal.