PowerPC e500 Core Family Reference Manual, Rev. 1
4-24
Freescale Semiconductor
Execution Timing
4.4.1.3.2
BTB Locking APU Programming Model
The BTB APU programming model includes the following register resources:
•
The following BTB locking APU registers.
— Branch buffer entry address register (BBEAR)
— Branch buffer target address register (BBTAR)
— Branch unit control and status register (BUCSR)
These registers are described in
Section 2.9, “Branch Target Buffer (BTB) Registers
.”
•
MSR[UBLE]. The user branch locking enable bit (UBLE) is defined in the MSR. Setting
MSR[UBLE] allows user mode programs to lock or unlock BTB entries. See
Section 2.5.1,
“Machine State Register (MSR)
.”
The BTB also defines the following instructions, described in
Section 3.9.1, “Branch Target
Buffer (BTB) Locking Instructions
”:
•
Branch Buffer Load Entry and Lock Set (bblels)
•
Branch Buffer Entry Lock Reset (bbelr)
4.4.1.3.3
BTB Operations Controlled by BUCSR
This following BTB operations are controlled through BUCSR:
•
BTB disabling. BUCSR[BPEN] is used to enable or disable the BTB. The BTB is enabled
when the bit is set and disabled when it is cleared.When it is disabled, BTB contents are not
used to predict the branch targets and the BTB is not updated as a result of executing
branch, bblels, or bbelr instructions. However, when it is disabled, the BTB maintains its
contents and any locks, which can be used again when the BTB is reenabled.
•
BTB overlocking. BUCSR[BBLO] is used to report an overlocking status to the program.
It is a sticky bit and once set, remains set until explicitly cleared by writing a 0 to it with an
mtspr instruction.
•
BTB unable to lock. If bblels cannot set the BTB lock, BUCSR[BBUL] is set. It is a sticky
bit.
•
BTB invalidation. Flash invalidation of the BTB is accomplished by writing
BUCSR[BBFI] with a 0 and then a 1 using mtspr instructions.
•
BTB lock clearing. BUCSR[BBLFC] is used to perform a flash lock clear (unlocking) of
all locked BTB entries. Writing BUCSR[BBLFC] with a 0 and then a 1 flash lock clears all
locked BTB entries.
Содержание PowerPC e500 Core
Страница 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Страница 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Страница 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Страница 316: ...PowerPC e500 Core Family Reference Manual Rev 1 7 18 Freescale Semiconductor Performance Monitor...
Страница 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Страница 362: ...PowerPC e500 Core Family Reference Manual Rev 1 10 26 Freescale Semiconductor Auxiliary Processing Units APUs...
Страница 440: ...PowerPC e500 Core Family Reference Manual Rev 1 A 8 Freescale Semiconductor Programming Examples...
Страница 444: ...PowerPC e500 Core Family Reference Manual Rev 1 B 4 Freescale Semiconductor Guidelines for 32 Bit Book E...
Страница 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Страница 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...