Graphics Reference
In-Depth Information
Memory is state. In this abstract, theoretical sense, there is no difference
between a bit stored in a memory chip, a bit stored in a register, and a bit that
is part of a finite-state machine. Each exists in one of two conditions—true or
false—and each can have its value queried or specified. In this sense, all bits are
created equal.
But all bits are not created equal. The practical difference is their location;
specifically, the distance between a bit's physical position and the position of the
circuit that depends on (or changes) its value. Ideally, all bits would be located
immediately adjacent to their related circuits. But in practice only a few bits can
be so located, for many reasons, but fundamentally because bit storage implemen-
tations must be physically distinct. 10 Thus, it is capacity that distinguishes what
we call memory (large aggregations of bits that are necessarily distant from their
related circuits) from simple state (small aggregations of bits that are intermingled
with their related circuits).
Why does distance matter? Fundamentally, because information (the value of
a bit) cannot travel faster than 1
3 of a meter per nanosecond. In our daily experi-
ence this limit—the speed of light in a vacuum—is insignificant; we are unaware
that the propagation of light takes any time at all. But in high-performance systems
this limit is crucial and very apparent. For example, a bit can travel no more than
10 cm in the 0.31 ns clock period of the (3.2 GHz) Intel Core 2 Extreme QX9770
CPU (see Figure 38.1). And this is in the best case, which is never achieved! In
practice, signal propagation never exceeds 1
/
/
2 the speed of light, and easily falls
to 1
10 that speed or less in dense circuitry. That's a thumbnail width or less in
a single clock cycle. To quote Richard Russell, a designer of the CRAY-1 super-
computer, “In computer design it is a truism that smaller means faster.” Indeed,
the love-seat-like shape of the CRAY-1 (see Figure 38.5) was chosen to minimize
the lengths of its signal wires [Rus78].
In practice, distance not only increases the time required for a single bit to
propagate to or from memory, it also reduces bandwidth: the rate that bits can
be propagated. Individual state bits can be wired one-to-one with their related cir-
cuits, so state can be propagated in parallel, and there is effectively no limit to its
propagation rate. But larger memories cannot be wired one-to-one, because the
cost of the wiring is too great: Too many wires are required, and their individual
costs increase with their length. In particular, wires that connect one integrated cir-
cuit to another are much more expensive (and, to compound the problem, consume
far more power and are much slower) than wires within an individual integrated
circuit. But large memories are optimized with specialized fabrication techniques
that differ from the techniques used for logic and state, so they are typically imple-
mented as separate integrated circuits. For example, the four GDDR3 memory
blocks in Figure 38.4 are separate integrated circuits, each storing one billion bits.
But they are connected to the GeForce 9800 GTX GPU with only 256 wires—a
ratio of 16 million bits per wire.
Running fewer wires between memory and related circuits obviously reduces
bandwidth. It also increases delay. To query or modify a memory bit a circuit
must, of course, specify which bit. We refer to such specification as addressing
the memory. Because bits are mapped many-to-one with wires, addressing must
be implemented (at least partially) on the memory end of the wires. Thus, a circuit
/
10. Quantum storage approaches, such as holography, may ease this limitation in the
future, but they are not used in today's computing systems.
Search WWH ::




Custom Search