7-12 March, 2003 Developers Manual
Intel® 80200 Processor based on Intel® XScale Microarchitecture
Configuration
Other items to note about the line-allocate command are:
It forces all pending memory operations to complete.
Bits [31:5] of Rd is used to specific the virtual address of the line to allocated into the data
cache.
If the targeted cache line is already resident, this command has no effect.
This command cannot be used to allocate a line in the mini Data Cache.
The newly allocated line is not marked as “dirty” so it never gets evicted. However, if a valid
store is made to that line it is marked as “dirty” and gets written back to external memory if
another line is allocated to the same cache location. This eviction produces unpredictable
results if the line-allocate command used a virtual address that mapped to non-existent
memory.
To avoid this situation, the line-allocate operation should only be used if one of the following
can be guaranteed:
— The virtual address associated with this command is not one that is generated during
normal program execution. This is the case when line-allocate is used to clean/invalidate
the entire cache.
— The line-allocate operation is used only on a cache region destined to be locked. When the
region is unlocked, it must be invalidated before making another data access.