Device Performance Optimization
PXR40 Microcontroller Reference Manual, Rev. 1
Freescale Semiconductor
33-14
33.5
Peripherals and General Application Guidelines
Optimizing the device configuration and compiler setup is only one part of optimizing an entire
application. Correct use of the peripherals can also dramatically improve overall system performance. In
particular, use of the interrupt controller, the enhanced Direct Memory Access (eDMA), and intelligent
peripherals such as the Enhanced Timer Processing unit (eTPU2), can off-load significant work from the
CPU.
For example, the eDMAs may be used to shift data to avoid unnecessary CPU loading. Most peripheral
modules can generate eDMA requests to trigger data transfers. An example of a typical application is to
use the eDMA to pass conversion commands to the analog to digital converter (ADC) whilst maintaining
circular buffers of the ADC results in the system RAM, with no core intervention.
The Performance Optimization Checklist in the next section provides several system level examples of
how to optimize an application.
33.6
Performance Optimization Checklist
1. Hardware Configuration
Description
Register(s)
Details
Branch Target Buffer
Flush with BUCSR[BBFI]
Enable with BUCSR[BPEN]
Flush and enable to improve accuracy of branch
predictions.
Branch Prediction
BUCSR[BPRED]
BUCSR[BALLOC]
Consider fine tuning of BTB operation for specific
applications.
System Frequency
FMPLL_ESYNCR1
FMPLL_ESYNCR2
Select desired frequency taking into account the
performance impact of additional wait states.
Flash Wait States
BIUCR[APC, WW, RWSC]
Refer to
Section 12.2.2.8, Flash Bus Interface
Configuration Register (FLASH_BIUCR)
, for BIUCR
settings for FMPLL frequency ranges.
Flash Prefetching
BIUCR[DPFEN, IPFEN, PFLIM, BFEN]
Enable prefetching for instructions. Prefetching for data
should be assessed for the specific application.
Flash Prefetch
Algorithm
BIUCR2[LBCFG]
Allocate buffers to data and/or instructions. Fine tune for
specific applications.
Crossbar Switch
Park slave SRAM on master port with
XBAR_SGPCR2.
Set Flash slave port to highest priority with
XBAR_MPR0.
For e200z7 based devices reconfigure to optimize for
Harvard architecture.
Cache
Invalidate Icache with L1CSR1[ICINV]
Enable Icache with L1CSR1[ICE]
Invalidate Dcache with L1CSR0[DCINV]
Enable Dcache with L1CSR0[DCE]
Invalidate and the enable the cache for instructions.
Assess in application best configuration for using cache
with data.
Make an application dependent decision on copyback
operation and store/push buffer configuration.
Memory Management
Unit
TLB_MAS2[VLE, I]
Configure relevant pages for cache and VLE by setting
MMU TLB attributes.
Summary of Contents for PXR4030
Page 1: ...PXR40 Microcontroller Reference Manual Devices Supported PXR4030 PXR4040 PXR40RM Rev 1 06 2011...
Page 30: ...PXR40 Microcontroller Reference Manual Rev 1 Freescale Semiconductor xxx...
Page 40: ...PXR40 Microcontroller Reference Manual Rev 1 xl Freescale Semiconductor...
Page 66: ...Memory Map PXR40 Microcontroller Reference Manual Rev 1 2 4 Freescale Semiconductor...
Page 120: ...Signal Descriptions 3 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 860: ...FlexCAN Module 24 50 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 1167: ...Decimation Filter Freescale Semiconductor 28 53 PXR40 Microcontroller Reference Manual Rev 1...
Page 1168: ...Decimation Filter 28 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...