Specifications

A–10 System Address Mapping
Subject to Change – 17 January 1997
21164 Address Space
A.3.1 PCI Dense Memory Space
PCI dense memory space is located in the range 86.0000.0000 to 86.FFFF.FFFF. It is
typically used for memory-like data buffers such as video frame buffers or
nonvolatile RAM (NVRAM). Dense space does not allow byte or word access but
has the following advantages over sparse space:
Contiguous memory locations—Some software, like the default graphics
routines of Windows NT, require memory-like access. These routines cannot use
sparse space addresses because sparse space addresses require PCI transactions
to be at adjacent Alpha addresses, instead of being widely separated as in sparse
space. As as result, if the user-mode driver uses sparse space for its frame-buffer
manipulation, it cannot “hand over the buffer to the common Windows NT
graphics code.
Higher bus bandwidth—PCI bus burst transfers are not usable in sparse space
except for a 2-longword burst for quadword write transactions. Dense space is
defined to allow both burst read and write transactions.
Efficient read/write buffering—In sparse space, separate accesses use separate
read or write buffer entries. Dense space allows separate accesses to be collapsed
in read and write buffers (this is exactly what the 21164 microprocessor does).
Few memory barriers—In general, sparse space accesses are separated by
memory barriers to avoid read/write buffer collapsing. Dense space accesses
only require barriers when explicit ordering is required by the software.
Dense space is provided for the 21164 microprocessor to access PCI memory space,
but not for accessing PCI I/O space. Dense space has the following characteristics:
There is a one-to-one mapping between 21164 microprocessor addresses and
PCI addresses. A longword address from the 21164 microprocessor will map to
a longword on the PCI with no shifting of the address field.
The concept of dense space (and sparse space) is applicable only to 21164-
generated addresses. There is no such thing as dense space (or sparse space) for
PCI-generated address.
Byte or word accesses are not possible in this space. The minimum access
granularity is a longword on write transactions and a quadword on read
transactions. The maximum transfer length is 32 bytes (performed as a burst of 8
longwords on the PCI). Any combination of longwords may be valid on write