EasyManua.ls Logo

ARM Cortex-R4 User Manual

Default Icon
436 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Page #1 background imageLoading...
Page #1 background image
Copyright © 2006-2011 ARM Limited. All rights reserved.
ARM DDI 0363G (ID073015)
Cortex
-R4 and Cortex-R4F
Revision: r1p4
Technical Reference Manual

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the ARM Cortex-R4 and is the answer not in the manual?

ARM Cortex-R4 Specifications

General IconGeneral
ArchitectureARMv7-R
Bit Width32-bit
Memory ProtectionMemory Protection Unit (MPU)
Pipeline8-stage
Floating Point UnitOptional VFPv3
EndiannessConfigurable (Little or Big Endian)
ISAThumb-2
Interrupt ControllerYes
Tightly Coupled Memory (TCM)Yes
Typical ApplicationsAutomotive
CoresSingle-core
CacheOptional instruction and data cache (4-64 KB)

Summary

Chapter 1 Introduction

1.1 About the processor

Provides an overview of the Cortex-R4 processor and its architecture.

1.2 Compliance

Details the ARM architecture, trace macrocell, AMBA, and debug architecture compliance.

1.3 Features

Lists the key features of the Cortex-R4 processor, including its units and interfaces.

1.4 Interfaces

Describes the various interfaces the processor provides for external connections.

1.5 Configurable options

Details the features that can be configured during build or pin configuration.

1.6 Test features

Explains the test features available for production testing and implementation.

1.7 Product documentation, architecture and design flow

Describes the processor documentation, design flow, and related standards.

1.8 Product revisions

Outlines the functional differences between product revisions r1p3 and r1p4.

Chapter 2 Functional Description

2.1 About the functions

Describes the main components of the processor, including DPU, LSU, PFU, and memory systems.

2.2 Interfaces

Lists the processor's external interfaces, including AXI, TCM, and debug interfaces.

2.3 Clocking and resets

Explains the processor's clock inputs and reset signals and modes.

2.4 Operation

Describes processor operation, including initialization requirements for MPU, FPU, and caches.

Chapter 3 Programmers Model

3.1 About the programmers model

Introduces the ARMv7 architecture implemented by the processor and instruction sets.

3.2 Modes of operation and execution

Details the processor's instruction set states (ARM/Thumb) and operating modes.

3.3 Memory model

Explains memory organization, byte-invariant big-endian, and little-endian formats.

3.4 Data structures

Describes supported data types (doubleword, word, halfword, byte) and alignment.

3.5 Registers

Details the processor's register set, including general-purpose and special-function registers.

3.6 Program status registers

Explains the CPSR and SPSRs, their bit assignments, and modification by MSR instructions.

3.7 Exceptions

Covers exception handling, entry/exit summaries, and types of exceptions like resets and aborts.

Chapter 4 System Control

4.1 About system control

Provides an overview of the system control coprocessor (CP15) and its functions.

4.2 Register summary

Lists the system control coprocessor's registers and their functions grouped by category.

4.3 Register descriptions

Provides detailed descriptions of CP15 registers, including their addresses and operations.

Chapter 5 Prefetch Unit

5.1 About the prefetch unit

Describes the PreFetch Unit (PFU), functionality, and interaction with DPU.

5.2 Branch prediction

Explains the dynamic branch prediction scheme and its two major classes of branches.

5.3 Return stack

Details the call-return stack mechanism for predicting procedure returns.

5.4 Controlling instruction prefetch and program flow prediction

Explains how to control prefetch and program flow prediction using ACTLR bits.

Chapter 6 Events and Performance Monitor

6.1 About the events

Introduces events detected by the processor for debugging and profiling.

6.2 About the PMU

Describes the Performance Monitoring Unit (PMU) components and accessibility.

6.3 Performance monitoring registers

Lists and describes registers for controlling and interrogating performance counters.

Chapter 7 Memory Protection Unit

7.1 About the MPU

Explains the MPU's role in memory access control and region partitioning.

7.2 Memory types

Defines memory types (Strongly-ordered, Device, Normal) and their attributes.

7.3 Region attributes

Details attributes associated with memory regions, controlling memory access behavior.

7.4 MPU interaction with memory system

Describes how to enable and disable the MPU, including pipeline flushing.

7.5 MPU faults

Explains the types of faults generated by the MPU: background, permission, and alignment.

Chapter 8 Level One Memory System

8.1 About the L1 memory system

Describes the L1 memory system, including caches, TCMs, and the MPU.

8.2 About the error detection and correction schemes

Explains error detection and correction schemes like parity and ECC for memory.

8.3 Fault handling

Discusses how the processor handles various faults, including MPU faults and external errors.

8.4 About the TCMs

Details the TCM interfaces, configuration, and internal error detection mechanisms.

8.5 About the caches

Explains the L1 cache organization, maintenance operations, and error detection.

8.8 Error detection events

Describes events related to internal error detection and correction in TCMs and caches.

Chapter 9 Level Two Interface

9.1 About the L2 interface

Describes the processor's L2 interface, consisting of AXI master and slave interfaces.

9.2 AXI master interface

Details the AXI master interface, including signals, attributes, and transfer types.

9.3 AXI master interface transfers

Explains the types of AXI bursts generated by the processor and transfer restrictions.

9.4 AXI slave interface

Describes the AXI slave interface for accessing TCMs and cache RAMs.

9.5 Enabling or disabling AXI slave accesses

Provides examples for enabling and disabling AXI slave accesses to cache RAMs.

9.6 Accessing RAMs using the AXI slave interface

Explains how to access TCM and cache RAMs using the AXI slave interface.

Chapter 10 Power Control

10.1 About power control

Describes processor features that improve energy efficiency, like branch prediction and clock gating.

10.2 Power management

Details the four power management levels: Run, Standby, Dormant, and Shutdown modes.

Chapter 11 FPU Programmers Model

11.1 About the FPU programmers model

Introduces the FPU's VFPv3-D16 architecture and its IEEE 754 compliance.

11.2 General-purpose registers

Describes the VFP register bank views: D0-D15 and S0-S31.

11.3 System registers

Explains VFP system registers like FPSID, FPSCR, FPEXC, and MVFR.

11.5 Compliance with the IEEE 754 standard

Details the FPU's compliance with the IEEE 754 standard and implementation choices.

Chapter 12 Debug

12.1 Debug systems

Outlines the typical components of a debug system: host, protocol converter, and target.

12.2 About the debug unit

Describes the processor debug unit's capabilities and debugging modes.

12.3 Debug register interface

Explains accessing debug registers via APB slave port and coprocessor interface.

12.4 Debug register descriptions

Provides detailed descriptions of CP14 and memory-mapped debug registers.

12.6 Debug events

Lists software debug events like watchpoints, breakpoints, and vector catches.

12.7 Debug exception

Explains how the processor handles debug exceptions and their effects on registers.

12.8 Debug state

Describes the processor's behavior and register access while in debug state.

12.9 Cache debug

Details cache pollution, coherency, and usage profiling in debug state.

12.10 External debug interface

Covers APB signals, miscellaneous debug signals, and authentication signals.

12.11 Using the debug functionality

Provides examples of using debug functionality, including instruction execution and register access.

12.12 Debugging systems with energy management capabilities

Discusses debugging systems with energy-saving measures and emulating power down.

Chapter 13 Integration Test Registers

13.1 About Integration Test Registers

Introduces Integration Test Registers for verifying design integration and topology detection.

13.2 Summary of the processor registers used for integration testing

Lists integration test registers and the Integration Mode Control Register (DBGITCTRL).

13.3 Processor integration testing

Describes the use of Integration Test Registers for controlling outputs and reading inputs.

Appendix A Signal Descriptions

A.1 About the processor signal descriptions

Explains the format of processor signal descriptions, including direction, clocking, and meaning.

A.2 Global signals

Lists and describes the processor's global signals, including clocks and reset.

A.3 Configuration signals

Details the processor's configuration signals for customizing behavior at reset.

A.4 Interrupt signals, including VIC interface signals

Lists and describes interrupt signals, including those for the VIC interface.

A.5 L2 interface signals

Describes the AXI master and slave interface signals for the L2 interface.

A.6 TCM interface signals

Lists and describes signals for the ATCM and BTCM interfaces.

A.7 Redundant processor signals

Describes the interface signals for dual redundant core configurations.

A.8 Debug interface signals

Lists and describes signals related to the APB interface and miscellaneous debug signals.

A.9 ETM interface signals

Lists and describes signals for the ETM interface.

A.10 Test signals

Lists and describes signals used for design-for-test (DFT).

A.11 MBIST signals

Lists and describes signals related to Memory Built-In Self Test (MBIST).

A.12 Validation signals

Lists and describes signals used for system validation purposes.

A.13 FPU signals

Lists and describes signals specific to the Floating Point Unit (FPU).

Appendix B AC Characteristics

B.1 Processor timing

States that the AXI and APB interfaces conform to their respective protocol specifications.

B.2 Processor timing parameters

Describes input and output port timing parameters as percentages of the processor clock cycle.

Appendix C Cycle Timings and Interlock Behavior

C.1 About cycle timings and interlock behavior

Explains that precise timings require a cycle-accurate model and describes best-case assumptions.

C.2 Register interlock examples

Provides examples of register interlocks using LDR and ADD instructions.

C.3 Data processing instructions

Describes cycle timing for data processing instructions, distinguishing between PC and non-PC destinations.

C.4 QADD, QDADD, QSUB, and QDSUB instructions

Details the cycle timing behavior of saturating arithmetic instructions.

C.5 Media data-processing

Provides cycle timing for media data-processing instructions, noting single-cycle issue and result latencies.

C.6 Sum of Absolute Differences (SAD)

Shows cycle timing and interlock examples for SAD and SAD8 instructions.

C.7 Multiplies

Describes cycle timing for multiply operations, including early forwarding and interlocks.

C.8 Divide

Explains the cycle timing behavior for UDIV and SDIV instructions, including result latency formulas.

C.9 Branches

Details cycle timing for branch instructions, including predictions and condition code handling.

C.10 Processor state updating instructions

Describes cycle timing for instructions that update processor state like MRS, MSR, CPS, SETEND.

C.11 Single load and store instructions

Covers cycle timing for single load/store instructions, noting alignment and register requirements.

C.12 Load and Store Double instructions

Details cycle timing for LDRD and STRD instructions, considering alignment and writeback.

C.13 Load and Store Multiple instructions

Explains cycle timing for LDM, STM, PUSH, and POP instructions, including PC loading.

C.14 RFE and SRS instructions

Describes cycle timing for RFE and SRS instructions used for exception return.

C.15 Synchronization instructions

Covers cycle timing for synchronization instructions like LDREX, STREX, DMB, DSB, ISB.

C.16 Coprocessor instructions

Details cycle timing for MCR and MRC instructions used with coprocessors CP14 and CP15.

C.17 SVC, BKPT, Undefined, and Prefetch Aborted instructions

Provides cycle timing for exception-generating instructions.

C.18 Miscellaneous instructions

Describes cycle timing for IT, NOP, WFI, and SEV instructions.

C.19 Floating-point register transfer instructions

Details cycle timing for VFP instructions transferring data between register files.

C.20 Floating-point load/store instructions

Covers cycle timing for VFP load/store instructions, considering alignment and writeback.

C.21 Floating-point single-precision data processing instructions

Provides cycle timing for single-precision VFP arithmetic and comparison instructions.

C.22 Floating-point double-precision data processing instructions

Details cycle timing for double-precision VFP arithmetic and comparison instructions.

C.23 Dual issue

Explains dual-issue rules and permitted instruction combinations for increased throughput.

Appendix D ECC Schemes

D.1 ECC scheme selection guidelines

Describes ECC schemes for TCM interfaces and provides guidelines for selection.

Appendix E Revisions

Related product manuals