Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Memory Banking in Microprocessor
Next article icon

Memory Banking in Microprocessor

Last Updated : 06 May, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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. 
 

BHEA0types of Transfer
0016-0bit data transfer from both HB and LB
018-bit data transfer from HB
108-bit data transfer from LB
11None(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.


Next Article
Memory Banking in Microprocessor

S

sonalilotankar
Improve
Article Tags :
  • Computer Organization and Architecture

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
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences