PowerPC e500 Core Family Reference Manual, Rev. 1
5-34
Freescale Semiconductor
Interrupts and Exceptions
must mark the memory as guarded and use an elementary (non-string or non-multiple) load or
store aligned on an operand-sized boundary.
To guarantee that load and store instructions can, in general, be restarted and completed correctly
without software intervention, the following rules apply when an execution is partially executed
and then interrupted:
•
For an elementary load, no part of a target register rD has been altered.
•
For update forms of load or store, the update register, rA, will not have been altered.
The following effects are permissible when certain instructions are partially executed and then
restarted:
•
For any store, bytes at the target location may have been altered (if write access to that page
in which bytes were altered is permitted by the access control mechanism). In addition, for
store conditional instructions, CR0 has been set to an undefined value, and it is undefined
whether the reservation has been cleared or not.
•
For any load, bytes at the addressed location may have been accessed (if read access to that page
in which bytes were accessed is permitted by the access control mechanism).
•
For load multiple or load string, some registers in the range to be loaded may have been
altered. Including the addressing registers rA and possibly rB in the range to be loaded is
a programming error, and thus the rules for partial execution do not protect these registers
against overwriting.
In no case is access control violated.
As previously stated, elementary, aligned, guarded loads and stores are the only access instructions
guaranteed not to be interrupted after being partially executed. The following list identifies the
specific instruction types for which interruption after partial execution may occur, as well as the
specific interrupt types that could cause the interruption:
1. Any load or store (except elementary, aligned, or guarded):
— Any asynchronous interrupt
— Machine check
— Decrementer
— Fixed-interval timer
— Watchdog timer
— Debug (unconditional debug event)
2. Misaligned elementary load or store, or any multiple or string:
All of the above listed under item 1, plus the following:
— Alignment
— Data storage (if the access crosses a protection boundary)
— Debug (data address compare)
Содержание 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...