UM10208_2
© NXP B.V. 2007. All rights reserved.
User manual
Rev. 02 — 1 June 2007
22 of 362
NXP Semiconductors
UM10208
Chapter 4: LPC2800 Cache
Note: If data caching has been enabled for a writable page, and software then disables
caching, there may be “dirty data” in the cache that still needs to be written to memory.
5.4 Cache Read Misses counter (C_RD_MISSES, 0x8010 400C)
The C_RD_MISSES register allows reading the number of times that a cache line fill has
occurred (a cache read miss) since the last time that the performance analysis registers
have been reset. The counter only operates if performance analysis has been enabled via
the PERF_ANAL_ENA bit in the CACHE_SETTINGS register. In order to save power,
performance analysis should be turned off if it is not actually being used.
5.5 Cache Flushes counter (C_FLUSHES, 0x8010 4010)
The C_FLUSHES register allows reading the number of times that a cache line has been
written back to memory (a cache flush) since the last time that the performance analysis
registers have been reset. A cache line is written back to memory only if it has been
marked as dirty (due to its contents being changed) and the cache line is subsequently
required for normal continuing cache operation. The counter only operates if performance
analysis has been enabled via the PERF_ANAL_ENA bit in the CACHE_SETTINGS
register. In order to save power, performance analysis should be turned off if it is not
actually being used.
5.6 Cache Write Misses counter (C_WR_MISSES, 0x8010 4014)
The C_WR_MISSES register allows reading the number of times that a write has
occurred to a memory address that is not in the cache (a cache write miss). The counter
only operates if performance analysis has been enabled via the PERF_ANAL_ENA bit in
the CACHE_SETTINGS register. In order to save power, performance analysis should be
turned off if it is not actually being used.
5.7 Page Address Pointer Registers (PAGE_ADDRESS0:15,
0x8010 4018:4054)
The 16 PAGE_ADDRESS registers allow remapping of addresses in the range supported
by the cache (the bottom 32 megabytes of memory space) so that they apply to other
address ranges. When the CPU performs an access to an address in the cache range,
any value in the related PAGE_ADDRESS register will replace the top 11 bits of the 32-bit
address. By leaving the bottom 21 bits unaltered, each increment of the value in an
PAGE_ADDRESS register corresponds to a shift of 2 megabytes. In this manner, software
can control which memory address ranges are cached.
For example, if the CPU accesses the address 0x0121_4A90, and the
PAGE_ADDRESS_9 register contains the value 0x82, caching activity and the CPU
access will apply to address 0x1041_4A90:
14
PAGE_14_ENA This bit enables caching for page 14, as described for bit 0.
0
15
PAGE_15_ENA This bit enables caching for page 15, as described for bit 0.
0
31:16 -
Reserved. Do not write 1s to reserved bits. The values read
from reserved bits is not defined.
-
Table 8.
Cache Page Enable Control register (CACHE_PAGE_CTRL, 0x8010 4008)
Bit
Symbol
Description
Reset
value