2016-09-10 4 views
0

У меня есть некоторые сомнения относительно загрузчика ARM.Почему кеш должен быть включен/отключен в загрузчике?

  1. Включен или отключен кеш-память в загрузчике?
  2. Почему кеш должен быть включен/отключен в загрузчике? Что случится?
  3. Кто будет управлять кешем в загрузчике? На каком основании будет производиться запись в кэш?
+0

вы можете ссылаться ниже на нить, которая может помочь вам http://stackoverflow.com/questions/21262014/arm-bootloader-disable-mmu-and-caches – vishnu

ответ

0
  1. Включен кэш или отключен в загрузчике?
    Все зависит от архитектуры загрузчика. Но в целом, включение кеша (кэша инструкций в конкретном) позволяет «быстро» выполнить. Таким образом, если загрузчик-загрузчик должен выполнять определенную задачу повторно, например. расшифровка двоичного файла и т. д., то «быстрое» выполнение поможет.

  2. Почему кеш должен быть включен/отключен в загрузчике? Что случится?
    В первой части этого вопроса уже сказано выше.
    Если кеш отключен, загрузочный загрузчик будет вести себя как обычный код прошивки/голого металла.
    Но если включено, загрузочный загрузчик должен обеспечить правильную таблицу сопоставления для MMU, при этом все меры предосторожности, такие как для области SFR, ни одно из кэширования не должно быть включено и так далее.

  3. Кто будет управлять кешем в загрузчике? На каком основании будет производиться запись в кэш?
    Кэш в любом случае управляется MMU. Но, как упоминалось выше, отображение должно быть обеспечено загрузчиком или любым исполняющим объектом в MMU, так что в зависимости от диапазона адресов кеш включен или отключен. ARM обеспечивает множественные уровни детализации для сопоставления памяти, так что можно определить разделы памяти требований и можно точно контролировать поведение кеша.