Exceptions
MPC885 PowerQUICC Family Reference Manual, Rev. 2
6-16
Freescale Semiconductor
Execution resumes from the following offsets from the base indicated by the MSR[IP]:
•
0x01D00—For an instruction breakpoint match
•
0x01C00—For a data breakpoint match
•
0x01E00—For a development port maskable request or a peripheral breakpoint
•
0x01F00—For a development port nonmaskable request
6.1.4
Implementing the Precise Exception Model
Because instructions execute in parallel, they may execute out of order. To ensure that out-of-order
execution does not affect data integrity, hardware ensures a precise exception model. As instructions are
dispatched in-order to the execution units, they are assigned sequential positions in the six-entry
completion queue, a FIFO buffer maintains program order. The completion queue is shown in
Figure 3-2
.
When an exception condition is encountered, previous instructions in the completion queue are allowed to
complete and be retired from the completion queue. If one of these instructions generates another
exception, that exception is handled first. Subsequent instructions (and any results associated with them)
are flushed from the processor before instruction processing resumes at the appropriate exception vector.
Before control passes to the exception handler, machine state is saved in SRR0 and SRR1.
After an exception handler executes, the machine state of the interrupted process is restored, typically by
executing the rfi instruction, which writes bits from SRR1 to the MSR, SRR0 contains the instruction
address at which fetching should resume. To correctly restore the architectural state, the CQ must record
the value of the destination before the instruction is executed. The destination of a store instruction,
however, is in memory and it is not practical from a performance standpoint to always read memory before
writing it. Therefore, stores issue immediately to store buffers but do not update memory until all previous
instructions have finished executing without exception or until the store instruction reaches CQ0.
The completion queue can hold six instructions, but no more than four integer instructions. The other two
instructions can be condition code or branch instructions. Long latency instructions may cause the
completion queue to fill, stalling dispatch until the long latency instruction vacates the completion queue.
The following instructions may cause the completion queue to fill:
•
Integer divide instructions
•
Instructions that affect or use resources external to the core (load/store instructions, and especially
load/store string multiple/instructions)
6.1.5
Recoverability After an Exception
The processor cannot always recover from system reset and machine check interrupts, either because the
conditions that cause the interrupt are catastrophic or because they caused the save/restore information in
SRR0 and SRR1 to be overwritten.
All other exceptions should be restartable.
Registers such as SRR0 and SRR1 (and for some exceptions
the data address register (DAR) and DSI status register (DSISR)) that may be affected by subsequent
exceptions should be saved early in the routine to avoid being overwritten. Likewise, the saved values
should be restored to those registers at the end of the handler routine in such a way that protects them from
an exception before the instruction returns control to the interrupted process. Interrupts should also be
Содержание PowerQUICC MPC870
Страница 1: ...MPC885 PowerQUICC Family Reference Manual Supports MPC885 MPC880 MPC875 MPC870 MPC885RM Rev 2 04 2006 ...
Страница 98: ...MPC885 PowerQUICC Family Reference Manual Rev 2 I 4 Freescale Semiconductor ...
Страница 118: ...MPC885 Overview MPC885 PowerQUICC Family Reference Manual Rev 2 1 20 Freescale Semiconductor ...
Страница 158: ...The MPC8xx Core MPC885 PowerQUICC Family Reference Manual Rev 2 3 18 Freescale Semiconductor ...
Страница 192: ...MPC885 Instruction Set MPC885 PowerQUICC Family Reference Manual Rev 2 5 22 Freescale Semiconductor ...
Страница 242: ...Instruction and Data Caches MPC885 PowerQUICC Family Reference Manual Rev 2 7 30 Freescale Semiconductor ...
Страница 288: ...MPC885 PowerQUICC Family Reference Manual Rev 2 III 4 Freescale Semiconductor ...
Страница 416: ...External Bus Interface MPC885 PowerQUICC Family Reference Manual Rev 2 13 42 Freescale Semiconductor ...
Страница 440: ...Clocks and Power Control MPC885 PowerQUICC Family Reference Manual Rev 2 14 24 Freescale Semiconductor ...
Страница 554: ...MPC885 PowerQUICC Family Reference Manual Rev 2 V 6 Freescale Semiconductor ...
Страница 606: ...SDMA Channels and IDMA Emulation MPC885 PowerQUICC Family Reference Manual Rev 2 19 20 Freescale Semiconductor ...
Страница 738: ...SCC Asynchronous HDLC Mode and IrDA MPC885 PowerQUICC Family Reference Manual Rev 2 25 16 Freescale Semiconductor ...
Страница 780: ...SCC Ethernet Mode MPC885 PowerQUICC Family Reference Manual Rev 2 27 24 Freescale Semiconductor ...
Страница 794: ...SCC Transparent Mode MPC885 PowerQUICC Family Reference Manual Rev 2 28 14 Freescale Semiconductor ...
Страница 848: ...Serial Peripheral Interface SPI MPC885 PowerQUICC Family Reference Manual Rev 2 30 18 Freescale Semiconductor ...
Страница 882: ...Universal Serial Bus USB MPC885 PowerQUICC Family Reference Manual Rev 2 31 34 Freescale Semiconductor ...
Страница 944: ...Parallel I O Ports MPC885 PowerQUICC Family Reference Manual Rev 2 34 26 Freescale Semiconductor ...
Страница 956: ...CPM Interrupt Controller MPC885 PowerQUICC Family Reference Manual Rev 2 35 12 Freescale Semiconductor ...
Страница 1004: ...Buffer Descriptors and Connection Tables MPC885 PowerQUICC Family Reference Manual Rev 2 37 30 Freescale Semiconductor ...
Страница 1022: ...ATM Parameter RAM MPC885 PowerQUICC Family Reference Manual Rev 2 38 18 Freescale Semiconductor ...
Страница 1068: ...ATM Pace Control MPC885 PowerQUICC Family Reference Manual Rev 2 40 22 Freescale Semiconductor ...
Страница 1090: ...UTOPIA Interface MPC885 PowerQUICC Family Reference Manual Rev 2 43 8 Freescale Semiconductor ...
Страница 1120: ...AAL2 Implementation MPC885 PowerQUICC Family Reference Manual Rev 2 44 30 Freescale Semiconductor ...
Страница 1162: ...Fast Ethernet Controller FEC MPC885 PowerQUICC Family Reference Manual Rev 2 45 40 Freescale Semiconductor ...
Страница 1172: ...SEC Lite Overview MPC885 PowerQUICC Family Reference Manual Rev 2 46 8 Freescale Semiconductor ...
Страница 1176: ...SEC Lite Address Map MPC885 PowerQUICC Family Reference Manual Rev 2 47 4 Freescale Semiconductor ...
Страница 1214: ...SEC Lite Execution Units MPC885 PowerQUICC Family Reference Manual Rev 2 48 38 Freescale Semiconductor ...
Страница 1312: ...Byte Ordering MPC885 PowerQUICC Family Reference Manual Rev 2 A 8 Freescale Semiconductor ...
Страница 1313: ...MPC885 PowerQUICC Family Reference Manual Rev 2 Freescale Semiconductor B 1 Appendix B Serial Communications Performance TBD ...
Страница 1314: ...Serial Communications Performance MPC885 PowerQUICC Family Reference Manual Rev 2 B 2 Freescale Semiconductor ...
Страница 1320: ...Register Quick Reference Guide MPC885 PowerQUICC Family Reference Manual Rev 2 C 6 Freescale Semiconductor ...
Страница 1336: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 16 Freescale Semiconductor ...
Страница 1358: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 38 Freescale Semiconductor ...
Страница 1370: ...MPC880 MPC885 PowerQUICC Family Reference Manual Rev 2 E 4 Freescale Semiconductor ...
Страница 1384: ...Serial ATM Scrambling Reception and SI Programming MPC885 PowerQUICC Family Reference Manual Rev 2 H 6 Freescale Semiconductor ...
Страница 1386: ...Revision History MPC885 PowerQUICC Family Reference Manual Rev 2 I 2 Freescale Semiconductor ...