Memory Banking in Microprocessor
Last Updated :
06 May, 2023
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 contains even addresses called Even bank and the other contains 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 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.
Example:

The Least Significant bit of address (A0 is not used for byte selection) is reserved for bank selection. Therefore A0=0 will select Even bank. The BHE signal is used for the selection of odd banks. The processor will use a combination of these two signals to decide the type of data transfer.
BHE | A0 | types of Transfer |
---|
0 | 0 | 16-0bit data transfer from both HB and LB |
---|
0 | 1 | 8-bit data transfer from HB |
---|
1 | 0 | 8-bit data transfer from LB |
---|
1 | 1 | None(Idle) |
---|
In this case, the first machine cycle generates an odd address (A0=1) transfer lower order 8 data bits on a higher-order data bus. In the second machine cycle, the higher-order data bus will be transferred to the lower-order data bus.
Advantages:
Improved Performance: Memory banking allows the microprocessor to access multiple banks of memory simultaneously. This can improve the performance of memory-intensive applications by reducing memory access times and increasing overall memory bandwidth.
Flexibility: Memory banking provides a flexible way to allocate and manage memory resources. It allows the processor to allocate memory as needed, which can help reduce memory wastage and improve overall system efficiency.
Cost-Effective: Memory banking can be a cost-effective way to increase the memory capacity of a microprocessor. Instead of using expensive, high-density memory modules, memory banking allows the use of multiple, smaller memory modules.
Disadvantages:
Increased Complexity: Memory banking adds complexity to the microprocessor design, which can make it more difficult to implement and debug. Memory banking requires additional hardware components, such as memory address decoders and control logic, which can increase the cost and complexity of the microprocessor.
Latency: Although memory banking can improve memory performance, it can also introduce latency. Memory banking requires additional memory address decoding and control logic, which can increase memory access times and reduce overall system performance.
Limited Applications: Memory banking is not suitable for all types of microprocessor applications. It is primarily used in systems that require large amounts of memory, such as high-performance computing and data center applications. In other applications, the added complexity and cost of memory banking may not be worth the benefits.
Similar Reads
Memory Segmentation in 8086 Microprocessor Prerequisite - Segmentation Segmentation is the process in which the main memory of the computer is logically divided into different segments and each segment has its own base address. It is basically used to enhance the speed of execution of the computer system, so that the processor is able to fet
3 min read
Microprocessor | Intel x86 evolution and main features Intel x86 architecture has evolved over the years. From a 29, 000 transistors microprocessor 8086 that was the first introduced to a quad-core Intel core 2 which contains 820 million transistors, the organization and technology have changed dramatically. Some of the highlights of the evolution of x8
5 min read
Introduction to memory and memory units Memory is required to save data and instructions. Memory is divided into cells, and they are stored in the storage space present in the computer. Every cell has its unique location/address. Memory is very essential for a computer as this is the way it becomes somewhat more similar to a human brain.
11 min read
Difference Between Register and Memory Registers and memory are essential for the operation of a computer, each having its own advantages. Registers offer the CPU quick access to data it must process, thus ensuring fast operation. Memory, on the other hand, provides storage space needed for large amounts of data and instructions during p
5 min read
Types of Microprocessors This article provides an overview of the microprocessor, one of the most important components of a modern computing device. It describes how they function like the "brain" of the computer and enumerates the different types of Microprocessors. This also includes the vector processors, array processor
6 min read
Different Types of RAM (Random Access Memory ) In the computer world, memory plays an important component in determining the performance and efficiency of a system. In between various types of memory, Random Access Memory (RAM) stands out as a necessary component that enables computers to process and store data temporarily. In this article, we w
8 min read