ARMv7 Common Memory System Architecture
Introduction
This article seeks to provide a concise summary of the ARM Common Memory System Architecture, which is a very convoluted name for the ARM Caching architecture. ARM has 3 main "Memory Systems Architectures" which form the components of its memory access scheme:
- CMSA: Common Memory System Architecture: Caches.
- VMSA: Virtual Memory System Architecture: TLBs and Virtual Memory as a memory protection and isolation, and linearization scheme.
- PMSA: Protected Memory System Architecture: a simplified memory protection scheme, also known in general CPU design parlance as an MPU (Memory Protection Unit), often held in contrast to an MMU (Memory Management Unit). An MPU is generally preferred to the memory and speed overheads of an MMU, in very resource-constrained, or performance critical microcontrollers.
Any particular ARM implementation may have one or more of these "Memory Systems" (CMSA, VMSA and PMSA).