PowerPC e500 Core Family Reference Manual, Rev. 1
10-2
Freescale Semiconductor
Auxiliary Processing Units (APUs)
Note that the SPE APU and the two single-precision floating-point APUs were combined in the
original implementation of the e500v1, as shown in
Figure 10-1
.
The e500 also implements the branch target buffer (BTB) locking APU, which is not defined by
the EIS. See
Section 10.2, “Branch Target Buffer (BTB) Locking APU.”
10.2 Branch Target Buffer (BTB) Locking APU
The core complex provides a 512-entry BTB for efficient processing of branch instructions. The
BTB is a branch target address cache, organized as 128 rows with four-way set associativity, that
holds the address and target instruction of the 512 most-recently taken branches, each with a 2-bit,
dynamically updated branch history table that indicates four levels of likelihood that the branch
will be taken (strongly taken, taken, not taken, strongly not taken). The BTB provides quick access
to branch targets and history bits that allow efficient branch prediction.
The core complex also provides support for locking and unlocking BTB entries for deterministic
branch behavior. In particular, the BTB locking APU gives the user the ability to lock, unlock, and
invalidate BTB entries.
10.2.1 BTB Locking APU Programming Model
The BTB locking APU defines additional instructions and register resources, which are described
in the following sections. It does not define additional interrupts.
10.2.1.1 BTB Locking APU Instructions
Table 10-1
lists the BTB locking instructions, which are described in detail in
Section 3.9.1,
“Branch Target Buffer (BTB) Locking Instructions
.”
Vector and Floating-Point APUs
e500 v1 e500 v2
Original SPE
Definition
SPE vector instructions
ev
…
√
√
Vector single-precision floating-point
evfs
…
√
√
Scalar single-precision floating-point
efs
…
√
√
Scalar double-precision floating-point
efd
…
√
Figure 10-1. Vector and Floating-Point APUs
Table 10-1. BTB Locking APU Instructions
Name
Mnemonic
Syntax
Branch Buffer Load Entry and Lock Set
bblels
—
Branch Buffer Entry Lock Reset
bbelr
—
Summary of Contents for PowerPC e500 Core
Page 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Page 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Page 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Page 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Page 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Page 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...