07
.pdfАрхитектура ядра процессора семейства 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, позволяет получать новые, более производительные процессоры, сохраняя при этом программную совместимость с процессорами предыдущих поколений.
Ядро процессора семейства ADSP-2116x архитектуры |
||||||
«одна инструкция – двойной набор данных» (SIMD) |
||||||
|
|
Таймер КЭШ команд |
Ядро процессора |
|
||
|
|
32x48 бит |
|
|
||
|
|
|
|
семейства ADSP-2116x |
|
|
DAG1 |
DAG2 |
Устройство упр. |
|
|
|
|
выполнением |
|
|
|
|
||
8x4x32 |
8x4x32 |
|
|
|
|
|
команд |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
PMA |
|
32 |
|
|
|
|
DMA |
|
32 |
|
|
Комму |
|
PMD |
|
16/32/40/48/ 64 |
|
|
|
DMD |
|
32/40/64 |
|
|
|
татор |
|
|
|
|
||
шин |
|
|
|
|
|
|
|
Реги- |
|
|
Реги- |
|
|
|
стровый |
|
|
стровый |
|
|
|
файл |
|
|
файл |
|
|
|
16х40Бит |
|
|
16х40бит |
|
|
Умножитель |
|
Устр -во |
АЛУ |
Умножитель |
Устр-во |
АЛУ |
|
сдвига |
сдвига |
||||
|
|
|
|
|
||
|
|
|
Рис. 7.33 |
|
|
Архитектура SIMD процессора семейства ADSP-2116x включает в себя два вычислительных блока (PEx, PEy) и шины данных с удвоенным размером слова (DMD и PMD). Первый вычислительный блок PEx всегда находится во включенном состоянии. Второй вычислительный блок PEy может быть включен путем установки соответствующего бита в регистре управления. Шины данных удвоенной ширины обеспечивают каждый вычислительный блок собственным набором данных в каждом машинном цикле. При включенном режиме SIMD каждый вычислительный блок выполняет одну и ту же команду в каждом цикле (что соответствует первой части названия архитектуры «одна инструкция»), но при этом каждый вычислительный блок оперирует своим набором данных (что соответствует второй части названия архитектуры «двойной набор данных»). Использование архитектуры SIMD позволяет повысить эффективность вычислений при выполнении алгоритмов, которые могут быть оптимизированы путем разделения обрабатываемых данных на два параллельных потока. Для многих алгоритмов использование второго вычислительного блока уменьшает время, необходимое для выполнения программы, в два раза по сравнению с реализацией, использующей подход
SISD.
Процессор ADSP-21160 имеет полный набор периферийных устройств: процессор ввода-вывода, 4 Мбита статической двухпортовой памяти, встроенные возможности для построения многопроцессорных систем и набор портов (последовательные порты, порты связи, внешний порт, хостинтерфейсный порт, JTAG-интерфейс). Потребляемая процессором мощность составляет 2 Вт на частоте 100 МГц при использовании корпуса типа BGA с 400 выводами размером 27х27 мм. Пути развития процессоров семейства SHARC показаны на рис. 7.35.
Основные свойства 32-разрядного процессора семейства ADSP-
21160 SHARC
•Архитектура SIMD (одна инструкция - двойной набор данных)
•Программная совместимость с процессорами семейства ADSP-2106x
•Ядро, работающее на частоте 100 МГц с максимальной производительностью 600 MFLOPS
•Тот же набор периферийных устройств, что и у процессоров семейства
ADSP-2106x
•4М бита статической двухпортовой памяти
•Встроенные средства для построения мультипроцессорных систем
•Корпус типа BGA с 400 выводами размером 27х27 мм
Рис. 7.34
На рис. 7.36 показаны некоторые типичные команды, используемые при программировании процессоров семействе SHARC. Обратите внимание на алгебраический синтаксис языка Ассемблера, который упрощает кодирование алгоритмов и последующее чтение программы. В одном цикле процессор SHARC производит умножение, сложение, вычитание, запись в память, чтение из памяти и вычисление новых значений указателей адреса. В том же цикле процессор ввода-вывода может пересылать данные через последовательные порты, порты связи, осуществлять доступ во внутреннюю память или DMA, обновлять указатель, использующийся для DMA.
Семейство SHARC. Пути развития. .
Обязательная программная совместимость в будущем!
Многопроцессорные |
MP |
HPSHAR |
|
системы |
• 10 GFLOPs |
ADSP-21160M |
|
ADSP2106 |
• 64 Mбит |
|
Низ.цены
• 120-198 HP SHARC
ADSP-
• 0,5-4 Mби
|
ADSP-21161N |
• 1200 MFLOPs |
ADSP-21061 ADSP-21065 |
|
|
|
• <<$10 SHARC |
Массовое производство
Рис. 7.35
Пример выполнения многофункциональной инструкции процессором SHARC
f11 = f1 * f7, f3 = f9 + f14, f9 = f9 – f14, dm (i2, m0) = f13, f7 = pm (i8, m8);
νЗа один цикл SHARC производит:
υ1 (2) умножение
υ1 (2) сложение
υ 1 (2) вычитание |
( ) = ADSP-2116x SIMD DSP |
υ1 (2) чтение из памяти
υ1 (2) запись в память
υ2 обновления указателя адреса
νДополнительно процессор ввода-вывода может выполнять:
υПересылку данных через последовательные порты
υПересылку через 6 портов связи (при наличии)
υОперация DMA
υОбновление 2 (4) указателей DMA
Алгебраический синтаксис языка Ассемблера упрощает программирование алгоритмов DSP
Рис. 7.36
Построение многопроцессорных систем на основе процессоров семейства SHARC
Цифровые сигнальные процессоры SHARC компании Analog Devices, например процессоры ADSP-21160, оптимизированы для применения в многопроцессорных приложениях, таких как телефония, обработка медицинских изображений, радары, сонары, телекоммуникационные задачи и трехмерная графика. На рис. 7.37 показаны результаты тестирования процессоров SHARC на распространенных алгоритмах цифровой обработки сигналов.
Характеристики алгоритмов, реализуемых на DSP семейства SHARC
|
ADSP- |
ADSP-21160 |
ADSP-21160 |
|||
|
SHARC |
SISD |
multiple |
|||
Тактовая частота |
66 |
|
100 |
|
100 |
|
Длит. цикла |
15 нс |
10 нс |
10 |
нс |
||
MFLOPS |
132 |
|
200 |
|
400 |
|
MFLOPS |
198 |
|
300 |
|
600 |
|
1024 т. комп. БПФ |
274 |
|
180 |
|
90 |
|
(по осн. 4 |
|
|
|
|
|
|
Звено КИХ фильт. |
15 нс |
10 нс |
5 |
нс |
||
Звено БИХ фильт |
60 нс |
40 нс |
20 |
нс |
||
Умножение матриц |
|
|
|
|
|
|
(pipeline |
135 |
нс |
90 |
нс |
45 |
нс |
[3x3] * |
||||||
[4x4] * |
240 |
нс |
160 |
нс |
80 |
нс |
деление(y/x) |
90 |
нс |
60 |
нс |
30 |
нс |
Квадратный кор |
135 |
нс |
90 |
нс |
45 |
нс |
Рис. 7.37
Мультипроцессорные системы обычно используют один или сразу два метода связи между процессорными узлами в системе. Один метод предполагает использование канала связи, работающего по принципу «точка-точка». Такой метод многопроцессорной обработки данных называется потоковым (data-flow multiprocessing). При использовании другого метода процессорные узлы связываются через единую глобальную память посредством общей параллельной шины. Семейство процессоров SHARC поддерживает реализацию связи между процессорами по принципу «точка-точка» через шесть имеющихся портов связи. Процессоры SHARC поддерживают также усовершенствованный способ организации многопроцессорных систем, называемых кластерами, с общей параллельной шиной.
Для приложений, где требуется большая вычислительная мощность, а гибкость вычислительной системы не является основным параметром, потоковая обработка данных является наилучшим решением. Выполнение DSP алгоритма разделяется между несколькими процессорами, и данные проходят через них, как показано на рис 7.38 справа. Процессор SHARC идеально подходит для применения в таких приложениях, где требуется потоковая обработка данных, так как он не требует наличия межпроцессорного регистрового файла типа FIFO (первый вошел – первый вышел) или внешней памяти. Каждый SHARC имеет 6 портов связи, позволяющих создавать двумерные и трехмерные многопроцессорные массивы или организовывать традиционные системы потоковой обработки данных. Внутренняя память SHARC обычно достаточно велика, чтобы разместить в ней код и данные большинства приложений, использующих описанную топологию. Все, что требуется для такой системы — это несколько процессоров SHARC и набор необходимых соединений между ними.
Примеры построения многопроцессорных систем на основе процессоров семейства SHARC
|
|
|
Потоковая обработка данных |
||
Links |
Links |
Links |
Links |
Links |
Links |
|
|
|
|||
EP |
EP |
EP |
|
|
|
Кластер на процессорах SHARC |
Links |
Links |
Links |
||
|
|
|
|
|
|
Двумерный |
Links |
Links |
Links |
массив |
EP |
EP |
EP |
|
Links |
Links |
Links |
|
|
|
Порты связи для взаимодействия |
|
|
|
|
Кластер на процессорах SHARC |
по принципу «точка-точка» |
Расширение кластеров Шина кластера идеальна для
скоростного параллельного обмена
встроенный арбитраж шин
единое адресное пространство
Рис. 7.38
Сравнение взаимодействия через внешние порты и порты связи в многопроцессорной системе
νПреимущества использования внешнего порта (EP)
υ Взаимодействие через EP дает наибольшую пропускную
способность между двумя процессорами SHARCs (400 Mбайт/с)
υВозможно подключение до шести процессоров SHARC и хост-процесс
υEP обеспечивает гибкость при обмене данными и управлении
υНаличие общей памяти упрощает структуру программы
νПреимущества использования портов связи
υКаждый порт связи обеспечивает независимое взаимодействие двух процессоров SHARC на скорости 100 Mбайт/с
υИмеется до шести портов связи (600 Mбайт/с)
υВозможность построения системы из любого числа процессоров SHAR
νВзаимодействие через порты связи и через EP могут происходить параллельно
Рис.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 имеет уникальную способность увеличивать скорость обработки в зависимости от типа данных. Более того, кристалл обеспечивает высочайший уровень производительности при обработке данных с плавающей точкой.
В оборудовании телекоммуникационной инфраструктуры протоколы вокодера и канального кодера разработаны для 16-разрядного типа данных. Для улучшения качества сигнала многие телекоммуникационные приложения используют линейную коррекцию и технологию подавления эхо-сигналов, что существенно улучшает качество сигнала и характеристики системы. Эти алгоритмы выигрывают, благодаря увеличению точности обработки при применении 32-разрядных данных и данных с плавающей точкой. Поддержка 8-ми разрядного формата данных удобна при реализации часто используемого алгоритма декодера Витерби и при обработке изображений, где RGB сигналы, представляющие основные цвета, принято представлять 8-разрядными данными. Многие из этих приложений требуют высокого уровня производительности и могут предполагать использование алгоритмов, работающих последовательно или даже одновременно. Точные требования определяются конкретными приложениями. Гибкость архитектуры процессора TigerSHARC позволяет разработчикам программного обеспечения выполнять требования по точности, необходимые в том или ином приложении, без какихлибо потерь эффективности работы системы в целом. При использовании процессоров TigerSHARC производительность системы определяется применяемым форматом данных.
Архитектура процессоров TigerSHARC охватывает ключевые элементы целого ряда различных видов микропроцессоров. Это RISC (Reduced Instruction Set Computer), VLIW (Very Long Instruction Word) и DSP для получения наиболее эффективного цифрового сигнального процессора. Новая архитектура поддерживает на высоком уровне такие параметры, присущие DSP процессорам, как короткий машинный цикл с детерминированной длительностью, быстрая реакция на прерывания и отличный интерфейс с периферийными устройствами для поддержки высокой производительности вычислений и высокой скорости ввода и вывода данных. Чтобы достичь наиболее высоких результатов в работе ядра процессора, предусмотрены такие свойства RISC-архитектуры, как операции одновременной загрузки и сохранения данных, устройство управления выполнением команд с глубоким конвейером и предсказанием переходов, большой регистровый файл для передачи данных между вычислительными блоками. Кроме того, использование особенностей архитектуры VLIW позволяет более эффективно использовать программную память, особенно при реализации алгоритмов, характерных для задач управления.
TigerSHARC® - процессор, построенный по новой статической суперскалярной архитектуре компании
ANALOG DEVICES
RISC |
VLIW |
•загрузка / сохранение
•Глубокий конвейер команд дающий высокую скорость
•Предсказание переходов
•Большой регистровый
файл
• Параллелизм присутствует
на уровне комманд
DSP
• Детерминизм и выполнение программ в
реальном масштабе времени
• Быстрая система прерываний
• Высокая скорость ввода-вывода и при
• взаимодействии с внутр. памятью
Быстрое выполнение операций умножения с накоплением, поддержка циклических буфе
автоматическая проверка условия завершения цикла, бит-реверсивная адресац
Рис. 7.40
Главные свойства архитектуры TigerSHARC
Ядро
ν1200 MMACs/s@150 MГц-16 разр. дан.с фикс. точкой
ν300 MMACs/s @150 MГц- 32-разр.дан с плав. точкой
ν900 MFLOPS -- 32-разр. данные с плав. точкой
Память
ν6 Mбит внутр. SRAM, организован. как единое адр. пространство противоположность традиционной гарвардской архитектуре
Средства ввода-вывода, периферийные устр-ва и корпус
ν600 Mбайт/с скорость передачи данных через внешнюю шину
ν600 Mбайт/с скорость передачи данных через 4 порта связи
νВстроенная поддержка проц кластеров, вкл. до 8 ADSP-TS001s
ν4 порта ввода-вывода общего назначения
νКонтроллер SDRAM
νSBGA корпус 35Ч35 мм, 360 выводов
Рис. 7.41
Чтобы обеспечить все функциональные блоки командами, необходимо эффективно использовать доступную ширину слова команды. Иначе говоря, многофункциональные команды должны подаваться на вычислительные блоки одновременно и параллелизм выполнения операций должен планироваться заранее, до непосредственного выполнения программы.
Объединяя наилучший опыт, накопленный в мире, процессор TigerSHARC являет собой уникальную платформу для наиболее сложных приложений по цифровой обработке сигналов.