Суперконвейерные процессоры

 

Эффективность конвейера находится в прямой зависимости от того, с какой час­тотой на его вход подаются объекты обработки. Добиться n-кратного увеличения темпа работы конвейера можно двумя путями:

· разбиением каждой ступени конвейера на п «подступеней» при одновремен­ном повышении тактовой частоты внутри конвейера также в п раз;

· включением в состав процессора п конвейеров, работающих с перекрытием.

В данном разделе рассматривается первый из этих подходов, известный как суперконвейеризация (термин впервые был применен в 1988 году). Иллюстрацией эффекта суперконвейеризации может служить диаграмма, приведенная на рис. 54, где рассмотрен ранее обсуждавшийся пример (см. рис. 50). Каждая из шести сту­пеней стандартного конвейера разбита на две более простые подступени, обозна­ченные индексами 1 и 2. Выполнение операции в подступенях занимает половину тактового периода. Тактирование операций внутри конвейера производится с час­тотой, вдвое превышающей частоту «внешнего» тактирования конвейера, благо­даря чему на каждой ступени конвейера можно в пределах одного «внешнего» так­тового периода выполнить две команды.

В сущности, суперконвейеризация сводится к увеличению количества сту­пеней конвейера как за счет добавления новых ступеней, так и путем дробле­ния имеющихся ступеней на несколько простых подступеней. Главное требо­вание — возможность реализации операции в каждой подступени наиболее простыми техническими средствами, а значит, с минимальными затратами вре­мени. Вторым, не менее важным, условием является одинаковость задержки во всех подступенях.

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

 

Рис. 54. Традиционная и суперконвейерная обработка команд.

 

К сожалению, выигрыш, достигаемый за счет суперконвейеризации, на прак­тике может оказаться лишь умозрительным. Удлинение конвейера ведет не толь­ко к усугублению проблем, характерных для любого конвейера, но и возникнове­нию дополнительных сложностей. В длинном конвейере возрастает вероятность конфликтов. Дороже встает ошибка предсказания перехода — приходится очищать большее число ступеней конвейера, на что требуется больше времени. Усложняет­ся логика взаимодействия ступеней конвейера. Тем не менее, создателям ВМ уда­ется успешно справляться с большинством из перечисленных проблем, свидетель­ством чего служит неуклонное возрастание числа ступеней в конвейерах команд современных процессоров.