Современные процессоры обрабатывают параллельные операции с помощью различных механизмов, среди которых:
- Многоступенчатый конвейер команд. ru.wikipedia.org Каждой ступени конвейера соответствует определённое действие, которое выполняет процессор на этом этапе. ru.wikipedia.org Процессор с N ступенями конвейера может иметь одновременно до N различных инструкций на разном уровне законченности. ru.wikipedia.org
- Суперскалярное выполнение операций. ru.ruwiki.ru В этом случае несколько функциональных блоков используется для выполнения нескольких команд одновременно. ru.ruwiki.ru
- Внеочередное исполнение. ru.ruwiki.ru Инструкции выполняются в любом порядке, который не нарушает зависимости данных. ru.ruwiki.ru
- Переименование регистров. ru.ruwiki.ru Этот метод используется для устранения ненужной сериализации (последовательного выполнения) операций, к которой приводит переиспользование регистров этими операциями. ru.ruwiki.ru
- Спекулятивное исполнение. ru.ruwiki.ru Позволяет выполнять инструкции целиком или частично до того, как станет ясно, нужно ли это выполнение. ru.ruwiki.ru
- Предсказание переходов. ru.ruwiki.ru Используется, чтобы избежать простаивания для разрешения управления зависимостями. ru.ruwiki.ru
Также существует параллелизм данных, при котором одна операция выполняется сразу над всеми элементами массива данных. ru.wikipedia.org Различные фрагменты такого массива обрабатываются на векторном процессоре или на разных процессорах параллельной машины. ru.wikipedia.org