Memory Interleaving

31 Jul, 2021
Prerequisite – Virtual Memory Abstraction is one of the most important aspects of computing. It is a widely implemented Practice in the Computational field. 
Memory Interleaving is less or More an Abstraction technique. Though it’s a bit different from Abstraction. It is a Technique that divides memory into a number of modules such that Successive words in the address space are placed in the Different modules. 
Consecutive Word in a Module: 
 
Figure-1: Consecutive Word in a Module 
Let us assume 16 Data’s to be Transferred to the Four Module. Where Module 00 be Module 1, Module 01 be Module 2, Module 10 be Module 3 & Module 11 be Module 4. Also, 10, 20, 30....130 are the data to be transferred. 
From the figure above in Module 1, 10 [Data] is transferred then 20, 30 & finally, 40 which are the Data. That means the data are added consecutively in the Module till its max capacity. 
Most significant bit (MSB) provides the Address of the Module & the least significant bit (LSB) provides the address of the data in the module. 
For Example, to get 90 (Data) 1000 will be provided by the processor. This 10 will indicate that the data is in module 10 (module 3) & 00 is the address of 90 in Module 10 (module 3). So,  
Module 1 Contains Data : 10, 20, 30, 40
Module 2 Contains Data : 50, 60, 70, 80
Module 3 Contains Data : 90, 100, 110, 120
Module 4 Contains Data : 130, 140, 150, 160 
Consecutive Word in Consecutive Module: 
 
Figure-2: Consecutive Word in Consecutive Module 
Now again we assume 16 Data’s to be transferred to the Four Module. But Now the consecutive Data are added in Consecutive Module. That is, 10 [Data] is added in Module 1, 20 [Data] in Module 2 and So on. 
Least Significant Bit (LSB) provides the Address of the Module & Most significant bit (MSB) provides the address of the data in the module. 
For Example, to get 90 (Data) 1000 will be provided by the processor. This 00 will indicate that the data is in module 00 (module 1) & 10 is the address of 90 in Module 00 (module 1). That is,  
Module 1 Contains Data : 10, 50, 90, 130
Module 2 Contains Data : 20, 60, 100, 140
Module 3 Contains Data : 30, 70, 110, 150
Module 4 Contains Data : 40, 80, 120, 160 
Why do we use Memory Interleaving? [Advantages]: Whenever Processor requests Data from the main memory. A block (chunk) of Data is Transferred to the cache and then to Processor. So whenever a cache miss occurs the Data is to be fetched from the main memory. But main memory is relatively slower than the cache. So to improve the access time of the main memory interleaving is used. 
We can access all four Modules at the same time thus achieving Parallelism. From Figure 2 the data can be acquired from the Module using the Higher bits. This method Uses memory effectively. 
Pushpender007
Operating Systems-Memory Management
Computer Organization & Architecture
GATE CS
Operating Systems
Operating Systems
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
I2C Communication Protocol
ARM processor and its Features
Logical and Physical Address in Operating System
Architecture of Distributed Shared Memory(DSM)
Program for Binary To Decimal Conversion
Three address code in Compiler
Layers of OSI Model
Types of Operating Systems
ACID Properties in DBMS
Code Optimization in Compiler Design