| |||
| Home > Level One Memory System > About the L1 memory system | |||
The processor L1 memory system can be configured during implementation and integration. It can consist of:
separate instruction and data caches
multiple Tightly-Coupled Memory (TCM) areas
a Memory Protection Unit (MPU).
The instruction side and data side can each optionally have their own L1 caches. The cache architecture is Harvard, that is, only instructions can be fetched from the Icache, and only data can be fetched from the Dcache. In parallel with each of the caches are two areas of dedicated RAM accessible to both the instruction and data sides. These are regions of TCM. You can implement one TCM using the ATCM interface and up to two TCMs using the BTCM interface. Figure 8.1 shows this.
Each TCM and cache can be configured at implementation time to have an error detection and correction scheme to protect the data stored in the memory from errors. Each TCM interface also has support for logic external to the processor to tell the processor that an error has occurred.
The MPU handles accesses to both the instruction and data sides. The MPU is responsible for protection checking, address access permissions, and memory attributes for all accesses. Some of these attributes can be passed to the L2 memory system through the AXI master. See Chapter 7 Memory Protection Unit for more information about the MPU.
The L1 memory system includes a monitor for exclusive accesses.
Exclusive load and store instructions, for example LDREX and STREX,
can be used with the appropriate memory monitoring to provide inter-process
or inter-processor synchronization and semaphores. See the ARM Architecture
Reference Manual for more information. The internal
monitor can handle some exclusive monitoring internally to the processor,
see Internal exclusive monitor for more
information.