User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 92
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
3.4 L2-Cache
3.4.1 Summary
The L2 cache controller is based on the ARM PL310 and includes an 8-way set-associative 512 KB
cache for dual/single Cortex-A9 cores. The L2 cache is physically addressed and physically tagged
and supports a fixed 32-byte line size. These are the main features of the L2 cache:
Supports snoop coherency control utilizing MESI algorithm.
Offers parity check for L2 cache memory.
Supports speculative read operations in the SMP mode.
Provides L1/L2 exclusive mode (that is, data exists in either, but not both).
Can be locked down by master, line, or way per master.
Implements 16-entry deep preload engine for loading data into L2 cache memory.
To improve latency, critical-word-first line-fill is supported.
Implements pseudo-random victim selection policy with deterministic option.
°
Write-through and write-back.
°
Read allocate, write allocate, read and write allocate.
The contents of the L2 data and tag RAMs are cleared upon an L2 reset to comply with security
requirements.
The L2 controller implements multiple 256-bit line buffers to improve cache efficiency.
°
Line fill buffers (LFBs) for external memory access to create a complete cache line into L2
cache memory. Four LFBs are implemented for AXI read interleaving support.
°
Two 256-bit line read buffers for each slave port. These buffers hold a line from the L2 cache
in case of cache hit.
°
Three 256-bit eviction buffers hold evicted lines from the L2 cache, to be written back to
main memory.
°
Three 256-bit store buffers hold bufferable writes before their draining to main memory, or
L2 cache. They enable multiple writes to the same line to be merged.
The controller implements selectable cache pre-fetching within 4k boundaries.
The L2 cache controller forwards exclusive requests from L1 to DDR, OCM, or external memory.
Note: The SCU does not maintain coherency between instruction and data L1 caches, so this
coherency must be maintained by software.
The L2 cache implements TrustZone security extension to offer enhanced OS security. The
non-secure (NS) tag bit is added in tag RAM and is used for lookup in the same way as an address bit.
The NS tag bit is also added in all of the buffers. The NS bit in tag RAM is used to determine the
security level of evictions to DDR and OCM. The controller restricts non-secure accesses for control,
configuration, and maintenance registers to restrict access to secure data.