In order to improve the L2 cache miss latency between the MPU L2 cache and the EMIF1 module, a direct path between the MPU subsystem and EMIF1 is created. This direct path is supported by a memory adapter (MPU_MA) module. The MPU_MA splits the incoming (from L2 cache) AXI4 traffic into MPU_AXI2OCP and EMIF1 accesses. The MPU_AXI2OCP accesses are sent to the memory adapter A2O ports. Mandatory firewall checks are performed on all accesses to EMIF1.
The main features of the MPU_MA are:
- Splits accesses between the MPU_AXI2OCP and the EMIF
- Input from L2 cache and output to MPU_AXI2OCP is AMBA4-compatible and runs at half the Cortex-A15 CPU frequency
- Supported read response interleaving on A2O port
- Parallel processing of reads and writes
- Support for narrow bursts
- Supports 4 × 128-bit line fills and eviction with critical word first
- Supports barrier instructions on normal read and write channels
- Direct 128-bit interfaces to EMIF1:
- Single request multiple data
- No write response on posted writes
- Uses firewall logic to check access rights of incoming addresses. The firewall on EMIF1 supports:
- Configurable number of regions with fixed priority
- Access support for up to eight execution domains
- Busy indicator during reconfiguration
- Blocked read and write access to the EMIF for all accesses failing authorization checks
- Burst wrap for single cache line fills
- Supports boot from EMIF space
- Supports 4 GiB of memory
- Supports standard disconnect and idle protocols for independent powering down of the MPU_MA and both EMIFs (the EMIF must be powered down or up as a pair)
- Probe interface for performance monitoring of the EMIF ports
- 11 outstanding reads and 16 outstanding writes
- Supports exclusive accesses used for MPU internal synchronization
- Provides watchpoint capability on AXI bus. For more information, see Chapter 34, On-Chip Debug Support.
Figure 4-6 shows the integration of the MPU_MA in the device.