[ARM CortexA] Разница между строго упорядоченным и типом памяти устройства
Я действительно новичок в Cortex A, и я знаю, что ARM применяет слабо упорядоченную модель памяти, и есть три взаимоисключающих типа памяти:
Сильно упорядоченнаяустройствоНормальныйЯ примерно понимаю, для чего предназначен Normal и что означают строго заказанные и Device. Однако разница между сильно упорядоченным и устройством меня смущает.
По словам программиста серии Cortex-AРуководство, единственное отличие состоит в том, что:
Запись в строго упорядоченную память может завершиться только тогда, когда она достигнет периферийного устройства или компонента памяти, к которому осуществляется запись.
Запись в память устройства разрешается завершать до того, как она достигнет периферийного устройства или компонента памяти, к которому осуществляется доступ при записи.
Я не совсем уверен в том, что реальное значение этого. Я предполагаю, что порядок доступа к памяти, набранной с помощью Strongly упорядоченного или Device, должен быть согласован с программистами. коды (нет выхода из строя). Но ЦП потенциально может выполнить следующую инструкцию при обращении к памяти, если введено устройство, и просто будет ждать до тех пор, пока доступ не будет завершен, если введено строго упорядоченное.
Поправьте меня, если я ошибаюсь, и, пожалуйста, скажите, в чем смысл этого.
Заранее спасибо.