- •1. Введение
- •Декодирование
- •1 2 3 4 5
- •1 2 3
- •1 2 3 4
- •2. Функциональное разбиение и разбиение на ступени
- •3.Конвейеризация в сравнении с перекрытием
- •E f
- •4. Классификация конвейеров
- •5. Временные диаграммы
- •6. Помехи
- •7. Исторический обзор
- •8. Сравнение с параллелизмом
- •Подфункция
- •1.Введение………………………………………………………………………………………………………………………………….1
4. Классификация конвейеров
Конвейеры можно классифицировать по их возможностям и фактическому применению. Одно-функциональный конвейер — это конвейер, способный к вычислению базовой функции только одного типа. Такой конвейер выполняет без изменений одни и те же операции над каждым набором входных данных. Описанный ранее сумматор с плавающей запятой является по своей природе однофункциональным. Многофункциональный конвейер — это конвейер, способный к вычислению функций различных типов. В нем в дополнение к входам для данных имеется и некоторый управляющий вход, регулирующий действия конвейера. Примером служат машины IBM 360/91, в которых выбор пути вычисляется по самим вводимым командам, машина Tl ASC, 8-ступенчатое арифметическое устройство , которое может перестраиваться для выполнения различных операций, и матричный процессор 3838 фирмы IBM, у которого соединения между различными конвейерными умножителями и сумматорами управляются микропрограммно.
Многофункциональные конвейеры можно классифицировать по частоте, с которой изменяется исполняемая функция. Если конвейерная система способна лишь относительно редко изменять тип исполняемой функции, то говорят, что конвейер имеет статическую конфигурацию. В промежутках между изменениями функций конвейер действует, как если бы он был однофункциональным, и просто повторяет тот же самый набор операций над вводимыми данными. Очень часто это изменение конфигурации осуществляется непосредственно под управлением программы пользователя, в особенности для класса архитектур, называемого архитектурой векторного процессора. Здесь одна отдельно взятая команда определяет как функцию, подлежащую исполнению, так и длинную строку элементов данных (вектор), к которым эта функция должна применяться. Конфигурация конвейера затем настраивается на исполнение соответствующей операции, и поток данных проходит через него. После того, как выполнение одной такой векторной команды завершается, может быть запущена команда того же или другого типа. К примерам машин с такими возможностями относятся матричный процессор 2938 фирмы IBM, машина STAR-100 фирмы Control Data Corp., машина Tl ASC, матричный процессор 3838 фирмы IBM и машина CRAY-1.
В других многофункциональных конвейерах допускаются более частые изменения исполняемых ими функций, вплоть до новой функции при каждом новом исполнении. Такие конвейеры называются конвейерами с динамической конфигурацией. Как и в случае машины IBM 360/91, этот тип конвейера чаще всего используется при исполнении машинных команд, когда каждая команда отличается от других форматом или типом. На самом деле в большинстве современных проектов архитектур высокопроизводительных ЭВМ применяется некоторый тип динамического перекрытия. В отличие от векторных процессоров, фактически реализованная конвейеризация очень редко видна программисту, а еще реже находится под его управлением. Иначе говоря, внутренние сигналы, необходимые для управления перекрытием, слишком сложны.
5. Временные диаграммы
Для описания и анализа работы конвейера используется некоторое двумерное представление. Вертикальная ось делится на целое число позиций, каждая из которых соответствует одной ступени конвейера. Горизонтальная ось представляет время (слева направо) и может быть разбита на целое число отрезков или оставлена непрерывной в зависимости от того, управляется конвейер дискретным датчиком синхроимпульсов или же является по своей природе асинхронным. Метка в некотором месте этого двумерного представления указывает, что соответствующая ступень используется в данный период времени. На рис. 1. проиллюстрированы типичные представления такого рода.
Этот способ описания ведет свое начало от диаграмм Ганта в исследовании операций, пространственно-временных диаграмм Чженя и таблиц занятости Дэвидсона. В большинстве случаев мы будем использовать термин таблица занятости, поскольку такие диаграммы определяют, каким образом та или иная операция занимает различные ступени в зависимости от времени.
Таблицы занятости широко применяются для построения теории оптимизации использования конвейера.
