Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
совсем Конечный вариант.doc
Скачиваний:
12
Добавлен:
19.05.2015
Размер:
937.98 Кб
Скачать

Dsp фирмы Analog Devices.

Рис. 4: Блоки ADSP-21161

Семейство цифровых сигнальных микропроцессоров ADSP-2116x является наиболее совершенным, тактовой частота этих микропроцессоров повышена до 100 МГц, что позволило увеличить производительность до 600 MFLOPS. Рассмотрим архитектуру этого семейства на примере ADSP-21161, его основные функциональные блоки показаны на рис.4.

Быстрая выборка и исполнение команд.

Два генератора адреса данных DAG выставляют адреса памяти, когда данные памяти пересылаются в или из регистров ввода или вывода. Каждый генератор адреса сохраняет до четырех указателей адреса. Генератор адреса данных 1 может генерировать адреса только для памяти данных (DM - Data Memory). Генератор адреса даннных 2 может генерировать адреса либо для памяти данных, либо для памяти программ (PM - Program Memory). В данном процессоре используется модифицированная Гарвардская архитектура (SHARC - Super Harvard ARChitecture), которая предполагает разделение памяти и шин команд и данных, но по шине команд могут передаваться как инструкции, так и данные. Имея два генератора адреса данных процессор может одновременно генерировать два адреса для выборки двух операндов.

Для работы нейросети характерны операции с двумя операндами (например, самая часто используемая операция - умножение значения на входе нейрона и соответствующего ему весового коэффициента), поэтому возможность выборки двух операндов за один машинный цикл позволяет значительно увеличить скорость, эмуляции нейросети. Для этого, конечно, требуется распределение перемножаемых чисел по разным банкам внутренней памяти, но это ограничение для нейросети легко выполнить, так как операции с весами проводятся отдельно от операций с входными величинами. Кроме выборки операндов необходимо проводить выборку очередной инструкции. Если шина адреса команд (PM address bus) и шина команд (PM data bus) заняты, то выборка второго операнда в этом же цикле невозможна. Поэтому микропроцессор содержит кэш команд на 32 48-ми битных инструкции. Если текущая инструкция находится в кэше, то выборки из памяти команд не происходит и шины свободны для выбора второго операнда в этом же цикле.

Таким образом используемая модифицированная Гарвардская архитектура позволяет эффективно работать с большими объемами обрабатываемых данных с малыми потерями на обращение к памяти. Объем внутренней памяти 1 Мбит позволяет реализовывать нейросети, достаточно большие для широкого применения.

Система команд ADSP-21161 как и большинства других цифровых сигнальных микропроцессоров содержит арифметическую команду умножения с накоплением (C=A·B+C), причем можно указать число выполнений в цикле и правила изменения индексов для адресацииAиB. Эта команда должна быть выполнена для каждого входа нейрона при просчете реакции сети. Данный микропроцессор поддерживает циклические буферы, при работе с которыми обеспечивается автоматическое изменение адресов.

Подобная работа обеспечивается наличием индексных регистров I, регистров модификацииM, регистров длины буфераLи базовых регистровB. Всего существует по 16 регистров каждого из перечисленных типов, причем первые восемь (I0I7,M0M7,) связаны с DAG1, а вторые (I8I15,M8M15,) - с DAG2. При адресации с циклическим буфером регистрLинициализируется длиной буфера. РегистрLсвязан с соответствующим регистромI(I0 связан сL0 и т.д.). Каждый раз, когда выбирается регистрI, соответствующий регистрLобеспечивает устройство адресации по модулю информацией о длине буфера. Если сумма значений регистраMи регистраIпересекает границу буфера, модифицированное значение регистраIвычисляется логическим устройством адресации по модулю с использованием значения длиныL.

В таблице  описана работа циклического буфера.

M> 0

I=I+M

При I+M<B+L

I=I+M-L

При I+MB+L

M< 0

I=I+M

При I+MB+L

I=I+M+L

При I+M<B+L

Таблица 1: Работа циклического буфера

Подобная архитектура позволяет гибко управлять порядком обращения к элементам циклического буфера.