Page 2
This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product.
Page 8
Glossary The ARM Glossary is a list of terms used in ARM documentation, together with definitions for those terms. The ARM Glossary does not contain terms that are industry standard unless the ARM meaning differs from the generally accepted meaning.
Page 10
This book contains information that is specific to this product. See the following documents for other relevant information: • ARM Architecture Reference Manual, ARMv7-A and ARMv7-R edition (ARM DDI 0406) • Cortex-A9 MPCore Technical Reference Manual (ARM DDI 0407) •...
Introduction About the Cortex-A9 processor The Cortex-A9 processor is a high-performance, low-power, ARM macrocell with an L1 cache subsystem that provides full virtual memory capabilities. The Cortex-A9 processor implements the ARMv7-A architecture and runs 32-bit ARM instructions, 16-bit and 32-bit Thumb instructions, and 8-bit Java bytecodes in Jazelle state.
Page 14
The addition of an on-chip secondary cache, also referred to as a Level 2 or L2 cache, is a recognized method of improving the performance of ARM-based systems when significant memory traffic is generated by the processor. The CoreLink Level 2 Cache Controller reduces the number of external memory accesses and has been optimized for use with Cortex-A9 processors and Cortex-A9 MPCore processors.
Cortex-A9 MPCore AXI master interfaces — Cortex-A9 uniprocessor accesses to private memory regions. • an Interrupt Controller (IC) with support for legacy ARM interrupts • a private timer and a private watchdog per processor • a global timer •...
The Cortex-A9 processor includes the following features: • superscalar, variable length, out-of-order pipeline with dynamic branch prediction • full implementation of the ARM architecture v7-A instruction set • Security Extensions • Harvard level 1 memory system with Memory Management Unit (MMU).
MPE RTL option is not implemented, you can implement the VFPv3-D16 FPU by choosing the FPU RTL option. b. The Cortex A9 processor does not support Parity error detection on the GHB RAMs, for GHB configurations of 8192 and 16384 entries.
• the processes to sign off the configured design. The ARM product deliverables include reference scripts and information about using them to implement your design. Reference methodology documentation from your EDA tools vendor complements the CSG.
Functional Description 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. Figure 2-1 shows a top-level diagram of the Cortex-A9 processor. Cortex-A9 processor Program Trace Performance...
Page 27
Functional Description The scheme maps the 32 ARM architectural registers to a pool of 56 physical 32-bit registers, and renames the flags (N, Z, C, V, Q, and GE) of the CPSR using a dedicated pool of eight physical 9-bit registers.
CoreSight PTM-A9 Technical Reference Manual for more information. Trace must be disabled in some regions. The prohibited regions are described in the ARM Architecture Reference Manual. The Cortex-A9 processor must determine prohibited regions for non-invasive debug in regions, including trace, performance monitoring, and PC sampling.
Page 32
SIMD MPE logic is implemented in its own dedicated power domain, separated from the rest of the processor logic. ARM recommends the following reset sequence for an MPE SIMD reset: Apply nNEONRESET. Wait for at least nine CLK cycles. There is no harm in applying more clock cycles than this, and maximum redundancy can be achieved by for example applying 15 cycles on every clock domain.
Page 36
RAMs that remain powered up in dormant mode, must be saved to external memory. These state saving operations must ensure that the following occur: • All ARM registers, including CPSR and SPSR registers are saved. • All system registers are saved.
The Jazelle Extension The Cortex-A9 processor provides hardware support for the Jazelle Extension. The processor accelerates the execution of most bytecodes. Some bytecodes are executed by software routines. See the ARM Architecture Reference Manual for more information. Chapter 5 Jazelle DBX registers.
The Advanced SIMD architecture extension, its associated implementations, and supporting software, are commonly referred to as NEON MPE. NEON MPE includes both Advanced SIMD instructions and the ARM VFPv3 instructions. All Advanced SIMD instructions and VFP instructions are available in both ARM and Thumb states.
Security Extensions enable the construction of a secure software environment. This section describes the following: • System boot sequence. See the ARM Architecture Reference Manual for more information. 3.5.1 System boot sequence Caution The Security Extensions enable the construction of an isolated software environment for more secure execution, depending on a suitable system design around the processor.
This section gives a summary of the CP15 system control registers. For more information on using the CP15 system control registers, see the ARM Architecture Reference Manual. The system control coprocessor is a set of registers that you can write to and read from. Some of these registers support more than one type of operation.
System Control Register descriptions This section describes the implementation-defined CP15 system control registers by coprocessor register number order that are not already described in the ARM Architecture Reference Manual. 4.3.1 Main ID Register The MIDR characteristics are: Purpose Provides identification information for the processor, including an implementer code for the device and a device ID number.
Page 74
Function [31] SBZ. [30] Banked Thumb exception enable: Exceptions, including reset, are handled in ARM state Exceptions, including reset, are handled in Thumb state. The TEINIT signal defines the reset value. [29] Banked Access Flag enable bit: Full access permissions behavior. This is the reset value.
Page 80
MCR p15, 0,<Rd>, c1, c0, 2; Write Coprocessor Access Control Register You must execute an immediately after an update of the CPACR. See the ARM Architecture Reference Manual for more information. You must not attempt to execute any instructions that are affected by the change of access rights between the and the register update.
Samples the value present on the MAXCLKLATENCY pins on exit from reset. This value reflects an implementation-specific parameter. ARM strongly recommends that the software does not modify it. The max_clk_latency bits determine the length of the delay between when one of these blocks has its clock cut and the time when it can receive new active signals.
Page 94
Domain Domain number of the TLB entry. Execute Never attribute. [5:3] Region type encoding. See the ARM Architecture Reference Manual. [2:1] Shared attribute. Invalidate TLB Entries on ASID Match This is a single operation that invalidates all TLB entries that match the provided Address Space Identifier (ASID) value.
• extended permissions check capability. See the ARM Architecture Reference Manual for a full architectural description of the VMSAv7. The processor implements the ARMv7-A MMU enhanced with Security Extensions and multiprocessor extensions to provide address translation and access permission checks. The MMU controls table walk hardware that accesses translation tables in main memory.
MMU signals a memory abort. See the ARM Architecture Reference Manual for a description of access permission bits, abort types and priorities, and for a description of the IFSR and Data Fault Status Register (DFSR).
The prediction scheme is available in ARM state, Thumb state, ThumbEE state, and Jazelle state. It is also capable of predicting state changes from ARM to Thumb, and from Thumb to ARM. It does not predict — any other state changes —...
Page 117
Predicted and nonpredicted instructions This section shows the instructions that the processor predicts. Unless otherwise specified, the list applies to ARM, Thumb, ThumbEE, and Jazelle instructions.As a general rule, the flow prediction hardware predicts all branch instructions regardless of the addressing mode, including: •...
See Table 10-8 on page 10-11. See the ARM Architecture Reference Manual for more information about these instructions. Treatment of intervening STR operations In cases where there is an intervening operation in an...
Page 127
Table 8-1 on page 8-2 Table 8-2 on page 8-2 are the theoretical maximums for the Cortex-A9 MPCore processor. A typical system is unlikely to reach these numbers. ARM recommends that you perform profiling to tailor your system resources appropriately for optimum performance.
Debug 10.2 About the Cortex-A9 debug interface The Cortex-A9 processor implements the ARMv7 debug architecture as described in the ARM Architecture Reference Manual. In addition, there are: • Cortex-A9 processor specific events. These are described in Performance monitoring events on page 11-7.
— DBGTR-int. External views of DBSCR and DBGTR are accessible through memory-mapped APB access. Table 10-1 shows the CP14 interface registers. All other registers are described in the ARM Architecture Reference Manual. Table 10-1 CP14 Debug register summary Register Offset...
Peripheral Identification Registers The Peripheral Identification Registers are read-only registers that provide standard information required by all components that conform to the ARM Debug interface v5 specification. The Peripheral Identification Registers are accessible from the Debug APB bus. Only bits [7:0] of each register are used.
Page 153
1019 DBGPID3 Peripheral Identification Register 3 0xFEC 0x00 See the ARM Debug Interface v5 Specification for more information on the Peripheral ID Registers. 10.6.2 Component Identification Registers The Component Identification Registers are read-only registers that provide standard information required by all components that conform to the ARM Debug interface v5 specification.
Reserved 0x018- 0x078 PMCCNTR Cycle Count Register, see the ARM 0x07C Architecture Reference Manual 32-255 Reserved 0x080- 0x3FC PMXEVTYPER0 Event Type Selection Register, see the ARM 0x400 Architecture Reference Manual PMXEVTYPER1 0x404 PMXEVTYPER2 0x408 PMXEVTYPER3 0x40C PMXEVTYPER4 0x410 PMXEVTYPER5 0x414...
Page 162
Table 11-1 PMU register summary (continued) Register Offset Name Type Description number 785-791 Reserved 0xC44- 0xC5C PMINTENCLR Interrupt Enable Clear Register, see the ARM 0xC60 Architecture Reference Manual 793-799 Reserved 0xC64- 0xC7C PMOVSR Overflow Flag Status Register, see the ARM 0xC80 Architecture Reference Manual 801-807...
Peripheral Identification Registers The Peripheral Identification Registers are read-only registers that provide standard information required by all components that conform to the ARM Debug interface v5 specification. The Peripheral Identification Registers are accessible from the Debug APB bus. Only bits [7:0] of each register are used the remaining bits Read-As-Zero.
Page 164
1019 PMPID3 Peripheral Identification Register 3 0xFEC 0x00 See the ARM Debug Interface v5 Specification for more information on the Peripheral ID Registers. 11.3.2 Component Identification Registers The Component Identification Registers are read-only registers that provide standard information required by all components that conform to the ARM Debug interface v5 specification.
This event is not implemented. However, similar functionality is provided by event number 0x6E, Predictable function returns. See Table 11-6 on page 11-8 For more information about these events see the ARM Architecture Reference Manual. For events and the corresponding PMUEVENT signals, see Table A-18 on page A-14.
Page 208
Memory model on page 3-9 3.8 Security Extensions overview renamed and moved Security Extensions architecture on page 3-6 Removed content, tables and figures from 4.1 that duplicates ARM About system control on page 4-2 Architecture Reference Manual material 4.2 Duplicates of ARM Architecture Reference Manual material removed,...
Page 209
Chapter 11 Performance Monitoring Unit Debug chapter, About debug systems removed Debug chapter, Debugging modes removed Duplicates of ARM Architecture Reference Manual material removed External debug interface, description of PADDRDBG[12:0] added External debug interface on page 10-16 Debug APB interface section added...
Need help?
Do you have a question about the Cortex A9 and is the answer not in the manual?
Questions and answers