10 / 24 · Теория
Задержка, пропускная способность и интервал запуска
Вычисляйте задержку одной транзакции отдельно от установившейся частоты завершений.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Завершать раньше и завершать чаще — разные вещи
Задержка измеряет время от приёма одного входа до выдачи его выхода. Пропускная способность считает выданные транзакции за время наблюдения. Интервал запуска II — минимальное расстояние в тактах между новыми запусками. Используйте такты или наносекунды для задержки, транзакции за такт или секунду для пропускной способности и такты на транзакцию для II.
Все передачи здесь происходят на передних фронтах. В конвейере с двумя регистрами вход, принятый на фронте 0, становится видимым после фронта 1 и передаётся на фронте 2. Задержка от приёма до выдачи равна двум тактам. Разные ступени одновременно обрабатывают разные транзакции, поэтому заполненный конвейер без остановок выдаёт по одному результату на фронт. II=1 не означает задержку=1.
| Структура | Задержка выдачи | II | Установившаяся пропускная способность без остановок |
|---|---|---|---|
| Оператор с одним регистром | 1 такт | 1 | 1 транзакция/такт |
| Двухступенчатый конвейер | 2 такта | 1 | 1 транзакция/такт |
| Совместно используемое вычисление за четыре фронта | Зависит от расписания интерфейса | Больше 1 | Меньше 1 транзакции/такт |
При сравнении физических скоростей учитывайте период такта. Пусть комбинационная работа занимает шесть наносекунд, а накладные затраты регистров и запас — 0.5 ns. Одна ступень даёт оценку периода 6.5 ns. Сбалансированные ступени по три наносекунды дают 3.5 ns. У обеих II=1, то есть примерно 153.8 и 285.7 миллиона транзакций в секунду. При этом задержка одного элемента может вырасти с 6.5 до семи наносекунд. Это иллюстративные расчёты, а не измеренные временные характеристики реализации.
Самая медленная ступень ограничивает тактовую частоту. Разделение пять плюс один даёт оценку 5.5 ns, хуже сбалансированного. Дополнительные регистры также добавляют накладные затраты, трассировку и стоимость управления; исследуйте реальные временные характеристики реализации.
Для четырёх входов, принятых на фронтах 0–3, выходы передаются на фронтах 2–5. Заполнение и опустошение влияют на короткие пакеты. Задавайте окно измерения. При остановках задержка различается между транзакциями, а предъявленные, но не принятые входы не учитываются. Отдельно фиксируйте приём входов, выдачу выходов и такты остановок перед оптимизацией предполагаемого узкого места.
Попробуйте сами
Для трёхступенчатого конвейера с II=1 и тактом четыре наносекунды найдите установившуюся пропускную способность и задержку выдачи. Если первый вход принят на фронте 0, на каком фронте выдан пятый выход?
Прочитать объяснение
Пропускная способность равна 250 миллионам транзакций в секунду, а задержка — 12 ns. Пятый вход принят на фронте 4 и выдан на фронте 7 при отсутствии остановок.