Intel ARCHITECTURE IA-32 User Manual Page 399

  • Download
  • Add to my manuals
  • Print
  • Page
    / 568
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 398
Multi-Core and Hyper-Threading Technology 7
7-53
first to the primary logical processor of each processor core. This
example is also optimized to the situations of scheduling two
memory-intensive threads to run on separate cores and scheduling two
compute-intensive threads on separate cores.
User/Source Coding Rule 39. (M impact, L generality) Consider using
thread affinity to optimize sharing resources cooperatively in the same core
and subscribing dedicated resource in separate processor cores.
Some multi-core processor implementation may have a shared cache
topology that is not uniform across different cache levels. The
deterministic cache parameter leaf of CPUID will report such
cache-sharing topology. The 3-level hierarchy and relationships
between the initial APIC_ID and affinity mask can also be used to
manage such a topology.
Example 7-13 illustrates the steps of discovering sibling logical
processors in a physical package sharing a target level cache. The
algorithm assumes initial APIC IDs are assigned in a manner that
respect bit field boundaries, with respect to the modular boundary of the
subset of logical processor sharing that cache level. Software can query
the number of logical processors in hardware sharing a cache using the
deterministic cache parameter leaf of CPUID. By comparing the
relevant bits in the initial APIC_ID, one can construct a mask to
represent sibling logical processors that are sharing the same cache.
Note the bit field boundary of the cache-sharing topology is not
necessarily the same as the core boundary. Some cache levels can be
shared across core boundary.
Page view 398
1 2 ... 394 395 396 397 398 399 400 401 402 403 404 ... 567 568

Comments to this Manuals

No comments