Latencia: la memoria flash es más lenta que la CPU.
Por lo tanto, si necesita ejecutar la CPU a toda velocidad (que es opcional, porque una velocidad más baja ahorra energía), entonces es necesario programar el número de estados de espera. IIRC, la CPU puede ejecutarse sin ningún estado de espera a 24 MHz o menos. La ejecución a esas velocidades más bajas ahorrará una gran cantidad de energía en una aplicación de baja potencia, que aún funciona con un buen rendimiento.
"on-the-fly": la CPU puede ajustar la velocidad del reloj mientras se está ejecutando.
Por lo tanto, para obtener el mejor rendimiento frente a la potencia, puede funcionar a una velocidad de reloj baja para ahorrar energía, mientras sigue trabajando, y cuando sea necesario, aumente el reloj, cuando el flash necesitará más ciclos de espera para funcionar de manera confiable. p>
Caché: el búfer de captación previa es un tipo simple de caché.
La memoria flash interna es de 64 bits de ancho. El búfer de captura previa es del mismo ancho, por lo que puede contener hasta 4 instrucciones en cada uno de sus dos bloques. AFAIK se usa menos recientemente, y por lo tanto solo ciclos. Me imagino que tener dos bloques simplifica los circuitos y evita la contención entre la carga del programa y la decodificación de instrucciones.
Medio ciclo: esto solo se aplica cuando la CPU se está ejecutando a menos de 8MHz
El manual de los programadores dice:
La configuración de medio ciclo no está disponible en combinación con una
preescala en el AHB. El reloj del sistema (SYSCLK) debe ser igual al
Reloj HCLK. Por lo tanto, esta característica solo se puede utilizar con un
Reloj de baja frecuencia de 8 MHz o menos.
El subsistema de memoria flash es lo suficientemente rápido como para ser leído en medio ciclo de reloj. Eso podría permitir que el chip optimice el uso de energía, o evitar la contención entre DMA o la CPU, leer dos bloques de instrucciones, o tal vez algo más. No sé lo que realmente hace, y no recuerdo haberlo leído en los manuales. Pido disculpas por especular; tal vez una búsqueda en la web o una consulta en el foro de ST pueda encontrar una mejor respuesta.