User’s Manual
PPC440x5 CPU Core
Preliminary
Page 126 of 589
cache.fm.
September 12, 2002
4.3.3.2 Core Configuration Register 0 (CCR0)
The CCR0 register controls the behavior of the dcbt instruction, the handling of misaligned memory
accesses, and the store gathering mechanism. The CCR0 register also controls various other functions within
the PPC440x5 core that are unrelated to the data cache. Each of these functions is discussed in more detail
in the related sections of this manual.
Figure 4-5 on page 109 illustrates the fields of the CCR0 register.
4.3.3.3 Core Configuration Register 1 (CCR1)
The CCR1 register controls the behavior of the line flushes in response to cast-outs or dcbf or dcbst instruc-
tions. It also contains bits to control the artificial injection of parity errors for software testing purposes. Some
of those bits affect the data cache, while other control the MMU or instruction cache. Each of these functions
is discussed in more detail in the related sections of this manual.
Figure 4-6 on page 110 illustrates the fields of the CCR1 register.
4.3.3.4 dcbt and dcbtst Operation
The dcbt instruction is typically used as a “hint” to the processor that a particular block of data is likely to be
referenced by the executing program in the near future. Thus the processor can begin filling that block into
the data cache, so that when the executing program eventually performs a load from the block it will already
be present in the cache, thereby improving performance.
The dcbtst instruction is typically used for a similar purpose, but specifically for cases where the executing
program is likely to store to the referenced block in the near future. The differentiation in the purpose of the
dcbtst instruction relative to the dcbt instruction is only relevant within shared-memory systems with hard-
ware-enforced support for cache coherency. In such systems, the dcbtst instruction would attempt to estab-
lish the block within the data cache in such a fashion that the processor would most readily be able to
subsequently write to the block (for example, in a processor with a MESI-protocol cache subsystem, the block
might be obtained in Exclusive state). However, because the PPC440x5 core does not provide support for
hardware-enforced cache coherency, the dcbtst instruction is handled in an identical fashion to the dcbt
instruction. The rest of this section thus makes reference only to the dcbt instruction, but in all cases the
information applies to dcbtst as well.
Of course, it would not typically be advantageous if the filling of the cache line requested by the dcbt itself
caused a delay in the reading of data needed by the currently executing program. For this reason, the default
behavior of the dcbt instruction is for it to be ignored if the filling of the requested cache block cannot be
immediately commenced and waiting for such commencement would result in the DCC execution pipeline
being stalled. For example, the dcbt instruction will be ignored if all three DCLFD buffers are already in use,
and execution of subsequent storage access instructions is pending.
On the other hand, the dcbt instruction can also be used as a convenient mechanism for setting up a fixed,
known environment within the data cache. This is useful for establishing contents for cache line locking, or for
deterministic performance on a particular sequence of code, or even for debugging of low-level hardware and
software problems.
When being used for these latter purposes, it is important that the dcbt instruction deliver a deterministic
result, namely the guaranteed establishment in the cache of the specified line. Accordingly, the PPC440x5
core provides a field in the CCR0 register which can be used to cause the dcbt instruction to operate in this
manner. Specifically, when the CCR0 [GDCBT] field is set, the execution of dcbt is guaranteed to establish
Содержание PPC440X5 CPU Core
Страница 1: ...PPC440x5 CPU Core User s Manual Preliminary SA14 2613 02 September 12 2002 Title Page...
Страница 22: ...User s Manual PPC440x5 CPU Core Preliminary Page 22 of 583 ppc440x5LOT fm September 12 2002...
Страница 26: ...User s Manual PPC440x5 CPU Core Preliminary Page 26 of 589 preface fm September 12 2002...
Страница 38: ...User s Manual PPC440x5 CPU Core Preliminary Page 38 of 589 overview fm September 12 2002...
Страница 94: ...User s Manual PPC440x5 CPU Core Preliminary Page 94 of 589 init fm September 12 2002...
Страница 132: ...User s Manual PPC440x5 CPU Core Preliminary Page 132 of 589 cache fm September 12 2002...
Страница 158: ...User s Manual PPC440x5 CPU Core Preliminary Page 158 of 589 mmu fm September 12 2002...
Страница 218: ...User s Manual PPC440x5 CPU Core Preliminary Page 218 of 589 timers fm September 12 2002...
Страница 248: ...User s Manual PPC440x5 CPU Core Preliminary Page 248 of 589 debug fm September 12 2002...
Страница 458: ...User s Manual PPC440x5 CPU Core Preliminary Page 458 of 589 regsummIntro fm September 12 2002...
Страница 568: ...User s Manual PPC440x5 CPU Core Preliminary Page 568 of 589 instalfa fm September 12 2002...
Страница 588: ...User s Manual PPC440x5 CPU Core Preliminary Page 588 of 583 ppc440x5IX fm September 12 2002...
Страница 590: ......