Параллелизм команд. Конвейеры. Суперскалярные архитектуры.

Параллелизм команд

Большинство разработчиков для повышения производительности при данной тактовой частоте процессора используют параллелизм (выполнение двух или более операций одновременно).

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

Конвейеры

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

Суперскалярные архитектуры

Процессор Pentium содержал особые компиляторы, которые объединяли совместимые команды в пары и могли порождать программы, выполняющиеся быстрее, чем в предыдущих версиях. Вне всяких сомнений, преимущество в скорости было достигнуто благодаря второму конвейеру. Переход к четырем конвейерам возможен, но требует громоздкого аппаратного обеспечения . Вместо этого используется другой подход. Основная идея — один конвейер с большим количеством функциональных блоков. В 1987 году для обозначения этого подхода был введен термин суперскалярная архитектура.
Суперскалярными называют процессоры, способные запускать несколько команд (зачастую от четырех до шести) за один тактовый цикл.