Конвейерная обработка (реализация DSP)
Конвейерная обработка — это важный метод, используемый в нескольких приложениях, таких как системы цифровой обработки сигналов (DSP), микропроцессоры и т. д. Он берет свое начало от идеи водопровода, в который непрерывно подается вода, не дожидаясь, пока вода из трубы выйдет. Соответственно, это приводит к увеличению скорости критического пути в большинстве систем DSP. Например, он может либо увеличить тактовую частоту , либо снизить энергопотребление при той же скорости в системе DSP.
Концепция
[ редактировать ]Конвейерная обработка позволяет различным функциональным блокам системы работать одновременно. Рассмотрим неформальный пример на следующем рисунке. три подфункциональных блока ( F0 Система включает , F1 в и F2 себя ). Предположим, что существуют три независимые задачи ( T 0 , T 1 и T 2 ), выполняемые этими тремя функциональными блоками. Время выполнения задачи каждым функциональным блоком одинаково и занимает определенный слот в расписании.
Если расположить эти три юнита и задачи в последовательном порядке, необходимое время для их выполнения составит пять слотов.

Однако если мы перенаправим T 0 в T 2 одновременно, совокупное время уменьшится до трех слотов.

Таким образом, адекватная конвейерная конструкция позволяет добиться значительного увеличения скорости.
Затраты и недостатки
[ редактировать ]Конвейерная обработка не может уменьшить время обработки, необходимое для одной задачи. Преимущество конвейерной обработки в том, что она увеличивает пропускную способность системы при обработке потока задач.
Применение слишком большого количества конвейерных функций может привести к увеличению задержки — то есть время, необходимое для распространения одной задачи по всему каналу, увеличивается. Конвейерной системе также может потребоваться больше ресурсов (буферов, схем, блоков обработки, памяти и т. д.), если повторное использование ресурсов на разных этапах ограничено.
Сравнение с параллельными подходами
[ редактировать ]Еще одним методом повышения эффективности за счет параллелизма является параллельная обработка . Основное отличие состоит в том, что параллельные методы обычно дублируют функциональные блоки и распределяют между ними несколько входных задач одновременно. Таким образом, он может выполнять больше задач в единицу времени, но может понести более высокие затраты на ресурсы.
В предыдущем примере параллельный метод дублирует каждый функциональный блок еще на два. Соответственно, все задачи могут выполняться дублированными функциональными блоками с одной и той же функцией одновременно. Время на выполнение этих трёх задач сокращается до трёх слотов.
Конвейерная обработка в КИХ-фильтрах
[ редактировать ]Рассмотрим КИХ-фильтр с тремя отводами: [1]
что показано на следующем рисунке.
Предположим, что время расчета для единиц умножения равно T m и T a для единиц сложения. Критический путь, представляющий минимальное время, необходимое для обработки новой выборки, ограничен одной функциональной единицей умножения и двумя единицами сложения. Таким образом, период выборки определяется выражением

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


Конвейерная обработка в БИХ-фильтрах 1-го порядка
[ редактировать ]Комбинируя методы прогнозирования и конвейерную обработку, [2] мы можем повысить частоту дискретизации целевой конструкции. Конвейерная обработка с упреждающим просмотром добавит к передаточной функции сокращающие полюса и нули так, что коэффициенты следующих членов в знаменателе передаточной функции будут равны нулю.
Затем выходная выборка y ( n ) может быть вычислена с точки зрения входных данных и выходной выборки y ( n − M ) имеется M так, что в критическом контуре элементов задержки. Эти элементы затем используются для конвейеризации критического цикла по M этапам, так что частоту выборки можно увеличить в M раз .
Рассмотрим передаточную функцию БИХ-фильтра 1-го порядка.
Выход y ( n ) может быть вычислен на основе входных данных u ( n ) и предыдущего результата.
В простой структуре для разработки такой функции частота дискретизации этого рекурсивного фильтра ограничена временем вычисления одной операции умножения-сложения.
Чтобы реализовать такую конструкцию, мы наблюдаем, что H имеет полюс в точке
Следовательно, в трехступенчатом конвейерном эквивалентном стабильном фильтре передаточную функцию можно получить путем сложения полюсов и нулей в точке
и дается
Следовательно, соответствующую частоту дискретизации можно увеличить в 3 раза.
Другие примеры конвейерных систем DSP
[ редактировать ]- Конвейерное преобразование Уолша – Фурье [3]
- Конвейерные унитарные преобразования [4]
- Конвейерное ДПФ [5]
- Конвейерное БПФ [6]
Ссылки
[ редактировать ]- ^ Кешаб К. Пархи, Системы цифровой обработки сигналов СБИС: проектирование и реализация, Джон Вили, 1999
- ^ Слайды для систем цифровой обработки сигналов СБИС: проектирование и реализация John Wiley & Sons, 1999 ( ISBN 0-471-24186-5 ): http://www.ece.umn.edu/users/parhi/SLIDES/chap10.pdf.
- ^ М. Р. Ашури и Энтони Г. Константинидес , «Конвейерное быстрое преобразование Уолша Фурье», в Proc. IEEE Международный. Конф. ASSP Хартфорд, Коннектикут, 9–11 мая), стр. 515–518, 1977.
- ^ Фино, Би Джей; Альгази, ВР; «Параллельные и конвейерные вычисления быстрых унитарных преобразований», Electronics Letters, том 11, № 5, стр. 93–94, 6 марта 1975 г.
- ^ Цзоу, К.-Х.; Морган, Северная Каролина; «Быстрый конвейерный процессор DFT и аспекты его программирования», Electronic Circuits and Systems, IEE Proceedings G, том 132, № 6, стр. 273–276, декабрь 1985 г.
- ^ HL Gorginsky и GA Works, «Конвейерное быстрое преобразование Фурье», IEEE Trans. Вычисл., вып. C-19, стр. 1015–1019, ноябрь 1970 г.