|
|
Компьютеры - Атомарные операции - Ассемблерные инструкции и атомарность23 января 2011
Оглавление: 1. Атомарные операции 2. Ассемблерные инструкции и атомарность 3. Атомарные инструкции x86 4. Поддержка атомарных операций в RISC процессорах 5. Атомарные инструкции и компилятор
Операции выполнение которых всегда можно считать атомарными:
- Все инструкции вида Операция Регистр,Регистр можно считать атомарными так как регистры за пределами вычислительного процессорного ядра не видны
- Загрузка данных из памяти по выровненному адресу в регистр общего назначения
- Сохранение данных из регистра общего назначения в память по выровненному адресу
- Специальные операции для атомарной работы
Операции, которые не являются атомарными:
- Чтение/запись данные по невыровненному адресу. Выполняя подобную инструкцию процессор вынужден выполнить обращение к двум ячейкам памяти. В момент когда процессор производит обращение к одной ячейке другая может быть модифицирована другим процессором.
- Все Операции Чтение-Модификация-Запись . Несмотря на то что ассемблерная операция одна, ее выполнение сводится к чтению из памяти, изменению значения в АЛУ и записи в память. После чтения значение в памяти может измениться.
- Строковые команды x86
- Команды pusha/popa x86
- Операции с специальными управляющими регистрами. Могут занимать многие процессорные такты и иногда порождает десятки а иногда и сотни обращений к памяти. Такие операции встречаются только в системном программном обеспечении.
Просмотров: 4295
|