Uncore Manual
Uncore Performance Monitoring
Home Agent (HA) Performance Monitoring
54 Reference Number: 329468-002
2.4 HOME AGENT (HA) PERFORMANCE MONITORING
2.4.1 Overview of the Home Agent
The HA is responsible for the protocol side of memory interactions, including coherent and non-
coherent home agent protocols (as defined in the Intel
®
QuickPath Interconnect Specification). Addi-
tionally, the HA is responsible for ordering memory reads/writes, coming in from the modular Ring, to
a given address such that the iMC (memory controller).
In other words, it is the coherency agent responsible for guarding the memory controller. All requests
for memory attached to the coupled iMC must first be ordered through the HA. As such, it provides
several functions:
• Interface between Ring and iMC:
Regardless of the memory technology, the Home Agent receives memory read and write requests
from the modular ring. It checks the memory transaction type, detects and resolves the coherent
conflict, and finally schedules a corresponding transaction to the memory controller. It is also
responsible for returning the response and completion to the requester.
• Conflict Manager:
All requests must go through conflict management logic in order to ensure coherent consistency.
In other words, the view of data must be the same across all coherency agents regardless of who
is reading or modifying the data. On Intel
®
QPI, the home agent is responsible for tracking all
requests to a given address and ensuring that the results are consistent.
• Memory Access Ordering Control:
• The Home Agent guarantees the ordering of RAW, WAW and WAR. Home Snoop Protocol Support
(for parts with Directory Support):
The Home Agent supports Intel
®
QPI’s home snoop protocol by initiating snoops on behalf of
requests. Closely tied to the directory feature, the home agent has the ability to issue snoops to
the peer caching agents for requests based on the directory information.
• Directory Support:
In order to satisfy performance requirements for the 4 socket and scalable DP segments, the
Home Agent implements a snoop directory which tracks all cachelines residing behind this Home
Agent. This directory is used to reduce the snoop traffic when Intel
®
QPI bandwidth would
otherwise be strained. The directory is not intended for typical 2S topologies.
2.4.2 HA Performance Monitoring Overview
The HA Box supports event monitoring through four 48-bit wide counters (HA_PCI_PMON_CTR{3:0}).
Each of these counters can be programmed (HA_PCI_PMON_CTL{3:0}) to capture any HA event. The
HA counters will increment by a maximum of 8b per cycle.
AK_CORE bxx1xxxxx AK - Corebo
Ring transactions from the Corebo destined for the AK ring. This
is commonly used for snoop responses coming from the core and
destined for a Cachebo.
BL_CORE bx1xxxxxx BL - Corebo
Ring transactions from the Corebo destined for the BL ring. This
is commonly used for transferring writeback data to the cache.
Table 2-36. Unit Masks for TxR_INSERTS
Extension
umask
[15:8]
Description