Ибо никогда не слышал, чтобы именно у процессоров была флэш- память встроенная.
Сейчас это у многих есть, это требование рынка, так ка рынок хочет иметь загрузчик закрытый от посторонних глаз для безопасности (отгораживать анально чтобы значит).
Это обычный для ARM кэш, он поставляется самой компанией ARM Ltd как часть ядра, его нельзя оттуда убрать даже :)
В него можно поместить свой код и заблокировать, так что процессор не сможет его переписать, это все что с ним можно сделать в общем-то. Ну или оставить в покое и проц сам разберется что делать.
4.2. Если память медленнее ядра (пример - STM32 на 100-120мгц), то ядро будет тупить в ожидании данных из рамы. Теоретически - да, доступны любые данные за такт. практически - it depends
В микроконтроллерах - это немножко другой ARM. У АРМа есть еще понятие версии архитектуры (обозначается как ARMv5, ARMv7, например), а есть версии ядра (всем знакомые обозначения вида ARM7, ARM9, Cortex-A).
Так вот некоторые версии архитектур не имют кэша, именно их обычно используют в микроконтроллерах.
Если посмотреть на семейство Cortex (Разновидности архитектуры ARMv7), то у Cortex-A есть и кэш и MMU и все навороты, присущие обычным процессорам, их ставят в планшетники и прочие ноуты. А есть Cortex-M - специальное микроконтроллероное ядро где этого нет всего.
Более того уних даже раный набор инструкции. У ARM-а есть 2 вида инструкций - ARM (все инструкции 32 разраядя), а есть Thumb (некоторые инструкции 32 разряда, но большая часть 16 - для экономии флеша). В ARMv7 добавилось еще расшитрение Thumb - Thumb-2.
Причем старшие семейства обычно умеют работать во всех режмах, а младшие - не всегда. Cortex-M, например поддерживают только Thumb-2.