Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
228
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

9.2 Конвейерные системы

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

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

Векторные регистры

Рг ai bi

Оp (1)

Рг

Оp (i)

Оp (1)

Рисунок 9.х. Операционный конвейер

Между загрузками очередных векторов для обработки в операционный конвейер проходит интервал времени, называемый тактом. Величина такта определяется скоростью действий на каждой фазе конвейера, сложностью этих действий, наличием регистров между отдельными фазами и т.д. Обычно величина такта составляет ½ - 1 8 длительности машинного цикла, поэтому, если на выполнение какой-либо операции требуется четыре машинных цикла, то при наличии операционного конвейера производительность обработки повышается от 4 до 32 раз.

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

Максимальное быстродействие ВС при выполнении векторных операций в конвейерном режиме определяется как

Pmax = a/Tc,

где а – число конвейеров, а Tc – величина такта.

Дальнейшее повышение скорости обработки за счет увеличения числа ступеней, т.е. длины конвейера, не представляется возможным. Организация конвейера требует дополнительных схем, но и приводит к значительному повышению быстродействия. Конвейер не требует большого числа соединительных выводов, что важно при создании БИС. Кроме того, при работе конвейера производится не более трех обращений к локальной памяти на каждом такте. Все это привело к тому, что операционный конвейер стал неотъемлемой частью современных процессоров. С целью эффективной обработки векторов различной длины можно организовать сцепление и распределение данных. Так, если две векторные операции следуют одна за другой, то результаты выполнения первой могут подаваться на вход второго конвейера без предварительного вычисления всех элементов вектора. Это демонстрирует рисунок 9.х,а, на котором показано сцепление данных при выполнении двух векторных операций

С = A * B

X = C + D.

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

Рисунок 9.х Сцепление (а) и распределение (б) векторов при конвейерной обработки

Однако эффективная производительность конвейерной системы ограничивается рядом факторов:

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

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

  • На производительность процессора оказывает влияние не только операционные устройства, но и ОП, системы ввода-вывода и т.п.

Обычно возможности конвейерных систем принято характеризовать длиной вектора L1/2, при которой производительность соответствует половине максимальной, или «пиковой».

Широкое признание конвейерный принцип обработки получил с середины 70-х годов прошлого столетия, когда появилось несколько конвейерно-векторных ВС, наиболее известными из которых были Cray-1 иCyber-205.