13.07.2015 Views

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USING PERFORMANCE MONITORING EVENTSmance-monitoring events from which these bus <strong>and</strong> memory metrics are derived.The granularities of core references are listed below, according to the performancemonitoring events documented in Appendix A of Intel® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong>Software Developer’s <strong>Manual</strong>, Volume 3B.B.2.2.1Reads due to program loads• BSQ_cache_reference — 128 bytes for misses (on current implementations),<strong>64</strong> bytes for hits• BSQ_allocation — 128 bytes for hits or misses (on current implementations),smaller for partials' hits or misses• BSQ_active_entries — <strong>64</strong> bytes for hits or misses, smaller for partials' hits ormisses• IOQ_allocation, IOQ_active_entries — <strong>64</strong> bytes, smaller for partials' hits ormissesB.2.2.2Reads due to program writes (RFOs)• BSQ_cache_reference — <strong>64</strong> bytes for hits or misses• BSQ_allocation — <strong>64</strong> bytes for hits or misses (the granularity for misses maychange in future implementations of BSQ_allocation), smaller for partials' hits ormisses• BSQ_active_entries — <strong>64</strong> bytes for hits or misses, smaller for partials' hits ormisses• IOQ_allocation, IOQ_active_entries — <strong>64</strong> bytes for hits or misses, smaller forpartials' hits or missesB.2.2.3Writebacks (dirty evictions)• BSQ_cache_reference — <strong>64</strong> bytes• BSQ_allocation — <strong>64</strong> bytes• BSQ_active_entries — <strong>64</strong> bytes• IOQ_allocation, IOQ_active_entries — <strong>64</strong> bytesThe count of IOQ allocations may exceed the count of corresponding BSQ allocationson current implementations for several reasons, including:• Partials — In the FSB IOQ, any transaction smaller than <strong>64</strong> bytes is broken upinto one to eight partials, each being counted separately as a or one to eight-bytechunks. In the BSQ, allocations of partials get a count of one. Future implementationswill count each partial individually.• Different transaction sizes — Allocations of non-partial programmatic loadrequests get a count of one per 128 bytes in the BSQ on current implementations,<strong>and</strong> a count of one per <strong>64</strong> bytes in the FSB IOQ. Allocations of RFOs get aB-<strong>32</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!