In the Computer System Design, Memory Hierarchy is an enhancement to organize the memory such that it can minimize the access time. The Memory Hierarchy was developed based on a program behavior known as locality of references.The figure below clearly demonstrates the different levels of memory hierarchy :
This Memory Hierarchy Design is divided into 2 main types:
- External Memory or Secondary Memory –
Comprising of Magnetic Disk, Optical Disk, Magnetic Tape i.e. peripheral storage devices which are accessible by the processor via I/O Module.
- Internal Memory or Primary Memory –
Comprising of Main Memory, Cache Memory & CPU registers. This is directly accessible by the processor.
We can infer the following characteristics of Memory Hierarchy Design from above figure:
It is the global volume of information the memory can store. As we move from top to bottom in the Hierarchy, the capacity increases.
- Access Time:
It is the time interval between the read/write request and the availability of the data. As we move from top to bottom in the Hierarchy, the access time increases.
Earlier when the computer system was designed without Memory Hierarchy design, the speed gap increases between the CPU registers and Main Memory due to large difference in access time. This results in lower performance of the system and thus, enhancement was required. This enhancement was made in the form of Memory Hierarchy Design because of which the performance of the system increases. One of the most significant ways to increase system performance is minimizing how far down the memory hierarchy one has to go to manipulate data.
- Cost per bit:
As we move from bottom to top in the Hierarchy, the cost per bit increases i.e. Internal Memory is costlier than External Memory.
- Introduction to memory and memory units
- Difference between Byte Addressable Memory and Word Addressable Memory
- Compiler Design | Introduction of Compiler design
- Secondary Memory
- 2D and 2.5D Memory organization
- IPC through shared memory
- Memory mapped I/O and Isolated I/O
- Virtual Memory | Questions
- Types of computer memory (RAM and ROM)
- Tracing memory usage in Linux
- Memory Segmentation in 8086 Microprocessor
- Different Types of RAM (Random Access Memory )
- Read-Only Memory (ROM) | Classification and Programming
- MCQ on Memory allocation and compilation process
- Computer Organization | Memory Banking
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.