Процессор цифровой обработки сигналов
Л1879ВМ1 (NM6403)
АРХИТЕКТУРА ПРОЦЕССОРА
Процессор Л1879ВМ1 представляет собой высокопроизводительный специализированный
микропроцессор, сочетающий в себе черты двух современных архитектур: VLIW
(Very Long Instruction Word) и SIMD (Single Instruction Multiple Data)
(рис. 1).
Тактовая частота - 40 МГц; напряжение питания - от 3,0 до 3,6 В; потребляемая
мощность - 1,3 Вт. Основные вычислительные узлы процессора - управляющее
RISC-ядро и векторный сопроцессор. RISC-ядро - это центральный процессорный
узел, выполняющий все основные функции по управлению работой кристалла.
Кроме того, RISC-процессор производит арифметико-логические и сдвиговые
операции над 32-разрядными скалярными данными и формирует 32-разрядные
адреса команд и данных при обращениях к внешней памяти. Длина команды
- 32 и 64 разряда (обычно в команде выполняются две операции). Процессор
реализует пятиступенчатый 32-разрядный конвейер. Адресное пространство
- 16 Гбайт, два адресных генератора, восемь регистров общего назначения
и восемь адресных регистров. Любая инструкция выполняется за один такт.
Векторный сопроцессор предназначен для арифметических и логических операций
над 64-разрядными векторами данных программируемой разрядности. Обмен
данными между основными узлами процессора происходит по трем внутренним
шинам, двум входным и одной выходной.
GMI и LMI - два одинаковых блока программируемого интерфейса с
локальной и глобальной 64-разрядными внешними шинами. К каждой из них
может быть подключена внешняя память, содержащая до 231 32-разрядных
ячеек. Обмен данными с внешней памятью осуществляется как 32-, так и 64-разрядными
словами (NM6403 одновременно выбирает две соседние ячейки памяти). Каждый
блок программируемого интерфейса позволяет работать с двумя банками внешней
памяти различного объема, типа (DRAM, SRAM, Flash ROM, EDO DRAM и т.д.)
и быстродействия без дополнительного оборудования. Предусмотрена аппаратная
поддержка режима разделяемой памяти для различных мультипроцессорных конфигураций
внешних шин.
СР1 и СР2 - идентичные коммуникационные порты, обеспечивающие
информационный обмен по двунаправленной восьмиразрядной шине. Они предназначены
для построения высокопроизводительных мультипроцессорных систем и полностью
совместимы с коммуникационными портами процессора ТMS320C4x. Каждый коммуникационный
порт имеет встроенный контроллер прямого доступа к памяти (ПДП, DMA),
позволяющий обмениваться 64-разрядными данными с памятью на внешних шинах.
ВЕКТОРНЫЙ СОПРОЦЕССОР
Векторный сопроцессор - основной функциональный элемент Л1879ВМ1. Структурно
он представляет собой матрично-векторное операционное устройство и набор
регистров различного назначения.
Операционное устройство (ОУ) - регулярная матричная структура 64х64 ячейки
(рис. 2).
Матрица может быть произвольно разделена на столбцы и строки.
В образовавшиеся после разделения макроячейки загружаются весовые коэффициенты
. На
вход матрицы подается вектор входных данных ,
каждому элементу которого соответствует строка матрицы. Ширина строки
(в битах) - разрядность данного элемента входных данных. В макроячейках
происходит умножение элемента вектора входных данных на весовой коэффициент
и сложение со значением верхней ячейки (либо значений входов ).
Таким образом, для каждого столбца вычисляется скалярное произведение
.
Для снижения разрядности выходных данных и защиты от арифметического переполнения
используется программируемая функция насыщения (рис. 3) .
Операнды и выходные значения упаковываются в 64-х разрядное слово. Все
операции в матрице ОУ производит параллельно, за один такт. Загрузка весовых
коэффициентов происходит за 32 такта. В векторном сопроцессоре есть "теневая"
матрица, в которую весовые коэффициенты можно загружать в фоновом режиме.
Переключение "теневой" и рабочей матриц занимает один такт.
Важнейшая особенность векторного сопроцессора - работа с операндами произвольной
длины (даже не кратной степени двойки) в диапазоне 1-64 бит. Этим
достигается оптимальное соотношение между скоростью и точностью вычислений:
при однобитовых операндах на тактовой частоте 40 МГц производительность
составит 11 520 MMAC (миллионов операций умножения с накоплением) или
40 000 MOPS (миллионов логических операций в секунду), при 32-битовых
операндах и 64-бит результате она станет номинальной - 40 MMAC. Умение
динамично, в процессе вычислений изменять разрядность операндов позволяет
повысить производительность в тех случаях, когда обычные процессоры работают
"вхолостую", с избыточной точностью.
Особенности:
- тактовая частота - 40 MГц (25нс - время выполнения любой инструкции);
- технология КМОП 0.5 мкм;
- корпус BGA256;
- напряжение питания от 3.0 В до 3.6 В;
- потребляемая мощность не более 1.6 Вт;
- условия эксплуатации: -60...+85 C.
RISC-ядро
- 5-ти ступенчатый 32-разрядный конвейер;
- 32- и 64-разрядные команды (обычно выполняется две операции в одной
команде);
- два адресных генератора, адресное пространство - 16 Гбайт;
- два 64-разрядных программируемых интерфейса с SRAM/DRAM-разделяемой
памятью;
- формат данных - 32-разрядные целые;
- регистры:
- 8 32-разрядных регистров общего назначения;
- 8 32-разрядных адресных регистров;
- специальные регистры управления и состояния;
- два высокоскоростных коммуникационных порта ввода/вывода, аппаратно
совместимых с портами TMS320C4x.
VECTOR-сопроцессор
- переменная 1-64-разрядная длина векторных операндов и результатов;
- формат данных - целые числа, упакованные в 64-разрядные блоки, в форме
слов переменной длины от 1 до 64 разрядов каждое;
- поддержка векторно-матричных и матрично-матричных операций;
- два типа функций насыщения на кристалле;
- три внутренних 32x64-разрядных RAM-блока.
Производительность:
- скалярные операции:
- 40 MIPS;
- 120 MOPS для 32-разрядных данных;
- векторные операции:
- от 40 до 11.500+ MMAC (миллионов умножений с накоплением
в секунду);
- I/O и интерфейсы с памятью:
- пропускная способность двух 64-разрядных интерфейсов
с памятью - до 320 Мбайт/сек;
- I/O коммуникационные порты - до 20 Мбайт/сек каждый.
Внешний вид процессора Л1879ВМ1
Документация
Оценочные тесты:
Фильтр
Собеля
(Размер кадра: 384x288 байт) |
68
кадров/сек |
Преобразование
Уолша-Адамара
(21 шаг, Входные данные: 5 бит) |
0.45
сек. |
Быстрое
преобразование Фурье
(256 точек, 32 разряда) |
102
мксек.
(4070 тактов) |
Сеть
прямого распространения
(1024 слоя, 1024 нейронов/слой) |
1.54
сек. |
|
Общая характеристика функций БПФ и оценка производительности - nm6403fftbench-r.pdf
NeuroMatrix®: NM6403 neuroprocessor performance evaluation report
- nm6403tms-e.pdf
Программное обеспечение
Здесь же Вы можете бесплатно загрузить demo-версию базового
программного обеспечения (БПО) v.1.21.
Она включает в себя:
- компилятор и средства отладки программ;
- документацию, описывающую язык ассемблера и устройство процессора;
- примеры программ с подробными комментариями.
В случае возникновения различных вопросов по БПО и документации, в т.ч.
и при обнаружении ошибок, пожалуйста, обращайтесь к нам по адресу nm-support@module.ru.
Примеры реализации программ
По вопросам приобретения наших изделий обращайтесь
по телефонам: (499)152-96-98, 8 (909) 929-31-71 или по e-mail: rusales @ module.ru
|