Ideally, computer memory should be fast, large and inexpensive. Unfortunately, it is impossible to meet all the three of these requirements using one type of memory.
Memory Hierarchy
AU;
Dec.-14,18, May-19
• Ideally, computer memory should be fast, large and inexpensive. Unfortunately, it is impossible to meet all the three of these requirements using one type of memory.
• Increased speed and size are achieved
at increased cost.
• Very fast memory system can be achieved
if SRAM chips are used. These chips are expensive and for the cost reason it is
impracticable to build a large main memory using SRAM chips. The only
alternative is to use DRAM chips for large main memories.
• Processor fetches the code and data from
the main memory to execute the program. The DRAMS which form the main memory
are slower devices. So it is necessary to insert wait states in memory
read/write cycles. This reduces the speed of execution.
• The solution for this problem is come
out with the fact that most of the computer programs work with only small
sections of code and data at a particular time. In the memory system, small
section of SRAM is added along with main memory, referred to as cache memory.
• The program which is to be executed is
loaded in the main memory, but the part of program (code) and data that work at
a particular time is usually accessed from the cache memory.
• This is accomplished by loading the
active part of code and data from main memory to cache memory. The cache controller
looks after this swapping between main memory and cache memory with the help of
DMA controller.
• The cache memory just discussed is
called secondary cache. Recent processors have the built-in cache memory called
primary cache.
• DRAMs along with cache allow main
memories in the range of tens of megabytes to be implemented at a reasonable
cost, the size and better speed performance. But the size of memory is still
small compared to the demands of large programs with voluminous data. A solution
is provided by using secondary storage, mainly magnetic disks and magnetic tapes
to implement large memory spaces. Very large disks are available at a
reasonable price, sacrificing the speed.
• From the above discussion, we can
realize that to make efficient computer system it is not possible to rely on a
single memory component, but to employ a memory hierarchy. Using memory
hierarchy all of different types of memory units are employed to give efficient
computer system. A typical memory hierarchy is in Fig. 8.2.1.
• In summary, we can say that a huge
amount of cost-effective storage can be provided by magnetic disks. A large,
yet affordable, main memory can be built with DRAM technology along with the
cache memory to achieve better speed performance.
• The Fig. 8.2.2 shows how memory
hierarchy can be employed in a computer system. As shown in the Fig. 8.2.2, the
bottom of the hierarchy magnetic tapes and magnetic disks are used as a
secondary memory. This memory is also known auxiliary memory.
• The main memory occupies a central
position by being able to communicate directly with the CPU and with auxiliary
memory devices through an I/O processor.
Fig. 8.2.3 shows common memory
hierarchies with two, three and four levels.
Review Questions
1. Explain the necessity of memory
hierarchy. Write a note on memory hierarchy.
2. Draw different memory address layouts
and brief about the technique used to increase the average rate of fetching
words from the main memory.
AU: Dec.-14, Marks 8
3. Draw the memory hierarchy in a typical computer system. AU: Dec.-18, May-19, Marks 2
Digital Principles and Computer Organization: Unit V: Memory and I/O : Tag: : Memory and I/O - Digital Principles and Computer Organization - Memory Hierarchy
Digital Principles and Computer Organization
CS3351 3rd Semester CSE Dept | 2021 Regulation | 3rd Semester CSE Dept 2021 Regulation