|Home > Introduction > Processor implementation > Caches in PV models|
Some processor models have PV-accurate caches, but others do not model Level 1 or Level 2 caches.
Cores that have PV-accurate cache implementation provide a functionally-accurate model. For more information, see the processor component descriptions.
Other PV models do not model Level 1 or Level 2 caches. The system coprocessor registers related to cache operations permit cache aware software to work, but in most cases they only check register access permissions.
The registers affected on all code translation processor models are:
Fast Models implement two types of cache model: register model and functional model.
A register model provides all the cache control registers so that cache operations succeed, but does not model the state of the cache. All accesses go to memory.
A functional model tracks cache state and its contents at each level of the memory hierarchy. Incorrect cache management might return incorrect data, as it would on real hardware.
Fast Models provide:
For a core with no L2 cache, the configuration parameters are:
For Arm®v7‑A cores with an L2 cache, the configuration parameters are:
For Armv8‑A cores with an L2 cache, the configuration parameters are:
Enabling functional cache modeling is likely to reduce performance.
Enable the L1 and L2 functional caches together. For consistent system operation, ARM recommends that you either disable functional behavior completely or enable it for both I and D L1 caches and the L2 cache.
Cache enablement must be system wide. If you enable cache state modeling in any component then you must enable it in all components in the system, including all cores (L1 and L2) and any external cache controller (such as the PL310_L2CC) and any interconnect that has caches.
If platform memory is being modeled outside of the Fast Models environment, for example in a SystemC environment, use of functional cache modeling might improve performance if there is no other fast route to memory.