• Aucun résultat trouvé

How to Use This Book

This book describes the PPC405GP device architecture, programming model, external interfaces, internal registers, and instruction set. This book contains the following chapters, arranged in parts:

Part I Introducing the PPC405GP Embedded Processor Chapter 1 Overview

Chapter 2 On-Chip Buses Part II The PPC405GP RISC Processor

Chapter 3 Programming Model Chapter 4 Cache Operations Chapter 5 On-Chip Memory Chapter 6 Memory Management Part III PPC405GP System Operations

Chapter 7 Clocking

Chapter 8 Reset and Initialization Chapter 9 Pin Strapping and Sharing Chapter 10 Interrupt Controller Operations Chapter 11 Timer Facilities

Chapter 12 Debugging

Chapter 13 Clock and Power Management Chapter 14 Decompression Controller Operation

Preliminary About This Book xlvii

Part IV PPC405GP External Interfaces Chapter 15 SDRAM Controller Chapter 16 External Bus Controller Chapter 17 PCI Interface

Chapter 18 Direct Memory Access Controller Chapter 19 Ethernet Media Access Controller Chapter 20 Memory Access Layer

Chapter 21 Serial Port Operations Chapter 22 IIC Bus Interface Chapter 23 GPIO Operations Part V Reference

Chapter 24 Instruction Set Chapter 25 Register Summary Chapter 26 Signal Summary

This book contains the following appendixes:

Appendix A Instruction Summary Appendix B Instructions by Category

Appendix C Code Optimization and Instruction Timings To help readers find material in these chapters, the book contains:

Contents, on page v.

Figures, on page xxix.

Tables, on page xli.

Index, on page X-1.

Conventions

The following is a list of notational conventions frequently used in this manual.

ActiveLow

An overbar indicates an active-low signal.

A decimal number A hexadecimal number A binary number Assignment

AND logical operator NOT logical operator OR logical operator

Exclusive-OR (XOR) logical operator Twos complement addition

Twos complement subtraction, unary minus Multiplication

xlviii PPC405GP User's Manual Preliminary

%

Division yielding a quotient

Remainder of an integer division; (33 % 32)

=

1.

Concatenation

Equal, not equal relations Signed comparison relations Unsigned comparison relations

Conditional execution; if condition then a else b, where a and b represent one or more pseudocode statements. Indenting indicates the ranges of a"

and b. If b is null, the else does not appear.

Do loop. "to" and "by" clauses specify incrementing an iteration variable;

"while" and "until" clauses specify terminating conditions. Indenting indicates the scope of a loop.

Leave innermost do loop or do loop specified in a leave statement.

An instruction or register field

A bit in a named instruction or register field

A range of bits in a named instruction

or

register field

A list of bits, by number or name, in a named instruction or register field A bit in a named register

A range of bits in a named register

A list of bits, by number or name, in a named register A field in a named register

A list of fields in a named register A range of fields in a named register

General Purpose Register (GPR) r, where 0 ~ r ~ 31.

The contents of GPR r, where 0 ~ r ~ 31.

A Device Control Register (DCR) specified by the DCRF field in an mfdcr or mtdcr instruction

An SPR specified by the SPRF field in an mfspr or mtspr instruction A Time Base Register (TBR) specified by the TBRF field in an mftb instruction

RA, RB, ...

The contents of a GPR, where

x

is A, B, S, or T The contents of the register RA or 0, if the RA field is O.

The field in the condition register pointed to by a field of an instruction.

A 4-bit object used to store condition results in compare instructions.

The bit or bit value b is replicated n times.

Preliminary About This Book xlix

%

Division yielding a quotient

Remainder of an integer division; (33 % 32)

=

1.

Concatenation

Equal, not equal relations Signed comparison relations Unsigned comparison relations

Conditional execution; if condition then a else b, where a and b represent one or more pseudocode statements. Indenting indicates the ranges of a"

and b. If b is null, the else does not appear.

Do loop. "to" and "by" clauses specify incrementing an iteration variable;

"while" and "until" clauses specify terminating conditions. Indenting indicates the scope of a loop.

Leave innermost do loop or do loop specified in a leave statement.

An instruction or register field

A bit in a named instruction or register field

A range of bits in a named instruction

or

register field

A list of bits, by number or name, in a named instruction or register field A bit in a named register

A range of bits in a named register

A list of bits, by number or name, in a named register A field in a named register

A list of fields in a named register A range of fields in a named register

General Purpose Register (GPR) r, where 0 ~ r ~ 31.

The contents of GPR r, where 0 ~ r ~ 31.

A Device Control Register (DCR) specified by the DCRF field in an mfdcr or mtdcr instruction

An SPR specified by the SPRF field in an mfspr or mtspr instruction A Time Base Register (TBR) specified by the TBRF field in an mftb instruction

RA, RB, ...

The contents of a GPR, where

x

is A, B, S, or T The contents of the register RA or 0, if the RA field is O.

The field in the condition register pointed to by a field of an instruction.

A 4-bit object used to store condition results in compare instructions.

The bit or bit value b is replicated n times.

Preliminary About This Book xlix

xx

Bit positions which are don't-cares.

Least integer ~ x.

The result of extending x on the left with sign bits.

Program counter.

Reserve bit; indicates whether a process has reserved a block of storage.

Current instruction address; the 32-bit address of the instruction being described by a sequence of pseudocode. This address is used to set the next instruction address (NIA). Does not correspond to any architected register.

Next instruction address; the 32-bit address of the next instruction to be executed. In pseudocode, a successful branch is indicated by assigning a value to NIA. For instructions that do not branch, the NIA is CIA +4.

The number of bytes represented by

n

at the location in main storage represented by addr.

Effective address; the 32-bit address, derived by applying indexing or indirect addressing rules to the specified operand, that specifies a location in main storage.

A bit in an effective address.

A range of bits in an effective address.

Rotate left; the contents of RS are shifted left the number of bits specified by n.

Mask having 1 s in positions MB through ME (wrapping if MB

>

ME) and Os elsewhere.

An instruction operating' on a data or instruction cache block associated with an EA.

PPC405GP User's Manual Preliminary

Part V. Reference

Preliminary V-1

V-2 PPC405GP User's Manual Preliminary

Chapter 24. Instruction Set

Descriptions of the PPC405GP instructions follow. Each description contains the following elements:

• Instruction names (mnemonic and full)

• Instruction syntax

• Instruction format diagram

• Pseudocode description

• Prose description

• Registers altered

• Architecture notes identifying the associated PowerPC Architecture component

Where appropriate, instruction descriptions list invalid instruction forms and exceptions, and provide