1 about the prefetch unit, About the prefetch unit -2 – ARM Cortex R4F User Manual

Page 161

Advertising
background image

Prefetch Unit

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

5-2

ID013010

Non-Confidential, Unrestricted Access

5.1

About the prefetch unit

The purpose of the PFU is to:

perform speculative fetch of instructions ahead of the DPU by predicting the outcome of
branch instructions

format instruction data in a way that aids the DPU in efficient implementation.

The PFU fetches instructions from the memory system under the control of the DPU, and the
internal coprocessors CP14 and CP15. In ARM state the memory system can supply up to two
instructions per cycle. In Thumb state the memory system can supply up to four instructions per
cycle.

The PFU buffers up to three instruction data fetches in its FIFO. There is an additional FIFO
between the PFU and the DPU that can normally buffer up to eight instructions. This reduces or
eliminates stall cycles after a branch instruction. This increases the performance of the
processor.

Program flow prediction occurs in the PFU by:

predicting the outcome of conditional branches using the branch predictor and, for direct
branches, calculating their destination address using the offset encoded in the instruction

predicting the destination of procedure returns using the return stack.

The DPU resolves the program flow predictions that the PFU makes.

The PFU fetches the instruction stream as dictated by:

the Program Counter

the branch predictor

procedure returns signaled by the return stack

exceptions including aborts and interrupts signaled by the DPU

correction of mispredicted branches as indicated by the DPU.

Advertising
This manual is related to the following products: