IBM powerpc 750gx Manual Do Utilizador

Página de 377
 
User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
Memory Management
Page 198 of 377
gx_05.fm.(1.2)
March 27, 2006
• Accesses that cause exceptions and are not completed.
5.4.1.2 Changed Bit
The changed bit of a page is located both in the PTE in the page table and in the copy of the PTE loaded into 
the TLB (if a TLB is implemented, as in the 750GX). Whenever a data store instruction is executed success-
fully, if the TLB search (for page-address translation) results in a hit, then the changed bit in the matching TLB 
entry is checked. If it is already set, it is not updated. If the TLB changed bit is 0, the 750GX initiates the table-
search operation to set the C bit in the corresponding PTE in the page table. The 750GX then reloads the 
TLB (with the C bit set).
The changed bit (in both the TLB and the PTE in the page tables) is set only when a store operation is 
allowed by the page memory-protection mechanism and the store is guaranteed to be in the execution path 
(unless an exception, other than those caused by the scrfi, or trap instructions, occurs). Furthermore, the 
following conditions can cause the C bit to be set:
• The execution of an stwcx. instruction is allowed by the memory-protection mechanism but a store oper-
ation is not performed.
• The execution of an stswx instruction is allowed by the memory-protection mechanism but a store opera-
tion is not performed because the specified length is zero.
• The store operation is not performed because an exception occurs before the store is performed.
Again, note that although the execution of the dcbt and dcbtst instructions might cause the R bit to be set, 
they 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 (defined 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 the bits to be set (not absolutely required); and in some 
scenarios, the bits are guaranteed to not be set. Note that when the 750GX 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 opera-
tions in which coherency is required). 
Table 5-8 on page 198 defines a prioritized list of the R and C bit settings for all scenarios. The entries in the 
table are prioritized from top to bottom, so that a scenario near the top of the table takes precedence over a 
scenario near the bottom of the table. For example, if an stwcx. instruction causes a page-protection violation 
and there is no reservation, the C bit is not altered. 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 
 (Page 1 of 2)
Priority
Scenario
Causes Setting of R Bit
Causes Setting of C Bit
OEA
750GX
OEA
750GX
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