Разработанное устройство используется для построения систем распознавания образов на основе обработки телевизионной, тепловизионной и другой информации, а также систем, основанных на реализации алгоритмов с пороговыми функциями и простейшими арифметическими операциями и позволяет добиться значительной скорости вычислений при решении задач следующих типов:
Вычислитель состоит из следующих функциональных блоков:
БВЭ используются для выполнения простейших арифметических операций типа суммирования, вычитания, умножения и вычисления пороговых функций. Так как БВЭ реализованы на перепрограммируемых микросхемах, их архитектура может изменяться. Архитектура БВЭ для различных алгоритмов может отличаться, но обычно легко реализуются путем комбинации библиотечных функций, компиляции их при помощи САПР (типа MaxPlus) и загрузки файла конфигурации в выбранный БВЭ.
БВЭ для перемножения векторов и матриц содержит: набор регистров и 4 вычислительных элемента, состоящих из 8-разрядного конвейерного умножителя, 24-разрядного сумматора с накоплением результата, схемы логического умножения, компаратора. Выбор необходимой арифметической операции проводимой над входными данными и путь прохождения данных через любой вычислительный элемент определяется установкой схемой управления соответствующей команды, набора битов на шине. Внутренние регистры БВЭ используются для хранения значений входных коэффициентов, порогов и результатов вычислений. БВЭ для реализации различного типа фильтров, в дополнение к регистрам и 4 вычислительным элементам, содержит внутреннюю память коэффициентов.
Два массива локальной статической памяти собраны из 8 микросхем статической памяти емкостью 0,5 Мбайт, имеют размер 4Мбайт и организованы как массив 512К 8-байтовых слов. Массивы памяти связаны со схемой управления отдельными адресными шинами и могут функционировать независимо друг от друга. Память предназначена для хранения общих коэффициентов, а также промежуточных результатов вычислений или окончательных результатов, подготовленных к передаче через контроллер системной шины в центральный процессор или через контроллер E-bus на линк-порты.
Связь нескольких вычислителей между собой или вычислителя с устройством оцифровки изображения, при наличии у устройства оцифровки соответствующего интерфейса, осуществляется посредством последовательного канала приемников/передатчиков HOTLink фирмы CYPRESS. Управление передачей данных выполняет контроллер внешней шины, который представляет из себя набор 4-х стандартных FIFO и регистров управления и данных.
Контроллер шины VME выполняет функцию интерфейса с центральным процессором и является стандартным устройством.
C точки зрения программиста вычислитель можно представить как RISC-процессор (схема управления или управляющий процессор) и шесть векторных процессоров (вычислительных элементов), отрабатывающих SIMD-команды (одна команда для многих данных) - рис. 2.
Большое количество шин данных, возможность одновременной работы всех БВЭ и выполнение арифметических операций умножения и сложения за один такт позволяет эффективно распараллеливать процесс обработки информации.
Результаты измерений производительности вычислителя
| Название теста | TMS320C4x кол-во тактов | Вычислитель, кол-во тактов | Соотношение производительностей (Вычислитель/TMS) |
| Сумма векторов | 2*103 | 1.5*103 | 1.3 |
| Разность векторов | 4*103 | 1.5*103 | 2.6 |
| Умножение вектора на скаляр | 103 | 1*103 | 1 |
| Умножение вектора на вектор | 1.6*104 | 2*103 | 8 |
| Скалярное перемножение векторов | 1.6*104 | 103 | 16 |
| Умножение вектора на матрицу | 7.9*105 | 1.3*105, 6.4*104 | 6, 12.2 |
| Умножение матрицы на матрицу | 8.1*108 | 1.3*108, 0.7*108 | 6.2, 11.6 |
| Поиск максимума по столбцам | 2.9*106 | 1.3*105 | 22 |
| Поиск максимума по всей матрице | 2.9*106 | 1.3*105 | 22 |
| Транспонирование матрицы | 9.4*106 | 5.2*105 | 18 |
| Операция свертки с маской 3*3 | 4.6*106 | 5*105 | 9.2 |
В качестве исходных данных рассматриваются вектора размера 4096 байт и матрицы размера 1024*1024 байта. Результатом работы являются байтовые вектора или 4-байтовые матрицы. Время выполнения тестов определяется тактовой частотой, на которой работает схема управления, через запятую приведены показатели для тестов, в которых возможно дополнительное распараллеливание вычислений.
При использовании в вычислителе более мощных микросхем производительность может увеличиться более чем в 2 раза.
Технические характеристики
6 вычислительных элементов, реализованных на перепрограммируемых микросхемах типа FPGA фирмы Altera - FLEX10K50 -FLEX10K130 в корпусе RQFP240.
Микросхема содержит 50-100 тысяч вентелей и 2 Кбайта внутренней памяти.
Тактовая частота - 33 МГц.
Локальная статическая память объемом 4 Мбайт с организацией 512к x 64 и временем доступа -20 нс. Память разделена на два независимых 32-разрядных массива.
Системная шина VME - A24,A32, D08,D16,D32, MBLT (мультиплексированные блочные передачи A32,D64)
Внешняя шина - высокоскоростные приемники/перадатчики HOTLink фирмы Sypress - 2 приемника и 2 передатчика 33 Мбайт/сек. каждый.
Управление работой вычислительных элементов выполняется схемой управления. Схема управления реализована на перепрограммируемой микросхеме как и вычислительные элементы и представляет собой RISC процессор с расширяемым набором команд.
Ассемблер RISC процессора может быть разработан под конкретную задачу. Программное обеспечение работает под операционной системой DOS 6.22 и ос2000, Linux.
Характеристики вычислительных элементов(ВЭ)
Каждый ВЭ содержит 4-8 конвейерных умножителей целых чисел 8*8.
В зависимости от требований алгоритма возможно выполнение арифметических, логических или смешанных операций. Возможно построение 16 - разрядных систем. Основной упор сделан на реализацию операции цифрового процессора сигналов - умножение с накопление.
Для обмена данными имеется три шины: 64 разрядная шина для обмена с памятью, 32 разрядная шина VME, 64 разрядная шина для связи вычислителей по типу каждый с каждым.
Производительность одного ВЭ - 120-240 млн. умножений с накоплением в секунду. Пиковая производительность платы 1440 млн. умножений с накоплением в секунду.