Научная литература
booksshare.net -> Добавить материал -> Физика -> Арратуна Р. -> "Оптические вычисления" -> 77

Оптические вычисления - Арратуна Р.

Арратуна Р. Оптические вычисления — М.: Мир, 1993. — 441 c.
Скачать (прямая ссылка): opticheskievichesleniya1993.pdf
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 175 >> Следующая

относительно этих входов. Умножение выполняется за интервал времени,
составляющий т(21-1) циклов; при этом | используется m(2l- 1) детекторов
выходного сигнала. Возможности процессора удается расширить до операции
умножения матрицы на матрицу с помощью временного разделения каналов для
ввода элементов b при условии построчной загрузки матрицы по
соответствующим буферам. В схеме имеется также тп входов для одной
матрицы и п входов для другой, а также т (21-1) детекторов выходного
сигнала. Затраты времени на вычисления составляют (k + m-1) (21-1)
тактовых циклов.
В работе [17] описан матрично-векторный умножитель с улучшенными
возможностями, в котором используется частотное разделение каналов в
акустооптической ячейке. Как указано в [17], данная архитектура не может
быть незамедлительно приспособлена для цифровых вычислений, но ее можно
несколько модифицировать для обработки цифровых данных. Вначале
рассмотрим схему умножителя вектора на вектор, выполняющего свертку с
пространственным интегрированием. Для достижения точности вычислений в I
цифр при размерности вектора п необходимо использовать I входов для ввода
одного вектора и один вход для ввода другого ' вектора, а обрабатывающая
Г лава 7. Оптическое умножение матриц
201
ячейка должна иметь I разрядов. В схеме имеется один фотодетектор
выходного сигнала; для вычисления внутреннего произведения требуется п
(21-1) тактовых циклов. Если в качестве входного сигнала в
акустооптической ячейке рассматривается одна строка матрицы А, то все
строки А могут быть введены одновременно путем использования различных
несущих частот для каждой из строк. Следовательно, все элементы матрицы
выходного сигнала появляются в выходной плоскости одновременно (рис.
7.13). Различные элементы с несколько смещены на рисунке, поскольку линза
преобразует частоту входного сигнала в координату выходного сигнала. В
данном случае элементы вектора b все еще требуют наличия I входов, в
схеме также
о о
321 1 О О О О О
0
1
0 <
0
1 >22 I
0_
0
О
0 а
1 1
'12
С / 1
1 / О
О / 1
OJOOOiOOlOlCj О 1 1 О 0; О 1 1 1 1 с,
Рис. 7.13. Умножитель матрицы на вектор с частотным разделением каналов
(17].
имеется m детекторов выходного сигнала. Процедура матрично-векторного
умножения производится за п(21-1) тактовых цикла. Длительность тактового
цикла не зависит от т, но величина т ограничена возможностями
акустооптической ячейки (см. разд. 7.3.2).
7.2.2.3. Способы определения внешнего произведения методом вычисления
свертки
Все обсуждавшиеся до сих пор методы позволяют умножать две матрицы или
матрицу на вектор путем выполнения операции внутреннего произведения
между строками одной матрицы и столбцами другой. Согласно [18],
произведение матриц может также быть найдено с помощью вычисления
внешнего про-
202
Часть Iff. Систолические процессоры и логические матрицы
изведения. Внешнее произведение определяется выражением aXbT = c, где а -
m-мерный вектор, Ъ - л-мерный вектор, а с - матрица тХп. Для частного
случая с т = п - 3 получаем
/ ai\ Л?А оД а^Л
I аг) X (Ьг Ьг b3) = аА аф3 = с.
\aj a.tb1 a3b2 а3Ь3!
Если элементы с суммируются вдоль противоположных диагоналей, то может
быть получен новый вектор с', компоненты которого
с (^i^i> Ло/^i -f- л 1^2, a36i + aA + aA, ч3Ь2 -Е ч2Ь3, а3/?3)
представляют собой не что иное, как свертку а и Ь. Отсюда следует, что
если а и Ь являются цифровыми представлениями чисел, то можно определить
результат их перемножения.
Матрично-векторное произведение выполняется путем вычисления внешнего
произведения первого столбца матрицы и первого элемента вектора, сложения
с результатом внешнего произведения второго столбца и второго элемента и
т. д. Например, произведение
(з тш
в двоичной записи выглядит так;
/0 п 0 0 01 [0 1 01 [0 1 01
0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 0 1 0 1
- х(1 0 1) + - Х(0 1 0) = + =
0 1 0 0 0 0 1 0 0 1 0
1 1 1 0 1 0 1 0 1 1 1
llj 0 1 0 lj 0 0 0 1 0 1
Если две подматрицы соответствующей матрицы суммируются вдоль
противодиагоналей, то в результате получим
/0110 1\ = /13\
^0 2 2 1 lj \27) '
Возможности умножителя могут быть легко расширены для случая умножения
матрицы на матрицу.
Для больших матриц, разделенных на подматрицы, процедура суммирования
вдоль противодиагоналей может оказаться весьма тяжелой задачей. В работе
[19] было предложено выполнять суммирование вдоль противодиагоналей
оригинальным
Глава 7. Оптическое умножение матриц
203
способом, записывая вектор в виде матрицы следующим образом:
0 0 1 1 0 0\ [I 0 1\ /0 0 1 1 0 0\
0 11 0 1 О МО 1 П-ЦО 11 1 1 0/х
X
П 0 1 0 0^ 0 10 10 0 0 10 1 0 10 0 0 0 0 10 0 Д 0 0 1 Oj
0 2 2 1 1 0 110 1
Правильный результат получают уже в смешанном формате, путем умножения
исходной матрицы на дополненный вектор. Эта процедура может быть
выполнена с помощью любого из обсуждавшихся выше вариантов умножения
матрицы на матрицу. Ценой этого будет служить увеличение объема памяти,
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 175 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed