I
NTEL
® X
EON
® P
ROCESSOR
7500 S
ERIES
U
NCORE
P
ROGRAMMING
G
UIDE
UNCORE PERFORMANCE MONITORING
2-34
• SNPOQ (SNP Output Queue) 256-entry - request is pushed when a snoop message has to be sent
but is blocked due to lack of credits or the output port is busy.
• DRSOQ (DRS Output Queue) 32-entry - request is pushed when a DRS message has to be sent but
is blocked due to lack of credits or the output port is busy.
• MAQ (M-Box Arbitration Queue) 32-entry - Request is pushed when it asks for M-Box access and
the M-Box backpressures the B-Box (e.g. a link error flow in M-Box).
• MDRSOQ (Mirror DRS Output Queue) 32-entry - Request is pushed onto Mirror DRS output queue
when a NonSnpWrData(Ptl) needs to be sent to the mirror slave and VN1 DRS channel or Intel QPI
output resources are unavailable.
• MHOMOQ (Mirror HOM Output Queue) 256-entry - Request is pushed onto Mirror Home output
queue when a Home message needs to be sent out from mirror master to mirror slave (NonSnpWr/
RdCode/RdInvOwn) but is blocked due to a lack of credits (VN1 HOM) or the output port is busy.
2.4.4.2
On the Major B-Box Structures:
The 32-entry IMT (In Memory Table) Tracks and serializes in-flight reads and writes to the M-Box. The
IMT ensures that there is only one pending request to a given system address. (NOTE: tracks all
outstanding memory transactions that have already been sent to the M-Box.)
IMT average occupancy == (valid cnt * 32 / cycles)
IMT average latency == (valid cnt * 32 / IMT inserts)
The 256-entry TF (Tracker File) holds all transactions that arrive in the B-Box from the time they arrive
until they are completed and leave the B-Box. Transactions could stay in this structure much longer
than they are needed. IMT is the critical resource each transaction needs before being sent to the M-
Box (memory controller)
TF average occupancy == (valid cnt * 256 / cycles)
TF average latency == (valid cnt * 256 / IMT inserts)
NOTE: The latency is only valid under ‘normal’ circumstances in which a request generates a memory
prefetch. It will not hold true if the IMT is full and a prefetch isn’t generated.
2.4.4.3
On InvItoE Transactions:
TF and IMT entries are broken into four categories: writes and InvItoE transactions (reads may be
inferred by subtracting write and InvItoE transactions from all transactions) that do/do not come from
IOH agents within the system. While reads and writes should be self-explanatory, InvItoE’s may not
be.
- InvItoE - returns ownership of line to requestor (in E-state) without returning data. The Home Agent
sees it as an RFO and the memory controller sees it as memory read. The B-Box has to do more with it
than it does for regular reads. It must make sure that not only the data gets forwarded to the
requestor, but that it grants ownership to requestor. Depending on where the InvItoE request originates
from, the HA takes different actions - if triggered by directory agent then HA/B-Box has to generate
snoop invalidations to other caches/directories.
2.4.5
B-Box Events Ordered By Code