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

1.1.3. Латентность

Ключевым параметром к определению производительности конвейера является латентность,т. е. число единиц времени, разделяющих инициации одной или различных таблиц занятости. Латентность может иметь различные неотрицательные значения, включая 0. Различные значения латентностей для различных комбинаций таблиц занятости из рис. 1 показаны на рис. 4. Обозначения снова являются табличными, однако теперь они представляют полное динамическое использование конвейера, когда несколько инициаций действуют одновременно. Как показано на рис. 4, между двумя инициациями возможна более чем одна латентность, однако не все латентности допустимы. Например, в статическом конвейере латентность, равная 0, невозможна, поскольку при обоих вычислениях есть вероятность использования одних и тех же ступеней одновременно. Отметим, что латентность, равная 2, для таблицы занятости А вызывает двойное использование ступени 2 в периоды времени 3 и 5, поэтому она во всех случаях недопустима. В общем случае о латентности, которая приводит к конфликту, говорят, что она вызывает столкновение.

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

т.е. число единиц времени между двумя инициациями. Очевидно, чем меньше средняя латентность, тем быстрее работает конвейер. Ясно, что для статических конвейеров нижняя граница средней латентности равна 1, поскольку латентность, равная 0, всегда приводит к столкновению. Эта граница соответствует верхней границе темпа инициаций, равной 1.Для динамических конвейеров возможны латентности, равные 0, поскольку две различные таблицы занятости могут и не перекрываться. Этим свойством обладают таблицы занятости на рис. 1.

Другой мерой производительности конвейера является показатель использования ступеней.С помощью такого показателя можно характеризовать каждую ступень конвейера. Он определяет, как часто в среднем эта ступень обрабатывает данные для длинной последовательности инициаций. Для каждой инициации таблицы занятости число меток вi-й строке указывает, сколько раз ступеньiиспользуется за время одного вычисления. Таким образом, среднее значение показателя использования ступени функцией равно произведению темпа инициаций на число меток. Если одновременно задействованы различные таблицы занятости, то показатель использования ступени будет суммой использования, вносимых каждым типом функции. Максимальный показатель использования любой ступени равен 1.

Если дан набор из нескольких одинаковых или различных таблиц занятости, то целью стратегии диспетчеризации (управляющей стратегии)является выработка последовательности моментов времени , в которые должны выполняться инициации, или выработка такой последовательности латентностей между инициациями, которая минимизирует среднюю латентность (максимизирует темп инициаций). Как описывалось ранее, не все латентности возможны; более того, выбор латентности, используемой между одной парой инициаций, непосредственно влияет на то, какое множество латентностей будет допустимо между будущими парами. Вследствии этого стратегия, которая всегда между инициациями вводит минимальную из латентностей, возможных в текущий момент времени, не всегда приводит к максимальной производительности. Такая стратегия называется "жадной". Оптимальные стратегии должны иметь возможность прогнозировать, чтобы определить влияние на производительность каждой из возможных последовательностей латентностей. Например, на рис. 5 показана "жадная" стратегия, которая запускает новые инициации таблицы занятости В, чередуя латентность, равную 3, с латентностью, равной 8, что приводит к средней латентности, равной 5,5. Более "терпеливая" и более эффективная стратегия откладывает начало второй инициации до четвертой единицы времени (рис. 6); тогда новые инициации могут осуществляться регулярно с интервалом 4. Ясно, что средняя латентность, равная 4 лучше предыдущей средней латентности.

Жадная стратегия использует ступень 1 только в течении 73 % общего времени работы конвейера, а ступени 2 и 3 только 36 %. Остальное время работы конвейера эти аппаратные средства работают вхолостую. В противоположность этому терпеливая стратегия достигает почти 100 %-ного использования ступени 1 и 50 %-ного - ступеней 2 и 3. Терпеливая стратегия оптимальна хотя бы в том смысле, что часть аппаратуры используется в течении 100 % времени. Ясно, что повысить такой темп инициации невозможно, поскольку свободных циклов для использования ступени 1 не остается.

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