Intel 253668-032US ユーザーズマニュアル

ページ / 806
11-14   Vol. 3
MEMORY CACHE CONTROL
 
The L1 instruction cache in P6 family processors implements only the “SI” part of the 
MESI protocol, because the instruction cache is not writable. The instruction cache 
monitors changes in the data cache to maintain consistency between the caches 
when instructions are modified. See Section 11.6, “Self-Modifying Code,” for more 
information on the implications of caching instructions.
11.5 CACHE 
CONTROL
The Intel 64 and IA-32 architectures provide a variety of mechanisms for controlling 
the caching of data and instructions and for controlling the ordering of reads and 
writes between the processor, the caches, and memory. These mechanisms can be 
divided into two groups:
Cache control registers and bits — The Intel 64 and IA-32 architectures 
define several dedicated registers and various bits within control registers and 
page- and directory-table entries that control the caching system memory 
locations in the L1, L2, and L3 caches. These mechanisms control the caching of 
virtual memory pages and of regions of physical memory.
Cache control and memory ordering instructions — The Intel 64 and IA-32 
architectures provide several instructions that control the caching of data, the 
ordering of memory reads and writes, and the prefetching of data. These instruc-
tions allow software to control the caching of specific data structures, to control 
memory coherency for specific locations in memory, and to force strong memory 
ordering at specific locations in a program.
The following sections describe these two groups of cache control mechanisms.
Table 11-4.  MESI Cache Line States
Cache Line State
M (Modified)
E (Exclusive)
S (Shared)
I (Invalid)
This cache line is valid? Yes
Yes
Yes
No
The memory copy is…
Out of date
Valid
Valid
Copies exist in caches 
of other processors?
No
No
Maybe
Maybe
A write to this line …
Does not go to 
the system bus.
Does not go to 
the system bus.
Causes the 
processor to gain 
exclusive 
ownership of the 
line.
Goes directly to 
the system bus.