14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Version</strong> <strong>2.03</strong><br />

interrupt<br />

The act of changing the machine state in response<br />

to an exception, as described in Chapter<br />

5. “Interrupts and Exceptions” on page 541.<br />

trap interrupt<br />

An interrupt that results from execution of a Trap<br />

instruction.<br />

Additional exceptions to the rule that the processor<br />

obeys the sequential execution model, beyond<br />

those described in the section entitled “Instruction<br />

Fetching” in Book I, are the following.<br />

- A System Reset or Machine Check interrupt<br />

may occur. The determination of whether an<br />

instruction is required by the sequential execution<br />

model is not affected by the potential<br />

occurrence of a System Reset or Machine<br />

Check interrupt. (The determination is<br />

affected by the potential occurrence of any<br />

other kind of interrupt.)<br />

- A context-altering instruction is executed<br />

(Chapter 10. “Synchronization Requirements<br />

for Context Alterations” on page 603). The<br />

context alteration need not take effect until the<br />

required subsequent synchronizing operation<br />

has occurred.<br />

hardware<br />

Any combination of hard-wired implementation,<br />

emulation assist, or interrupt for software assistance.<br />

In the last case, the interrupt may be to an<br />

architected location or to an implementationdependent<br />

location. Any use of emulation assists<br />

or interrupts to implement the architecture is implementation-dependent.<br />

/, //, ///, ... denotes a field that is reserved in an<br />

instruction, in a register, or in an architected storage<br />

table.<br />

?, ??, ???, ... denotes a field that is implementation-dependent<br />

in an instruction, in a register, or in<br />

an architected storage table.<br />

1.3.2 Reserved Fields<br />

Some fields of certain architected registers may be written<br />

to automatically by the processor, e.g., Reserved<br />

bits in System Registers. When the processor writes to<br />

such a register, the following rules are obeyed.<br />

<br />

Unless otherwise stated, no defined field other<br />

than the one(s) the processor is specifically updating<br />

are modified.<br />

Contents of reserved fields are either preserved by<br />

the processor or written as zero.<br />

The reader should be aware that reading and writing of<br />

some of these registers (e.g., the MSR) can occur as a<br />

side effect of processing an interrupt and of returning<br />

from an interrupt, as well as when requested explicitly<br />

by the appropriate instruction (e.g., mtmsr instruction).<br />

1.4 General Systems Overview<br />

The processor or processor unit contains the sequencing<br />

and processing controls for instruction fetch,<br />

instruction execution, and interrupt action. Most implementations<br />

also contain data and instruction caches.<br />

Instructions that the processing unit can execute fall<br />

into the following classes:<br />

instructions executed in the Branch Processor<br />

instructions executed in the Fixed-Point Processor<br />

instructions executed in the Floating-Point Processor<br />

instructions executed in the Vector Processor<br />

instructions executed in an Auxiliary Processor<br />

other instructions executed by the processor<br />

Almost all instructions executed in the Branch Processor,<br />

Fixed-Point Processor, Floating-Point Processor,<br />

and Vector Processor are nonprivileged and are<br />

described in Book I. Book I may describe additional<br />

nonprivileged instructions (e.g., Book II describes some<br />

nonprivileged instructions for cache management).<br />

Instructions executed in an Auxiliary Processor are<br />

implementation-dependent. Instructions related to the<br />

supervisor mode, control of processor resources, control<br />

of the storage hierarchy, and all other privileged<br />

instructions are described here or are implementationdependent.<br />

1.5 Exceptions<br />

The following augments the exceptions defined in Book<br />

I that can be caused directly by the execution of an<br />

instruction:<br />

<br />

<br />

<br />

<br />

the execution of a floating-point instruction when<br />

MSR FP =0 (Floating-Point Unavailable interrupt)<br />

execution of an instruction that causes a debug<br />

event (Debug interrupt).<br />

the execution of an auxiliary processor instruction<br />

when the auxiliary instruction is unavailable (Auxiliary<br />

Processor Unavailable interrupt)<br />

the execution of a Vector, SPE, or Embedded<br />

Floating-Point instruction when MSR SPV =0 (SPE/<br />

Embedded Floating-Point/Vector Unavailable interrupt)<br />

488<br />

<strong>Power</strong> ISA -- Book III-E

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!