The entire computer
memory can be viewed as the hierarchy depicted in Figure 4.13. The fastest
access is to data held in processor registers. Therefore, if we consider the
registers to be part of the memory hierarchy, then the processor registers are
at the top in terms of the speed of access. The registers provide only a
minuscule portion of the required memory.
At the next level of
the hierarchy is a relatively small amount of memory that can be implemented
directly on the processor chip. This memory, called a processor cache, holds
copies of instructions and data stored in a much larger memory that is provided
externally. There are often two levels of caches.
A primary cache is
always located on the processor chip. This cache is small because it competes
for space on the processor chip, which must implement many other functions. The
primary cache is referred to as level (L1) cache. A larger, secondary cache is
placed between the primary cache and the rest of the memory. It is referred to
as level 2 (L2) cache. It is usually implemented using SRAM chips. It is
possible to have both Ll and L2 caches on the processor chip.
The next level in the
hierarchy is called the main memory. This rather large memory is implemented
using dynamic memory components, typically in the form of SIMMs, DIMMs, or
RIMMs. The main memory is much larger but significantly slower than the cache
memory. In a typical computer, the access time for the main memory is about ten
times longer than the access time for the L 1 cache.
Disk devices provide a
huge amount of inexpensive storage. They are very slow compared to the
semiconductor devices used to implement the main memory. A hard disk drive
(HDD; also hard drive, hard disk, magnetic disk or disk drive) is a device for
storing and retrieving digital information, primarily computer data. It
consists of one or more rigid (hence "hard") rapidly rotating discs
(often referred to as platters), coated with magnetic material and with
magnetic heads arranged to write data to the surfaces and read it from them.
execution, the speed of memory access is of utmost importance. The key to
managing the operation of the hierarchical memory system in is to bring the
instructions and data that will be used in the near future as close to the
processor as possible. This can be done by using the hardware mechanisms.