19

1. Введение

Элементная база, которой располагает разработчик архитектуры ЭВМ, всегда предопределяет предел максимальной скорости обработки данных отдельной схемой. За последние 30 лет эта база прошла путь от реле, элект­ронных ламп и акустических линий задержки до транзисторов, интеграль­ных схем и схем большой степени интеграции, затем появились приборы с зарядовой связью, на цилиндрических магнитных доменах, переходах Джозефсона и поверхностных акустических волнах. Однако, несмотря на ско­рости, обеспечиваемые данной элементной базой, всегда существовала пот­ребность в большей производительности ЭВМ, чем та, которая достижима в традиционной ЭВМ. Сейчас, например, разрабатывается несколько про­ектов вычислительных систем с производительностью 109 команд в секун­ду (1 нс. на команду). Для построения традиционной ЭВМ с такой произво­дительностью требуется элементная база, которая позволила бы прибли­зиться к предельной скорости, равной скорости света (30 см/нс). Проект такой машины, помещенной в корпус диаметром 30 см, невозможно пред­ставить себе реализованным по какой бы то ни было из существующих технологий.

Чтобы преодолеть эти ограничения, разработчики архитектуры ЭВМ из­давна прибегали к методам проектирования, известным под общим назва­нием совмещение операций, при котором аппаратура ЭВМ в любой момент времени выполняет одновременно более одной базовой операции. Этот об­щий метод включает два понятия: параллелизм и конвейеризация. Хотя у них много общего и их зачастую трудно различать на практике, эти термины отражают два совершенно различных подхода. При параллелизме совмеще­ния достигаются путем воспроизведения (часто точного) в нескольких или многих копиях аппаратурной структуры. Высокая производительность до­стигается за счет одновременной работы всех элементов структур, осуществ­ляющих решение различных частей задачи.

Конвейеризация, составляющая предмет данного реферата, в общем случае основана на расщеплении подлежащей исполнению функции на более мел­кие части, именуемые ступенями, и выделении для каждой из них отдель­ного блока аппаратуры. Подобно тому, как изделие движется по физичес­кому конвейеру, команды или данные перемещаются по ступеням цифро­вого конвейера ЭВМ со скоростью, которая зависит не от его длины (числа ступеней), а только от скорости, с которой новые объекты могут подавать­ся на вход конвейера. Эта скорость, в свою очередь, определяется в основ­ном временем, за которое один элемент данных может пройти одну ступень. Как и физический конвейер, конвейер ЭВМ может выполнять нечто боль­шее, чем простое перемещение содержимого в неизменном виде с одного места на другое. Физический конвейер, например, трубопровод на химичес­ком заводе, может иметь отдельные участки — ступени для фильтрации его содержимого, добавления химикалиев и для кипячения, тогда как конвейер ЭВМ может иметь ступени, связанные с Выборкой команды, ее декодированием и исполнением (рис. 1).

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

Ясно, что цель проектирования ЭВМ с использованием конвейеризации — повышение производительности. Если некоторая функция при реализации ее "прямой схемой" может быть выполнена за C наносекунд и если эта схема может быть разделена на N ступеней, то конвейер, спроектированный