User’s Manual
PPC440x5 CPU Core
Preliminary
Page 122 of 589
cache.fm.
September 12, 2002
set instead of just the one corresponding dirty bit). When a data cache line is flushed, the type of request
made to the data write PLB interface depends upon which dirty bits associated with the line are set, and the
state of the CCR1[FFF] bit. If the CCR1[FFF] bit is set, the request will always be for an entire 32-byte line.
Most users will leave the CCR1[FFF] reset to zero, in which case the controller minimizes the size of the
transfer by the following algorithm. If only one dirty bit is set, the request type will be for a single doubleword
write. If only two dirty bits are set, and they are in the same quadword, then the request type will be for a 16-
byte line write. If two or more dirty bits are set, and they are in different quadwords, the request type will be for
an entire 32-byte line write. Regardless of the type of request generated by a cache line flush, the address is
always specified as the first byte of the request.
If a store access occurs to a cache line in a memory page for which the write-through storage attribute is set,
the dirty bits for that cache line do not get updated, since such a store access will be written directly to
memory (and into the data cache as well, if the access is either a hit or if the cache line is allocated upon a
miss).
On the other hand, it is permissible for there to exist multiple TLB entries that map to the same real memory
page, but specify different values for the write-through storage attribute. In this case, it is possible for a store
operation to a virtual page which is marked as non-write-through to have caused the cache line to be marked
as dirty, so that a subsequent store operation to a different virtual page mapped to the same real page but
marked as write-through encounters a dirty line in the data cache. If this happens, the store to the write-
through page will write the data for the store to both the data cache and to memory, but it will not modify the
dirty bits for the cache line.
4.3.1.5 Data Read PLB Interface Requests
When a PLB read request results from an access to a cacheable memory location, the request is always for a
32-byte line read, regardless of the type and size of the access that prompted the request. The address
presented will be for the first byte of the target of the access.
On the other hand, when a PLB read request results from an access to a caching-inhibited memory location,
only the byte[s] specifically accessed will be requested from the PLB, according to the type of instruction
prompting the access. Based on the type of storage access instructions (including integer, floating-point, and
AP), and based on the mechanism for handling misaligned accesses which cross a quadword boundary (see
“Load and Store Alignment” on page -117), the following types of PLB read requests can occur due to
caching inhibited requests:
• 1-byte read (any byte address 0–15 within a quadword)
• 2-byte read (any byte address 0–14 within a quadword)
• 3-byte read (any byte address 0–13 within a quadword)
• 4-byte read (any byte address 0–12 within a quadword)
• 8-byte read (any byte address 0–8 within a quadword)
This request can only occur due to a doubleword floating-point or AP load instruction
• 16-byte line fill (must be for byte address 0 of a quadword)
This request can only occur due to a quadword AP load instruction
Summary of Contents for PPC440X5 CPU Core
Page 1: ...PPC440x5 CPU Core User s Manual Preliminary SA14 2613 02 September 12 2002 Title Page...
Page 22: ...User s Manual PPC440x5 CPU Core Preliminary Page 22 of 583 ppc440x5LOT fm September 12 2002...
Page 26: ...User s Manual PPC440x5 CPU Core Preliminary Page 26 of 589 preface fm September 12 2002...
Page 38: ...User s Manual PPC440x5 CPU Core Preliminary Page 38 of 589 overview fm September 12 2002...
Page 94: ...User s Manual PPC440x5 CPU Core Preliminary Page 94 of 589 init fm September 12 2002...
Page 132: ...User s Manual PPC440x5 CPU Core Preliminary Page 132 of 589 cache fm September 12 2002...
Page 158: ...User s Manual PPC440x5 CPU Core Preliminary Page 158 of 589 mmu fm September 12 2002...
Page 218: ...User s Manual PPC440x5 CPU Core Preliminary Page 218 of 589 timers fm September 12 2002...
Page 248: ...User s Manual PPC440x5 CPU Core Preliminary Page 248 of 589 debug fm September 12 2002...
Page 458: ...User s Manual PPC440x5 CPU Core Preliminary Page 458 of 589 regsummIntro fm September 12 2002...
Page 568: ...User s Manual PPC440x5 CPU Core Preliminary Page 568 of 589 instalfa fm September 12 2002...
Page 588: ...User s Manual PPC440x5 CPU Core Preliminary Page 588 of 583 ppc440x5IX fm September 12 2002...
Page 590: ......