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
Application Area of Microprocessors Pre-requisites: Introduction of Microprocessor, Evolution of Microprocessors Microprocessors are small, central processing units (CPUs) that are found in a wide range of electronic devices and computing systems. It is responsible for executing instructions and performing various operations in these
3 min read
Instruction Word Size in Microprocessor The 8085 instruction set is classified into 3 categories by considering the length of the instructions. In 8085, the length is measured in terms of "byte" rather than "word" because 8085 microprocessor has 8-bit data bus. Three types of instruction are: 1-byte instruction, 2-byte instruction, and 3-
4 min read
Read and Write operations in Memory A memory unit stores binary information in groups of bits called words. Data input lines provide the information to be stored into the memory, Data output lines carry the information out from the memory. The control lines Read and write specifies the direction of transfer of data. Basically, in the
3 min read
Introduction of Multiprocessor and Multicomputer 1. Multiprocessor: A Multiprocessor is a computer system with two or more central processing units (CPUs) share full access to a common RAM. The main objective of using a multiprocessor is to boost the systemâs execution speed, with other objectives being fault tolerance and application matching. Th
6 min read
External Memory Interfacing in 8051 Microcontroller Introduction : The 8051 microcontroller is a popular microcontroller used in various applications, ranging from small embedded systems to larger industrial applications. While the 8051 has a limited amount of internal memory, it is possible to extend the memory capacity by interfacing it with extern
10 min read