
6-1
CHAPTER 6
RANGE REGISTERS
6.1.
INTRODUCTION
The Pentium Pro processor Memory Type Range Registers (MTRRs) are model specific regis-
ters specifying the types of memory occupying different physical address ranges. Some of this
information was available to previous Intel processors via external bus signals (for example,
KEN# and WB/WT#).
Because Pentium Pro processors on a particular Pentium Pro processor bus share the same mem-
ory address space, all Pentium Pro processors on a Pentium Pro processor bus must have iden-
tical range register contents. The Pentium Pro processor cache protocol assumes that different
caching agents (different Pentium Pro processors) agree on the memory type and cache at-
tributes of each memory line. MTRR updates are permitted only if all caches have been flushed
before and after the update.
As described in following sections, the memory types affect both instruction execution and
cache attributes.
6.2.
RANGE REGISTERS AND PENTIUM
®
PRO PROCESSOR
INSTRUCTION EXECUTION
The Pentium Pro processor supports out-of-order and speculative instruction execution. Out-of-
order execution enables the processor to execute an instruction even if previous instructions in
the execution stream have not completed or executed. Speculative execution enables the proces-
sor to execute an instruction that may or may not be part of the execution stream (such as an
instruction following a conditional branch), so long as the processor can undo the instruction’s
effect if it is not part of the execution stream.
Some memory types should not be accessed by out-of-order or speculative accesses. For exam-
ple, loading from an address used for memory-mapped I/O can have side effects, such as clear-
ing the loaded value from an I/O controller’s buffer. Such an instruction should not be executed
speculatively, but only if it is definitely part of the Pentium Pro processor’s execution stream. If
side effects of loads must take place in a certain sequence, then such loads should not be execut-
ed out-of-order either.
The memory types in the Pentium Pro processor’s range registers can be used to block out-of-
order or speculative accesses to memory ranges, in addition to controlling cache attributes. The
two uses are not independent of each other; any memory type that blocks out-of-order or spec-
ulative accesses is also non-cacheable.
The Pentium Pro processor architecture defines memory types where speculative and out of or-
der execution is safe (in other words, can be undone in case of misprediction). The same memory
types are also extended to support different cacheability policies such as writeback, and
Summary of Contents for Pentium Pro Family
Page 17: ...1 Component Introduction ...
Page 26: ...2 Pentium Pro Processor Architecture Overview ...
Page 27: ......
Page 36: ...3 Bus Overview ...
Page 62: ...4 Bus Protocol ...
Page 105: ...5 Bus Transactions and Operations ...
Page 126: ...6 Range Registers ...
Page 131: ...7 Cache Protocol ...
Page 135: ...8 Data Integrity ...
Page 148: ...9 Configuration ...
Page 161: ...10 Pentium Pro Processor Test Access Port TAP ...
Page 172: ...11 Electrical Specifications ...
Page 201: ...12 GTL Interface Specification ...
Page 229: ...13 3 3V Tolerant Signal Quality Specifications ...
Page 233: ...14 Thermal Specifications ...
Page 239: ...15 Mechanical Specifications ...
Page 241: ...15 2 MECHANICAL SPECIFICATIONS s Figure 15 1 Package Dimensions Bottom View ...
Page 252: ...16 Tools ...
Page 260: ...16 8 TOOLS Figure 16 4 Generic MP System Layout for Debug Port Connection ...
Page 264: ...17 OverDrive Processor Socket Specification ...
Page 290: ...A Signals Reference ...
Page 320: ...Index ...
Page 328: ......