1

The Raspberry Pi 3 Model B features a quad-core 64-bit ARM Cortex A53 clocked at 1.2 GHz with 32kB Level 1 and 512kB Level 2 cache memory.

My question is what type is the cache, is it exclusive or inclusive? Where can I find these information?

artless noise
  • 21,212
  • 6
  • 68
  • 105
Consy
  • 326
  • 3
  • 22
  • I'm pretty sure exclusive caches died with uniprocessor machines. – EOF Apr 25 '17 at 11:36
  • the information would be at ARM's website – old_timer Apr 25 '17 at 12:28
  • my assumption is l1 is tied to each core then l2 is shared, but you will have to just look. – old_timer Apr 25 '17 at 12:29
  • It is configurable on some ARM devices. The L1 on each core must be aware of other L1 core accesses. This is part of the [SNOOP control unit](http://infocenter.arm.com/help/topic/com.arm.doc.ddi0500g/BABJECBF.html). Often it depends on what kind of 'write' caching is performed. If 'write-through' then exclusive is probably useless? – artless noise Apr 26 '17 at 14:09
  • @EOF, on the contrary, the higher the core count, the more painful it is to sustain an inclusive cache. Purely exclusive is hard, but there are "mostly-exclusive" designs that are becoming common – Leeor Apr 26 '17 at 21:24

1 Answers1

2

Answer found in NXP site (arm site):

For data accesses, the Cortex-A53 uses "tends towards exclusive" cache allocation policy:
  "Data is allocated to the L2 cache only when evicted from the L1 memory system, not when first fetched from the system. The only exceptions to this rule are for memory marked with the inner transient hint, or for non-temporal loads, see Non-temporal loads, that are only ever allocated to the L2 cache. The L1 cache can prefetch data from the system, without data being evicted from the L2 cache."

For instruction fetches, the Cortex-A53 uses "tends towards inclusive" cache allocation policy:
   "Instructions are allocated to the L2 cache when fetched from the system and can be invalidated during maintenance operations."

It is impossible to modify the this cache policy, this is non-configurable.
Consy
  • 326
  • 3
  • 22