Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

About Adaptive Mode for L1 Cache in Hyper-threading


Dear all:

      I'm a student doing some research on Hyper-threading recently. I'm a little confused about the feature - L1 Data Cache Context Mode.

In the architecture optimization manual,

It was described that L1 cache can operate in two modes:

The first level cache can operate in two modes depending on a context-ID bit:

Shared mode: The L1 data cache is fully shared by two logical processors.

Adaptive mode: In adaptive mode, memory accesses using the page directory is mapped identically across logical processors sharing the L1 data cache.

However, I am curious about how cache get partitioned in the adaptive mode according to the description.


0 Kudos
1 Reply
Valued Contributor II
You might find a better description of this in the systems programming guide, The cache isn't so much partitioned as made available in its entirety to competitive caching from the two threads sharing it. The expectation when the CR3s of the two threads are different is that they are separate processes. When the CR3s are the same, the expectation is that they are shared threads within a process that might benefit from sharing cache lines--memory cached from one thread can be used from the cache by the other thread. This was an Intel Hyper-Threading Technology feature for the Intel Netburst architecture.
0 Kudos