Мощные блоки вычислений
Обрабатывающие элементы PEx и PEy (Processing Elements) производят независимую вычислительную обработку. Каждый PE содержит регистровый файл и три вычислительных блока: арифметико-логическое устройство, умножитель и устройство сдвига. Вычислительные инструкции для этих элементов могут выполняться за один цикл, вычисления могут проводиться с фиксированной и плавающей запятой. Оба обрабатывающих… Читать ещё >
Мощные блоки вычислений (реферат, курсовая, диплом, контрольная)
Обрабатывающие элементы 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 Закрепление операндов при параллельном выполнении инструкций
SIMD-режим выполнения операций.
ADSP-21 161 содержит два набора вычислительных блоков и ассоциированных с ними регистровых файлов. Как показано на рис. обрабатывающие элементы PEx и PEy поддерживают режим SIMD (Single Instruction, Multiple Data) выполнения операций.
Рис. 11 SIMD-режим выполнения операций
В обычном режиме SISD (Single Instruction, Single Data) DSP использует только PEx. В режиме SIMD DSP параллельно выполняет следующие операции:
- · Направляет единственную инструкцию в оба обрабатывающих элемента
- · Загружает два набора данных из памяти в каждый элемент
- · Выполняет одну и ту же команду одновременно в двух элементах
- · Сохраняет результаты совместного выполнения в памяти
Оба обрабатывающих элемента содержат идентичные блоки (АЛУ, умножитель, блок сдвига, регистровый файл), выполняемая инструкция также одинакова для PEx и PEy, отличаются лишь обрабатываемые данные. Большинство регистров в PEx имеют соответствующие им регистры в PEy, выполняя инструкцию, обрабатывающие элементы используют значения из <> регистров.
Таким образом, используя SIMD-команды DSP может удвоить скорость обработки данных. В нейроприложениях это особо актуально, так как для них характерно выполнение одинаковых операций для большого набора однородных данных.