TGViewer
Just code IT Just code IT @justcodeit_channel · 1.32K subscribers
Post #14 431
Особенности архитектуры процессоров ARM

Процессоры ARM работают с двумя типами памяти: normal memory и device memory. Задать тип памяти можно при помощи регистра MAIR (Memory Attribute Indirection Register) и группы из трех бит в записи таблицы страниц.

Тип памяти device memory обычно применяют для тех регионов, доступ к которым может породить какой-либо сайд-эффект. Обычно это память регистров устройств.

Во всем этом нет ничего удивительного, пока мы не сталкиваемся с конвейером процессора и спекулятивным исполнением. Процессор может пытаться спекулятивно исполнять код, выбирая его из памяти, любой памяти, которая не маркирована атрибутом XN (Execute Never). В том числе из device memory!

В документации ARM утверждают, что выборка инструкций из device memory приводит к непредсказуемому результату.

Описанное выше — не просто теория, приходилось сталкиваться с подобным поведением на практике: из-за забытого XN-бита в записях таблиц страниц контроллер прерываний иногда работал некорректно, переходя в непредсказуемые состояния. Виновником оказалась спекулятивная выборка из device memory.
  • 👍 2
More from @justcodeit_channel
  1. Aug 1, 20243D ландшафт в 256 байт Существуют разные виды intro — небольших динамических сцен, генерир…
  2. Jul 17, 2024Практическое погружение в метакомпиляторы Практически у каждого из наших читателей с образ…
  3. Jul 3, 2024Как создаются 64 intro Уверены, многие наши читатели слышали про демосцену — вид цифрового…
  4. Jun 14, 2024Создание программы 3D моделирования за неделю Недавно обнаружили на просторах сети занимат…
  5. May 28, 2024VPN, созданный по принципам Secure-by-design Много кто пишет про подход SbD (Secure-by-des…
  6. Apr 24, 2024Наследие Никлауса Вирта Как известно, 1 января 2024 года не стало Никлауса Вирта (Niklaus…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →