Конвейер в качестве ускорителя вычислительного процесса

Опубликовано в Показатели процессоров

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

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

После освобождения узла предыдущей стадии он не простаивает, а на него поступает следующая команда. Таким образом, одновременно процессор обрабатывает не одну команду, а несколько — столько, сколько узлов конвейера, и в среднем каждая команда выполняется за такт (после полного заполнения конвейера).

За один такт синхронизации в классическом конвейере может быть выполнена одна команда. Процессоры начиная с Pentium построены по суперскалярной схеме и могут выполнять одновременно несколько команд за такт. Процессор Р5 выполняет две команды, а Р6 — три.

Архитектура процессора с несколькими конвейерами называется суперскалярной.

Исходные команды архитектуры х86 неоднородны — одна выполняется быстрее, другая медленнее. На каждую расходуется различное количество микрокоманд. Для того чтобы не устраивать из-за этого заторы, в конвейере увеличивают количество узлов. Тогда трафик команд через конвейер более ровный и можно поднять внутреннюю частоту процессора с сохранением выполнения команды за такт.

Разбиение стандартного конвейера команд на более мелкие составляющие называется суперконвейеризацией (Superpipelining). Сокращение задержек распространения сигналов позволяет повысить тактовые частоты работы процессора. Аналогичного эффекта можно достичь при переводе технологического процесса на более прогрессивные конструктивные нормы.

Суперскалярная суперконвейерная микроархитектура центрального процессора наделяет его способностью динамического выполнения команд.

Динамическое выполнение команд представляет собой комбинацию следующих методов обработки данных в процессоре.

  1. Предсказания множественного перехода.
  2. Анализа потока команд для изменения последовательности команд и отображения регистров.
  3. Упреждающего выполнения.

Динамическое выполнение позволяет процессору не только оптимизировать и динамически предсказывать логический ход выполнения команд, но и при необходимости выполнять их внутри АЛУ в другом порядке вплоть до разрешения условий перехода.

Отличительной особенностью процессоров Intel Р7 является их длинный конвейер, который носит название сверхконвейерная технология (Hyper-Pipelined Technology). Первоначально в процессорах Pentium 4 на ядре Northwood длина конвейера составляла 20 ступеней, а затем в процессорах на ядре Prescott она была увеличена до 31 ступени.

Архитектура, заложенная в процессоре Intel Pentium 4, получила название быстрая сеть — Intel NetBurst.

Конвейер Hyper Pipelined Technology дает повышение частоты примерно на 40% по сравнению с обычным конвейером. Технология Intel NetBurst отличается следующими тонкостями.

На офисных приложениях падение производительности компенсируется увеличением частоты. Кроме того, офисные приложения мало чувствительны к производительности процессора. А вот приложения с потоковой обработкой данных — мультимедиа и Интернета — получают значительный выигрыш.

0