5.4.       Встроенные периферийные устройства процессоров семейства ADSP-21xx

В подразделе 5.3 мы обсуждали архитектуру ядра процессоров семейства ADSP-21xx с фиксированной точкой, которая является одинаковой для всех представителей семейства. Теперь мы рассмотрим встроенные периферийные устройства, которые имеют различную конфигурацию и разные возможности в зависимости от конкретного исполнения представителя семейства. Архитектура процессора семейства ADSP-218x показана на рис. 5.3.

Подпись:  

Рис. 5.3. Архитектура процессоров семейства ADSP-218x

Семейство 21xx имеет множество различных вариантов процессоров с разными объемами встроенной памяти, В более новом семействе 218x имеются представители, включающие до 48 К слов памяти программ и 56 К слов памяти данных. Все представители семейства используют модифицированную гарвардскую архитектуру, которая предполагает раздельные адресные пространства памяти программы и памяти данных и позволяет хранить данные в памяти программы. Интерфейс внешней памяти поддерживает как быструю, так и медленную память с программируемыми состояниями ожидания. Процессоры семейства ADSP-218x также поддерживают отдельное адресное пространство портов ввода-вывода.

Все представители семейства 21xx (кроме сигнальных процессоров ADSP-2105) имеют два последовательных порта с двойной буферизацией (SPORT) для приема и передачи последовательных данных. Каждый SPORT является двунаправленным и имеет свой собственный программируемый генератор битовой и фреймовой синхронизации. Длина слова SPORT может изменяться от 3 до 16 разрядов. Данные могут передаваться с использованием фреймовой синхронизации или без нее. Каждый SPORT способен генерировать прерывания и поддерживает логарифмическое сжатие данных.

Порт IDMA процессоров семейства ADSP-218xx поддерживает возможность начальной загрузки процессора от хост-компьютера и возможность доступа со стороны хост-компьютера во внутреннюю память DSP для чтения и записи «на лету», когда DSP занимается выполнением своей программы. Порт IDMA позволяет главному процессору осуществлять доступ ко всей внутренней памяти DSP без использования почтовых регистров. Порт IDMA поддерживает передачу 16- и 24-разрядных слов, при этом передача 24-разрядных слов происходит за два машинных цикла.

Процессоры семейства ADSP-218xx обладают также интерфейсом для взаимодействия с памятью, которая имеет байтовую организацию. Данный интерфейс может использоваться для начальной загрузки процессора и для передачи данных из внутренней памяти и во внутреннюю память «на лету». Максимальный размер адресуемой внешней восьмибитовой памяти составляет 4 МВ. Данное адресное пространство играет роль загрузочной области (boot memory), характерной для представителей семейства 21хх. Байтовая память имеет организацию 256 страниц по 16 К х 8 бит. Передача данных в

байтовую память и из нее может осуществляться с упаковкой или распаковкой 24-разрядного, 16-разрядного и 8-разрядного (с выравниванием по младшему или старшему байту) форматов. При доступе к внутренней памяти DSP контроллер DMA занимает один машинный цикл, во время которого ядро не может осуществлять доступ в память.

Процессоры ADSP-21xx, ADSP-218x и ADSP-21msp5x имеют специальный режим работы с низкой потребляемой мощностью, который позволяет достигнуть потребления мощности меньше 1 мВт. Переход в данный режим может осуществляться аппаратно или программно. Это особенно важно для устройств, работающих от автономных источников питания. В некоторых режимах работы с низкой потребляемой мощностью отключается внутренний тактовый сигнал, но содержимое памяти и регистров при этом сохраняется.

Из всего сказанного должно быть ясно, что цифровые сигнальные процессоры ADI разработаны таким образом, что выполнение типичных функций ЦОС (БПФ или цифровая фильтрация) происходит с максимальной эффективностью. Процессоры могут выполнять несколько операций за один цикл. Эффективность DSP обычно оценивается в MIPS. Однако количество MIPS не является исчерпывающей характеристикой процессора.

Например, если процессор А имеет скорость выполнения команд 50 MIPS и может производить одну операцию за одну команду, то он сможет выполнять 50 миллионов операций в секунду (MOPS), развивая производительность 50 MOPS. Теперь представим, что процессор В имеет ско