Малёжина Дарья Олеговна
Малёжина Д.О. Подписчиков: 3282
Рейтинг Рейтинг Рейтинг Рейтинг Рейтинг 8.5М

Атомарные операции в процессоре

4 дочитывания
0 комментариев
Эта публикация уже заработала 0,45 рублей за дочитывания
Зарабатывать

Разделение на параллельные задачи и синхронизация между задачами являются основными действиями, которые необходимы при проектировании программного обеспечения для многоядерных систем. Синхронизацию очень трудно реализовать в программном обеспечении в одиночку, таким образом, требуется поддержка на аппаратном уровне. Однако, только синхронизация исключительно на аппаратном уровне, как правило, трудно поддается масштабированию и имеет ограниченную гибкость. Поэтому наиболее распространенные решения полагаются на программное обеспечение с базовой поддержкой аппаратного обеспечения.

Механизм, который обеспечивают современные процессоры для поддержки механизмы синхронизации является так называемым RMW-механизмом (чтение-модификация-запись) или условными сохранениями. Основной принцип данных инструкций заключается в обеспечении наименьшего критического раздела, что гарантирует конфликт свободного доступа с определенной ячейкой памяти, которая будет содержать значение, используемое для синхронизации. Наиболее часто используемые RMW-инструкции перечислены ниже:

Проверка и установка: читает ячейку памяти, устанавливает ее в 1 и возвращает значение чтения в регистр атомарно (таким образом, никакое другое ядро не может выполнить какие-либо действия в сохранении этой ячейки памяти в то время как команда проверки и установки на стадии выполнения). С помощью этой инструкции, механизм приобретения/снятия блокировки будет выглядеть следующим образом:

Сравнение и замена: атомарно сравнивает значение в памяти со значением опции и, если они равны, то содержимое памяти обменивается со значением, хранящемся в регистре.

Блокировка реализации с использованием сравнения и замены выглядит следующим образом (очень похоже на реализацию на основе проверки и установки):

Ссылающяяся на загрузку и обусловленая сохранением: это расцепленная версия проверки и установки, которая больше подходит для коммуникационной линии. В то время как в этом случае имеют место быть две инструкции, две связаны между собой: после ссылки на загрузку, обусловленная сохранением инструкция будет успешной только тогда, когда никакие другие операции не будут выполняться на ячейке памяти, к которой получен доступ, с момента выполнения загрузки, в противном случае регистру, используемому в обусловленной сохранением инструкцией, будет присвоено значение 0.

Вот как замок может быть реализован с этими механизмами:

Присутствие одной из этих конструкций на уровне района кратковременного хранения имеет важное значение для реализации механизмов синхронизации более высокого уровня. Тем не менее, достаточно лишь одного из этих основных механизмов для большинства разновидностей вычислимости синхронизации программного обеспечения, а также для реализации безблокировочных структур данных.

Понравилась публикация?
10 / 0
нет
0 / 0
Подписаться
Донаты ₽

Новое "супероружие" Путина. Британцы в панике от русских голубей биодронов

В Британии пришли в ужас от нового "супероружия" Путина. Как рассказывают агенты разведки Лондона в России образованы целые "боевые" крылатые эскадрильи, которые были якобы созданы по личному приказу Путина.

Безопасность по-нашему:В Госдуме предложили меры по защите россиян от мошенников в мессенджере МАХ

О, чудо из чудес! Госдума, этот неиссякаемый источник гениальных идей, снова спешит на помощь народу. Напомню: совсем недавно нам с пафосом презентовали мессенджер МАХ — цифровую крепость, цитадель доверия,
Главная
Коллективные
иски
Добавить Видео Опросы