Generic Cache Model

TEMU supports the use of cache models. However, cache models, at least when they are non-statistical, a significant impact on performance. Therefore cache models are not normally used when running the emulator.

For the cases where a cache model is needed, the generic cache model can be used (see limitations for more info). The generic cache model is a highly configurable cache model and supports being used, both as Harward style caches (separate I- and D-caches) and as a unified cache.

When connecting the generic cache model in the memory hierarchy, it will intercept every memory transaction, and disable the ATC for any memory access. This means that performance is significantly impacted, especially in systems with an MMU due to forced table walks.

The cache model will handle memory accesses with the TEMU\_MT\_CACHEABLE flag set. This flag can be set when mapping in a device (e.g. RAM or ROM).