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
Machine Control Instructions in Microprocessor
Microprocessors are electronic devices that process digital information using instructions stored in memory. Machine control instructions are a type of instruction that control machine functions such as Halt, Interrupt, or do nothing. These instructions alter the different type of operations execute
4 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
Multiport Memory Multiprocessor System
Multiport Memory System employs separate buses between each memory module and each CPU. A processor bus comprises the address, data and control lines necessary to communicate with memory. Each memory module connects each processor bus. At any given time, the memory module should have internal contro
1 min read
Types of Memory Interleaving
Memory Interleaving is an abstraction technique which divides memory into a number of modules such that successive words in the address space are placed in the different module. Suppose a 64 MB memory made up of the 4 MB chips as shown in the below: We organize the memory into 4 MB banks, each havin
2 min read
Maximum mode configuration of 8086 microprocessor (Max mode)
The 8086 microprocessor is an 8-bit/16-bit microprocessor designed by Intel in the late 1970s. It is the first member of the x86 family of microprocessors, which includes many popular CPUs used in personal computers. The architecture of the 8086 microprocessor is based on a complex instruction set c
4 min read
MOTOROLA 680X0 and COLDFIRE Processor Families
68000 processor was introduced in 1979. Through 1980's and early 1990's the 68000, 68020, 68030 and 68040 were targeted for personal computer's market and were used for Apple computers. Latest member of 680X0 family is 68060, introduced in mid-1990's. 68060 and the closely related ColdFire family ar
7 min read