Шрифт:
На рис. 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 и набор необходимых соединений между ними.
СРАВНЕНИЕ СОЕДИНЕНИЙ ЧЕРЕЗ ВНЕШНИЕ ПОРТЫ (ЕР) И ПОРТЫ СВЯЗИ
• Преимущества, которые дают внешние порты (ЕР)
? Взаимодействие двух процессоров SHARC через порт ЕР обеспечивает наибольшую пропускную способность (400 МБайт/с)
? Возможно подключение до шести процессоров SHARC и хост-процессора
? ЕР обеспечивает гибкость при обмене данными и управлении
? Наличие общей памяти упрощает структуру программы
• Преимущества, которые дает использование портов связи
? Каждый порт связи обеспечивает независимое взаимодействие двух процессоров SHARC на скорости 100 Мбайт/с
? Имеется до шести портов связи (600 Мбайт/с)
? Возможность построения системы с любым числом процессоров SHARC
• Связи через соединительный порт и ЕР можно использовать одновременно
Рис. 7.39
Кластерная мультипроцессорная система лучше всего подходит для применении в приложениях, где требуется высокая степень гибкости. Особенно хорошо она подходит для систем, которые должны выполнять различные задачи, некоторые из которых запускаются одновременно. Процессоры SHARC имеют встроенный хост-интерфейс, который позволяет легко организовать взаимодействие кластера с хост-процессором или с другим кластером.
Мультипроцессорная кластерная система строится на основе нескольких процессоров SHARC, связанных между собой по параллельной шине, что позволяет процессорам осуществлять доступ во внутреннюю память друг друга, а общей глобальной памяти. Типичный кластер на основе процессоров SHARC может включать до 6 процессоров ADSP-21160 и хост процессор, который может осуществлять шинный арбитраж. Встроенная логика арбитража шины позволяет процессорам SHARC разделять общую шину. Другие встроенные возможности процессоров SHARC помогают избежать необходимости использования любых других вспомогательных аппаратных средств при организации кластерной многопроцессорной системы. Очень часто в таких системах полностью отсутствует необходимость в локальной дополнительной или глобальной внешней памяти.
ADSP-TS001 — TigerSHARC™: статический суперскалярный цифровой сигнальный процессор
Цифровой Сигнальный Процессор ADSP-TS001 — TigerSHARC™ является первым DSP компании Analog Devices, построенным по новой статической суперскалярной архитектуре. Процессор TigerSHARC™ создан для применения в оборудовании телекоммуникационной инфраструктуры и предлагает новый высочайший уровень интеграции и уникальную возможность обрабатывать 8-, 16-, 32-разрядные типы данных с фиксированной и плавающей точкой, используя одну микросхему. Каждый из этих типов данных является важным для следующего поколения телекоммуникационных протоколов, находящихся в разработке, включая IMT-2000 (также известного под названием радиопротокола третьего поколения) и xDSL (цифровая абонентская линия). В отличии от всех других DSP, процессор ADSP-TS001 имеет уникальную способность увеличивать скорость обработки в зависимости от типа данных. Более того, кристалл обеспечивает высочайший уровень производительности при обработке данных с плавающей точкой.