| |||
| Home > Functional Overview > Cache operation | |||
Table 2.7 to Table 2.15 show the general behavior of the cache controller depending on ARMv6 and ARMv7 transactions.
Table 2.7 shows the general behavior of the cache controller for Noncacheable and nonbufferable AXI transactions.
Table 2.7. Noncacheable and nonbufferable AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Strongly ordered | Read: Not cached in L2, results in L3 access. Write: Not buffered, results in L3 access. |
Table 2.8 shows the general behavior of the cache controller for Bufferable only AXI transactions.
Table 2.8. Bufferable only AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Device | Read: Not cached in L2, results in L3 access. Write: Put in store buffer, not merged, immediately drained to L3.[1] |
[1] Not all types of Device writes go to the store buffer. For example, the L2CC (PL310) treats a Device write that crosses a cache line boundary as a Strongly Ordered access. | |
Table 2.9 shows the general behavior of the cache controller for Chacheable but do not allocate AXI transactions, and Cacheable and bufferable but do not allocate AXI transactions.
Table 2.9. Cacheable but do not allocate AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Outer non cacheable | Read: Not cached in L2, results in L3 access. Write: Put in store buffer, write to L3 when store buffer is drained. |
Table 2.10 shows the general behavior of the cache controller for Cacheable write-through, allocate on read AXI transactions.
Table 2.10. Cacheable write-through, allocate on read AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Outer write-through, no write allocate | Read hit: Read from L2. Read miss: Linefill to L2. Write hit: Put in store buffer, write to L2 and L3 when store buffer is drained. Write miss: Put in store buffer, write to L3 when store buffer is drained. |
Table 2.11 shows the general behavior of the cache controller for Cacheable write-back, allocate on read AXI transactions.
Table 2.11. Cacheable write-back, allocate on read AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Outer write-back, no write allocate | Read hit: Read from L2. Read miss: Linefill to L2. Write hit: Put in store buffer, write to the L2 when store buffer is drained, mark line as dirty. Write miss: Put in store buffer, write to L3 when store buffer is drained. |
Table 2.12 shows the general behavior of the cache controller for Cacheable write-through, allocate on write AXI transactions.
Table 2.12. Cacheable write-through, allocate on write AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
Read hit: Read from L2. Read miss: Not cached in L2, causes L3 access. Write hit: Put in store buffer, write to L2 and L3 when store buffer is drained. Write miss:
|
Table 2.13 shows the general behavior of the cache controller for Cacheable write-back, allocate on write AXI transactions.
Table 2.13. Cacheable write-back, allocate on write AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
Read hit: Read from L2. Read miss: Not cached in L2, causes L3 access. Write hit: Put in store buffer, write to the L2 when store buffer is drained, mark line as dirty. Write miss:
|
Table 2.14 shows the general behavior of the cache controller for Cacheable write-through, allocate on read and write AXI transactions.
Table 2.14. Cacheable write-through, allocate on read and write AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Outer write-through, allocate on both reads and writes | Read hit: Read from L2. Read miss: Linefill to L2. Write hit: Put in store buffer, write to L2 and L3 when store buffer is drained. Write miss:
|
Table 2.15 shows the general behavior of the cache controller for Cacheable write-back, allocate on read and write AXI transactions.
Table 2.15. Cacheable write-back, allocate on read and write AXI transactions
| ARMv6 and ARMv7 memory type attribute | Cache controller behavior |
|---|---|
| Outer write-back, write allocate | Read hit: Read from L2. Read miss: Linefill to L2. Write hit: Put in store buffer, write to L2 when store buffer is drained, mark line as dirty. Write miss:
|
You can modify the default behavior described in Table 2.7 to Table 2.15 using parameters, such as shared attribute, force write allocate, and exclusive cache configuration.
Other behaviors are described in: