Permítame indicarle la aplicación AN4296 (para STM32F3). Habla de CCM en detalle. Hace la distinción entre Harvard y Configuraciones de Von Neumann .
El objetivo del CCM es exactamente para ejecutar el código a la velocidad máxima. Puede tratarse de interruptores, pero también de funciones comunes.
Hay una matriz de bus . Tanto el CCM como la SRAM ordinaria tienen conexiones a los buses de datos e instrucciones. El CCM no tiene conexión con DMA porque está destinado a código, que DMA nunca debe manejar. También cuenta con protección de escritura por página.
La idea es que el núcleo puede obtener código de CCM al mismo tiempo que obtiene datos de la otra SRAM. Se utilizan diferentes "buses" en paralelo, lo que le proporciona el mejor rendimiento. Si recuperas código y datos de la misma memoria (cualquiera de los dos), será más lento debido a la contención.
Algunos STM32 tienen una cosa llamada Acelerador Adaptable en Tiempo Real (ART) . Eso es un caché en la parte superior de flash para que pueda ejecutar "desde la memoria Flash, con estados de espera 0".
Incluso el STM32 (F7) más reciente tiene caché de L1 real por encima de eso .