216
Cache Organization
Chapter 9
AMD-K6-2E+ Embedded Processor Data Sheet
23542A/0—September 2000
Preliminary Information
Due to the nature of software, memory accesses tend to occur in
proximity of each other (principle of locality). The likelihood of
additional write hits to the write-allocated cache line is high.
Write allocates that hit the L2 cache increase performance by
avoiding accesses to the system bus.
The following is a description of three mechanisms by which the
AMD-K6-2E+ processor performs write allocations. A write
a l l o ca te i s perfor med w h e n any one or more o f thes e
mechanisms indicates that a pending write is to a cacheable
area of memory.
Write to a Cacheable
Page
Every time the processor completes a L1 cache line fill, the
address of the page in which the cache line resides is saved in
the Cacheability Control Register (CCR). The page address of
subsequent write cycles is compared with the page address
stored in the CCR. If the two addresses are equal, then the
processor performs a write allocate because the page has
already been determined to be cacheable.
When the processor performs a L1 cache line fill from a
different page than the address saved in the CCR, the CCR is
updated with the new page address.
Write to a Sector
If the address of a pending write cycle matches the tag address
of a valid L1 cache sector, but the addressed cache line within
the sector is marked invalid (a sector hit but a cache line miss),
then the processor performs a write allocate. The pending write
cycle is determined to be cacheable because the sector hit
indicates the presence of at least one valid cache line in the
sector. The two cache lines within a sector are guaranteed by
design to be within the same page.
Write Allocate Limit
The AMD-K6-2E+ processor uses two mechanisms that are
programmable within the Write Handling Control Register
(WHCR) to enable write allocations for write cycles that
address a definable area, or a special 1-Mbyte memory area.
The WHCR contains two fields —the Write Allocate Enable
Limit (WAELIM) fie ld, a nd the Write Allocate Enable