The Anatomy of Modern Processors
The Memory Hierarchy
Processors use memory of various types to store the data on which
a program operates.
Data may start in a file on a magnetic disc ("hard disc"),
be read into semiconductor memory ("D-RAM") for processing,
transformed and written back to disc.
As part of the transformation process, individual words of data
will be transferred to the processor's registers and thence to
Transfers from semiconductor memory to registers will usually
pass (transparently to a programmer) through one or more levels
Memory designers are able to trade speed for capacity -
the fastest memory (registers) having access times below
10ns but the lowest capacity (10s of words)
and the slowest (magnetic tape) having access times of
several seconds but the highest capacity (10s of GBytes).
Thus the memory in a system
can usually be arranged in a hierarchy from the
slowest (and highest capacity) to the
fastest (and lowest capacity).
Discrepancy between Processor and Bus Frequencies
This figure (source: David Chapman, Motorola)
shows the ratio between processor clock
frequence ("Core Frequency") and bus frequency for the last
It can be seen that the ratio has started to increase dramatically
recently - as processor frequencies have continued to increase
and bus frequencies have remained fixed or increased at a slower
The bus frequency determines the rate at which information can
be transferred between a processor and its bulk memory.
The widening gap between processor and bus
frequencies shows that effective management of this memory hierarchy is
now critical to performing,
posing a challenge for architects and programmers alike.
In the following sections, we'll look at the
technology, organisation and characteristics of
memories at each level of the hierarchy.
Operation of the memory hierarchy
This diagram shows how a high performance CPU processes a
memory request issued by the CPU:
© John Morris, 1998