NO:
W90P710 Programming Guide
VERSION:
2.1
PAGE:
39
The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed,
distributed or reproduced without permission from Winbond.
Table No.: 1200-0003-07-A
3.4.2 Non-Cacheable Area
The cache affects the first 2GB system memory. Sometimes it is necessary to define non-
cacheable areas when the consistency of data stored in memory and the cache can’t be ensured. To
support this feature, the W90P710 provides a non-cacheable area control bit in the address field
, A
[31]
. If A [31] in the ROM/FLASH, SDRAM, or external I/O bank’s access address is “0”, then the
accessed data is cacheable. If the A [31] value is “1”, the accessed data is non-cacheable.
Cache Control Register
The Cache controller supports one Control register
(CAHCON)
to control cache flushing,
lock/unlock and drain write buffer. All the command set bits of CAHCON register are auto-clear bit. At
the end of execution, the command set bit will be cleared to “0” automatically. The detail description of
each bit filed can be found in W90P710 specification.
3.4.3 Cache Flushing
To prevent unpredictable error, it’s better to flush cache before enable it. Both I-Cache and D-
Cache can be entirely flushed in one operation, or be flushed one line at a time. The bit
FLHA
and
FLHS
of register CAHCON are used to flush entire cache and single line, respectively. Bit
DCAH
or
ICAH
of register CAHCON is used to select D-Cache or I-Cache for the flush operation. The Cache
Address Register
(CAHADR)
must be set before flush a single cache line.
Due to W90P710 does not support external memory snooping; it is necessary to flush cache if the
force consistency of cache and memory is required. For example, The I-Cache should be flushed
after a self-modifying code is executed. Similarly, the D-Cache should be flushed before an external
device starts a DMA transfer with a cacheable memory region.
3.4.4 Cache Enable and Disable
After the cache was flushed, the cache can be enabled. Bit
ICAEN
and
DCAEN
of register
CAHCNF
is used to enable D-Cache and I-Cache. The D-Cache and I-Cache can be enabled individually, or