SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
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.
ECC is enabled on the L2 cache.
The L2 cache size on the MPU subsystem is 1 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.