SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The MPU subsystem implements an L2 memory system. This memory system consists of an L2 cache (MPU_L2CACHE) and associated L2 cache controller (MPU_L2CACHE_CTRL). The MPU L2 cache controller runs at full-CPU speed and is configured to have one 128-bit master port. The L2 cache controller is configurable via CP15 registers and is tightly coupled to the L1 memory system. The MPU L2 memory system supports Arm Instruction Set Architecture (v7).
MPU L2 supports hardware cache coherency, but is used in a limited way in the device. Because the rest of the system does not support coherency with the MPU L2 cache, software coherence is required.
The L2 cache size on the MPU subsystem is 2 MiB. The cache is configured as 16-way set associative, with 64-B line size. The L2 cache controller performs critical word-first-refilling with a random or pseudo-random cache replacement policy.
The L2 includes logic to support cache event monitoring. The events being monitored are routed to the hardware debug (MPUHWDBGOUT[31:0]) port. The mapping of these events to the MPUHWDBGOUT[31:0] port is described in the Control Module chapter.
The L2 can be configured to generate interrupts on error conditions or event counter overflow/increment. The L2 interrupt (MPU_CLUSTER_IRQ_AXIERR) is mapped to interrupt line MPU_IRQ_3. When an interrupt occurs, software may look at corresponding interrupt register to determine the source of the interrupt.