Интернет магазин китайских планшетных компьютеров



Компьютеры - Атомарные операции - Ассемблерные инструкции и атомарность

23 января 2011


Оглавление:
1. Атомарные операции
2. Ассемблерные инструкции и атомарность
3. Атомарные инструкции x86
4. Поддержка атомарных операций в RISC процессорах
5. Атомарные инструкции и компилятор



Операции выполнение которых всегда можно считать атомарными:

  • Все инструкции вида Операция Регистр,Регистр можно считать атомарными так как регистры за пределами вычислительного процессорного ядра не видны
  • Загрузка данных из памяти по выровненному адресу в регистр общего назначения
  • Сохранение данных из регистра общего назначения в память по выровненному адресу
  • Специальные операции для атомарной работы

Операции, которые не являются атомарными:

  • Чтение/запись данные по невыровненному адресу. Выполняя подобную инструкцию процессор вынужден выполнить обращение к двум ячейкам памяти. В момент когда процессор производит обращение к одной ячейке другая может быть модифицирована другим процессором.
  • Все Операции Чтение-Модификация-Запись . Несмотря на то что ассемблерная операция одна, ее выполнение сводится к чтению из памяти, изменению значения в АЛУ и записи в память. После чтения значение в памяти может измениться.
  • Строковые команды x86
  • Команды pusha/popa x86
  • Операции с специальными управляющими регистрами. Могут занимать многие процессорные такты и иногда порождает десятки а иногда и сотни обращений к памяти. Такие операции встречаются только в системном программном обеспечении.


Просмотров: 4316


<<< Алгоритм Петерсона
Блокировка (программирование) >>>