Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MST 42-51.doc
Скачиваний:
0
Добавлен:
18.08.2019
Размер:
261.63 Кб
Скачать

Алгоритм работы разрядно-параллельного умножителя N операндов аналогичен алгоритму работы умножителя двух операндов с той лишь разницей, что в качестве очередного сомножителя будет вы­ступать произведение предыдущих сомножителей. Необходимо также рационально организовать загрузку конвейера.

2.2 Алгоритм выполнения свертки с применением метода разрядно-параллельных вычислений.

В цифровой обработке сигналов широко используются вычисления типа свертки. Задача одномерной свертки формулируется сле­дующим образом [41]:

даны ядро в виде последовательности весовых коэффициентов (весов) (ω1, ω2,…, ωk) и входная последовательность (x1, x2,…, xn),требуется вычислить выходную последовательность (y1,y2,…,yn+1-k), определяемую в виде:

yi= ω1· xi+ ω2· xi+1+…+ ωk· xi+k-1 (2.11)

Результаты справедливы для любого целого положительного к.

В зависимости от типа ядра свертки можно раздавить на три класса:

  • фиксированные;

  • адаптивные;

  • выборочные.

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

Свертки с адаптивными ядрами являются обобщением сверток с фиксированными ядрами и отличаются от них возможностью изменения весов. Они, в свою очередь, делятся на:

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

б) свертки с правильными адаптивными ядрами; когда веса могут изменяться от внешнего источника непосредственно в процессе вычислений.

Свертки с выборочными ядрами отличаются от сверток с адап­тивными ядрами ограниченным выбором весов. Обычно выборочные ядра не вычисляются, а задаются в табличной Форме, выбор кото­рой зависит от требуемых значений выходных величин, что позво­ляет менять веса со скоростью обработки данных [41].

Приведенную классификацию сверток необходимо учесть при проектировании процессора ЦОС, выбрав наиболее приемлемый ва­риант.

В общем виде выражение (2.11) можно переписать в следую­щем виде:

Операцию вычисления свертки можно реализовать на базе разрядно параллельного умножителя и разрядно-параллельного суммирую­щего устройства. В этом случае веса ωk предварительно загру­жаются в регистры РгВ умножителя, входные последовательности в регистры РгА. Промежуточные результаты формируются на выхо­дах суммирующего устройства первого уровня, причем сформиро­ванные разряды, начиная с младшего поступают на разрядно -па­раллельное суммирующее устройство второго уровня. Результат вычисления одномерной свертки формируется последовательно по разрядам. Алгоритм вычисления свертки аналогичен алгоритму разрядно-параллельного умножения с той лишь разницей, что суммирование осуществляется в два уровня, на первом уровне просуммируются промежуточные результаты, а на втором - окон­чательные.

Рассмотрим алгоритм выполнения двумерной свертки. Задача двумерной свертки формулируется следующим образом: даны веса ωhl для h,l= , так что KхК - размер ядра, и входной массив данных Xij для i,j= . Требуется вычис­лить элементы Yij для i,j= ., определяемые в виде:

С точки зрения разрядно-параллельной интерпретации задача вычисления двумерной свертки сводится к тиражированию струк­туры одномерной свертки в горизонтальной плоскости. При этом количество входов разрядно-параллельного суммирующего устрой­ства второго уровня увеличивается до КхК по числу формируемых произведений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]