SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The Cortex-A15 processor memory system treats all write-through (WT) accesses as 'write-through, no-allocate'. This means that no cache line from any write-through page allocates in any L1 data or L2 cache. This implies that write-through lines are implemented as non-cacheable in Cortex-A15. Memory requests for write-through cache lines are not looked-up in the L1D or L2, and are sent directly to the AXI master interface. Not caching WT lines was done primarily to avoid back-and-forth L1/L2 snoop invalidations.
For non-cacheable and WT memory, all Cortex-A15 memory read requests are 64 bytes. A15 over-reads and then allows forwarding of the data to multiple load instructions. If there is only a single load request for that line, there is no latency hit (since Cortex-A15 does critical word first) although there is potentially an increase in bus power. If there are multiple hits due to consecutive loads of data within the same line, there is a possibility of significant performance gains.