Intelยฎ Coreโข i7 Processor Extreme
Edition and Intel
ยฎ
Coreโข i7
Processor
Datasheet, Volume 2
November 2008
Document Number: 320835-002
Page 2
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTELยฎ PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS
PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER,
AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING T O SALE AND/OR USE OF INTEL PRODUCT S INCLUDING
LIABILITY OR WARRANTIES RELA TING T O FITNES S FOR A PARTICULAR PURPOSE, MERCHANT ABILITY, OR INFRINGEMENT OF ANY
PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life savin g, or
life sustaining applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features or instructions marked โreservedโ or โundefined.โ Intel
reserves these for future definition and shall have no responsibility whatsoev er for conflicts or incompatibilities arising from future
changes to them.
ยฎ
The Intel
errata which may cause the product to de viate from published spe cifications. Current char acteriz ed err ata are a vailab le on request.
ฮ
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor
family, not across different processor families. See http://www.intel.com/products/processor_number for details. Over time
processor numbers will increment based on changes in clock, speed, cache, FSB, or other features, and increments are not
intended to represent proportional or quantitative increases in any particular feature. Current roadmap processor number
progression is not necessarily representative of future roadmaps. See www.intel.com/products/processor_number for details.
Coreโข i7 Processor Extreme Edition and Intelยฎ Coreโข i7 Processor may contain design defects or errors known as
Hyper-Threading Technology requires a computer system with a processor supporting HT Technology and an HT Technologyยญenabled chipset, BIOS and operating system. Performance will va ry de pe ndi ng on the specific hardware and software y ou use. For
more information including details on which processors support HT Technology, see
64 requires a computer system with a processor, chipset, BIOS, operating system, device drivers and applications enabled
Intel
ยฎ
for Intel
depending on your hardware and software configuration s. See www .intel.com/info/em64t for more information including details on
which processors support Intel
ยฑ Intel
for some uses, certain platform software, enabled for it. Functionality, performance or other benefit will vary depending on
64. Processor will not operate (including 32-bit operation) without an Intel 64-enabled BIOS. Performance will vary
ยฎ
ยฎ
Virtualization T echnology requires a compute r system with a processor, chipset, BIOS, virtual machine monitor (VMM) and
64 or consult with your system vendor for more information.
hardware and software configurations. Intel Virtualization Technology-enabled VMM applications are currently in development.
Enabling Execute Disable Bit functionality requires a PC with a processor with Execute Disable Bit capability and a supporting
operating system. Check with your PC manufacturer on whether your system delivers Execute Disable Bit functionality.
Enhanced Intelยฎ SpeedStep Technology. See the Processor Spec Finder
Intelยฎ Turbo Boost Technology requires a PC with a processor with Intel Turbo Boost Technology capability. Intel Turbo Boost
Technology performance varies depending on hardware, software and overall system configuration. Check with your PC
manufacturer on whether your system delivers Intel Turbo Boost Technology. For more information, see www.intel.com
Intel, Xeon, Enhanced Intel SpeedStep Technology and the Intel logo are trademarks of Intel Corporation in the United States and
other countries.
or contact your Intel representative for more information.
.
*Other brands and names are the property of their respective owners.
Copyright ยฉ 2008, Intel Corporation.
2-19 Device 6, Function 3: Integrated Memory Controller Channel 2
Thermal Control Registers............................................. .. ............................ ........36
8Datasheet
Page 9
Revision History
Revision
Number
-001Initial release.November 2008
-002Updated section 2.2 and Table 2.3.November 2008
DescriptionDate
Datasheet9
Page 10
10Datasheet
Page 11
Introduction
1Introduction
The Intelยฎ Coreโข i7 processor Extreme Edition and Intelยฎ Coreโข i7 processor are
intended for high performance high-end desktop, Uni-processor (UP) server, and
workstation systems. The processor implements key new technologies:
โข Integrated Memory Controller
โข Point-to-point link interface based on Intelยฎ QuickPath Interconnect (Intelยฎ QPI).
Reference to this interface may sometimes be abbreviated with Intel QPI
throughout this document.
ยฎ
Note:In this document the Intel
processor will be referred to as โthe processor.โ
This datasheet provides register descriptions for some of the registers located on the
processor.
The processor is optimized for performance with the power efficiencies of a low-power
microarchitecture to enable smaller, quieter systems.
ยฎ
The Intel
multi-core processors, based on 45 nm process technology. Processor features vary by
component and include up to two Intel QuickPath Interconnect point to point links
capable of up to 6.4 GT/s, up to 8 MB of shared cache, and an integrated memory
controller. The processors support all the existing Streaming SIMD Extensions 2
(SSE2), Streaming SIMD Extensions 3 (SSE3) and Streaming SIMD Extensions 4
(SSE4). The processor supports several Advanced Technologies: Execute Disable Bit,
Intel
Technology (Intelยฎ VT), Intelยฎ Turbo Boost Technology, and Hyper-Threading
Technology.
Coreโข i7 processor Extreme Edition and Intelยฎ Coreโข i7 processor are
Coreโข i7 processor Extreme Edition and Intelยฎ Coreโข i7
1.1Terminology
A โ#โ symbol after a signal name refers to an active low signal, indicating a signal is in
the active state when driven to a low level. For example, when RESET# is low, a reset
has been requested.
1.1.1Processor Terminology
Commonly used terms are explained here for clarification:
โข DDR3 โ Double Data Rate 3 synchronous dynamic random access memory
(SDRAM) is the name of the new DDR memory standard that is being developed as
the successor to DDR2 SDRAM.
โข Enhanced Intel SpeedStepยฎ Technology โ Enhanced Intel SpeedStep
Technology allows trade-offs to be made between performance and power
consumption.
โข Execute Disable Bit โ Execute Disable allows memory to be marked as
executable or non-executable, when combined with a supporting operating system.
If code attempts to run in non-executable memory the processor raises an error to
the operating system. This feature can prevent some classes of viruses or worms
that exploit buffer over run vulnerabilities and can thus help improve the overall
security of the system. See the Intel Architecture Software Developer's Manual for
Datasheet11
Page 12
Introduction
more detailed information. Refer to http://developer.intel.com/ for future reference
on up to date nomenclatures.
โข Eye Definitions โ The eye at any point along the data channel is defined to be the
creation of overlapping of a large number of Unit Interval of the data signal and
timing width measured with respect to the edges of a separate clock signal at any
other point. Each differential signal pair by combining the D+ and D- signals
produces a signal eye.
โข 1366-land LGA package โ The processor is available in a Flip-Chip Land Grid
Array (FC-LGA) package, consisting of the processor die mounted on a land grid
array substrate with an integrated heat spreader (IHS).
โข Functional Operation โ Refers to the normal operating conditions in which all
processor specifications, including DC, AC, system bus, signal quality, mechanical,
and thermal, are satisfied.
โข Integrated Memory Controller (IMC) โ A memory controller that is integrated
in the processor silicon.
โข Integrated Heat Spreader (IHS) โ A component of the processor package used
to enhance the thermal performance of the package. Component thermal solutions
interface with the processor at the IHS surface.
ยฎ
โข Intel
64 Architecture โ An enhancement to Intel's IA-32 architec ture, allowing
the processor to execute operating systems and applications written to take
advantage of Intel 64. Further details on Intel 64 architecture and programming
model can be found at http://developer.intel.com/technology/intel64/.
ยฎ
โข Intel
QuickPath Interconnect โ A cache-coherent, link-based interconnect
specification for Intel processor, chipset, and I/O bridge components. Sometimes
abbreviated as Intel QPI.
โข Intelยฎ QPI โ Abbreviation for Intelยฎ QuickPath Interconnect.
โข Intelยฎ Virtualization Technology (Intelยฎ VT) โ A set of hardware
enhancements to Intel server and client platforms that can improve virtualization
solutions. Intel VT provides a foundation for widely-deployed virtualization
solutions and enables more robust hardware assisted virtualization solutions. More
information can be found at: http://www.intel.com/technology/virtualization/
โข Jitter โ Any timing variation of a transition edge or edges from the defined Unit
Interval.
โข LGA136 6 Socket โ The processor (in the LGA-1366 package) mates with the
system board through this surface mount, 1366-contact socket.
โข Mirror Port - Pads located on the top side of the processor package used to
provide logic analyzer probing access for Intel QPI signal analysis.
โข Non-core โ The portion of the processor comprising the shared cache, IMC and
Intel QPI Link interface.
โข OEM โ Original Equipment Manufacturer.
โข Storage Conditions โ Refers to a non-operational state. The processor may be
installed in a platform, in a tray , or loose. Processors ma y be sealed in packaging or
exposed to free air. Under these conditions, processor lands should not be
connected to any supply voltages, have any I/Os biased, or receive any clocks.
ยฎ
โข Intel
Coreโข i7 processor Extreme Edition and Intelยฎ Coreโข i7 processor
โ The desktop product, including processor substrate and integrated heat spreader
(IHS).
12Datasheet
Page 13
Introduction
โข Unit Interval (UI) โ Signaling convention that is binary and unidirectional. In
this binary signaling, one bit is sent for every edge of the forwarded clock, whether
it be a rising edge or a falling edge. If a number of edges are collected at instances
, t2, tn,...., tk then the UI at instance โnโ is defined as:
t
1
1.2References
Material and concepts available in the following documents may be beneficial when
reading this document.
Table 1-1.References
ยฎ
Coreโข i7 Processor Extreme Edition and Intelยฎ Coreโข i7 Processor
The processor supports PCI configuration space accesses using the mechanism denoted
as Configuration Mechanism in the PCI specification as defined in the PCI Local Bus Specification, Revision 2.3, as well as the PCI Express* enhanced configuration
mechanism as specified in the PCI Express Base Specification, Revision 1.1. All the
registers are organized by bus, device, function, etc. as defined in the PCI Express Base Specification, Revision 1.1. All processor registers appear on the PCI bus assigned for
the processor socket. Bus number is derived by the max bus range setting and
processor socket number. All multi-byte numeric fields use โlittle-endianโ ordering (i.e.,
lower addresses contain the least significant parts of the field).
As processor features vary by component, not all of the register descriptions in this
document apply to all processors. This document highlights registers which do not
apply to all processor components. Refer to the particular processor's Specification
Update for a list of features supported.
2.1Register Terminology
Registers and register bits are assigned one or more of the following attributes. These
attributes define the behavior of register and the bit(s) that are contained with in. All
bits are set to default values by hard reset. Sticky bits retain their states between hard
i
resets.
TermDescription
RO
WO
RW
RC
RCW
RW1C
RW0C
RW1S
RW0S
RWL
RWO
RRW
L
Read Only. If a register bit is read on ly, the hardware sets its state. The bit may be read
by software. Writes to this bit have no effect.
Write Only. The register bit is not implemented as a bit. The write causes some hardware
event to take place.
Read/Write. A register bit with this attribute can be read and written by software.
Read Clear: The bit or bits can be read by software, but the act of reading causes the
value to be cleared.
Read Clear/Write: A register bit with this attribute will get cleared after the read. The
register bit can be written.
Read/Write 1 Clear. A register bit with this attribute can be read or cleared by software.
In order to clear this bit, a one must be written to it. Writing a zero will have no effect.
Read/Write 0 Clear. A register bit with this attribute can be read or cleared by software.
In order to clear this bit, a zero must be written to it. Writing a one will have no effect.
Read/Write 1 Set: A register bit can be either read or set by software. In order to set
this bit, a one must be written to it. Writing a zero to this bit has no effect. Hardware will
clear this bit.
Read/Write 0 Set: A register bit can be either read or set by software. In order to set
this bit, a zero must be written to it. Writing a one to this bit has no effect. Hardware will
clear this bit.
Read/Write/Lock. A register bit with this attribute can be read or written by software.
Hardware or a configuration bit can lock the bit and prevent it from being updated.
Read/Write Once. A register bit with this attribute can be written to only once after
power up. After the first write, the bit becomes read only. This attribute is applied on a bit
by bit basis. For example, if the RWO attribute is applied to a 2 bit field, and only one bit
is written, then the written bit cannot be rewritten (unless reset). The unwritten bit, of the
field, may still be written once. This is special case of RWL.
Read/Restricted Write. This bit can be read and written by software. However, only
supported values will be written. Writes of non supported values will have no effect.
Lock. A register bit with this attribute becomes Read Only after a lock bit is set.
Datasheet15
Page 16
TermDescription
Reserved Bit. This bit is reserved for future expansion and must not be writte n. The PCI
RSVD
Reserved Bits
Reserved
Registers
Default Value
upon a Reset
โSTโ appended
to the end of a
Local Bus Specification, Revision 2.2 requires that reserved bits must be preserved. Any
software that modifies a register that contains a reserved bit is res ponsible for reading the
register, modifying the desired bits, and writing back the result.
Some of the processor registers described in this section cont ain reserv ed bits. The se bits
are labeled โReservedโ. Software must deal correctly with fields that are reserved. On
reads, software must use appropriate masks to extract the defined bits and not rely on
reserved bits being any particular value. On writes, softw are must ens ure that the values
of reserved bit positions are preserved. That is, the values of reserved bit positions must
first be read, merged with the new values for other bit positions and then written back.
Note that software does not need to perform a read-merge-write operation for the
Configuration Address (CONFIG_ADDRESS) register.
In addition to reserved bits within a register, the processor contains address locations in
the configuration space that are marked either โReservedโ or โIntel Reservedโ. The
processor responds to accesses to โReservedโ address locations by completing the host
cycle. When a โReservedโ register location is read, a zero value is returned. (โReservedโ
registers can be 8, 16, or 32 bits in size). Writes to โR eser vedโ register s have no effec t on
the processor. Registers that are marked as โIntel Reservedโ must not be modified by
system software. Writes to โIntel Reservedโ registers may cause system failure . Reads to
โIntel Reservedโ registers may return a non-zero value.
Upon a reset, the processor sets all of its internal configuration register s to predetermined
default states. Some register values at reset are determined by external strapping
options. The default state represents the minimum functionality feature set required to
successfully bring up the system. Hence, it does not represent the optimal system
configuration. It is the responsibility of the system initialization software (usually BIOS) to
properly determine the DRAM configurations, operating parameters and optional system
features that are applicable, and to program the processor registers accordingly.
The bit is โstickyโ or unchanged by a hard reset. These bits can only be cleared by a
PWRGOOD reset.
bit name
Register Description
2.2Platform Configuration Structure
The processor contains 6 PCI devices within a single physical component. The
configuration registers for these devices are mapped as devices residing on the PCI bus
assigned for the processor socket. Bus number is derived by the max bus range setting
and processor socket number.
โข Device 0: Generic processor non-core. Device 0, Function 0 contains the generic
non-core configuration registers for the processor and resides at DID (Device ID) of
2C41h. Device 0, Function 1 contains the System Address Decode registers and
resides at DID of 2C01h.
โข Device 2: Intel QPI. Device 2, Function 0 contains the Intel
Interconnect configuration registers for Intel QPI Link 0 and resides at DID of
2C10h. Device 2, Function 1 contains the physical layer registers for Intel QPI Link
0 and resides at DID of 2C11h.
โข Device 3: Integrated Memory Controller . Device 3, Function 0 contains the general
registers for the Integrated Memory Controller and resides at DID of 2C18h. Device
3, Function 1 contains the Target Address Decode registers for the Integrated
Memory Controller and resides at DID of 2C19h. Device 3, Function 2 contains the
RAS registers for the Integrated Memory Controller and resides at DID of 2C1Ah.
Device 3, Function 4 contains the test registers for the Integrated Memory
Controller and resides at DID of 2C1Ch. Function 2 only applies to processors
supporting registered DIMMs.
โข Device 4: Integrated Memory Controller Channel 0. Device 4, Function 0 contains
the control registers for Integrated Memory Controller Channel 0 and resides at
DID of 2C20h. Device 4, Function 1 contains the address registers for Integrated
Memory Controller Channel 0 and resides at DID of 2C21h. Device 4, Function 2
contains the rank registers for Integrated Memory Controller Channel 0 and resides
ยฎ
QuickPath
16Datasheet
Page 17
Register Description
at DID of 2C22h. Device 4, Function 3 contains the thermal control registers for
Integrated Memory Controller Channel 0 and resides at DID of 2C23h.
โข Device 5: Integrated Memory Controller Channel 1. Device 5, Function 0 contains
the control registers for Integrated Memory Controller Channel 1 and resides at
DID of 2C28h. Device 5, Function 1 contains the address registers for Integrated
Memory Controller Channel 1 and resides at DID of 2C29h. Device 5, Function 2
contains the rank registers for Integrated Memory Controller Channel 1 and resides
at DID of 2C2Ah. Device 5, Function 3 contains the thermal control registers for
Integrated Memory Controller Channel 1 and resides at DID of 2C2Bh.
โข Device 6: Integrated Memory Controller Channel 2. Device 6, Function 0 contains
the control registers for Integrated Memory Controller Channel 2 and resides at
DID of 2C30h. Device 6, Function 1 contains the address registers for Integrated
Memory Controller Channel 2 and resides at DID of 2C31h. Device 6, Function 2
contains the rank registers for Integrated Memory Controller Channel 2 and resides
at DID of 2C32h. Device 6, Function 3 contains the thermal control registers for
Integrated Memory Controller Channel 2 and resides at DID of 2C33h.
2.3Device Mapping
Each component in the processor is uniquely identified by a PCI bus address consisting
of Bus Number, Device Number , and Function Number. Device configuration is based on
the PCI T ype 0 configur ation conventions. All processor registers appear on the PCI bus
assigned for the processor socket. Bus number is derived by the max bus range setting
and processor socket number.
Table 2-1.Functions Specifically Handled by the Processor
These registers appear in every function for every device.
Note:Reserved bit locations are not shown in the following register tables.
2.5.1VID - Vendor Identification Register
The VID Register contains the vendor identification number. This 16-bit register,
combined with the Device Identification Register uniquely identifies the manufacturer
of the function within the processor. Writes to this register have no effect.
Device:0
Function:0-1
Offset:00h
Device:2
Function:0-1, 4-5
Offset:00h
Device:3
Function:0-2, 4
Offset:00h
Device:4-6
Function:0-3
Offset:00h
BitType
15:0RO8086h
Reset
Value
Vendor Identification Number
The value assigned to Intel.
Description
Register Description
2.5.2DID - Device Identification Register
This 16-bit register combined with the Vendor Identification register uniquely identifies
the Function within the processor. Writes to this register have no effect. See Table 2-1
for the DID of each processor function.
Device:0
Function:0-1
Offset:02h
Device:2
Function:0-1, 4-5
Offset:02h
Device:3
Function:0-2, 4
Offset:02h
Device:4-6
Function:0-3
Offset:02h
BitType
15:0RO
Reset
Value
*See
Table 2-1
Description
Device Identification Number
Identifies each function of the processor.
36Datasheet
Page 37
Register Description
2.5.3RID - Revision Identification Register
This register contains the revision number of the processor. The Revision ID (RID) is a
traditional 8-bit Read Only (RO) register located at offset 08h in the standard PCI
header of every PCI/PCI Express compatible device and function.
Device:0
Function:0-1
Offset:08h
Device:2
Function:0-1, 4-5
Offset:08h
Device:3
Function:0-2, 4
Offset:08h
Device:4-6
Function:0-3
Offset:08h
BitType
7:0RO0h
Reset
Value
Revision Identification Number
Refer to the Intel
Processor Specification Update
ยฎ
Coreโข i7 Processor Extreme Edition and Intelยฎ Coreโข i7
for the value of the Revision ID Register.
Description
2.5.4CCR - Class Code Register
This register contains the Class Code for the device. Writes to this register have no
effect.
Device:0
Function:0-1
Offset:09h
Device:2
Function:0-1, 4-5
Offset:09h
Device:3
Function:0-2, 4
Offset:09h
Device:4-6
Function:0-3
Offset:09h
BitType
23:16RO06h
15:8RO0
7:0RO0
Reset
Value
Base Class
This field indicates the general device category. For the processor, this field is
hardwired to 06h, indicating it is a โBridge Deviceโ.
Sub-Class
This field qualifies the Base Class, providing a more detailed specification of
the device function.
For all devices the default is 00h, indicating โHost Bridgeโ.
Register-Level Programming Interface
This field identifies a specific programming interface (if any), that device
independent software can use to interact with the device. There are no such
interfaces defined for โHost Bridgeโ types, and this field is hardwired to 00h.
Description
Datasheet37
Page 38
2.5.5HDR - Header Type Register
This register identifies the header layout of the configuration space.
Device:0
Function:0-1
Offset:0Eh
Device:2
Function:0-1, 4-5
Offset:0Eh
Device:3
Function:0-2, 4
Offset:0Eh
Device:4-6
Function:0-3
Offset:0Eh
BitType
7RO1
6:0RO0
Reset
Value
Multi-function Device
Selects whether this is a multi-function device, that may have alternative
configuration layouts. This bit is hardwired to 1 for devices in the processor.
Configuration Layout
This field identifies the format of the configuration header layout for a PCI-toยญPCI bridge from bytes 10h through 3Fh.
For all devices the default is 00h, indicating a conventional type 00h PCI heade r.
This register identifies the manufacturer of the system. This 32-bit register uniquely
identifies any PCI device.
Device:0
Function:0-1
Offset:2Ch, 2Eh
Device:2
Function:0-1, 4-5
Offset:2Ch, 2Eh
Device:3
Function:0-2, 4
Offset:2Ch, 2Eh
Device:4-6
Function:0-3
Offset:2Ch, 2Eh
Access as a Dword
BitType
31:16RWO8086h
15:0RWO8086h
Reset
Value
Description
Subsystem Identification Number
The default value specifies Intel
Vendor Identification Number
The default value specifies Intel.
38Datasheet
Page 39
Register Description
2.5.7PCICMD - Command Register
This register defines the PCI 3.0 compatible command register values applicable to PCI
Express space.
Device:0
Function:0-1
Offset:04h
Device:2
Function:0-1, 4-5
Offset:04h
Device:3
Function:0-2, 4
Offset:04h
Device:4-6
Function:0-3
Offset:04h
BitType
15:11RV0
10RO0
9RO0
8RO0
7RO0
6RO0
5RO0
4RO0
3RO0
2RO1
1RO1
0RO0
Reset
Value
Reserved. (by P CI SI G)
INTxDisable: Interrupt Disable
Controls the ability of the PCI Express port to generate INTx messages.
If this device does not generate interrupts then this bit is not implemented and
is RO.
If this device generates interrupts then this bit is RW and this bit disables the
device/function from asserting INTx#. A value of 0 enables the assertion of its
INTx# signal. A value of 1 disables the assertion of its INTx# signal.
1 = Legacy Interrupt mode is disabled
0 = Legacy Interrupt mode is enabled
FB2B: Fast Back-to-Back Enable
This bit controls whether or not the master can do fast back-to-back writes.
Since this device is strictly a target this bit is not implemented. This bit is
hardwired to 0. Writes to this bit position have no effect.
SERRE: SERR Message Enable
This bit is a global enable bit for this devices SERR messaging. This host bridge
will not implement SERR messaging. This bit is hardwired to 0. If SERR is used
for error generation, then this bit must be RW and enable/disable SERR
signaling.
IDSELWCC: IDSEL Stepping/Wait Cycle Control
Per PCI 2.3 specification this bit is hardwired to 0.
PERRE: Parity Error Response Enable
Parity error is not implemented in this host bridge. This bit is hardwired to 0.
VGAPSE: VGA palette snoop Enable
This host bridge does not implement this bit. This bit is hardwired to 0.
MWIEN: Memory Write and Invalidate Enable
This host bridge will never issue memory write and invalidate commands. This
bit is therefore hardwired to 0.
SCE: Special Cycle Enable
This host bridge does not implement this bit. This bit is hardwired to a 0.
BME: Bus Master Enable
This host bridge is always enabled as a master. This bit is hardwired to a 1.
MSE: Memory Space Enable
This host bridge always allows access to main memory. This bit is not
implemented and is hardwired to 1.
IOAE: Access Enable
This bit is not implemented in this host bridge and is hardwired to 0.
Description
Datasheet39
Page 40
2.5.8PCISTS - PCI Status Register
The PCI Status register is a 16-bit status register that reports the occurrence of various
error events on this device's PCI interface.
Device:0
Function:0-1
Offset:06h
Device:2
Function:0-1, 4-5
Offset:06h
Device:3
Function:0-2, 4
Offset:06h
Device:4-6
Function:0-3
Offset:06h
Register Description
BitType
Reset
Value
15RO0
14RO0
13RO0
12RO0
11RO0
10:9RO0
8RO0
7RO1
6RO0
5RO0
Description
Detect Parity Error (DPE)
The host bridge does not implement this bit and is hardwired to a 0.
Signaled System Error (SSE)
This bit is set to 1 when this device generates an SERR message over the bus
for any enabled error condition. If the host bridge does not signal errors using
this bit, this bit is hardwired to a 0 and is read only.
Received Master Abort Status (RMAS)
This bit is set when this device generates request that receives an Unsupporte d
Request completion packet. Software clears the bit by writing 1 to it.
If this device does not receive Unsupported Request completion packets, the bit
is hardwired to 0 and is read only.
Received Target Abort Status (RTAS)
This bit is set when this device generates a request that receives a Completer
Abort completion packet. Software clears this bit by writing a 1 to it.
If this device does not receive Completer Abort completion packets, this bit is
hardwired to 0 and read only.
Signaled Target Abort Status (STAS)
This device will not generate a Target Abort completion or Special Cycle. This bit
is not implemented in this device and is hardwired to a 0.
DEVSEL Timing (DEVT)
These bits are hardwired to 00. This device does not physically connect to PCI
bus X. These bits are set to โ00โ (fast decode) so that optimum DEVSEL timing
for PCI bus X is not limited by this device.
Master Data Parity Error Detected (DPD)
PERR signaling and messaging are not implemented by this bridge, therefore
this bit is hardwired to 0.
Fast Back-to-Back (FB2B)
This bit is hardwired to 1. This device is not physically connected to a PCI bus.
This bit is set to 1 (indicating back-to-back capabilities) so that the optimum
setting for this PCI bus is not limited by this device.
Reserved
66 MHz Capable
Does not apply to PCI Express. Hardwired to 0.
40Datasheet
Page 41
Register Description
Device:0
Function:0-1
Offset:06h
Device:2
Function:0-1, 4-5
Offset:06h
Device:3
Function:0-2, 4
Offset:06h
Device:4-6
Function:0-3
Offset:06h
BitType
Reset
Value
4ROTBD
3RO0
2:0RO0
Capability List (CLIST)
This bit is hardwired to 1 to indicate to the configuration software that this
device/function implements a list of new capabilities. A list of new capabilities is
accessed via registers CAPPTR at the configuration address offset 34h from the
start of the PCI configuration space header of this function. Register CAPPTR
contains the offset pointing to the start address with configuration space of this
device where the capability register resides. This bit must be set for a PCI
Express device or if the VSEC capability.
If no capability structures are implemented, this bit is hardwired to 0.
Interrupt Status
If this device generates an interrupt, then this read-only bit reflects the state of
the interrupt in the device/function. Only when the Interrupt Disable bit in the
command register is a 0 and this Interrupt Status bit is a 1, will the
deviceโs/functionโs INTx# signal be asserted. Setting the Interrupt Disable bit to
a 1 has no effect on the state of this bit.
If this device does not generate interrupts, then this bit is not implemented (RO
and reads returns 0).
Reserved
Description
2.6SAD - System Address Decoder Registers
2.6.1SAD_PAM0123
This register is for legacy device 0, function 0 at 90h-93h address space.
This field controls the steering of read and write cycles that address the BIOS
area from 0D4000h to 0D7FFFh.
00 =DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0D0000h to 0D3FFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
PAM2_HIENABLE. 0CC000h-0CFFFFh Attribute (HIENABLE).
This field controls the steering of read and write cycles that address the BIOS
area from 0CC000h to 0CFFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
PAM2_LOENABLE. 0C8000h-0CBFFFh Attribute (LOENABLE).
This field controls the steering of read and write cycles that address the BIOS
area from 0C8000h to 0CBFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
PAM1_HIENABLE. 0C4000h-0C7FFFh Attribute (HIENABLE).
This field controls the steering of read and write cycles that address the BIOS
area from 0C4000h to 0C7FFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
PAM1_LOENABLE. 0C0000h-0C3FFFh Attribute (LOENABLE).
This field controls the steering of read and write cycles that address the BIOS
area from 0C0000h to 0C3FFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
PAM0_HIENABLE. 0F0000h-0FFFFFh Attribute (HIENABLE).
This field controls the steering of read and write cycles that address the BIOS
area from 0F0000h to 0FFFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
42Datasheet
Page 43
Register Description
2.6.2SAD_PAM456
Register for legacy device 0, function 0 94h-97h address space.
This field controls the steering of read and write cycles that address the BIOS
area from 0EC000h to 0EFFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0E8000 to 0EBFFF.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0E4000h to 0E7FFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0E0000h to 0E3FFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0DC000h to 0DFFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
This field controls the steering of read and write cycles that address the BIOS
area from 0D8000h to 0DBFFFh.
00 = DRAM Disabled: All accesses are directed to ESI.
01 = Read Only: All reads are sent to DRAM. All writes are forwarded to ESI.
10 = Write Only: All writes are send to DRAM. Reads are serviced by ESI.
11 = Normal DRAM Operation: All reads and writes are serviced by DRAM.
Datasheet43
Page 44
2.6.3SAD_HEN
Register for legacy Hole Enable.
Device:0
Function: 1
Offset:48h
Access as a Dword
Register Description
BitType
7RW0HEN: Hole Enable
2.6.4SAD_SMRAM
Register for legacy 9Dh address space. Note both IOH and non-core have this now.
Device:0
Function: 1
Offset:4Ch
Access as a Dword
BitType
14RW0
13RW0
12RW1S0
11RW0
10:8RO-
Reset
Value
Reset
Value
Description
This field enables a memory hole in DRAM space. The DRAM that lies
"behind" this space is not remapped.
0 = No Memory hole.
1 = Memory hole from 15 MB to 16 MB.
Description
SMM Space Open (D_OPEN)
When D_OPEN=1 and D_LCK=0, the SMM space DRAM is made visible even
when SMM decode is not active. This is intended to help BIOS initialize SMM
space. Software should ensure that D_OPEN=1 and D_CLS=1 are not set at
the same time.
SMM Space Closed (D_CLS)
When D_CLS = 1 SMM space DRAM is not accessible to data references, even
if SMM decode is active. Code references may still access SMM space DRAM.
This will allow SMM software to reference through SMM space to update the
display even when SMM is mapped over the VGA range. Software should
ensure that D_OPEN=1 and D_CLS=1 are not set at the same time.
SMM Space Locked (D_LCK)
When D_LCK is set to 1 then D_OPEN is reset to 0 and D_LCK, D_OPEN,
C_BASE_SEG, G_SMRAME, PCIEXBAR, (DRAM _ RULEs and
INTERLEAVE_LISTs) become read only. D_LCK can be set to 1 via a normal
configuration space write but can only be cleared by a Reset. The
combination of D_LCK and D_O P EN provide convenience with security. The
BIOS can use the D_OPEN function to initialize SMM space and th en use
D_LCK to "lock down" SMM space in the future so that no application
software (or BIOS itself) can violate the integrity of SMM space, even if the
program has knowledge of the D_OPEN function. Note that TAD does not
implement this lock.
Global SMRAM Enable (G_SMRAME)
If set to a 1, then Compatible SMRAM functions are enabled, providing 128
KB of DRAM accessible at the A0000h address while in SMM (ADSB with SMM
decode). T o enable Extended SMRAM function t his bit has to be set to 1. Once
D_LCK is set, this bit becomes read only.
Compatible SMM Space Base Segment (C_BASE_SEG)
This field indicates the location of SMM space. SMM DRAM is not remapped. It
is simply made visible if the conditions are right to access SMM space,
otherwise the access is forwarded to HI. Only SMM space between A0000h
and BFFFFh is supported so this field is hardwired to 010.
44Datasheet
Page 45
Register Description
2.6.5SAD_PCIEXBAR
Global register for PCIEXBAR address space.
Device:0
Function: 1
Offset:50h
Access as a Qword
BitType
39:20RW0
3:1RW0
0RW0
Reset
Value
Description
ADDRESS.
Base address of PCIEXBAR. Must be naturally aligned to size; l ow order b its are
ignored.
This register provides SAD DRAM rules. Address Map for package determination.
Device:0
Function: 1
Offset:80h, 84h, 88h, 8Ch, 90h, 94h, 98h, 9Ch
Access as a Dword
BitType
Datasheet45
Reset
Value
Description
Page 46
Register Description
Device:0
Function: 1
Offset:80h, 84h, 88h, 8Ch, 90h, 94h, 98h, 9Ch
Access as a Dword
LIMIT
19:6RW-
2:1RW-
0RW0
DRAM rule top limit address. Must be strictly greater than previous rule, even if
this rule is disabled, unless this rule and all following rules are disabled. Lower
limit is the previous rule (or 0 if it is first rule). This field is compared against
MA[39:26] in the memory address map.
MODE
DRAM rule interleave mode. If a DRAM_RULE hits a 3 bit number is used to
index into the corresponding interleave_list to determine which package the
DRAM belongs to. This mode selects how that number is computed.
00 = Address bits {8,7,6}.
01 = Address bits {8,7,6} XORed with {18,17,16}.
10 = Address bit {6}, MOD3(Address[39..6]). (Note 6 is the high order bit)
11 = Reserved.
ENABLE
Enable for DRAM rule. If Enabled Range between this rule and previous rule is
Directed to HOME channel (unless overridden by other dedicated address r ange
registers). If disabled, all accesses in this range are directed in MMIO to the
IOH.
This register provides SAD DRAM package assignments. When the corresponding
DRAM_RULE hits, a 3-bit number (determined by mode) is used to index into the
interleave_list to determine which package is the HOME for this address.
00: IOH
01: Socket 0
10: Socket 1
11: Reserved
Device:0
Function: 1
Offset:C0h, C4h, C8h, CCh, D0h, D4h, D8h, DCh
Access as a Dword
BitType
29:28RW-PACKAGE7. Package for index value 7 of interleaves.
25:24RW-PACKAGE6. Package for index value 6 of interleaves.
21:20RW-PACKAGE5. Package for index value 5 of interleaves.
17:16RW-PACKAGE4. Package for index value 4 of interleaves.
13:12RW-PACKAGE3. Package for index value 3 of interleaves.
9:8RW-PACKAGE2. Package for index value 2 of interleaves.
5:4RW-PACKAGE1. Package for index value 1 of interleaves.
1:0RW-PACKAGE0. Package for index value 0 of interleaves.
Reset
Value
Description
46Datasheet
Page 47
Register Description
2.7Intel QPI Link Registers
2.7.1QPI_QPILCL_L0, QPI_QPILCL_L1
This register provides Intel QPI Link Control.
Device:2
Function: 0, 4
Offset:48h
Access as a Dword
BitType
21RW0
20RW0
18RW0
Reset
Value
Description
L1_MASTER
Indicates that this end of the link is the L1 master. This link transmitter bit is an
L1 power state master and can initiate an L1 power state transition. If this bit is
not set, then the link transmitter is an L1 power state slave and should respond
to L1 transitions with an ACK or NACK.
If the link power state of L1 is enabled, then there is one master and one slave
per link. The master may only issue single L1 requests, while the slave can only
issue single L1_Ack or L1_NAck responses for the corresponding request.
L1_ENABLE
Enables L1 mode at the transmitter. This bit should be ANDed with the receive
L1 capability bit received during parameter exchange to determine if a
transmitter is allowed to enter into L1. This is NOT a bit that determines the
capability of a device.
L0S_ENABLE
Enables L0s mode at the transmitter. This bit should be ANDed with the receive
L0s capability bit received during parameter exchange to determine if a
transmitter is allowed to enter into L0s. This is NOT a bit that determines the
capability of a device.
2.8Integrated Memory Controller Control Registers
The registers in this section apply only to processors supporting registered DIMMs.
2.8.1MC_CONTROL
This register is the Primary control register.
Device:3
Function: 0
Offset:48h
Access as a Dword
BitType
10RW0
9RW0
Datasheet47
Reset
Value
Description
CHANNEL2_ACTIVE
When set, indicates MC channel 2 is active. This bit is controlled (set/reset)
by software only. This bit is required to be set for any active channel when
INIT_DONE is set by software.
CHANNEL1_ACTIVE
When set, indicates MC channel 1 is active. This bit is controlled (set/reset)
by software only. This bit is required to be set for any active channel when
INIT_DONE is set by software. Channel 0 AND Channel 1 active must both be
set for a lockstep or mirrored pair.
Page 48
Device:3
Function: 0
Offset:48h
Access as a Dword
8RW0
7WO0
6RW0
5RW0
4RW0
3RW0
2RW0
1RW0
0RW0
Register Description
CHANNEL0_ACTIVE
When set, indicate MC channel 0 is active. This bit is controlled (set/reset) by
software only. This bit is required to be set for any active channel when
INIT_DONE is set by software. Channel 0 AND Channel 1 active must both be
set for a lockstep or mirrored pair.
INIT_DONE
MC initialize complete signal. Setting this bit will exit the training mode of the
Integrated Memory Controller and begin normal operation including all
enabled maintenance operations. Any CHANNNEL_ACTIVE bits not set when
writing a 1 to INIT_DONE will cause the corresponding channel to be
disabled.
DIVBY3EN
Divide By 3 enable. When set, MAD would use the longer pipeline for
transactions that are 3 or 6 way interleaved and shorter pipeline for all othe r
transactions. The SAG registers must be appropriately programmed as well.
CHANNELRESET2
Reset only the state within the channel. Equivalent to pulling warm reset for
that channel.
CHANNELRESET1
Reset only the state within the channel. Equivalent to pulling warm reset for
that channel.
CHANNELRESET0
Reset only the state within the channel. Equivalent to pulling warm reset for
that channel.
AUTOPRECHARGE.
Autoprecharge enable. This bit should be set with the closed page bit. If it is
not set with closed page, address decode will be done without setting the
autoprecharge bit.
ECCEN: ECC Enable
ECC Checking enables. When this bit is set in lockstep mode the ECC
checking is for the x8 SDDC. ECCEN without Lockstep enables the x4 SDDC
ECC checking.
CLOSED_PAGE
When set, the MC supports a Closed Page policy. The default is Open Page
but BIOS should always configure this bit.
48Datasheet
Page 49
Register Description
2.8.2MC_STATUS
This register is the MC primary status register.
Device:3
Function: 0
Offset:4Ch
Access as a Dword
BitType
Reset
Value
4RO1
2RO0
1RO0
0RO0
Description
ECC_ENABLED. ECC is enabled.
CHANNEL2_DISABLED
Channel 2 is disabled. This can be factory configured or if Init done is written
without the channel_active being set. Clocks in the channel will be disabled
when this bit is set.
CHANNEL1_DISABLED
Channel 1 is disabled. This can be factory configured or if Init done is written
without the channel_active being set. Clocks in the channel will be disabled
when this bit is set.
CHANNEL0_DISABLED
Channel 0 is disabled. This can be factory configured or if Init done is written
without the channel_active being set. Clocks in the channel will be disabled
when this bit is set.
Datasheet49
Page 50
2.8.3MC_SMI_SPARE_DIMM_ERROR_STATUS
SMI sparing DIMM error threshold overflow status register. This bit is set when the perยญDIMM error counter exceeds the specified threshold. The bit is reset by BIOS.
Device:3
Function: 0
Offset:50h
Access as a Dword
Register Description
BitType
13:12RW0C
11:0RW0C
Reset
Value
0REDUNDANCY_LOSS_FAILING_DIMM
The ID for the failing DIMM when redundancy is lost.
0DIMM_ERROR_OVERFLOW_STATUS
This 12-bit field is the per dimm error overflow status bits. The organization is
as follows:
If there are three or more DIMMS on the channel:
Bit 0 = DIMM 0 Channel 0
Bit 1 = DIMM 1 Channel 0
Bit 2 = DIMM 2 Channel 0
Bit 3 = DIMM 3 Channel 0
Bit 4 = DIMM 0 Channel 1
Bit 5 = DIMM 1 Channel 1
Bit 6 = DIMM 2 Channel 1
Bit 7 = DIMM 3 Channel 1
Bit 8 = DIMM 0 Channel 2
Bit 9 = DIMM 1 Channel 2
Bit 10 = DIMM 2 Channel 2
Bit 11 = DIMM 3 Channel 2
If there are one or two DIMMS on the channel:
Bit 0 = DIMM 0, Ranks 0 and 1, Channel 0
Bit 1 = DIMM 0, Ranks 2 and 3, Channel 0
Bit 2 = DIMM 1, Ranks 0 and 1, Channel 0
Bit 3 = DIMM 1, Ranks 2 and 3, Channel 0
Bit 4 = DIMM 0, Ranks 0 and 1, Channel 1
Bit 5 = DIMM 0, Ranks 2 and 3, Channel 1
Bit 6 = DIMM 1, Ranks 0 and 1, Channel 1
Bit 7 = DIMM 1, Ranks 2 and 3, Channel 1
Bit 8 = DIMM 0, Ranks 0 and 1, Channel 2
Bit 9 = DIMM 0, Ranks 2 and 3, Channel 2
Bit 10 = DIMM 1, Ranks 0 and 1, Channel 2
Bit 11 = DIMM 1, Ranks 2 and 3, Channel 2
Description
50Datasheet
Page 51
Register Description
2.8.4MC_SMI_SPARE_CNTRL
System Management Interrupt and Spare control register.
Device:3
Function: 0
Offset:54h
Access as a Dword
BitType
16RW0
15RW0
14:0RW0
Reset
Value
INTERRUPT_SELECT_NMI
1 = Enable NMI signaling.
0 = Disable NMI signaling.
If both NMI and SMI enable bits are set, then only SMI is sent.
INTERRUPT_SELECT_SMI
1 = Enable SMI signaling.
0 = Disable SMI signaling.
If both NMI and SMI enable bits are set, then only SMI is sent. This bit functions
the same way in Mirror and Independent Modes.
The possible SMI events enabled by this bit are:
Any one of the error counters MC_COR_ECC_CNT_X meets the value of
SMI_ERROR_THRESHOLD field of this register.
MC_SSRSTATUS.CMPLT bit is set to 1.
MC_RAS_STATUS.REDUNDANCY_LOSS bit is set to 1.
SMI_ERROR_THRESHOLD
Defines the error threshold to compare against the per-DIMM error counters
MC_COR_ECC_CNT_X, which are also 15 bits.
2.8.5MC_RESET_CONTROL
DIMM Reset enabling controls.
Device:3
Function: 0
Offset:5Ch
Access as a Dword
Description
BitType
0WO0
Datasheet51
Reset
Value
BIOS_RESET_ENABLE
When set, MC takes over control of driving RESET to the DIMMs. This bit is set
on S3 exit and cold boot to take over RESET driving responsibility from the
physical layer.
Description
Page 52
2.8.6MC_CHANNEL_MAPPER
Channel mapping register. The sequence of operations to update this register is:
Read MC_Channel_Mapper register
Compare data read to data to be written. If different, then write.
Poll MC_Channel_Mapper register until the data read matches data written.
Device:3
Function: 0
Offset:60h
Access as a Dword
Register Description
BitType
Reset
Value
17:15RW0
14:12RW0
11:9RW0
8:6RW0
5:3RW0
2:0RW0
Description
RDLCH2.
Mapping of Logical Channel 2 to physical channel for Reads.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
WRLCH2.
Mapping of Logical Channel 2 to physical channel for Writes.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
RDLCH1.
Mapping of Logical Channel 1 to physical channel for Reads.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
WRLCH1.
Mapping of Logical Channel 1 to physical channel for Writes.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
RDLCH0.
Mapping of Logical Channel 0 to physical channel for Read.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
WRLCH0.
Mapping of Logical Channel 0 to physical channel for Writes.
001 = Maps to physical Channel 0
010 = Maps to physical Channel 1
100 = Maps to physical Channel 2
52Datasheet
Page 53
Register Description
2.8.7MC_MAX_DOD
This register defines the MAX number of DIMMS, RANKS, BANKS, ROWS, COLS among
all DIMMS populating the three channels. The Memory Init logic uses this register to
cycle through all the memory addresses writing all 0's to initialize all locations. This
register is also used for scrubbing and sparing and must always be programmed if any
DODs are programmed.
MAXNUMROW. Maximum Number of Rows.
000 = 2^12 Rows
001 = 2^13 Rows
010 = 2^14 Rows
011 = 2^15 Rows
100 = 2^16 Rows
Others = RSVD.
MAXNUMBANK. Max Number of Banks.
00 = Four-banked
01 = Eight-banked
10 = Sixteen-banked.
MAXNUMRANK. Maximum Number of Ranks.
00 = Single Ranked
01 = Double Ranked
10 = Quad Ranked.
MAXNUMDIMMS. Maximum Number of DIMMs.
00 = 1 DIMM
01 = 2 DIMMs
10 = 3 DIMMs
11 = RSVD.
Datasheet53
Page 54
2.8.8MC_RD_CRDT_INIT
These registers contain the initial read credits available for issuing memory reads. TAD
read credit counters are loaded with the corresponding values at reset and anytime this
register is written. BIOS must initialize this register with appropriate values depending
on the level of Isoch support in the platform. It is invalid to write this register while T AD
is active (has memory requests outstanding), as the write will break TAD's outstanding
credit count values.
Register programming rules:
โข Total read credits (CRDT_RD + CRDT_RD_HIGH + CRDT_RD_CRIT) must not
exceed 31.
โข CRDT_RD_HIGH value must correspond to the number of high RTIDs reserved at
the IOH.
โข CRDT_RD_CRIT value must correspond to the number of critical RTIDs reserved at
the IOH.
โข CRDT_RD_HIGH + CRDT_RD must be less than or equal to 13.
โข CRDT_RD_HIGH + CRDT_RD_CRIT must be less than or equal to 8.
โข CRDT_RD_CRIT must be less than or equal to 6. Set CRDT_RD to (16 ยญCRDT_RD_CRIT - CRDT_RD_HIGH).
โข If (Mirroring OR Sparing enabled) then Max for CRDT_RD is 14, otherwise it is 15.
โข If (Isoch not enabled) then CRDT_RD_HIGH and CRDT_RD_CRIT are set to 0.
Register Description
Device:3
Function: 0
Offset:70h
Access as a Dword
BitType
20:16RW3CRDT_RD_CRIT. Critical Read Credits.
12:8RW1CRDT_RD_HIGH. High Read Credits.
4:0RW13CRDT_RD. Normal Read Credits.
Reset
Value
Description
54Datasheet
Page 55
Register Description
2.8.9MC_CRDT_WR_THLD
This is the Memory Controller Write Credit Thresholds register. A Write threshold is
defined as the number of credits reserved for this priority (or higher) request. It is
required that High threshold be greater than or equal to Crit threshold, and that both
be lower than the total Write Credit init value. BIOS must initialize this register with
appropriate values depending on the level of Isoch support in the platform. The new
values take effect immediately upon being written.
Register programming rules:
โข CRIT threshold value must correspond to the number of critical RTIDs reserved at
the IOH.
โข HIGH threshold value must correspond to the sum of critical and high RTIDs
reserved at the IOH (which must not exceed 30).
โข Set MC_Channel_*_WAQ_PARAMS.ISOCENTRYTHRESHHOLD equal to (31-CRIT).
Device:3
Function: 0
Offset:74h
Access as a Dword
BitType
12:8RW4HIGH. High Credit Threshold.
4:0RW3CRIT. Critical Credit Threshold.
Reset
Value
2.8.10MC_SCRUBADDR_LO
This register contains part of the address of the last patrol scrub request issued. When
running Memtest, the failing address is logged in this register on Memtest errors.
Software can write the next address to be scrubbed into this register. Patrol scrubs
must be disabled to reliably write this register.
Device:3
Function: 0
Offset:78h
Access as a Dword
BitType
29:14RW0PAGE.
13:0RW0COLUMN.
Reset
Value
This field contains the row of the last scrub issued. Can be written to specify the
next scrub address with STARTSCRUB in the MC_SCRUB_CONTROL register.
This field contains the column of the last scrub issued. Can be written to specify
the next scrub address with ST ARTSCRUB in the MC_SCRUB_CONTROL register.
Description
Description
Datasheet55
Page 56
2.8.11MC_SCRUBADDR_HI
This register pair contains part of the address of the last patrol scrub request issued.
When running memtest, the failing address is logged in this register on memtest
errors. Software can write the next address into this register. Scrubbing must be
disabled to reliably read and write this register.
Device:3
Function: 0
Offset:7Ch
Access as a Dword
Register Description
BitType
Reset
Value
9:8RW0
7:6RW0
5:4RW0
3:0RW0
Description
CHNL.
This field can be written to specify the next scrub address with STARTSCRUB in
the MC_SCRUB_CONTROL register. This register is not updated with channel
address of the last scrub address issued.
DIMM.
This field contains the DIMM of the last scrub issued. Can be written to specify
the next scrub address with ST ART SCRUB in the MC_SCRUB_CONTROL register.
For writes, to the register this field always contains the Rank ID. For reads, the
following translation must be done:
If 3 DIMMs are on the channel, then the rank is RANK[0] while the dimm is the
concatenation of DIMM[0] and RANK[1].
RANK.
This field contains the rank of the last scrub issued. Can be written to specify
the next scrub address with STARTSCRUB in the MC_SCRUB_CONTROL
register.. For writes, to the register this field always contains the rank id. For
reads, the following translation must be done:
If 3 dimms are on the channel then the rank is RANK[0] while the dimm is the
concatenation of DIMM[0] and RANK[1].
BANK.
This field contains the bank of the last scrub issued. Can be written to specify
the next scrub address with STARTSCRUB in the MC_SCRUB_CONTROL
register..
TAD DRAM rules. Address map for channel determination within a package. All
addresses sent to this HOME agent must hit a valid enabled DRAM_RULE. No error will
be generated if they do not hit a valid location and memory aliasing will happen.
Device:3
Function: 1
Offset:80h, 84h, 88h, 8Ch, 90h, 94h, 98h, 9Ch
Access as a Dword
BitType
19:6RW-
2:1RW-
0RW0
Reset
Value
Description
LIMIT.
DRAM rule top limit address. Must be strictly greater than previous rule, ev en
if this rule is disabled, unless this rule and all following rules are disabled.
Lower limit is the previous rule (or 0 if it is the first rule).
MODE.
DRAM rule interleave mode. If a DRAM_RULE hits, a 3-bit number is used to
index into the corresponding interleave_list to determine which channel the
DRAM belongs to. This mode selects how that number is computed.
00 = Address bits {8,7,6}.
01 = Address bits {8,7,6} XORed with {18,17,16}.
10 = Address bit {6}, MOD3(Address[39..6]). (Note 6 is the high order bit)
11 = Reserved.
TAD DRAM package assignments. When the corresponding DRAM_RULE hits, a 3-bit
number (determined by mode) is used to index into the Interleave_List Branches to
determine which channel the DRAM request belongs to.
Device:3
Function: 1
Offset:C0h, C4h, C8h, CCh, D0h, D4h, D8h, DCh
Access as a Dword
BitType
Reset
Value
29:28RW-
25:24RW-
21:20RW-
17:16RW-
13:12RW-
Description
Logical Channel7.
Index 111 of the Interleave List. Bits determined from the matching
TAD_DRAM_RULE mode.
Integrated Memory Controller DIMM reset command register. This register is used to
sequence the reset signals to the DIMMs.
Device:4, 5, 6
Function: 0
Offset:50h
Access as a Dword
BitType
2RW0
1RW0
0WO0
Reset
Value
Description
BLOCK_CKE.
When set, CKE will be forced to be deasserted.
ASSERT_RESET.
When set, Reset will be driven to the DIMMs.
RESET.
Reset the DIMMs. Setting this bit will cause the Integrated Memory Controller
DIMM Reset state machine to sequence through the reset sequence using the
parameters in MC_DIMM_INIT_PARAMS.
Integrated Memory Controller DIMM initialization command register. This register is
used to sequence the channel through the physical layer training required for DDR.
Device:4, 5, 6
Function: 0
Offset:54h
Access as a Dword
BitType
17WO0
16RW0
15RW0
14RW0
13RW0
12RW0
11RW0
10WO0
9RW0
8RW0
7:5RW0
4:2RW0
1RW0
0WO0
Reset
Value
ASSERT_CKE.
When set, all CKE will be asserted. Write a 0 to this bit to stop the init block
from driving CKE. This bit has no effect once MC_CONTROL.INIT_DONE is set.
This bit must be used during INITIALIZATION only and be cleared out before
MC_CONTROL.INIT_DONE is set. This bit must not be asserted during
initialization for S3 resume.
DO_RCOMP.
When set, an RCOMP will be issued to the rank specified in the RANK field.
DO_ZQCL.
When set, a ZQCL will be issued to the rank specified in the RANK field.
WRDQDQS_MASK.
When set, the Write DQ-DQS training will be skipped.
WRLEVEL_MASK.
When set, the Write Levelization step will be skipped.
RDDQDQS_MASK.
When set, the Read DQ-DQS step will be skipped.
RCVEN_MASK.
When set, the RCVEN step will be skipped.
RESET_FIFOS.
When set, the TX and RX FIFO pointers will be reset at the next BCLK edge. The
Bubble Generators will also be reset.
IGNORE_RX.
When set, the read return datapath will ignore all data coming from the RX
FIFOS. This is done by gating the early valid bit.
STOP_ON_FAIL.
When set along with the AUTORESETDIS not being set, the phyinit FSM will stop
if a step has not completed after timing out.
RANK.
The rank currently being tested. The PhyInit FSM must be sequenced for every
rank present in the channel. The rank value is set to the rank being trained.
NXT_PHYINIT_STATE.
Set to sequence the physical layer state machine.
000 = IDLE
001 = RD DQ-DQS
010 = RcvEn Bitlock
011 = Write Level
100 = WR DQ-DQS.
AUTODIS.
Disables the automatic training where each step is automatically incremented.
When set, the physical layer state machine must be sequenced with software.
The training FSM must be sequenced using the NXT_PHYINIT_STATE field.
TRAIN.
Cycle through the training sequence for the rank specified in the RANK field.
Initialization sequence parameters are stored in this register. Each field is 2^n count.
Device:4, 5, 6
Function: 0
Offset:58h
Access as a Dword
BitType
Reset
Value
26RW0
25RW0
24RW0
23RW0
22RW0
21:17RW15
16RW0
15RW0
14:10RW0
9:5RW0
4:0RW0
Description
DIS_3T.
When set, 3T mode will not be enabled as a part of the MRS write to the
RDIMM. The RC2 write to switch to 3T and back to 1T timing before and after an
MRS write will not be done if the bit is set. This bit should be set if the RDIMM
supports auto MRS cycles where the dimm takes care of the 3T switching on
MRS writes.
DIS_AI.
When set, address inversion will not be disabled as a part of the MRS write to
the RDIMM. The RC0 write to disable and enable address inversion will not be
done. This bit should be set if the RDIMM supports auto MRS cycles where the
dimm takes care of disabling address inversion for MRS writes.
THREE_DIMMS_PRESENT.
Set when channel contains three DIMMs. THREE_DIMMS_PRESENT=1 and
QUAD_RANK_PRESENT=1 (or SINGLE_QUAD_RANK_PRESENT=1) ar e mutually
exclusive.
SINGLE_QUAD_RANK_PRESENT.
Set when channel contains a single quad rank DIMM.
QUAD_RANK_PRESENT.
Set when channel contains 1 or 2 quad rank DIMMs.
WRDQDQS_DELAY.
Specifies the delay in DCLKs between reads and writes for WRDQDQS training.
WRLEVEL_DELAY.
Specifies the delay used between write CAS indications for write leveling
training.
0 = 16 DCLKs.
1 = 32 DCLKs.
REGISTERED_DIMM.
Set when channel contains registered DIMMs.
PHY_FSM_DELAY.
Global timer used for bounding the physical layer trainin g. If the timer exp ires ,
the FSM will go to the next step and the counter will be reloaded with
PHY_FSM_DELAY value. Units are 2^n dclk.
BLOCK_CKE_DELAY.
Delay in ns from when clocks and command are valid to the point CKE is
allowed to be asserted. Units are in 2^n uclk.
RESET_ON_TIME.
Reset will be asserted for the time specified. Units are 2^n Uclk.
DDR3 Configuration Command. This register is used to issue commands to the DIMMs
such as MRS commands. The register is used by setting one of the *_VALID bits along
with the appropriate address and destination RANK. The command is then issued
directly to the DIMM. Care must be taken in using this register as there is no
enforcement of timing parameters related to the action taken by a DDR3CMD write.
This register has no effect after MC_CONTROL.INIT_DONE is set.
Device:4, 5, 6
Function: 0
Offset:60h
Access as a Dword
BitType
Reset
Value
28RW0
27RW0
26RW0
25RW0
24RW0
23RW0
22:20RW0
19:16RW0
15:0RW0
Description
PRECHARGE_VALID.
Indicates current command is for a precharge command.
ACTIVATE_VALID.
Indicates current command is for an activate command.
REG_VALID.
Indicates current command is for a registered DIMM config write Bit is cleared
by hardware on issuance. This bit applies only to processors supporting
registered DIMMs.
WR_VALID.
Indicates current command is for a write CAS. Bit is cleared by hardware on
issuance.
RD_VALID.
Indicates current command is for a read CAS. Bit is cleared by hardware on
issuance.
MRS_VALID.
Indicates current command is an MRS command. Bit is cleared by hardw are on
issuance.
RANK.
Destination rank for command.
MRS_BA.
Address bits driven to DDR_BA[2:0] pins for the DRAM command being issued
due to a valid bit being set in this register.
MRS_ADDR.
Address bits driven to DDR_MA pins for the DRAM command being issued due
This register supports Self Refresh and Thermal Throttle functions.
Device:4, 5, 6
Function: 0
Offset:68h
Access as a Dword
BitType
3:2RW0
1RW0
0RW0
Reset
Value
INC_ENTERPWRDWN_RATE.
Powerdown rate will be increased during thermal throttling based on the
following configurations.
00 = tRANKIDLE (Default)
01 = 16
10 = 24
11 = 32
DIS_OP_REFRESH.
When set, the refresh engine will not issue opportunistic refresh.
ASR_PRESENT.
When set, indicates DRAMs on this channel can support Automatic Self Re fresh.
If the DRAM is not supporting ASR (Auto Self Refresh), then Self Refresh entry
will be delayed until the temperature is below the 2x refresh temperature.
The initial MRS register values for MR0, and MR1 can be specified in this register. These
values are used for the automated MRS writes used as a part of the training FSM. The
remaining values of the MRS register must be specified here.
Device:4, 5, 6
Function: 0
Offset:70h
Access as a Dword
The initial MRS register values for MR2. This register also contains the values used for
RC0 and RC2 writes for registered DIMMs. These values are used during the automated
training sequence when MRS writes or registered DIMM RC writes are used. The RC
fields do not need to be programmed if the address inversion and 3T/1T transitions are
disabled.
Device:4, 5, 6
Function: 0
Offset:74h
Access as a Dword
BitType
23:20RW0
19:16RW0
15:0RW0
Reset
Value
RC2.
The values to write to the RC2 register on RDIMMS. This value will be written
whenever 3T or 1T timings are enabled by hardware. For this reason bit 1 of the
RC2 field (bit 21 of this register) will be controlled by hardware. [23:22] and
[20] will be driven with the RDIMM register write command for RC2.
RC0.
The values to write to the RC0 register on RDIMMS. This value will be written
whenever address inversion is enab led or disab led by hardw are. F or this re ason
bit 0 of the RC0 field (bit 16 of this register) will be controlled by hardware.
[19:17] will be driven with the RDIMM register write command for RC0.
Device:4, 5, 6
Function: 0
Offset:7Ch
Access as a Dword
BitType
7:0RW0
Reset
Value
RANK_PRESENT.
Vector that represents the ranks that are present. Each bit represents a logical
rank. When two or fewer DIMMs are present, [3:0] represents the four possible
ranks in DIMM0 and [7:4] represents the ranks that are possible in DIMM1.
When three DIMMs are present, then the following applies:
[1:0] represents ranks 1:0 in Slot 0
[3:2] represents ranks 3:2 in Slot 1
[5:4] represents ranks 5:4 in Slot 2
This register contains parameters that specify the rank timing used. All parameters are
in DCLK.
Device:4, 5, 6
Function: 0
Offset:84h
Access as a Dword
BitType
Reset
Value
20:16RW0
15:13RW0
12:10RW0
9RW0
8:6RW0
5:0RW0
Description
B2B_CAS_DELAY.
Controls the delay between CAS commands in DCLKS. The minimum spa cin g i s
4 DCLKS. Values below 3 have no effect. A value of 0 disables the logic. Setting
the value between 3-31 also spaces the read data by 0-29 DCLKS. The value
entered is one less than the spacing required, i.e. a spacing of 5 DCLKS
between CAS commands (or 1 DCLK on the read data) requires a setting of 4.
This register contains parameters that specify the bank timing parameters. These
values are in DCLK. The values in these registers are encoded where noted. All of these
values apply to commands to the same rank only.
Device:4, 5, 6
Function: 0
Offset:88h
Access as a Dword
Register Description
BitType
21:17RW0tWTPr. Minimum Write CAS to Precharge command delay.
16:13RW0tRTPr. Minimum Read CAS to Precharge command delay.
12:9RW0tRCD. Minimum delay between Activate and CAS commands.
8:4RW0tRAS. Minimum delay between Activate and Precharge commands.
3:0RW0tRP. Minimum delay between Precharge command and Activate command.
This register contains parameters that specify the refresh timings. Units are in DCLK.
Device:4, 5, 6
Function: 0
Offset:8Ch
Access as a Dword
BitType
29:19RW0
18:9RW0
8:0RW0
Reset
Value
Description
tTHROT_OPPREF.
The minimum time between two opportunistic refreshe s. Shoul d be se t to tRFC in
DCLKS. Zero is an invalid e ncoding. A v alue of 1 should be progr ammed to disable
the throttling of opportunistic refreshes. By setting this field to tRFC, current to a
single DIMM can be limited to that required to support this scenario without
significant performance impact:
โข 8 panic refreshes in tREFI to one rank
โข 1 opportunistic refresh every tRFC to another rank
โข full bandwidth delivered by the third and fourth ranks
Platforms that can supply peak currents to the DIMMs should disable opportunistic
refresh throttling for max performance.
tREFI_8.
Average periodic refresh interval divided by 8.
tRFC.
Delay between the refresh command and an activate or refresh command.
This register contains parameters that specify the CKE timings. All units are in DCLK.
Device:4, 5, 6
Function: 0
Offset:90h
Access as a Dword
BitType
31:24RW0
23:21RW0
20:11RW0
10:3RW0
2:0RW0
Reset
Value
tRANKIDLE.
Rank will go into powerdown after it has been idle for the specified number of
dclks. tRANKIDLE covers max(txxxPDEN). Minimum value is tWRAPDE N. If CKE
is being shared between ranks then both ranks must be idle for this amount of
time. A Power Down Entry command will be requested for a rank after this
number of DCLKs if no request to the rank is in the MC.
tXP.
Minimum delay from exit power down with DLL and any valid command. Exit
Precharge Power Down with DLL frozen to commands not requiring a locked
DLL. Slow exit precharge powerdown is not supported.
tXSDLL.
Minimum delay between the exit of self refresh and commands that require a
locked DLL.
tXS.
Minimum delay between the exit of self refresh and commands not requiring a
DLL.
This register contains parameters that specify ZQ timing. All units are DCLK unless
otherwise specified. The register encodings are specified where applicable.
Device:4, 5, 6
Function: 0
Offset:94h
Access as a Dword
BitType
30RW1
29RW1
28:8RW16410
7:5RW4
4:0RW0
Reset
Value
Parallel_ZQ.
Enable ZQ calibration to different ranks in parallel.
tZQenable.
Enable the issuing of periodic ZQCS calibration commands.
ZQ_Interval.
Nominal interval between periodic ZQ calibration in increments of tREFI.
tZQCS.
This field specifies ZQCS cycles in increments of 16. This is the minimum delay
between ZQCS and any other command. This register should be programmed to
at least 64/16=4='100' to conform to the DDR3 specification.
tZQInit.
This field specifies ZQInit cycles in increments of 32. This is the minimum delay
between ZQCL and any other command. This register should be progr ammed to
at least 512/32=16='10000' to conform to the DDR3 specification.
This register contains parameters that specify Rcomp timings.
Device:4, 5, 6
Function: 0
Offset:98h
Access as a Dword
Register Description
BitType
16RW1
15:10RW2
9:4RW9
3:0RW0
Reset
Value
RCOMP_EN.
Enable Rcomp. When set, the Integrated Memory Controller will do the
programmed blocking of requests and send indications.
RCOMP_CMD_DCLK.
Delay from the start of an RCOMP command blocking period in which the
command rcomp update is done. Program this field to 15 for all configurations.
RCOMP_LENGTH.
Number of Dclks during which all commands are blocked for an RCOMP update.
Data RCOMP update is done on the last DCLK of this period. Program this field
to 31 for all configurations.
RCOMP_INTERVAL.
Duration of interval between Rcomp in increments of tRefI. Register value is
tRefI-1. For example a setting of 0 will produce an interval of tRefI.
This register contains parameters that specify Forcing ODT on Specific ranks. This
register is used in debug only and not during normal operation.
Device:4, 5, 6
Function: 0
Offset:A0h
Access as a Dword
BitType
9RW0MCODT_Writes. Drive MC ODT on reads and writes.
8RW0FORCE_MCODT. Force MC ODT to always be asserted.
7RW0FORCE_ODT7. Force ODT for Rank7 to always be asserted.
6RW0FORCE_ODT6. Force ODT for Rank6 to always be asserted.
5RW0FORCE_ODT5. Force ODT for Rank5 to always be asserted.
4RW0FORCE_ODT4. Force ODT for Rank4 to always be asserted.
3RW0FORCE_ODT3. Force ODT for Rank3 to always be asserted.
2RW0FORCE_ODT2. Force ODT for Rank2 to always be asserted.
1RW0FORCE_ODT1. Force ODT for Rank1 to always be asserted.
0RW0FORCE_ODT0. Force ODT for Rank0 to always be asserted.
This register contains the ODT activation matrix for RANKS 0 to 3 for Writes.
Device:4, 5, 6
Function: 0
Offset:ACh
Access as a Dword
BitType
31:24RW9ODT_WR3. Bit patterns driven out onto ODT pins when Rank3 is written.
23:16RW5ODT_WR2. Bit patterns driven out onto ODT pins when Rank2 is written.
15:8RW6ODT_WR1. Bit patterns driven out onto ODT pins when Rank1 is written.
7:0RW5ODT_WR0. Bit patterns driven out onto ODT pins when Rank0 is written.
This register contains the ODT activation matrix for RANKS 4 to 7 for Writes.
Device:4, 5, 6
Function: 0
Offset:B0h
Access as a Dword
BitType
31:24RW9ODT_WR7. Bit patterns driven out onto ODT pins when Rank7 is written.
23:16RW5ODT_WR6. Bit patterns driven out onto ODT pins when Rank6 is written.
15:8RW6ODT_WR5. Bit patterns driven out onto ODT pins when Rank5 is written.
7:0RW5ODT_WR4. Bit patterns driven out onto ODT pins when Rank4 is written
This register contains parameters that specify settings for the Write Address Queue.
Device:4, 5, 6
Function: 0
Offset:B4h
Access as a Dword
BitType
Reset
Value
29:25RW6
24:20RW31
19:15RW31
14:10RW31
9:5RW22
4:0RW22
Description
PRECASWRTHRESHOLD.
Threshold above which Medium-Low Priority reads cannot PRE-CAS write
requests.
PARTWRTHRESHOLD.
Threshold used to raise the priority of underfill requests in the scheduler. Set to
31 to disable.
ISOCEXITTHRESHOLD.
Write Major Mode ISOC Exit Threshold. When the number of writes in the WAQ
drops below this threshold, the MC will exit write major mode in the presence of
a read.
ISOCENTRYTHRESHOLD.
Write Major Mode ISOC Entry Threshold. When the number of writes in the
WAQ exceeds this threshold, the MC will enter write major mode in the
presence of a read.
WMENTRYTHRESHOLD.
Write Major Mode Entry Threshold. When the number of writes in the WAQ
exceeds this threshold, the MC will enter write major mode.
WMEXITTHRESHOLD.
Write Major Mode Exit Threshold. When the number of writes in the WAQ drop
below this threshold, the MC will exit write major mode.
These are the parameters used to set the Start Scheduler for TX clock crossing. This is
used to send commands to the DIMMs.
The NATIVE RATIO is UCLK multiplier of BCLK = U
ALIEN RATION is DCLK multiplier of BCLK = D
PIPE DEPTH = 8 UCLK (design dependent variable)
MIN SEP DELAY = 670ps (design dependent variable, Internally this is logic delay of
FIFO + clock skew between U and D)
TOTAL EFFECTIVE DELAY = PIPE DEPTH * UCLK PERIOD in ps + MIN SEP DELAY
DELAY FRACTION = (T O TAL EFFECTIVE DELAY * D) / (UCLK PERIOD in ps * G.C.D(U,D)
Determine OFFSET MULTIPLE using the equation
FLOOR ((OFFSET MULTIPLE +1) / G.C.D (U,D)) > DELAY FRACTION
OFFSET VALUE = MOD (OFFSET MULTIPLE, U) <= Final answer for OFFSET MULTIPLE
Device:4, 5, 6
Function: 0
Offset:C0h
Access as a Dword
BitType
23:16RW2
15:8RW1
7:0RW4
Reset
Value
Description
OFFSET. TX offset setting.
ALIENRATIO. Dclk ratio to BCLK. TX Alien Ratio setting.
NATIVERATIO. Uclk ratio to BCLK. TX Native Ratio setting.
These are the parameters used to set the Rx clock crossing BGF.
Device:4, 5, 6
Function: 0
Offset:C8h
Access as a Dword
BitType
26:24RW2
23:16RW0
15:8RW1
7:0RW2
Reset
Value
Description
PTRSEP.
RX FIFO pointer separation settings. THIS FIELD IS NOT USED BY HARDWARE.
RX Pointer separation can be modified via the round trip setting (larger value
causes a larger pointer separation).
OFFSET. RX offset setting.
ALIENRATIO. Qclk to BCLK ratio. RX Alien Ratio setting.
NATIVERATIO. Uclk to BCLK ratio. RX Native Ratio setting.
These are the parameters to set the early warning RX clock crossing the Bubble
Generator FIFO (BGF) used to go between different clocking domains. These settings
provide the gearing necessary to make that clock crossing.
Device:4, 5, 6
Function: 0
Offset:D4h
Access as a Dword
BitType
7:0RW0ROUND_TRIP_LATENCY.
78Datasheet
Reset
Value
Description
Round trip latency for reads. Units are in UCLK. This register must be
programmed with the appropriate time for read data to be retuned from the
pads after a READ CAS is sent to the DIMMs.
These are the parameters used to control parameters for page closing policies..
Device:4, 5, 6
Function: 0
Offset:D8h
Access as a Dword
BitType
15:8RW0REQUESTCOUNTER.
7:0RW0ADAPTIVETIMEOU TCOUNTER.
Reset
Value
Description
This field is the upper 8 MSBs of a 12-bit counter. This counter determines the
window over which the page close policy is evaluated.
This field is the upper 8 MSBs of a 12-bit counter. This counter adapts the
interval between assertions of the page close flag. For a less aggressive page
close, the length of the count interval is increased and vice versa for a more
aggressive page close policy.
These are the parameters used to control parameters for page closing policies..
Device:4, 5, 6
Function: 0
Offset:DCh
Access as a Dword
BitType
27RW0ENABLEADAPTIVEPAGECLOSE.
26:18RW0MINPAGECLOSELIMIT.
17:9RW0MAXPAGECLOSELIMIT.
8:0RW0MISTAKECOUNTER.
Reset
Value
Description
1 = Enables Adaptive Page Closing.
This field is the upper 9 MSBs of a 13-bit threshold limit. When the mistake
counter falls below this threshold, a less aggressive page close interval (larger)
is selected.
This field is the upper 9 bits of a 13-bit threshold limit. When the mistake
counter exceeds this threshold, a more aggress ive page cl ose interv al (smaller)
is selected.
This field is the upper 8 MSBs of a 12-bit counter. This counter adapts the
interval between assertions of the page close flag. For a less aggressive page
close, the length of the count interval is increased and vice versa for a more
aggressive page close policy.
Integrated Memory Controller Channel Bubble Generator Offsets for CMD FIFO. The
Data command FIFOs share the settings for channel 0 across all three channels. The
register in Channel 0 must be programmed for all configurations.
Device:4, 5, 6
Function: 0
Offset:E4h
Access as a Dword
This register specifies the intended address or address range where ECC errors will be
injected. It can be set to match memory address on a per channel basis. The address
fields can be masked in the Mask bits. Any mask bits set to 1 will always match. To
match all addresses, all of the mask bits can be set to 1. The
MC_CHANNEL_X_ECC_ERROR_INJECT register can be used to set the trigger for the
error injection.
Device:4, 5, 6
Function: 0
Offset:F0h
Access as a Qword
BitType
Reset
Value
41RW0
40RW0
39RW0
38RW0
37RW0
36RW0
35:34RW0
33:30RW0
29:14RW0
13:0RW0
Description
MASK_DIMM.
1 = If set, ignore DIMM address during address comparison.
MASK_RANK.
1 = If set, ignore RANK address during address comparison.
MASK_BANK.
1 = If set, ignore BANK address during address comparison.
MASK_PAGE.
If set, ignore PAGE address during address co mparison.
MASK_COL.
1 = If set ignore, COLUMN address during address comparison.
DIMM.
DIMM address for 1 or 2DPC. For 3DPC, bits 36 and 35 represent the DIMM
address and bit 34 represent the RANK address.
RANK.
Rank address for 1 or 2DPC. For 3DPC, bits 36 and 35 represent the DIMM
address and bit 34 represent the RANK address.
BANK. Bank address.
PAGE. Page address.
COLUMN. Column address.
This register contains mask bits for the memory controller and specifies at which ECC
bit(s) the error injection should occur. Any bits set to a 1 will flip the corresponding ECC
bit. Correctable errors can be injected by flipping 1 bit or the bits within a symbol pair
(2 consecutive aligned 8-bit pairs - i.e. 7:0 and 15:8 or 23:16 and 31:24). Flipping bits
in two symbol pairs will cause an uncorrectable error to be injected.
Device:4, 5, 6
Function: 0
Offset:F8h
Access as a Dword
Register Description
BitType
31:0RW0
Reset
Value
Description
ECCMASK.
This field contains the 32 bits of MC ECC mask bit for half cacheline.
This register contains the control bits for the actual ECC error injection. This register
needs to be written after writing into MC_CHANNEL_X_ECC_ERROR_MASK. The
INJECT_ECC bit must be set to enable error injection. Otherwise, no error injection will
take place even if the criteria programmed in the MC_CHANNEL_X_ADDR_MATCH
register is met.
Device:4, 5, 6
Function: 0
Offset:FCh
Access as a Dword
BitType
4RW0
3RW0
2:1RW0
0RW0
Reset
Value
Description
INJECT_ADDR_PARITY.
1 = Forces Address Parity error injection. Bit will reset after the first injection
unless REPEAT_EN is set.
INJECT_ECC.
1 = Forces ECC error injection. Bit will reset after the first injection unless
REPEAT_EN is set.
MASK_HALF_CACHELINE.
11 = Inject the ECC code word for full cacheline.
10 = Inject the ECC code word for upper 32B half cacheline.
01 = Inject the ECC code word for lower 32B half cacheline.
00 = No masking will be applied.
REPEAT_EN.
1 = ECC errors will be injected on the channel until the bit is cleared.
82Datasheet
Page 83
Register Description
2.10.39Error Injection Implementation
The usage model is to program the MC_CHANNEL_X_ADDR_MATCH and
MC_CHANNEL_X_ECC_ERROR_MASK registers before writing the command in
MC_CHANNEL_X_ECC_ERROR_INJECT register. When writing the
MC_CHANNEL_X_ECC_ERROR_INJECT register, the REPEAT_EN and
MASK_HALF_CACHELINE bits need to be set to the desired values.
To turn off the feature, write 0 to the MC_CHANNEL_X_ECC_ERROR_INJ ECT regis t er.
Address parity error injection and ECC error injection can be done either at the same
time or independently . They will both use the same MATCH settings if both are enabled.
Note:Along with the INJECT_ECC bit set, software must generate the memory traffic that
matches the address location programmed in the MC_CHANNEL_X_ADDR_MATCH
register as described above in order for an error injection to take place. Unless the
REPEAT_EN bit is set in the MC_CHANNEL_X_ECC_ERROR_INJECT register, the
memory controller will only inject the error to the first location that matches the criteria
programmed in the MC_CHANNEL_X_ADDR_MATCH register.
Errors are injected on writes only. Reads will be required to detect the errors in the
MC_COR_ECC_CNT_X registers. Additionally, all writes used to inject errors must be
committed to memory to ensure the error is detected on subsequent reads.
Device:4
Function: 1
Offset:48h, 4Ch, 50h
Access as a Dword
BitType
Reset
Value
12:10RW0
9RW0
8:7RW0
6:5RW0
4:2RW0
1:0RW0
Description
RANKOFFSET.
Rank Offset for calculating RANK. This corresponds to the first logical rank on
the DIMM. The rank offset is always programmed to 0 for the DIMM 0 DOD
registers. (DIMM 0 rank offset is always 0.) DIMM 1 DOD rank offset is either 4
for two DIMMs per channel or 2 if there are three DIMMs per channel. DIMM2
DOD rank offset is always 4 as it is only used in three DIMMs per channel case.
DIMMPRESENT. DIMM slot is populated.
NUMBANK.
Defines the number of (real, not shadow) banks on these DIMMs.
00 = Four-banked
01 = Eight-banked
10 = Sixteen-banked
NUMRANK.
Number of Ranks. Defines the number of ranks on these DIMMs.
00 = Single Ranked
01 = Double Ranked
10 = Quad Ranked
NUMROW.
Number of Rows. Defines the number of rows within these DIMMs.
000 = 2^12 Rows
001 = 2^13 Rows
010 = 2^14 Rows
011 = 2^15 Rows
100 = 2^16 Rows
NUMCOL.
Number of Columns. Defines the number of columns within on these DIMMs.
00 = 2^10 columns
01 = 2^11 columns
10 = 2^12 columns
11 = RSVD.
84Datasheet
Page 85
Register Description
2.11.2MC_DOD_CH1_0, MC_DOD_CH1_1, MC_DOD_CH1_2
Channel 1 DIMM Organization Descriptor Register.
Device:5
Function: 1
Offset:48h, 4Ch, 50h
Access as a Dword
BitType
Reset
Value
12:10RW0
9RW0
8:7RW0
6:5RW0
4:2RW0
1:0RW0
Description
RANKOFFSET. Rank Offset for calculating RANK.
This field corresponds to the first logical rank on the DIMM. The rank offset is
always programmed to 0 for the DIMM 0 DOD registers. (DIMM 0 rank offset is
always 0.) DIMM 1 DOD rank offset is either 4 for two DIMMs per chan nel or 2 if
there are three DIMMs per channel. DIMM2 DOD rank offset is always 4 as it is
only used in three DIMMs per channel case.
DIMMPRESENT. DIMM slot is populated.
NUMBANK.
Defines the number of (real, not shadow) banks on these DIMMs.
00 = Four-banked
01 = Eight-banked
10 = Sixteen-banked
NUMRANK. Number of Ranks. Defines the number of ranks on these DIMMs.
00 = Single Ranked
01 = Double Ranked
10 = Quad Ranked
NUMROW. Number of Rows.
Defines the number of rows within these DIMMs.
000 = 2^12 Rows
001 = 2^13 Rows
010 = 2^14 Rows
011 = 2^15 Rows
100 = 2^16 Rows
NUMCOL. Number of Columns.
Defines the number of columns within on these DIMMs.
00 = 2^10 columns
01 = 2^11 columns
10 = 2^12 columns
11 = RSVD.
Datasheet85
Page 86
Register Description
2.11.3MC_DOD_CH2_0, MC_DOD_CH2_1, MC_DOD_CH2_2
Channel 2 DIMM Organization Descriptor Register.
Device:6
Function: 1
Offset:48h, 4Ch, 50h
Access as a Dword
BitType
12:10RW0RANKOFFSET. Rank Offset for calculating RANK.
9RW0DIMMPRESENT. DIMM slot is populated.
8:7RW0NUMBANK.
6:5RW0NUMRANK.
4:2RW0NUMROW.
1:0RW0NUMCOL.
Reset
Value
Description
This field corresponds to the first logical rank on the DIMM. The rank offset is
always programmed to 0 for the DIMM 0 DOD registers. (DIMM 0 rank offset is
always 0.) DIMM 1 DOD rank offset is either 4 for two DIMMs per channel or 2 i f
there are three DIMMs per channel. DIMM2 DOD rank offset is always 4 as it is
only used in three DIMMs per channel case.
Defines the number of (real, not shadow) banks on these DIMMs.
00 = Four-banked
01 = Eight-banked
10 = Sixteen-banked
Defines the number of ranks on these DIMMs.
00 = Single Ranked
01 = Double Ranked
10 = Quad Ranked
Defines the number of rows within these DIMMs.
000 = 2^12 Rows
001 = 2^13 Rows
010 = 2^14 Rows
011 = 2^15 Rows
100 = 2^16 Rows
Defines the number of columns within on these DIMMs.
00 = 2^10 columns
01 = 2^11 columns
10 = 2^12 columns
11 = RSVD
Channel Segment Address Registers. For each of the 8 interleave ranges, they specify
the offset between the System Address and the Memory Address and the System
Address bits used for level 1 interleave, which should not be translated to Memory
Address bits. Memory Address is calculated from System Address and the contents of
these registers by the following algorithm:
m[39:16] = SystemAddress[39:16] + (sign extend {Offset[23:0]});
m[15:6] = SystemAddress[15:6];
If (Removed[2]) {bit 8 removed};
If (Removed[1]) {bit 7 removed};
If (Removed[0]) {bit 6 removed};
MemoryAddress[36:6] = m[36: 6 ];
The following table summarizes the combinations of removed bits and divide-by-3
operations for the various supported interleave configurations. All other combinations
are not supported.
Note:If any of bits [8:6] are removed, the higher order bits are shifted down.
Removed [8:6]Divide-By-3Interleave
0000None
00102-Way
01104-Way
00013-Way
00116-Way
Device:4
Function: 1
Offset:80h, 84h, 88h, 8Ch, 90h, 94h, 98h, 9Ch
Access as a Dword
BitType
27RW0
26:24RW0
23:0RW0
Reset
Value
Description
DIVBY3.
This bit indicates the rule is a 3 or 6 way interleave.
REMOVED.
These are the bits to be removed after offset subtraction. These bits correspond
to System Address [8,7,6].
OFFSET.
This value should be subtracted from the current system address to create a
contiguous address space within a channel. BITS 9:0 ARE RESERVED AND
MUST ALWAYS BE SET TO 0.
Device:4
Function: 2
Offset:40h, 44h, 48h, 4Ch, 50h, 54h, 58h, 5Ch
Access as a Dword
BitType
9:0RW0
Reset
Value
Description
LIMIT.
This field specifies the top of the range being mapped to the ranks specified in
the MC_RIR_WAY_CH registers. The most significant bits of the lowest address
in this range is one greater than the limit field in the RIR register with the next
lower index. This field is compared against MA[37:28].
Channel Rank Interleave Way Range R egisters. Th ese registers allow the user to define
the ranks and offsets that apply to the ranges defined by the LIMIT in the
MC_RIR_LIMIT_CH registers. The mappings are as follows:
This field defines the offset used in the rank interleave. This is a 2's
complement value.
0RANK.
This field defines which rank participates in WAY (n). If MC.CLOSEDP AGE=1, this
field defines the DRAM rank selected when MemoryAddress[7:6]=(n). If
MC.CLOSEDPAGE=0, this field defines which rank is selected when
MemoryAddress[13:12]=(n). (n) is the instantiation of the register. This field is
organized by physical rank. Bits [3:2] are the encoded DIMM ID(slot). Bits
[1:0] are the rank within that D IMM.
Channel Rank Interleave W ay R ange Registers. These registers allow the user to define
the ranks and offsets that apply to the ranges defined by the LIMIT in the
MC_RIR_LIMIT_CH registers. The mappings are as follows:
This field defines the offset used in the rank interleave. This is a 2's
complement value.
RANK.
This field defines which rank participates in WAY(n). If MC.CLOSEDPAGE=1, this
field defines the DRAM rank selected when MemoryAddress[7:6]=(n). If
MC.CLOSEDPAGE=0, this field defines which rank is selected when
MemoryAddress[13:12]=(n). (n) is the instantiation of the register. This field is
organized by physical rank. Bits [3:2] are the encoded DIMM ID (slot). Bits
[1:0] are the rank within that DIMM.
Channel Rank Interleave Way Range R egisters. Th ese registers allow the user to define
the ranks and offsets that apply to the ranges defined by the LIMIT in the
MC_RIR_LIMIT_CH registers. The mappings are as follows:
This field defines the offset used in the rank interleave. This is a 2's
complement value.
RANK.
This field defines which rank participates in WAY (n). If MC.CLOSEDP AGE=1, this
field defines the DRAM rank selected when MemoryAddress[7:6]=(n). If
MC.CLOSEDPAGE=0, this field defines which rank is selected when
MemoryAddress[13:12]=(n). (n) is the instantiation of the register. This field is
organized by physical rank. Bits [3:2] are the encoded DIMM ID(slot). Bits
[1:0] are the rank within that D IMM.
Controls for the Integrated Memory Controller thermal throttle logic for each channel.
Device:4, 5, 6
Function: 3
Offset:48h
Access as a Dword
Register Description
BitType
2RW1
1:0RW0
Reset
Value
APPLY_SAFE.
Enable the application of safe values while
MC_THERMAL_PARAMS_B.SAFE_INTERVAL is exceeded.
THROTTLE_MODE. S
elects throttling mode.
00 = Throttle disabled
01 = Open Loop: Throttle when Virtual Temperature is greater than
MC_THROTTLE_OFFSET.
10 = Closed Loop: Throttle when MC_CLOSED_LOOP.THROTTLE_NOW is set.
11 = Closed Loop: Throttle when MC_DDR_THERM_COMMAND.THROT TLE is set
and the MC_DDR_THERM pin is asserted OR OLTT will be implemented
Device:4, 5, 6
Function: 3
Offset:64h
Access as a Dword
Register Description
BitType
31:26RW1
25:16RW255
15:8RW1
7:0RW0
Reset
Value
SAFE_INTERVAL.
Safe values for cooling coefficient and duty cycle will be applied while the
SAFE_INTERVAL is exceeded. This interval is the number of ZQ intervals since
the last time the MC_COOLING_COEF or MC_CLOSED_LOOP registers have
been written. A register to write to MC_COOLING_COEF or MC_CLOSED_LOOP
will re-apply the normal MC_COOLING_COEF and
MC_CLOSED_LOOP.MIN_THROTTLE_DUTY_CYC values. The register value
written need not be different; writing the current value will suffice. The
MC_THERMAL_STATUS.CYCLES_THROTTLED field is reloaded when the number
of ZQ intervals exceeds this value. This field must not be programmed to 0; this
value is illegal.
SAFE_DUTY_CYC. This value replaces
MC_CLOSED_LOOP.MIN_THROTTLE_DUTY_CYC while the
MC_THERMAL_PARAMS_B.SAFE_INTERVAL is exceeded.
SAFE_COOL_COEF.
This value replaces MC_COOLING_COEF while the
THERMAL_PARAMS_B.SAFE_INTERVAL is exceeded.
ACTCMD_ENERGY.
Heat removed from DRAM 8 DCLKs. This should be scaled relative to the per command
weights and the initial value of the throttling threshold. This includes idle command and
refresh energies. If 2X refresh is supported, the worst case of 2X refresh must be
assumed.
Description
When there are more than 4 ranks attached to the channel, the thermal throttle logic is
shared.
Device:4, 5, 6
Function: 3
Offset:80h
Access as a Dword
This register controls the closed loop thermal response of the DRAM thermal throttle
logic. It supports immediate thermal throttle and 2X refresh. In addition, the register is
used to configure the throttling duty cycle.
Device:4, 5, 6
Function: 3
Offset:84h
Access as a Dword
BitType
17:8RW64
4RW0
3:0RW0
Reset
Value
MIN_THROTTLE_DUTY_CYC.
This parameter represents the minimum number of DCLKs o f oper ation allowed
after throttling. In order to provide actual command opportunities, the number
of clocks between CKE de-assertion and first command should be considered.
REF_2X_NOW.
Direct control of dynamic 2X refresh if
Compared against bits [36:29] of virtual temperature of each rank stored in
RANK_VIRTUAL_TEMP to determine the throttle point. Recommended value for each
rank is 255.
When there are more than 4 ranks attached to the channel, the therm al throttle logic is
shared.
Device:4, 5, 6
Function: 3
Offset:88h
Access as a Dword
This register contains the 8 most significant bits [37:30] of the virtual temperature of
each rank. The difference between the virtual temperature and the sensor temperature
can be used to determine how fast fan speed should be increased. The value stored is
right shifted one bit to the right with respect to the corresponding MC_Throttle_Offset
register value. For example when When a rank throttle offset is set to 40h, the value
read from the corresponding in MC_RANK_VIRTUAL_TEMP register is 20h.
When there are more than 4 ranks attached to the channel, the thermal throttle logic is
shared.
Device:4, 5, 6
Function: 3
Offset:98h
Access as a Dword
This register contains the command portion of the DDR_THERM# functionality as
described in the processor datasheet (i.e., what an assertion of the pin does).
Device:4, 5, 6
Function: 3
Offset:9Ch
Access as a Dword
BitType
3RW0
2RW0
1RW0
0RW0
Reset
Value
THROTTLE.
Force throttling when DDR_THERM# pin is asserted.
Reserved
DISABLE_EXTTS.
Response to DDR_THERM# pin is disabled. ASSERTION and DEASSERTION
fields in the register MC_DDR_THERM_STATUS are frozen.
LOCK.
When set, all bits in this register are RO and cannot be written.
This register contains the status portion of the DDR_THERM# functionality as described
in the processor datasheet (i.e., what is ha ppening or has happened with respect to the
pin).
Device:4, 5, 6
Function: 3
Offset:A4h
Access as a Dword
BitType
2RO0
1RO0
0RO0
Reset
Value
Description
ASSERTION.
An assertion edge was seen on DDR_THERM#. Write-1-to-clear.
DEASSERTION.
A de-assertion edge was seen on DDR_THERM#. Write-1-to-clear.
STATE.
Present logical state of DDR_THERM# bit. This is a static indication of the pin,
and may be several clocks out of date due to the delay between the pin and the
signal.
STATE = 0 means DDR_THERM# is deasserted
STATE = 1 means DDR_THERM# is asserted