Я немного опаздываю на этот вопрос, а также прошло много времени с тех пор, как я выполнил весь код инициализации низкоуровневого процессора на PPC, но я, кажется, помню, что кэш и MMU были довольно тесно связаны (нужно было быть включен, чтобы включить другой), и я думаю в таблицах страниц MMU, вы можете определить кешируемый атрибут.
Итак, моя точка зрения такова: если существует определенное подмножество кода, которое должно выполняться в детерминированное время, возможно, вы найдете этот код (через командный файл компоновщика) в области памяти, которая определена как не кэшируемая на странице. таблицы? Таким образом, весь код, который может / должен извлечь выгоду из кэша, делает, и (мы надеемся) подмножество кода, которое не должно, не делает.
В любом случае, я бы справился с этим так, чтобы позже, если вы хотите включить кэширование для части системы, вам просто нужно перевернуть несколько бит в таблицах страниц MMU вместо (пере) записи Код инициализации для настройки всех таблиц страниц и кэширования.