Motorola MPC860 PowerQUICC User Manual page 157

Table of Contents

Advertisement

6.2.2.3.2 Execution Synchronization
An instruction is execution synchronizing if all previously initiated instructions appear to
have completed before the instruction is initiated or, in the case of the Synchronize (sync)
and Instruction Synchronize (isync) instructions, before the instruction completes. For
example, the Move to Machine State Register (mtmsr) instruction is execution
synchronizing. It ensures that all preceding instructions have completed execution and will
not cause an exception before the instruction executes, but does not ensure subsequent
instructions execute in the newly established environment. For example, if the mtmsr sets
the MSR[PR] bit, unless an isync immediately follows the mtmsr instruction, a privileged
instruction could be executed or privileged access could be performed without causing an
exception even though the MSR[PR] bit indicates user mode.
6.2.2.3.3 Instruction-Related Exceptions
There are two kinds of exceptions in the MPC860Ñthose caused directly by the execution
of an instruction and those caused by an asynchronous event. Either may cause components
of the system software to be invoked.
Exceptions can be caused directly by the execution of an instruction as follows:
¥ An attempt to execute an illegal instruction causes the illegal instruction (program
exception) handler to be invoked. An attempt by a user-level program to execute the
supervisor-level instructions listed below causes the privileged instruction (program
exception) handler to be invoked. The MPC860 provides the following
supervisor-level instructionsÑdcbi, mfmsr, mfspr, mtmsr, mtspr, rÞ, tlbie, and
tlbsync. Note that the privilege level of the mfspr and mtspr instructions depends
on the SPR encoding.
¥ An attempt to access memory that is not available (page fault) causes the ISI
exception handler to be invoked.
¥ An attempt to access memory with an effective address alignment that is invalid for
the instruction causes the alignment exception handler to be invoked. See
Section 7.1.2.6, ÒAlignment Exception (0x00600),Ó for restrictions on operand
alignment.
¥ The execution of an sc instruction invokes the system call exception handler that
permits a program to request the system to perform a service.
¥ The execution of a trap instruction invokes the program exception trap handler.
Exceptions caused by asynchronous events are described in Chapter 7, ÒExceptions.Ó
6.2.3 Instruction Set Overview
This section provides a brief overview of the PowerPC instructions implemented in the
MPC860 and highlights any special information with respect to how the MPC860
implements a particular instruction. Note that the categories used in this section correspond
to those used in Chapter 4, ÒAddressing Modes and Instruction Set Summary,Ó in The
Programming Environments Manual. These categorizations are somewhat arbitrary and are
MOTOROLA
Chapter 6. MPC860 Instruction Set
Part II. PowerPC Microprocessor Module
6-7

Advertisement

Table of Contents
loading

Table of Contents