Некоторые модели памяти в компьютерных архитектурах:
- Сегментированная модель. 3 Память для программы делится на непрерывные области — сегменты. 3 Программа может обращаться только к данным, которые находятся в этих сегментах. 3
- Страничная модель. 3 Это надстройка над сегментной моделью. 3 ОЗУ делится на блоки фиксированного размера, кратные степени 2, например 4 Кб. 3 Основное достоинство страничного способа распределения памяти — минимально возможная фрагментация. 3
- Плоская модель. 13 Задача состоит из одного сегмента, который, в свою очередь, разбит на страницы. 3 При использовании плоской модели памяти упрощается создание операционной системы и систем программирования, уменьшаются расходы памяти на поддержку системных информационных структур. 3
Также существует модель памяти, которая определяет, какие по умолчанию барьеры памяти гарантирует архитектура процессора и/или компилятор: 4
- Sequential Consistency. 4 Любая операция чтения/записи по умолчанию применяет все барьеры памяти. 4
- Strong-ordered или Total store-ordered (TSO). 4 Применяет acquire и release барьеры для любых операций чтения/записи (пример — x86/64). 4
- Weak-ordered. 4 Все необходимые барьеры нужно применять вручную (пример — ARMv7). 4
- Super-weak. 4 Все необходимые барьеры нужно применять вручную, при этом нет гарантий, что взаимозависимые строчки кода не будут переупорядочены (пример — Alpha). 4