Functional Description
ARM DDI 0388I
Copyright © 2008-2012 ARM. All rights reserved.
2-2
ID073015
Non-Confidential
2.1
About the functions
The Cortex-A9 processor is a high-performance, low-power, ARM macrocell with an L1 cache
subsystem that provides full virtual memory capabilities.
shows a top-level diagram of the Cortex-A9 processor.
Figure 2-1 Cortex-A9 processor top-level diagram
2.1.1
Instruction queue
In the instruction queue small loop mode provides low power operation while executing small
instruction loops. See
2.1.2
Dynamic branch prediction
The Prefetch Unit implements 2-level dynamic branch prediction with a
Global History Buffer
(GHB), a
Branch Target Address Cache
(BTAC) and a return stack. See
instruction side memory system
.
2.1.3
Register renaming
The register renaming scheme facilitates out-of-order execution in
Write-after-Write
(WAW)
and
Write-after-Read
(WAR) situations for the general purpose registers and the flag bits of the
Current Program Status Register (CPSR).
Dual instruction
decode stage
Instructions
Predictions
Instruction prefetch stage
Instruction
queue
Instruction
cache
Branch prediction
Dynamic branch
prediction
Return stack
Register
rename stage
Virtual to
physical
register pool
Branches
Dispatch
stages
Instruction
queue and
dispatch
Out of order
multi-issue
with speculation
ALU/MUL
ALU
FPU or NEON
Load/store
address
generation unit
Writeback
stage
Data cache
Memory system
Data
accesses
Instruction
fetch
Load store
unit
Translation
lookaside
buffer
Memory
management
unit
Cortex-A9 processor
Program Trace
Macrocell (PTM)
interface
Performance
Monitoring Unit
(PMU)
Preload
Engine (optional)