Table 9. Write Combining Completion Events - AMD Athlon Processor x86 Optimization Manual

X86 code optimization
Table of Contents

Advertisement

AMD Athlon™ Processor x86 Code Optimization
158
Table 9.
Write Combining Completion Events
Event
Non-WB write outside of
current buffer
I/O Read or Write
Serializing instructions
Flushing instructions
Locks
Uncacheable Read
Different memory type
Buffer full
WT time-out
WT write fills byte 7
WT Nonsequential
TLB AD bit set
Comment
The first non-WB write to a different cache block address
closes combining for previous writes. WB writes do not affect
write combining. Only one line-sized buffer can be open for
write combining at a time. Once a buffer is closed for write
combining, it cannot be reopened for write combining.
Any IN/INS or OUT/OUTS instruction closes combining. The
implied memory type for all IN/OUT instructions is UC,
which cannot be combined.
Any serializing instruction closes combining. These
instructions include: MOVCRx, MOVDRx, WRMSR, INVD,
INVLPG, WBINVD, LGDT, LLDT, LIDT, LTR, CPUID, IRET, RSM,
INIT, HALT.
Any flush instruction causes the WC to complete.
Any instruction or processor operation that requires a cache
or bus lock closes write combining before starting the lock.
Writes within a lock can be combined.
A UC read closes write combining. A WC read closes
combining only if a cache block address match occurs
between the WC read and a write in the write buffer.
Any WT write while write-combining for WC memory or any
WC write while write combining for WT memory closes write
combining.
Write combining is closed if all 64 bytes of the write buffer
are valid.
If 16 processor clocks have passed since the most recent
write for WT write combining, write combining is closed.
There is no time-out for WC write combining.
Write combining is closed if a write fills the most significant
byte of a quadword, which includes writes that are
misaligned across a quadword boundary. In the misaligned
case, combining is closed by the LS part of the misaligned
write and combining is opened by the MS part of the
misaligned store.
If a subsequent WT write is not in ascending sequential
order, the write combining completes. WC writes have no
addressing constraints within the 64-byte line being
combined.
Write combining is closed whenever a TLB reload sets the
accessed (A) or dirty (D) bits of a Pde or Pte.
22007E/0—November 1999
Write-Combining Operations

Advertisement

Table of Contents
loading

Table of Contents