6.3.6. Cache line length and heterogeneous systems

Systems that are comprised of both the Cortex-A15 MPCore processor and other processors operating under a shareable memory system must consider differences in the cache line length. The Cortex-A15 MPCore processor L1 caches contain 64-byte lines. Other processors, however, can feature caches that support cache line lengths different than those of the Cortex-A15 MPCore processor. System software often requires invalidation of a range of addresses that might be present in multiple processors. This is accomplished with a loop of invalidate cache by MVA CP15 operations that step through the address space in cache line-sized strides. For code to be portable across all ARMv7-A architecture-compliant devices, system software queries the CP15 Cache Type Register to obtain the stride size, see Cache Type Register for more information.

Systems that contain a combination of processors with 64-byte and 32-byte lines must handle data cache side operations within the interconnect, but it is not a requirement that the interconnect handles instruction side operations. The Cortex-A15 MPCore processor contains the IMINLN signal, that on reset, sets the value of the IminLine field within the Cache Type Register. You must set this signal 0 or 1, depending on the minimum instruction cache line size in the system. When IMINLN is set to 0, the minimum system-wide instruction cache line size is 32 bytes. When IMINLN is set to 1, the minimum system-wide instruction cache line size is 64 bytes. This signal is only sampled at reset.


  • This signal does not affect internal instruction cache line size or operation of the cache maintenance commands.

  • A system containing only Cortex-A15 MPCore processors must set the IMINLN signal to 1 on all processors in the system.

Copyright © 2011-2012 ARM. All rights reserved.ARM DDI 0438G