Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

07

.pdf
Скачиваний:
30
Добавлен:
09.04.2015
Размер:
1.43 Mб
Скачать

Архитектура ядра процессора семейства 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 являет собой уникальную платформу для наиболее сложных приложений по цифровой обработке сигналов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]