Write Allocation - Motorola MC68030 User Manual

Enhanced 32-bit microprocessor
Hide thumbs Also See for MC68030:
Table of Contents

Advertisement

On-Chip Cache Memories
Write allocation eliminates stale data that may reside in the cache because of either of two
unique situations: multiple mapping of two or more logical addresses to one physical
address within the same task or allowing the same physical location to be accessed by both
supervisor and user mode cycles. Stale data conditions can arise when operating in the no-
write-allocation mode and all the following conditions are satisfied:
• Multiple mapping (object aliasing) is allowed by the operating system.
• A read cycle loads a value for an "aliased" physical address into the data cache.
• A write cycle occurs, referencing the same aliased physical object as above but using
a different logical address, causing a cache miss and no update to the cache (has the
same page offset).
• The physical object is then read using the first alias, which provides stale data from the
cache.
In this case, the data in the cache no longer matches that in physical memory and is stale.
Since the write-allocation mode updates the cache during write cycles, the data in the cache
remains consistent with physical memory. Note that when CIOUT is asserted, the data
cache is completely ignored, even on write cycles operating in the write-allocation mode.
Also note that since the CIIN signal is ignored on write cycles, cache entries may be created
for noncachable data (when CIIN is asserted on a write) when operating in the write-
allocation mode. Figure 6-4 shows the manner in which each mode operates in five different
situations.
TAG'
LOGICAL ADDRESS = FC2-FC0, A31-A8, A7-A4, A3-A2
LINE
SELECT
USER DATA, $000010
($5)
TAG
EXAMPLE 1:
USER WORD WRITE OF b2'-b3' to $00001052
(CACHE HIT, ALWAYS UPDATE CACHE AND MEMORY)
EXAMPLE 2:
USER LONG-WORD WRITE OF b6'-b9' to $00001056
(TAG MATCH, LONG-WORD DATA, MISALIGNED,
b6-b7 RESULT IN A CACHE MISS,
b8-b9 RESULT IN A CACHE HIT)
Figure 6-4. No-Write-Allocation and Write-Allocation Mode Examples
6-8
b0-b3, V0 = 1
b4-b7, V1 = 0
NO WRITE ALLOCATE
A) START EXTERNAL CYCLE
B) b2-b3
b2'-b3'
A) START EXTERNAL CYCLE
B) b8-b9
b8'-b9'
MC68030 USER'S MANUAL
b8-bB, V2 = 1
bC-bF, V3 = 1
WRITE ALLOCATE
A) START EXTERNAL CYCLE
B) b2-b3
b2'-b3'
A) START EXTERNAL CYCLE
B) b8-b9
b8'-b9'
MOTOROLA

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents