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 />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

application program<br />

A program that uses only the instructions and<br />

resources described in Books I and II.<br />

quadwords, doublewords, words, halfwords,<br />

and bytes<br />

128 bits, 64 bits, 32 bits, 16 bits, and 8 bits,<br />

respectively.<br />

positive<br />

Means greater than zero.<br />

negative<br />

Means less than zero.<br />

floating-point single format (or simply single<br />

format)<br />

Refers to the representation of a single-precision<br />

binary floating-point value in a register or storage.<br />

floating-point double format (or simply double<br />

format)<br />

Refers to the representation of a double-precision<br />

binary floating-point value in a register or storage.<br />

system library program<br />

A component of the system software that can be<br />

called by an application program using a Branch<br />

instruction.<br />

system service program<br />

A component of the system software that can be<br />

called by an application program using a System<br />

Call instruction.<br />

system trap handler<br />

A component of the system software that receives<br />

control when the conditions specified in a Trap<br />

instruction are satisfied.<br />

system error handler<br />

A component of the system software that receives<br />

control when an error occurs. The system error<br />

handler includes a component for each of the various<br />

kinds of error. These error-specific components<br />

are referred to as the system alignment error<br />

handler, the system data storage error handler,<br />

etc.<br />

latency<br />

Refers to the interval from the time an instruction<br />

begins execution until it produces a result that is<br />

available for use by a subsequent instruction.<br />

unavailable<br />

Refers to a resource that cannot be used by the<br />

program. For example, storage is unavailable if<br />

access to it is denied. See Book III.<br />

undefined value<br />

May vary between implementations, and between<br />

different executions on the same implementation,<br />

and similarly for register contents, storage contents,<br />

etc., that are specified as being undefined.<br />

<br />

<br />

<br />

boundedly undefined<br />

The results of executing a given instruction are<br />

said to be boundedly undefined if they could have<br />

been achieved by executing an arbitrary finite<br />

sequence of instructions (none of which yields<br />

boundedly undefined results) in the state the processor<br />

was in before executing the given instruction.<br />

Boundedly undefined results may include the<br />

presentation of inconsistent state to the system<br />

error handler as described in Section 1.8.1 of Book<br />

II. Boundedly undefined results for a given instruction<br />

may vary between implementations, and<br />

between different executions on the same implementation.<br />

“must”<br />

If software violates a rule that is stated using the<br />

word “must” (e.g., “this field must be set to 0”), the<br />

results are boundedly undefined unless otherwise<br />

stated.<br />

sequential execution model<br />

The model of program execution described in<br />

Section 2.2, “Instruction Execution Order” on<br />

page 23.<br />

1.3.2 Notation<br />

The following notation is used throughout the <strong>Power</strong><br />

ISA documents.<br />

All numbers are decimal unless specified in some<br />

special way.<br />

- 0bnnnn means a number expressed in binary<br />

format.<br />

- 0xnnnn means a number expressed in hexadecimal<br />

format.<br />

Underscores may be used between digits.<br />

RT, RA, R1, ... refer to General Purpose Registers.<br />

FRT, FRA, FR1, ... refer to Floating-Point Registers.<br />

VRT, VRA, VR1, ... refer to Vector Registers.<br />

(x) means the contents of register x, where x is the<br />

name of an instruction field. For example, (RA)<br />

means the contents of register RA, and (FRA)<br />

means the contents of register FRA, where RA and<br />

FRA are instruction fields. Names such as LR and<br />

CTR denote registers, not fields, so parentheses<br />

are not used with them. Parentheses are also<br />

omitted when register x is the register into which<br />

the result of an operation is placed.<br />

(RA|0) means the contents of register RA if the RA<br />

field has the value 1-31, or the value 0 if the RA<br />

field is 0.<br />

Bits in registers, instructions, fields, and bit strings<br />

are specified as follows. In the last three items<br />

(definition of X p etc.), if X is a field that specifies a<br />

4<br />

<strong>Power</strong> ISA -- Book I

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

Saved successfully!

Ooh no, something went wrong!