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

Возможность работы в мультимикропроцессорных конфигурациях.

DSP архитектуры SHARC могут организовывать мультимикропроцессорные системы двумя способами: через содинения <<точка-точка>> (Data Flow Microprocessing) и кластерное соединение (Cluster Microprocessing).

Рис. 6: Соединение <<точка-точка>>

Рис. 7: Кластерное соединение

Вид конфигурации первого типа показан на рис.6. В этом случае обмен информацией идет через два имеющихся 8-ми битных двунаправленных порта связи (link ports). Такая система позволяет пропускать поток данных через все микропроцессоры, осуществляя последовательную обработку. Применительно к нейросетям, таким образом значительно ускорить обработку, распределив слои сети по отдельным узлам. После того, как текущий узел рассчитал выход <<своих>> слоев он может передать его на дальнейшую обработку следующему процессору и принять следующие входные данные. Каждый порт может передавать до 8-ми бит данных за каждый такт.

Такое разбиение на последовательные блоки значительно ускоряет работу сети при наименьшем росте стоимости. Этот тип мультимикропроцессорных систем наиболее прост для построения и наиболее компактен при размещении на плате.

Кластерная система показана на рис. 7. Эта система более гибка, чем предыдущая, так как наращивание числа DSP и внешней памяти возможно без существенного изменения алгоритмов. Кластерная система включает несколько DSP, подключенных к общим шинам, с поддержкой межпроцессорного доступа к памяти и обращения к общей разделяемой памяти.

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

Рис. 8: Примеры мультимикропроцессорных конфигураций.

Часто применяется кольцевая топология, которая является частным случаем соединения <<точка-точка>>, и смешанная топология <<расширяемый кластер>> (Expanding Cluster), вид которых показан на рис.7.

Мощные блоки вычислений.

Обрабатывающие элементы PEx и PEy (Processing Elements) производят независимую вычислительную обработку. Каждый PE содержит регистровый файл и три вычислительных блока: арифметико-логическое устройство, умножитель и устройство сдвига. Вычислительные инструкции для этих элементов могут выполняться за один цикл, вычисления могут проводиться с фиксированной и плавающей запятой.

Рис. 9: Структура обрабатывающего элемента.

Структура обрабатывающего элемента показана на рис.9. Данные для и их вычислительных блоков идут через регистровый файл. Регистровый файл подключен к шинам данных памяти программ и данных. Умножитель и АЛУ поддерживают следующие форматы обрабатываемых чисел:

  • 32 битное число с плавающей запятой. Используется 23 битная мантисса, 8 бит порядка и бит знака. Оставшиеся 8 бит не используются и устанавливаются в ноль.

  • 40 битное число с плавающей запятой. Это формат повышенной точности, содержащий дополнительные 8 бит мантиссы. То есть используется 31 бит мантиссы, 8 бит порядка и бит знака.

  • 16 битное число с плавающей запятой. Используется 11 бит мантиссы, 4 бита экспоненты и бит знака. Устройство сдвига поддерживает команды, осуществляющие преобразования типов между 32 битными и 16 битными числами с плавающей запятой. Выполнение этих команд занимает один цикл.

  • 32 битное число с фиксированной запятой. Числа с фиксированной запятой всегда занимают 32 бита.

Поддерживается два режима округления: округление к нулю, округление к ближайшему.

АЛУ поддерживает следующие арифметические и логические операции:

  • Сложение, вычитание, нахождение среднего для чисел с плавающей и фиксированной запятой

  • Двоичный логарифм, масштабирование, извлечение мантиссы для чисел с плавающей запятой

  • Логические операции 'И', 'ИЛИ', 'НЕ', 'исключающее ИЛИ'

  • Функции: 'abs', 'pass', 'min', 'max', 'clip', 'compare'

  • Преобразование форматов

  • x, [1/(x)]

Умножитель может принимать в качестве операндов 32 или 40 битные числа с плавающей запятой и выдавать результат в формате 32 или 40 битного числа с плавающей запятой или принимать операнды в формате 32 битного числа с фиксированной запятой и выдавать 80 битный результат. Умножитель может выполнять следующие инструкции:

  • Умножение чисел

  • Умножение с накоплением и возможным округлением чисел с фиксированной запятой

  • Округление регистра результата

  • Очистка регистра результата

Отличительной особенностью обрабатывающего элемента является возможность параллельной работы АЛУ, регистрового файла и умножителя (блок сдвига в параллельных операциях не участвует). Параллельные вычисление занимают только один цикл, хотя задействуют несколько блоков. Таким образом, за один цикл можно выполнить инструкцию АЛУ и умножителя и даже две инструкции АЛУ. Параллельная работа накладывает ограничения на то, в каких регистрах находятся операнды. Рис.  показывает это ограничение.

Рис. 10: Закрепление операндов при параллельном выполнении инструкций.