Скачиваний:
33
Добавлен:
01.05.2014
Размер:
257.54 Кб
Скачать

1.1.7. Анализ модифицированной диаграммы состояний

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

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

Начальное состояние

11100111

11001110

10011100

*

11111111 000111000

*

1111110 01110000 11110111

11111100 11101110

11111000 11011100

11110000 10111000

*

11100000

11000000

1000000

*

00000000

*

Рис. 8. Диаграмма состояний для таблицы занятости В

>=8

Начальное состояние

11100111

>=8

3 4

>=8

11111111 11110111 4

Рис. 9. Модифицированная диаграмма состояний для таблицы занятости В

>=7

Начальное состояние

1010101

>=7

1 3 >=7

>=7

5

1111111 11110111 4

1110101

5

Рис. 10. Модифицированная диаграмма состояний для таблицы занятости А

1.2. Основные определения

Статический конвейер - это такой конвейер, в котором все инициации относятся к одной и той же таблице занятости.

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

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

Использование множества меток в одном столбце соответствует введению параллелизма в вычисление функции.

Таблица занятости– двумерное представление прохождения данных по конвейеру при одном вычислении функции.

Время вычисления- - полное число единиц времени, используемых при реализации инициации таблицы занятости

Инициация – запуск единичного вычисления функции.

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

Статическая конфигурация конвейера– все инициации относятся к одной и той же таблице занятости.

Динамическая конфигурация конвейера– инициации относятся к смеси таблиц занятости.

Латентность– число единиц времени между двумя инициациями.

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

Средняя латентность– среднее число периодов синхронизации, которое вычисляется на основании последовательности латентностей.

Использование (загрузка) ступени– процент времени, в течении которого каждая ступень используется в данной серии инициаций.

Стратегия управления– процедура, которая выбирает последовательность латентностей.

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

Минимально достижимая латентность - наименьшая средняя латентность, достижимая при любой стратегии управления.