Memory Hierarchy
Memory hierarchy is arranging different kinds of storage present on a computing device based on speed of access. The memory in a computer can be divided into five hierarchies based on the speed as well as use. The processor can move from one level to another based on its requirements. The five hierarchies in the memory are registers, cache, main memory, magnetic discs, and magnetic tapes. The first three hierarchies are volatile memories which mean when there is no power, and then automatically they lose their stored data. Whereas the last two hierarchies are not volatile which means they store the data permanently.
Let us discuss each level in detail:
Level-0 − Registers
The registers are present inside the CPU. As they are present inside the CPU, they have least access time. Registers are most expensive and smallest in size generally in kilobytes. They are implemented by using Flip-Flops.
Level-1 − Cache
Cache memory is used to store the segments of a program that are frequently accessed by the processor. It is expensive and smaller in size generally in Megabytes and is implemented by using static RAM.
Level-2 − Primary or Main Memory
It directly communicates with the CPU and with auxiliary memory devices through an I/O processor. Main memory is less expensive than cache memory and larger in size generally in Gigabytes. This memory is implemented by using dynamic RAM.
Level-3 − Secondary storage
Secondary storage devices like Magnetic Disk are present at level 3. They are used as backup storage. They are cheaper than main memory and larger in size generally in a few TB.
Level-4 − Tertiary storage
Tertiary storage devices like magnetic tape are present at level 4. They are used to store removable files and are the cheapest and largest in size (1-20 TB).
We can infer the following characteristics of Memory Hierarchy Design from the 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 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.
Memory Function
Memory
is an information processing system; therefore, we often compare it to a
computer. Memory is the
set of processes used to encode, store, and retrieve information over different
periods of time
Encoding
We get information into our brains
through a process called encoding,
which is the input of information into the memory system. Once we receive
sensory information from the environment, our brains label or code it. We
organize the information with other similar information and connect new
concepts to existing concepts. Encoding information occurs through automatic
processing and effortful processing.
Storage
Once the information has been encoded,
we have to somehow retain it. Our brains take the encoded information and place
it in storage. Storage is
the creation of a permanent record of information. In order for a memory to go
into storage (i.e., long-term memory), it has to pass through three distinct
stages: Sensory Memory, Short-Term Memory, and finally Long-Term
Memory. These stages were first proposed by Richard Atkinson and
Richard Shiffrin (1968). Their model of human memory , called
Atkinson and Shiffrin’s model, is based on the belief that we process memories
in the same way that a computer processes information.
Retrieval
The act of getting information out of
memory storage and back into the desktop, and you can work with it again. The retrieval of information from a computer is the process of getting it back.. You must be able to retrieve information from memory in order to
process and perform any job.
Mono Programming and Multi
Programming Model
Mono Programming
In
mono-programming, memory contains only one program at any point of time.
Whereas in multiprogramming memory contains more than one user program.
In case of mono-programming, when the CPU is executing the program and I/O
operation is encountered, then the program goes to I/O devices, during that
time the CPU sits idle. Thus, in mono-programming CPU is not effectively used
i.e., CPU utilization is poor. In mono-programming the CPU sits idle while I/O
operation is being performed.
Multi Programming
In
multiprogramming, when one user program contains I/O operations, CPU switches
to the next user program. Thus, the CPU is made busy all the times. A single
user cannot keep the CPU busy all the times. Hence multiprogramming increases
CPU utilization by organizing jobs(programs), so that CPU is busy at all times
by executing some user program or the other.
In multiprogramming, the OS picks one of the jobs from job pool and sends the
job to CPU. When an I/O operation is encountered in that job, OS
allocates I/O devices for that job and allocates CPU to the next job in the job
pool.
In multiprogramming, most of the time CPU is busy.
Advantages of multiprogramming are,
- CPU utilization
is high.
- Higher job throughput.
Throughput
is the amount of work done in a given time interval.
Throughput = Amount of time CPU is utilized / Total time for executing the
program.
Sharing and Protection(Requirements of Memory Management System)
1. Sharing
Sharing refers to the ability of multiple processes to access the same memory space in a controlled and safe manner. Instead of loading several copies of the same program or data into memory, the operating system allows processes to share a single copy, saving both time and space. For example, when several processes use the same system library or file, it is more efficient to load one copy into memory and let all processes share it. Memory management ensures that this sharing is done safely, using mechanisms such as shared memory regions and inter-process communication (IPC), without compromising data integrity or process security.
2. Protection
Protection is the requirement that ensures one process cannot interfere with another process’s memory, whether accidentally or maliciously. When multiple programs run simultaneously, there is always a risk that one program may try to read or write into another program’s memory space or even into the memory reserved for the operating system. To prevent this, memory management applies protection mechanisms such as segmentation, paging, and access rights (read, write, or execute permissions). For example, a user program cannot directly access the memory occupied by another program or the OS kernel unless it is explicitly granted access.
3. Relocation
Relocation is the ability to move a process from one memory address to another without affecting its execution. Since processes are not always loaded into the same location and may be swapped during execution, the OS must ensure they still run correctly. This is achieved using base and limit registers, paging, or segmentation. For example, a program may run at address 1000 in one execution and 5000 in another, but relocation allows it to function normally in both cases.
4. Logical Organization
Logical organization provides programs with a logical view of memory instead of its physical layout. Programs are divided into units such as code, data, and stack, and the OS ensures these segments are mapped correctly to physical memory. Mechanisms like segmentation, paging, and virtual memory make this possible. For instance, a program can treat its data and instructions separately without worrying about their actual physical addresses.
5. Physical Organization
Physical organization refers to how RAM is managed and allocated among processes. Since memory is limited, it must be used efficiently while avoiding fragmentation. The OS uses allocation strategies like first-fit or best-fit, along with paging and segmentation, to manage memory effectively. For example, memory is divided into pages that are dynamically assigned to processes by the Memory Management Unit (MMU).

Comments
Post a Comment