Читайте также:
|
|
Во многих применениях требуется ограниченное и заранее определенное число процедур для цифровой обработки сигналов. Кроме того, эти процедуры должны выполняться в реальном масштабе времени, а их реализация должна быть экономичной по стоимости и конкурентоспособной в сравнении с аналогичными реализациями.
Специализированный процессор цифровой обработки информации определяется как автономная аппаратурная единица, функцией которой является выполнение определенного множества алгоритмов цифровой обработки информации в реальном масштабе времени. Кроме того, предполагается, что любые применения коэффициентов обработки или алгоритмов выполняются относительно редко по сравнению со скоростью вычислений.
Потребность в подобных специализированных процессорах возникает в таких областях как дальняя связь, радиолокация, акустическая локация и т.д.
Учет априорных сведений о конкретных применениях позволяет эффективно и дешево реализовать требуемые функции обработки. Это достигается за счет некоторых потерь в гибкости и программной перестройки, свойственных универсальным процессорам.
Варианты реализации умножителя последовательностей.
Основной операцией, которую выполняет процессор цифровой обработки информации, является умножение последовательности данных, соответствующей приводимым ранее выражения
где ai - множество предварительно определенных коэффициентов;
xi- значения данных или промежуточных результатов.
Если данные масштабируются так, чтобы | xi |<1, и представляются в дополнительном коде с фиксированной запятой с точностью В бит, то рассматриваемая сумма произведений может быть представлена в виде
Перемена порядка суммирования по индексам i и k приводит к
(*) |
Определим теперь функцию двоичными аргументами следующим образом:
и перепишем соотношение (*) в терминах функции F как
(1) |
Таким образом, для заданных значений функции F() можно вычислить величину y с помощью только операций сложения (вычитания для k=0) и операций сдвига. Т.к. аргументы функции F могут принимать значения только 0 или 1, то F характеризуется конечным числом 2L возможных результатов, которые можно либо запомнить в памяти, либо генерировать с помощью комбинационных схем. Очевидно, объем требуемой памяти экспоненциально растет с увеличением числа аргументов L, что накладывает ограничения на его величину в практических применениях.
Структурная схема возможного двоичного последовательного устройства, реализующего уравнение (1), схематически показана на рисунке 7.3.
Рис. 7.3 Реализация L разрядного умножителя последовательностей.
Последовательность данных xi поочередно сдвигается в регистрах сдвига SR1-SRL, начиная с наименьшего значащего бита. Биты на выходе каждого сдвигающего регистра используются для адресации постоянной памяти (ПЗУ), в которой хранится 2L значений функции F.
Предварительно регистры R1 и R2 очищаются, а биты начинают сдвигаться по тактам генератора, начиная с наименьшего значащего бита .
В то же время слово из ПЗУ с адресом загружается в регистр R1 и прибавляется к содержимому регистра R2, а результат записывается в регистр R3. На следующем тактовом интервале в сдвиговые регистры поступают биты и формируется новый адрес для памяти ПЗУ. Содержимое регистра R3 поступает в регистр R2 по цепи сдвига на 1 бит вправо (необходимого для обеспечения умножения на 1/2). Слово из регистра R1, равное , складывается со словом из регистра R2 , в результате образуется очередной частный результат. Такая операция повторяется B раз, за исключением последнего шага, на котором функция вычитается из сумматора, так что в конце B тактов в регистре R3 находится требуемый результат y, и устройство готово к вычислению нового результата умножения.
Таким образом рассмотрена схема реализации умножителя последовательностей, которая обеспечивает L умножений и L-1 сложений за фиксированное число B циклов путем использования только операций сложения и обращения к памяти, причем B независимо от L.
Недостаток этой схемы состоит в том, что объем памяти ограничен, а время выборки памяти увеличивается при увеличении ее объема. Это ограничивает возможности использования схемы при L>12.
Однако, расчленяя процесс вычислений на подблоки, можно добиться экспоненциального уменьшения объема требуемой памяти в обмен на линейное увеличение времени, требуемого для выполнения операции, либо линейное увеличение числа сумматоров.
Пусть , тогда рассматриваемую нами сумму произведений можно переписать в виде или , где .
Каждую частную сумму можно вычислить с помощью метода, аналогичного рассмотренному в предыдущей лекции. Для этого необходимо M различных функций F() c K двоичными аргументами каждая. Пусть задается как что требует памяти объемом вместо , как для ранее рассматриваемого случая. Однако необходимы дополнительные операции сложения.
Для того, чтобы проиллюстрировать получаемую экономию объема памяти, рассмотрим конкретный пример.
Пусть L=15, тогда прямая реализация требует слов памяти. Если использовать расчленение, описанное выше, при M=3 и K=5 необходимо только слов памяти; однако при этом требуется два дополнительных сумматора. Такой обмен объема памяти на дополнительные аппаратурные затраты часто себя оправдывает.
Две возможные структуры реализации вычислителя суммы произведений рассматриваются ниже.
Параллельная реализация для случая M=2, где отдельные частные суммы определяются с помощью дерева сумматоров, показана на рис.7.4.
Рис. 7.4 Реализация 2К- разрядного умножителя последовательностей с помощью параллельного соединения двух К-разрядных умножителей.
Здесь высокая пропускная способность достигается путем увеличения аппаратурных затрат, так как (без учета фиксированной задержки распространения сигналов в дереве сумматоров) величина y определяется каждые B циклов генератора.
Реализация последовательного процессора для случая M=2, быстродействие которого снижено с целью уменьшения аппаратурных затрат, показана на рис. 7.5.
Рис. 7.5. Последовательная реализация 2К-разрядного умножителя последовательностей.
В этом случае частная суммы вычисляются последовательно путем переадресации и обмена содержимого ячеек памяти, в которых находятся значения функции F(), а полная сумма накапливается за BM тактовых периодов.
Возможны примеры компромиссного решения. Они основаны на увеличении аппаратурных затрат для достижения скорости вычислений, лежащей между B и BM циклами генератора и рассмотрены в рекомендованной вам литературе. Они, в том числе, включат упрощения фильтров с симметричными коэффициентами.
Дата добавления: 2015-11-14; просмотров: 38 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Структуры процессоров цифровой обработки информации. | | | Цифровой фильтр второго порядка. |