Новые цифровые процессоры обработки сигналов фирмы Analog Devices

Новые цифровые процессоры обработки сигналов фирмы Analog Devices

Еще весной этого года в журнале «Компоненты и Технологии» №№ 3, 4 был опубликован обзорный цикл статей с описаниями цифровых процессоров для обработки сигналов, производимых фирмой Analog Devices. В том цикле были рассмотрены эволюционные пути развития и особенности архитектуры цифровых процессоров, широко используемых в современных системах обрабоки сигналов, а также кратко упомянуты процессоры следующего поколения, находившиеся в момент подготовки статей в стадии разработки. Прошло чуть более полугода, и появилась необходимость дать более подробное описание этих процессоров, поскольку развитие элементной базы и используемой для ее создания технологии идет сверхбыстрыми темпами. Ведущие мировые производители электронных компонентов в полную силу осваивают технологию производства с геометрией 0,18 мкм, постоянно повышая тактовую частоту работы процессоров и совершенствуя их внутреннюю архитектуру, что ведет к существенному росту производительности, то есть числу выполняемых в единицу времени операций.

Алексей Соловьев

solo@argussoft.ru

Эволюция цифровых процессоров обработки сигналов фирмы Analog Devices происходит в рамках снижения стоимости 32-разрядных процессоров с более совершенной архитектурой и расширения функциональных возможностей более простых 16-разрядных процессоров. Логическим развитием ставших уже достаточно популярными семейств процессоров ADSP-218x и ADSP-2106x является новая линейка соответственно с 16- и 32-разрядной архитектурой ADSP-219x и ADSP-2116x. Новые семейства процессоров сохраняют программную совместимость с процессорами третьего поколения, что позволяет использовать приложения и инструментальные средства, разработанные под предыдущие серии. В данной статье будет дано несколько более подробное описание процессоров семейства ADSP-219x.

ADSP-2192 -16-разрядный процессор обработки сигналов фирмы Analog Devices

ADSP-2192, появление которого на рынке ожидается в начале 2001 года, является первым процессором из семейства DSP с фиксированной точкой, отнесенным фирмой Analog Devices к четвертому поколению. Тактовая частота нового процессора — 160 МГц, производительность — 320 MIPS (миллионов инструкций в секунду), что более чем в четыре раза выше максимальной производительности процессоров семейства ADSP-218x. Развитие процессоров четвертого поколения будет идти двумя путями — с одной стороны, к дальнейшему увеличению

производительности до 1200 М1Р8, а с другой — к снижению энергопотребления до 0,1 мВт/М1Р8.

Итак, ЛБ8Р-2192 представляет собой однокристальный микрокомпьютер, оптимизированный под цифровую обработку сигналов и/или любые другие приложения, требующие большой скорости вычислений. ЛБ8Р-2192 объединяет в одном кристалле два процессорных ядра, каждое из которых представляет базовую архитектуру семейства ЛБ8Р-219х (три вычислительных устройства, два генератора адресов данных и устройство управления). Кроме того, в состав процессора входят РС1, И8Б и АС97-совместимые порты обмена информацией, контроллер ПДП, программируемый таймер, комплект флагов ввода/вывода, развитая схемотехника обработки прерываний, а также память программ и данных на кристалле.

Как упоминалось ранее, процессор ЛБ8Р-2192 программно совместим с процессорами семейства ЛБ8Р-218х, что достигнуто за счет применения той же Гарвардской архитектуры ядра процессора, используемой в процессорах младших поколений (рис. 1). Тем не менее в архитектуре ЛБ8Р-2192 можно заметить множество отличий по сравнению с ЛБ-8Р-218х. Эти отличия (естественно, в лучшую сторону) затронули и вычислительные устройства, и генераторы адресов данных, и устройство управления, сделала ЛБ8Р-2192 более гибким и даже легче программируемым по сравнению с ЛБ8Р-218х. В микросхеме, выпускаемой в 144-выводном корпусе LQFP, предусмотрено несколько режимов пониженного энергопотребления, позволяющих эффективно использовать процессор в портативных переносных устройствах с батарейным питанием. Время вы-

полнения одной команды составляет всего 6,25 нс (160 МГц). Все команды процессора (за исключением двух многословных) исполняются за один машинный цикл. Гибкая архитектура и хорошо развитая система команд позволяет осуществлять распараллеливание вычислительных операций. Так, к примеру, в рамках одного машинного цикла каждое ядро процессора может:

— подготовить адрес команды, которая будет исполнена в следующем цикле;

— выбрать адрес выполняемой команды;

— произвести одну или две операции пересылки данных;

— модифицировать один или два указателя адреса;

— произвести вычислительную операцию. В это же время процессор может продолжать:

— получать и/или передавать данные через Хост-порт (РС1 или И8Б интерфейс);

— получать или передавать данные через АС97;

— уменьшать содержимое двух таймеров.

Архитектура ядра процессора

Как упоминалось, архитектура ядра ЛБ8Р-2192 имеет много общего с архитектурой ЛБ8Р-218х. Поэтому в целях экономии места остановимся на отличиях. Как отмечалось многими пользователями, одним из неудобств, ограничивающих применение процессоров серии ЛБ8Р-218х, является жесткая привязанность внутренних регистров к определенному вычислительному устройству. В процессорах ЛБ8Р-219х для обмена информацией с вычислительными устройствами используется регистровый файл, в котором каждый регистр может служить либо входом, либо выходом соответствующего вычислительного устройства. Некоторые ограничения по использованию регистров могут иметь только условные (команды, выполня-

емые по заданному условию) и многофункциональные команды.

Устройство управления работает по тому же принципу, что и в процессорах младших моделей, поддерживая быстрое выполнение условных переходов, вызовов подпрограмм, малое время реакции на прерывания. С помощью внутренних счетчиков и стеков циклов ЛБ8Р-2192 (так же как и его предшественники) выполняет циклические вычисления без лишних временных затрат на проверку условия окончания цикла и переход в его начало. Отличительной особенностью устройства управления является наличие аппаратной кэшпамяти команд длиной 64 24-разрядных слова, которая используется для организации небольшого, но эффективного конвейера по выборке команд и более быстрого исполнения повторяющихся участков программного кода.

Два генератора адресов выборки данных (ГАВД) используются для одновременной выборки операндов из памяти. Каждый из ГАВД управляет двумя наборами из четырех 16-разрядных указателей адреса. В дополнение к имеющимся в семействе поцессоров ЛБ8Р-218х режимам адресации добавлен ряд новых режимов косвенной адресации (с предварительной или последующей модификацией содержимым соответствующих регистров). Кроме того, для организации кольцевых буферов в памяти соответствующие регистры могут хранить базовый адрес и длину буфера. Регистры страниц позволяют организовать и страничную адресацию с объемом одной страницы памяти 64К слов. Наличие двух идентичных наборов указателей позволяет легко реализовывать контекстное переключение.

Обмен информацией внутри ядра процессора осуществляется по внутренним шинам, идентичным соответствующим шинам процессоров семейства ЛБ8Р-218х, с одной лишь разницей — ширина шин адреса (как программ, так и данных) увеличена с 14 разрядов до 24, что позволило существенно рас-

ширить адресное пространство процессоров семейства ADSP-219x.

Архитектура памяти процессора ADSP-2192

Внутренняя оперативная память процессора ADSP-2192 состоит из 140К слов. Память разделяется на память программ (ПП) и память данных (ПД). Дальнейшее разделение памяти осуществляется по процессорам ядра. Первое ядро имеет доступ к 64К словам данных (16 бит) и 16К словам памяти программ (24 бит). Второе ядро — к 32 К и 16К соответственно. Кроме того, оба ядра имеют доступ к общей (разделяемой) памяти данных объемом 4К х 16 разрядов. Для начальной загрузки каждое ядро имеет свою постоянную память, объемом 4К х 24 слова, програмирую-мую при изготовлении процессора и содержащую несколько различных программ начальной загрузки. Для организации эффективного обмена информацией между ядрами процессоров существует общее пространство регистров ввода/вывода, состоящее из 256 16разрядных регистров.

ADSP-2192 — периферия

Как видно из рис.1, для связи с внешним миром ADSP-2192 имеет множество возможностей. Таковая связь может осуществляться через хост-порт (PCI или USB), порт аудиокодека (АС97), JTAG-порт тестирования и эмуляции, а также через флаги ввода/вывода и контроллер прерываний. Порт аудиокодека обеспечивает связь с внешним миром через полноценный дуплексный синхронный последовательный интерфейс, полностью соответствующий стандарту AC97. До 8 внешних выводов процессора ADSP-2192 могут использоваться в качестве програмируемых флагов ввода/вывода для организации взаимодействия с внешними устройствами. Програмируе-мый интервальный таймер, так же как и в процессорах ADSP-218x, может генерировать временно-зависимые прерывания.

Обработка прерываний

Контроллер прерываний обеспечивает эффективную обработку до 13 прерываний в любое заданное время. Прерывания могут быть вложенными, тогда их обработка ведется в соответствии с аппаратными приоритетами. Прерывания имеют аппаратную систему приоритетов, самыми высокими из которых обладают соответственно сброс (Reset), переход в экономичный режим (Powerdown) и прерывание от эмулятора, которые невозможно замаскировать. Все остальные можно разрешить или запретить программно. Для управления прерываниями и отработки сложных ситуаций взаимной вложенности прерываний, подпрограм и циклов на кристалле предусмотрены наборы регистров со стековым доступом. Так, глубина стека счетчика команд составляет 33 уровня, стека счетчика циклов — 8 уровней, стека статуса — 16 уровней. Кроме того, для предотвращения пере-

Конфи- Конфи- Конфи- ИНТЕРФЕЙС

гурация гурация гурация

1 2 3 PCI

ИНТЕРФЕИС

USB

пдп

пдп

П ФЛАГИ П

Д П ADSP-219х Ядро DSP#1 ПРЕРЫВАНИЯ ADSP-219х Ядро DSP#2 Д П

П П

Д Д

П П

>х

ш

X

ФЛАГИ

ВВОДА/

ВЫВОДА

ИНТЕРФЕЙС АС 97

ПЗУ ОЗУ №1 Общее ОЗУ № 2 ПЗУ

Загрузки 64К х 16 ПД ОЗУ 32Кх16ПД Загрузки

16кх24ПП 4Кх 16 16кх24 ПП

Рис. 1

полнения стеков предусмотрено дополнительное программное прерывание, которое вырабатывается, когда уровень вложенности стека счетчика программ превышает 28. И как уже упоминалось, для быстрой обработки прерываний эффективно используется так называемый «теневой» комплект регистров ГАВД, позволяющий быстро переключиться с одного набора регистров на другой одновременно с сохранением состояния процессора.

Контроллер прямого доступа к памяти

Для эффективного обмена информацией между процессорами, памятью и быстрыми внешними устройствами можно использовать режим прямого доступа к памяти (ПДП). Контроллер ПДП имеет 14 каналов обмена. При этом обмен информацией с ядром процессора происходит без потерь времени, а обмен между памятью и внешним устройством (PCI, AC97) осуществляется с «потерей» цикла. Обмен информацией в режиме ПДП может быть осуществлен также и между периферийными устройствами, имеющими соответствующие каналы ПДП.

Внешние интерфейсы

ADSP-2192 поддерживает несколько стандартных интерфейсов для подключения к внешним устройствам, что позволяет эффективно строить Plug-and-Play системы. Три независимые програмируемые и реконфигурируемые конфигурации PCI-интерфейса (PCI, Sub-ISA, CardBus) дают возможность организовать интерфейс с широким спектром внеш-

них устройств с параллельным доступом, работающих в разных стандартах.

Для организации обмена информацией с помощью последовательного интерфейса AD-SP-2192 поддерживает стандартный USB 1.1 хост-интерфейс, интерфейс внешнего аудиокодека (АС97) и интерфейс взаимодействия с последовательной электрически перепрограммируемой памятью.

Средства программирования и отладки

Как отмечалось, процессоры серии ADSP-219x сохранили программную совместимость с процессорами младших моделей. Тем не менее, для программирования процессоров AD-SP-219x необходимо использовать новейшие эффективные комплекты программных средств VisualDSP (версия 7.0) и VisualDSP++ (версия 1.0 и старше), которые включают в себя помимо привычных ассемблера, линкера и симулятора еще и компилятор С с оптимизатором и отладчиком. В состав этих комплектов входят специальные утилиты, позволяющие эффективно перенести написанные для процессоров серии ADSP-218x прикладные программы на новую платформу. Для организации аппаратной отладки систем, использующих ADSP-219x, необходимо пользоваться внутрисхемным эмулятором, подключаемым к процессору через JTAG-интерфейс.

Итак, в настоящей статье были рассмотрены основные аппаратные особенности и характеристики семейства новейших цифровых процессоров для обработки сигналов фирмы Analog Devices. Дополнительную информацию и рекомендации по переносу кода (про-

грамм), написанного под процессоры серии АБ8Р-218х на АБ8Р-219х, а также по организации работы конвейера в устройстве управления и по режимам начальной загрузки можно увидеть на w ww.analog.c от.