Altifigence Academy

41 / 63 · Теория

Различие задержки в циклах и пропускной способности

Задайте точки наблюдения N-ступенчатой линии задержки и количественно рассчитайте latency и throughput.

Определите начало отсчёта «через N циклов»

Бит, впервые захваченный в бит 0 на фронте k, достигает бита N-1 N-битного сдвигового регистраРегистр хранит многобитное состояние. Синхронные регистры в этом курсе записывают определённый вход на фронте тактового сигнала. Подробнее на фронте k+N-1. Между первым и последним захватами проходит N-1 тактовых периодов.

Если же предыдущий регистр, управляющий входом, создаёт новый бит на фронте k, первый захват сдвиговым регистром обычно происходит на k+1. Тогда до выхода N периодов. Это разные начала отсчёта, а не противоречие.

Пусть d[k] — вход, принятый на фронте k. После заполнения выполняется:

qi[k]=d[k−i],qN−1[k]=d[k−N+1]q_i[k]=d[k-i],\qquad q_{N-1}[k]=d[k-N+1]

Большая задержка не мешает получать результат каждый цикл

При периоде T и приёме одного бита на фронт установившаяся пропускная способностьПропускная способность — число операций, принимаемых или завершаемых за единицу времени. Конвейер может повысить её, не уменьшая задержку отдельной операции. равна 1/T1/T бит/с. Рост N увеличивает глубину и задержку, но при непрерывном приёме пропускная способность сохраняется.

У четырёхступенчатой линии с тактом 100 MHz период 10 ns, установившаяся скорость 100 Mbit/s. «Биту нужно время для прохождения» не означает «до следующего бита нужно ждать всё это время».

Каждый столбец — запись наблюдения одного положительного фронтаПоложительный фронт — момент перехода такта из 0 в 1. Его следует отличать от уровня, означающего весь интервал CLK=1. Подробнее. Входы показаны непосредственно перед фронтом, состояния со словом «после» в имени — сразу после обновления. Выравнивание столбцов обозначает порядок выборок, а не физическую задержку распространенияЗадержка распространения — время от изменения входа до установления правильного выхода. Логическая эквивалентность выражений и их временные характеристики — разные вопросы. Подробнее.
В трёхступенчатой линии A входит в первую ступень на E0, достигает последней сразу после E2, пока B и C одновременно заполняют предыдущие. Прочерки — ещё недействительные позиции.

От первого захвата до последнего
Показать данные диаграммы
Данные диаграммы: каждый символ — один интервал; точка сохраняет предыдущее состояние; p — один тактовый цикл.
СигналДиаграммаЗначения шины
фронт2345E0 → E1 → E2 → E3
принято2345A → B → C → D
stage0 после2345A → B → C → D
stage1 после2345- → A → B → C
stage2 после2.34- → A → B

При остановках считайте действительные перемещения

Если enable или accept равен 0, фронт не сдвигает биты. Фиксированную задержку в физическом времени тогда задать нельзя; можно определить задержку по числу принятых фронтов. Valid должен двигаться при тех же условиях, что и данные, чтобы показывать действительность выхода.

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

Попробуйте сами

В 5-битной линии бит захвачен в бит 0 на фронте 10. На каком фронте он появится в бите 4 без остановок? А при двух промежуточных фронтах с enable=0?

Прочитать объяснение

Без остановок — на фронте 14, с двумя — на 16. После первого захвата нужны ещё четыре сдвига. Начальная точка вопроса — захват в бит 0, а не обновление внешнего входного регистра.

Выбор действует в этом браузере. Его можно изменить внизу страницы.