1
Concept of Memory Hierarchy
A memory is just like a human brain. It is used to store data and instructions. Computer memory
is the storage space in the computer, where data is to be processed and instructions required for
processing are stored. The memory is divided into large number of small parts called cells. Each
location or cell has a unique address, which varies from zero to memory size minus one. For
example, if the computer has 64k words, then this memory unit has 64 * 1024 = 65536 memory
locations. The address of these locations varies from 0 to 65535.
Memory is primarily of three types –
∙ Cache Memory
∙ Primary Memory/Main Memory
∙ Secondary Memory
Cache Memory :
Cache memory is a very high speed semiconductor memory which can speed up the CPU. It acts
as a buffer between the CPU and the main memory. It is used to hold those parts of data and
program which are most frequently used by the CPU. The parts of data and programs are
transferred from the disk to cache memory by the operating system, from where the CPU can
access them.
Advantages:
The advantages of cache memory are as follows –
∙ Cache memory is faster than main memory.
∙ It consumes less access time as compared to main memory. ∙ It stores the program that can be
executed within a short period of time.
∙ It stores data for temporary use.
Disadvantages:
The disadvantages of cache memory are as follows –
∙ Cache memory has limited capacity.
∙ It is very expensive.
Primary Memory (Main Memory):
Primary memory holds only those data and instructions on which the computer is currently
working. It has a limited capacity and data is lost when power is switched off. It is generally
2
made up of semiconductor device. These memories are not as fast as registers. The data and
instruction required to be processed resides in the main memory. It is divided into two
subcategories RAM and ROM.
Characteristics of Main Memory:
∙ These are semiconductor memories.
∙ It is known as the main memory.
∙ Usually volatile memory.
∙ Data is lost in case power is switched off.
∙ It is the working memory of the computer. ∙ Faster than secondary memories.
∙ A computer cannot run without the primary memory.
Secondary Memory:
This type of memory is also known as external memory or non-volatile. It is slower than the
main memory. These are used for storing data/information permanently. CPU directly does not
access these memories, instead they are accessed via input-output routines. The contents of
secondary memories are first transferred to the main memory, and then the CPU can access it.
For example, disk, CD-ROM, DVD, etc.
Characteristics of Secondary Memory:
∙ These are magnetic and optical memories.
∙ It is known as the backup memory.
∙ It is a non-volatile memory.
∙ Data is permanently stored even if power is switched off.
∙ It is used for storage of data in a computer.
∙ Computer may run without the secondary memory.
∙ Slower than primary memories.
Memory Hierarchy Design and its Characteristics:
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.
3
This Memory Hierarchy Design is divided into 2 main types:
1. 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.
2. 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.
1.Capacity: It is the global volume of information the memory can store. As we move from top
to bottom in the Hierarchy, the capacity increases.
2. 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.
3. Performance: 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
4
system performance is minimizing how far down the memory hierarchy one has to go to
manipulate data.
4. 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