PowerPC e500 Core Family Reference Manual, Rev. 1
11-20
Freescale Semiconductor
L1 Caches
If all of the ways are locked in a cache set, an attempt to lock another line in that set results in an
overlocking situation. The new line is not placed in the cache, and either the data cache overlock
bit L1CSR0[CLO] or instruction cache overlock bit L1CSR1[ICLO] is set. This does not cause an
exception condition.
The following cases cause an attempted lock to fail:
•
The target address is marked caching-inhibited.
•
The corresponding cache is disabled and the CT operand of the cache locking
instruction = 0.
•
The cache target operand (CT[6
–
10]) is greater than 1.
•
dcbtstls is used for a target address of a write-through page.
In these cases, the lock set instruction is treated as a no-op and the data cache unable-to-lock bit
(L1CSR0[CUL]) or the instruction cache unable-to-lock bit (L1CSR1[ICUL]) is set. This
condition does not cause an exception.
It is acceptable to lock all ways of a cache set. A non-locking line fill for a new address in a
completely locked cache set will not be put into the cache. It is, however, loaded into a DWB and
creates the appropriate normal burst write transfer.
The cache-locking DSI handler must decide whether to lock a given cache line based on available
cache resources.
If the locking instruction is a set lock instruction, to lock the line, the handler should do the
following:
1. Add the line address to its list of locked lines.
2. Execute the appropriate set lock instruction to lock the cache line.
3. Modify save/restore register 0 (SRR0) to point to the instruction immediately after the
locking instruction that caused the DSI.
4. Execute an rfi.
If the locking instruction is a clear lock instruction, to unlock the line, the handler should do the
following:
1. Remove the line address from its list of locked lines.
2. Execute the appropriate clear lock instruction to unlock the cache line.
3. Modify SRR0 to point to the instruction immediately after the locking instruction that
caused the DSI.
4. Execute an rfi.
Failure to update SRR0 to point to the instruction after the locking/unlocking instruction causes
the exception handler to be repeatedly invoked for the same instruction.
Содержание PowerPC e500 Core
Страница 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Страница 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Страница 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Страница 316: ...PowerPC e500 Core Family Reference Manual Rev 1 7 18 Freescale Semiconductor Performance Monitor...
Страница 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Страница 362: ...PowerPC e500 Core Family Reference Manual Rev 1 10 26 Freescale Semiconductor Auxiliary Processing Units APUs...
Страница 440: ...PowerPC e500 Core Family Reference Manual Rev 1 A 8 Freescale Semiconductor Programming Examples...
Страница 444: ...PowerPC e500 Core Family Reference Manual Rev 1 B 4 Freescale Semiconductor Guidelines for 32 Bit Book E...
Страница 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Страница 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...