Even and Odd Memory Banks

span.putBar { border-top: 1px solid black; } The 8086 microprocessor uses a 20-bit address to access memory. With 20-bit address the processor can generate 220 = 1 Mega address. The basic memory word size of the memories used in the 8086 system is 8-bit or 1-byte (i.e., in one memory location an 8-bit binary information can be stored). Hence, the physical memory space of the 8086 is 1Mb (1 Mega-byte).

For the programmer, the 8086 memory address space is a sequence of one mega-byte in which one location stores an 8-bit binary code/data and two consecutive locations store 16-bit binary code/data. But physically (i.e., in the hardware), the 1Mb memory space is divided into two banks of 512kb (512kb + 512kb = 1Mb). The two memory banks are called Even (or Lower) bank and Odd (or Upper) bank. The organization of even and odd memory banks in the 8086-based system is shown in Figure.

The 8086-based system will have two sets of memory IC’s. One set for even bank and another set for odd bank. The data lines D0-D7 are connected to even bank and the data lines D8 -D15 are connected to odd bank. The even memory bank is selected by the address line Ao and the odd memory bank is selected by the control signal BHE. The memory banks are selected when these signals are low(active low). Any memory location in the memory bank is selected by the address line A1 to A19.

The organization of memory into two banks and providing bank select signals allows the programmer to read/write the byte (8-bit) operand in any memory address through 16-bit data bus. It also allows the programmer to read/write the word (16-bit) operand starting from even address or odd address.

Organisation of even and odd memory banks in 8086 based system

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.