Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АРХИТЕКТУРА-ВС-МОДУЛЬ-2W.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.05 Mб
Скачать

2.13. Процессоры с конвейеризацией команд

Сущность конвейера команд состоит в выполнении последовательности повторов операций. Например:

  1. Выборка команды.

  2. Декодирование команды.

  3. Преобразование адреса операнда.

  4. Выборка операнда.

  5. Выполнение операции.

  6. Сохранение результата.

Одновременно может выполняться до 6-и операций управления. Длительности выполнения операций должны быть равны (обычно 1-му такту). Для каждой из стадий используются специальные аппаратные средства.

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

Проблемы, возникающие при работе конвейера:

  • при использовании результата предыдущей операции в последующей возникают проблемы, связанные с пересылкой этих результатов;

  • определение адреса операнда для данной команды с помощью предыдущей;

  • проблема изменения последовательности выполнения команд (с условным переходом);

  • совпадают стадии выборки операндов для разных стадий;

  • конфликты в доступе к памяти;

  • проблемы при прерываниях;

  • если конвейер рассчитан на одно тактовые стадии, то возникает проблема при выполнении более длительных стадий.

Меры, принимаемые для устранения проблем в современных микропроцессорах:

  • вводятся дополнительные шины связи;

  • при появлении условных переходов осуществляется прогнозирование и оцениваются вероятности по каждому пути, накапливается статистика по каждому пути; если путь выбран неправильно, сохраняются данные для осуществления возврата, происходит прерывание, движение идет по другому пути.

2.14. Конвейерные операционные устройства обработки информации

Конвейерный принцип – принцип обработки информации, который является базовым для современных вычислительных операционных устройств.

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

Пример. Конвейер обработки (сложения) 2-х чисел с плавающей точкой.

Выделим стадии обработки:

  1. Нормализация чисел.

  2. Сравнение порядков.

  3. Сдвиг мантисс и выравнивание порядков.

  4. Сложение мантисс.

  5. Нормализация результата.

Конвейер относится к системам с МПК-ОПК (MISD).

Во времени:

УО1 А1В1 А2В2 А3В3 А4В4 А5В5 А6В6 А7В7 …

УО2 А1В1 А2В2 А3В3 А4В4 А5В5 А6В6 А7В7 …

УО3 А1В1 А2В2 А3В3 А4В4 А5В5 А6В6 А7В7 …

УО4 А1В1 А2В2 А3В3 А4В4 А5В5 А6В6 А7В7 …

УО5 А1В1 А2В2 А3В3 А4В4 А5В5 А6В6 А7В7 …

Время работы конвейера на одном шаге оценивается устройством обработки информации с максимальной длительностью выполнения операции в этом устройстве.

Пусть для выполнения 1-й стадии нужно 10нс, 2-й – 6, 3-й – 10, 4-й – 12, 5-й – 10. Учитывая это, для выполнения сложения этих чисел с помощью одного процессора необходимо 48нс.

Длительность работы на одном шаге – 12нс.

Для случая, когда конвейер загружен, максимальная его пропускная способность обеспечивает выдачу результатов через 12нс. Таким образом, в рассматриваемом случае применение конвейера позволяет в идеальном случае получить повышение производительности в 4 раза (48/12).

Идеальный случай: полностью загружен конвейер и продолжает поступать поток данных.

Пусть на вход конвейера поступают редкие пары чисел для сложения (по крайней мере, не чаще, чем длина конвейера). Время последовательной обработки пары в конвейере равно 12нс*5 = 60нс (глубина конвейера). Незагруженный конвейер проигрывает по сравнению с использованием однопроцессорной обработки.

Важной характеристикой конвейера является глубина конвейера.

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

Для скалярных данных каждая секция конвейера имеет возможность перестраиваться на выполнение определенных операционных действий в соответствии с реализуемыми в секциях текущими микрокомандами; к операционному устройству формируется очередь микрокоманд для реализации.

В современных микропроцессорах частота формирования результата на выходе заполненного конвейера соответствует одному такту, т .е. является предельно высокой.