Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
99
Добавлен:
10.05.2015
Размер:
1.62 Mб
Скачать
    1. Общие вопросы организации конвейеров

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

1.2.1.Классификация конвейеров

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

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

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

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

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

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

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

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

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

Временная диаграмма работы синхронного конвейера (рис.2).

T

ступ.

1

2

3

4

5

…..

N

N+1

N+2

1

Ф1

Ф2

Ф3

Ф4

Ф5

ФN

2

Ф1

Ф2

Ф3

Ф4

ФN-1

ФN

3

Ф1

Ф2

Ф3

ФN-2

ФN-1

ФN

Рис.2

где: Т – такт работы конвейера;

ст. – ступени конвейера;

Ф – вычисляемые в конвейере функции;

tзаг – время загрузки конвейера;

tст – время стационарной работы конвейера;

tвыг – время выгрузки конвейера.

Работа любого конвейера включает 3 этапа:

  • загрузка, определяемая временем tзаг, когда в работу включается последняя ступень;

  • время стационарной работы tст, в течение которого все ступени параллельно работают;

  • и, наконец, этап выгрузки конвейера tвыг– время,в течение которого конвейер завершает работу.

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

Производительность Р конвейера характеризуется соотношением:

где: N – количество функций, загруженных на вход конвейера;

Тк – время работы конвейера.

Тогда:

В результате получим:

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

Поскольку количество ступеней ограничено, то при увеличении N выражение стремится к 1, а, т.е. производительность конвейера будет определяться тактовой частотой работы конвейера.

Рис.3

На рис.3 показана зависимость производительности конвейера от количества ступеней для различного количества обрабатываемых функций. При малых значениях N производительность падает за счет того, что много времени тратится на загрузку и выгрузку конвейера. Если N много больше количества ступеней производительность стремится 1/Т.