Добавить в цитаты Настройки чтения

Страница 264 из 436

Архитектура процессоров SHARC не допускает появления "бутылочного горлышка" при работе процессора, возникающих вследствие несоответствия между производительностью ядра, пропускной способностью процессора ввода-вывода, объемом встроенной памяти и набором встроенных периферийных устройств, как показано на рис. 7.30. Ядро поддерживает работу с 32-разрядными данными с плавающей и фиксированной точкой. Память вносит свой вклад в сбалансированность архитектуры своим большим размером и наличием двух портов. Ядро может осуществлять доступ через один порт, другой порт может использоваться для передачи данных процессором ввода-вывода. Процессор ввода-вывода передает данные между периферийными устройствами и внутренней памятью, используя DMA, без вмешательства процессорного ядра. Такая передача происходит одновременно с операциями, выполняемыми ядром процессора.

Архитектура ядра процессора семейства ADSP-2116X, построенного по принципу "одна инструкции — двойной набор данных"

Процессор ADSP-21160 — первый представитель второго поколения 32-разрядных DSP компании Analog Devices. Архитектура его ядра показана на рис. 7.33.

Обратите внимание, что данная архитектура очень похожа на архитектуру ядра процессоров семейства ADSP-2106x, за исключением ширины шин и второго вычислительного блока с собственным умножителем, АЛУ, устройством сдвига и регистровым файлом. Такая архитектура носит название SIMD (одна инструкция — двойной набор данных) в противоположность архитектуре SISD (одна инструкция — один набор данных). Наличие второго вычислительного блока позволяет DSP обрабатывать два потока данных параллельно. Ядро может работать со скоростью до 100 MIPS. Работая на тактовой частоте 100 МГц, ядро свободно выполняет 400 MFLOPS (400 миллионов операций с плавающей точкой в секунду), а максимальное число операций может доходить до 600 MFLOPS. Архитектура SIMD является естественным шагом на пути повышения производительности DSP компании Analog Devices. Поскольку базовая архитектура DSP компании Analog Devices позволяет работать с двойным набором операндов, добавление второго вычислительного блока способствует обработке этого набора. Переход к архитектуре, построенной по принципу SIMD, позволяет получать новые, более производительные процессоры, сохраняя при этом программную совместимость с процессорами предыдущих поколений.

Архитектура SIMD процессора семейства ADSP-2116х включает в себя два вычислительных блока (РЕх, РЕу) и шины данных с удвоенным размером слова (DMD и PMD). Первый вычислительный блок РЕх всегда находится во включенном состоянии. Второй вычислительный блок РЕу может быть включен путем установки соответствующего бита в регистре управления. Шины данных удвоенной ширины обеспечивают каждый вычислительный блок собственным набором данных в каждом машинном цикле. При включенном режиме SIMD каждый вычислительный блок выполняет одну и ту же команду в каждом цикле (что соответствует первой части названия архитектуры "одна инструкция"), но при этом каждый вычислительный блок оперирует своим набором данных (что соответствует второй части названия архитектуры "двойной набор данных"). Использование архитектуры SIMD позволяет повысить эффективность вычислений при выполнении алгоритмов, которые могут быть оптимизированы путем разделения обрабатываемых данных на два параллельных потока. Для многих алгоритмов использование второго вычислительного блока уменьшает время, необходимое для выполнения программы, в два раза по сравнению с реализацией, использующей подход SISD.

КЛЮЧЕВЫЕ ОСОБЕННОСТИ ПРОЦЕССОРА SHARC ADSP-21160

• SIMD-архитектура (одна инструкция — много данных)

• Программная совместимость с процессорами семейства ADSP-2106x

• Ядро на 100 МГц / пиковая производительность 600 MFLOPS

• Тот же набор периферийных устройств, что и у процессоров семейства ADSP-2106X

• 4 Мбита статической двухпортовой памяти

• Организация многопроцессорных систем без дополнительных микросхем





• Корпус типа PBGA с 400 выводами размером 27*27 мм

Рис. 7.34

Процессор ADSP-21160 имеет полный набор периферийных устройств: процессор ввода-вывода, 4 Мбита статической двухпортовой памяти, встроенные возможности для построения многопроцессорных систем и набор портов (последовательные порты, порты связи, внешний порт, хост-интерфейсный порт, JTAG-интерфейс). Потребляемая процессором мощность составляет 2 Вт на частоте 100 МГц при использовании корпуса типа BGA с 400 выводами размером 27x27 мм. Пути развития процессоров семейства SHARC показаны на рис. 7.35.

На рис. 7.36 показаны некоторые типичные команды, используемые при программировании процессоров семействе SHARC. Обратите внимание на алгебраический синтаксис языка Ассемблера, который упрощает кодирование алгоритмов и последующее чтение программы. В одном цикле процессор SHARC производит умножение, сложение, вычитание, запись в память, чтение из памяти и вычисление новых значений указателей адреса. В том же цикле процессор ввода-вывода может пересылать данные через последовательные порты, порты связи, осуществлять доступ во внутреннюю память или DMA, обновлять указатель, использующийся для DMA.

Построение многопроцессорных систем на основе ПРОЦЕССОРОВ СЕМЕЙСТВА SHARC

Цифровые сигнальные процессоры SHARC компании Analog Devices, например процессоры ADSP-21160, оптимизированы для применения в многопроцессорных приложениях, таких как телефония, обработка медицинских изображений, радары, сонары, телекоммуникационные задачи и трехмерная графика. На рис. 7.37 показаны результаты тестирования процессоров SHARC на распространенных алгоритмах цифровой обработки сигналов.

Мультипроцессорные системы обычно используют один или сразу два метода связи между процессорными узлами в системе. Один метод предполагает использование канала связи, работающего по принципу "точка-точка". Такой метод многопроцессорной обработки данных называется потоковым (data-flow multiprocessing). При использовании другого метода процессорные узлы связываются через единую глобальную память посредством общей параллельной шины. Семейство процессоров SHARC поддерживает реализацию связи между процессорами по принципу "точка-точка" через шесть имеющихся портов связи. Процессоры SHARC поддерживают также усовершенствованный способ организации многопроцессорных систем, называемых кластерами, с общей параллельной шиной.

Для приложений, где требуется большая вычислительная мощность, а гибкость вычислительной системы не является основным параметром, потоковая обработка данных является наилучшим решением. Выполнение DSP алгоритма разделяется между несколькими процессорами, и данные проходят через них, как показано на рис 7.38 справа. Процессор SHARC идеально подходит для применения в таких приложениях, где требуется потоковая обработка данных, так как он не требует наличия межпроцессорного регистрового файла типа FIFO (первый вошел — первый вышел) или внешней памяти. Каждый SHARC имеет 6 портов связи, позволяющих создавать двумерные и трехмерные многопроцессорные массивы или организовывать традиционные системы потоковой обработки данных. Внутренняя память SHARC обычно достаточно велика, чтобы разместить в ней код и данные большинства приложений, использующих описанную топологию. Все, что требуется для такой системы — это несколько процессоров SHARC и набор необходимых соединений между ними.