Management Information: Limit and Extent
Gaining New Ability
Export of IT Services
Data Communication in Nepal
The role of IT: Efficiency or Burden?
Sharing Multimedia Endeavor
Intelligent System

Memory Hierarchy
Emerging Technologies


Memory Hierarchy


Sep/Oct, 1997-CORE


It is an undeniable fact that computers have become a part of human life. People have become much involved with computers that they are demanding for more and more powerful computers. And the manufacturers are taking the technology to its verge to meet people's demand. That is why the computer technology is a most competitive and fastest changing one.


A high processing speed is the key factor for a powerful computer. Many people might think that a mere increase in the circuit speed, or the clock speed, adds power to a computer, but it is only one of many ways of doing so. In fact, if the system is bottlenecked by other factors, increasing clock speed may not help much. That means, a well designed Pentium 133 MHz machine can be faster than a poorly designed Pentium 1 66 MHz. One of such a bottle-neck is caused by memory latency, the time that elapses between a request by a processor to a memory unit for a block of information and the receipt of the requested item by the processor. In the last few years, the processor speed has tremendously increased, but the memory technology could not keep the equivalent pace. This disparity in the processor speed and memory speed naturally imposes a technology induced latency, affecting the system performance. Therefore, the designers use a memory hierarchy so as to minimize memory latency. The objective of this memory hierarchy is to establish memory sub-system that appears to have the capacity of the secondary storage (virtually unlimited capacity), and the speed of the fastest component. This is achieved by using a combination of memory system components as shown in figure,


In digital systems, the memory essentially means Random Access Memory, or the RAM. In fact, the Read Only Memory, or the ROM falls in a category of storage. With a RAM, the contents of any one location can be accessed in essentially the same time as can the contents of any other location chosen at random. Technically, there are two types of RAM cell, the Static RAM and the Dynamic RAM. Static RAM is comparatively faster than Dynamic RAM, but it has high power dissipation and low packaging density. Since the same amount of SRAM occupies larger chip area than DRAM does; SRAM is comparatively expensive too, and are unaffordable to be used as the main memory in the computer. Therefore, DRAM is used as the main memory; SIMM, DIMM, FPM, EDO memory, SDRAM, etc. are all different varieties of DRAM.


But as we learnt earlier, DRAMs are very slow for the processor, and do impose memory latency if used directly with the processor. To reduce memory latency, SRAM' can be used one level north of DRAM. Cache memory, which is used to store information that is frequently access by the processor, is made of SRAM. Therefore, when the processor requests for some information and finds it in the cache memory, it doesn't have to access the slower DRAM, and the entire process becomes faster. In this way cache memory accelerates the operating speed of the system. A PC without cache can never match the performance of a PC with cache due to this reason. But because of the price constraint, a PC with more than 256-512 kB of off-chip, or L2, cache is rarely seen.

    In the last few years, processor manufacturers have started integrating cache memory on the chip itself too, and is termed as on-chip, or L1, cache. Since the processor does not have to cross its boundary to access L1. cache, information can ~ retrieved faster from the L1 cache than from the L2 cache. But even L1 cache doesn't operate at the same speed as the processor does, Recently, processor with on-chip L2 cache, such as the Pentium Pro, has also shown up in the market.


Unlike the main memory and cache memory, there are memory components called registers inside the processor that do operate at the processor speed. This means the performance of the processor will be optimum if all information that is requested by the processor can be supplied by the registers themselves. But the number of registers within a processor is limited because of the chip area available. A Pentium processor, for example, has 16 registers only.
With the implementation of memory hierarchy, whenever any information is required, the processor first looks into the registers, which operate at the same speed as the processor. If the information is not found in the-registers, only then it looks into the on-chip cache, which is slightly slower, then into off-chip cache, that is more slower (typically, 10-15 nS access time). If the information required is not found even there, only then the main memory is accessed, which has typically 60-70 nS access time.


If the information is not even found in the main memory, an access to the storage device is unavoidable. Even the fastest storage device is too slow as compared to main memory; Hence accessing storage for a processor request severely degrades the system performance. As a remedy to this problem, virtual memory, which is the hard disk space used as memory by the operating system, is used. Due to intelligent organization, accessing the same hard-disk as virtual memory is comparatively efficient than accessing it as a storage device.


In this way, the use of memory hierarchy provides a computer system with a memory sub-system that has a maximum speed as fast as the speed of the processor itself, as well as the capacity comparable to the storage device. The memory hierarchy improves the overall access time, at the same time, improving the overall capacity of the memory sub-system.