5-24
MPC7400 RISC Microprocessor Users Manual
Memory Segment Model
Again, note that the execution of the
dcbt
,
dcbtst
and data stream touch instructions (
dst
[
t
]
and
dstst
[
t
]) never cause the C bit to be set.
5.4.1.3 Scenarios for Referenced and Changed Bit Recording
This section provides a summary of the model (deTned by the OEA) that is used by
PowerPC processors for maintaining the referenced and changed bits. In some scenarios,
the bits are guaranteed to be set by the processor, in some scenarios, the architecture allows
that the bits may be set (not absolutely required), and in some scenarios, the bits are
guaranteed to not be set. Note that when the MPC7400 updates the R and C bits in memory,
the accesses are performed as if MSR[DR] = 0 and G = 0 (that is, as nonguarded cacheable
operations in which coherency is required).
Table 5-8 deTnes a prioritized list of the R and C bit settings for all scenarios. The entries
in the table are prioritized from top to bottom, such that a matching scenario occurring
closer to the top of the table takes precedence over a matching scenario closer to the bottom
of the table. For example, if an
stwcx.
instruction causes a protection violation and there is
no reservation, the C bit is not altered, as shown for the protection violation case. Note that
in the table, load operations include those generated by load instructions, by the
eciwx
instruction, and by the cache management instructions that are treated as a load with respect
to address translation. Similarly, store operations include those operations generated by
store instructions, by the
ecowx
instruction, and by the cache management instructions that
are treated as a store with respect to address translation.
Table 5-8. Model for Guaranteed R and C Bit Settings
Priority
Scenario
Causes Setting of R Bit
Causes Setting of C Bit
OEA
MPC7400
OEA
MPC7400
1
No-execute protection violation
No
No
No
No
2
Page protection violation
Maybe
Yes
No
No
3
Out-of-order instruction fetch or load operation
Maybe
No
No
No
4
Out-of-order store operation. Would be required by
the sequential execution model in the absence of
system-caused or imprecise exceptions, or of
oating-point assist exception for instructions that
would cause no other kind of precise exception.
Maybe
1
No
No
No
5
All other out-of-order store operations
Maybe
1
No
Maybe
1
No
6
Zero-length load (
lswx
)
Maybe
No
No
No
7
Zero-length store (
stswx
)
Maybe
1
No
Maybe
1
No
8
Store conditional (
stwcx.
) that does not store
Maybe
1
Yes
Maybe
1
Yes
9
In-order instruction fetch
Yes
2
Yes
No
No
10
Load instruction or
eciwx
Yes
Yes
No
No
11
Store instruction,
ecowx
or
dcbz
instruction
Yes
Yes
Yes
Yes
12
icbi
,
dcbt
, or
dcbtst
instruction
Maybe
No
No
No