Digital Principles and Computer Organization: Unit V: Memory and I/O

Memory Hierarchy

Memory and I/O - Digital Principles and Computer Organization

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