
Device Performance Optimization
MPC5644A Microcontroller Reference Manual, Rev. 6
118
Freescale Semiconductor
•
Use of DMA rather than CPU to transfer data efficiently
•
Use of DMA service requests rather than CPU interrupts to avoid software polling
•
Off-loading tasks from the CPU to the eTPU2 or eDMA
•
Careful allocation of cache usage for code and data ranges, particularly when using with external
memories.
Different items in this list will have different performance impacts in a real system. Features like the
system cache, the FMPLL and the flash access times tend to provide the most significant performance
impacts in terms of hardware settings.
The subsequent sections in this chapter describe how to configure and use these features.
6.3
Configuring hardware features
6.3.1
Branch target buffer (BTB)
6.3.1.1
Description
To resolve branch instructions and improve the accuracy of branch predictions the e200z4 core implements
a dynamic branch prediction mechanism using a branch target buffer (BTB), a fully associative address
cache of branch target addresses. Its purpose is to accelerate the execution of software loops with some
potential change of flow within the loop body. In addition, the BTB on the e200z4 has a subroutine call
stack that speeds up indirect branches.
6.3.1.2
Recommended configuration
By default, this BTB is disabled following negation of reset. It is controlled by the Branch Unit Control
and Status Register (BUCSR). The BTB’s contents should be flushed and invalidated by writing
BUCSR[BBFI] = 1, and it may be enabled by subsequently writing BUCSR[BPEN] = 1.
Additional control is available in BUCSR[BPRED] and BUCSR[BALLOC] to control whether forward or
backward branches (or both) are candidates for entry into the BTB, and thus for branch prediction. By
default the BUCSR[BPRED] and BUCSR[BALLOC] fields are set to 0b00, which enables forward and
backward branch prediction. It is recommended to not disable branch prediction although for extremely
fine tuning of a given application the optimum setting of BUCSR[BPRED] and BUCSR[BALLOC]
should be assessed.
.
0
BBFI
0
BALLOC
0
BP
RE
D
BP
EN
0
1
2
3
4
5
6
7
8
9
10
11
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
SPR - 1013; Read/Write; Reset - 0x0
Figure 6-1. Branch Unit Control and Status Register (BUCSR)
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...