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

07

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

содержащееся в регистре, может быть заменено максимально или минимально возможной величиной, представимой в пределах 32-хразрядной сетки формате 1.32, в зависимости от природы переполнения.

Свойства умножителя с накоплением (МАС)

Производит в одном цикле умножение, либо умножение-сложение, либо умножение-вычитание

40-разрядный аккумулятор для защиты от переполнения (в ЦСП 219x добавлен второй 40-разрядный аккумулятор)

Команда насыщения осуществляет обработку переполнения за один машинный цикл

Вспомогательные регистры для быстрого переключения контекста

Примеры команд МАС:

MR = MX0 * MY0(US);

IF MV SAT MR;

MR = MR – AR * MY1(SS);

MR = MR + MX1 * MY0(RND);

IF LT MR = MX0 * MX0(UU);

Рис. 7.10

Устройство сдвига производит операции логического и арифметического сдвига, нормализации и денормализации, а также вычисления блочной экспоненты. Устройство может быть использовано для эффективного управления численными форматами, включая представление чисел в формате с плавающей точкой с повышенной точностью.

Свойства регистра сдвига

Нормализация (преобразование значений с фиксированной точкой в значения с плавающей точкой)

Денормализация (преобразование значений с плавающей точкой в значения с фиксированной точкой)

Арифметические и логические сдвиги

Поддержка блочной плавающей точки

Получение блочной экспоненты

Набор вспомогательных регистров для быстрого переключения контекста

Пример команд устройства сдвига:

SR = ASHIFT SI BY –6(LO); арифметический сдвиг

SR = SR OR LSHIFT SI BY 3(HI); логический сдвиг

SR = NORM MR1 (LO); аппроксимация

Рис.7.11

Вычислительные блоки располагаются параллельно, а не последовательно, так что результат работы любого блока может использоваться как исходное данное для другого блока в следующем машинном цикле. Для обеспечения такой возможности используется шина промежуточных результатов (R).

Адресный генератор и устройство управления выполнением команд

Два специализированных адресных генератора и мощное устройство управления выполнением программ делают использование вычислительных блоков еще более эффективным. Адресные генераторы (DAG) вычисляют адреса при перемещении данных из памяти в регистры и обратно. Каждый генератор DAG обладает четырьмя регистрами-указателями. Всякий раз, когда указатель используется для адресации данных (косвенная адресация), он модифицируется значением, содержащимся в специализированном регистремодификаторе. Для реализации автоматической циклической буферизации каждому регистру-указателю приписывается регистр, хранящий длину циклического буфера. При использовании двух независимых адресных

генераторов DAG процессор может генерировать одновременно два адреса для обеспечения одновременной выборки двух операндов.

DAG1 может осуществлять адресацию только в памяти данных. DAG2 может осуществлять адресацию и в памяти данных, и в памяти программ. Когда в конфигурационном регистре (MSTAT) установлен соответствующий управляющий бит, адресный генератор DAG1 осуществляет бит-реверсивную адресацию. Бит-реверсивная адресация существенно упрощает реализацию алгоритма БПФ по основанию 2.

Функции адресного генератора

Автоматическая поддержка циклических буферов

Каждый DAG включает четыре регистра-указателя

Поддержка одновременной выборки двух операндов

Бит-реверсивная адресация (DAG1) для БПФ

Вспомогательные регистры в ЦСП серии ADSP-219x

Примеры команд, в которых задействован DAG: AX0 = DM (I0, M3);

MODIFY (I1, M2);

MR = MR + MX0 * MY0, MX0 = DM(I0, M1), MY0 = PM(I4,M4);

Рис. 7.12

Устройство управления выполнением программ осуществляет вычисление адреса инструкции, выборка которой должна осуществляться по мере исполнения программы. Ключевым компонентом устройства является регистр команд, который хранит информацию о выполняемой в текущее время команде. Регистр команд образует одноуровневый конвейер в потоке обрабатываемых команд. Команды выбираются и загружаются в регистр команд в одном цикле шины процессора и выполняются в следующем цикле, в то время как осуществляется выборка следующей команды. Чтобы уменьшить количество дополнительных циклов, устройство поддерживает выполнение переходов по условию, вызовов подпрограмм и возвращений к выполнению главной программы за один машинный цикл. Используя внутренний счетчик цикла и стек цикла процессор может выполнять программу цикла с автоматической

проверкой условия завершения, без дополнительных затрат процессорного времени на организацию цикла. Таким образом, чтобы организовать цикл, команды явного перехода не требуются. Устройство также способно с минимальной задержкой реагировать на прерывания, поступающие от контроллера прерываний. Появление прерывания вызывает переход к определенной ячейке памяти, где хранится подпрограмма обработки прерывания. Короткая подпрограмма обработки прерывания может располагаться непосредственно в таблице векторов прерываний, где для этих целей зарезервировано четыре ячейки памяти. Для выполнения более сложной подпрограммы обработки прерывания приходится осуществлять переход с помощью команды JUMP в область памяти программ, где может быть размещена более длинная программа.

Функции устройства управления исполнением программ

Генерирует адрес следующей команды

Производит обработку прерываний с минимальной задержкой

Поддерживает аппаратные стеки

Условный переход осуществляется за один машинный цикл (218x)

Поддерживает автоматическую проверку условия завершения цикла

Пример программы для DSP семейства ADSP21xx:

CNTR = 10;

DO endloop UNTIL CE;

I0(DACCONTrOL) = AX0;

MR=MR+MX0* MY0(SS), MX0=DM(I0,M1),MY0=PM(I4,M5);

Endloop;

IF MV SET FL1;

If EQ CALL mysubroutine;

Рис.7.13

Встроенные периферийные устройства процессоров семейства

ADSP-21xx

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

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

Совместимость по кодам

 

 

 

Режим работы с

Совместимость по цоколевке

Упр-е режимом

 

расширенной

 

 

малого

 

 

памятью

Ядро ADSP-2100

потребления

 

 

Память

 

 

Внешняя

Адресный

Упр-во

 

Программир.

 

 

шина

Память

 

входы и выходы

генератор

управления

Память

адреса

DAG1 DAG2

вып. ком.

программ

данных

 

 

 

 

 

 

Внешняя

 

 

 

 

PMA

 

 

 

 

шина дан.

 

 

 

 

DMA

Контроллер

 

 

 

 

 

 

 

 

 

PMD

BDMA

 

 

 

 

DMD

или

 

 

 

 

 

Внеш.

Арифм. блоки

Послед. порты

таймер

шина дан.

 

 

 

 

 

SPORT 0

SPORT 1

 

 

 

 

Внутр.

 

АЛУ

MAC

У-во сдвига

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт DMA

 

Режим работы с хост процессором

Функции шины мультиплексированы для 100-выводного корпуса . Все возможности шины доступны при использовании корпуса со 128 выводами.

Рис. 7.14

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

Все члены семейства построены по модифицированной гарвардской архитектуре

o Память программы отделена от памяти данных

oДанные могут храниться в памяти программы

Различные представители семейства имеют различную конфигурацию памяти

Интерфейс внешней памяти поддерживает как быструю, так и медленную память с программируемыми состояниями ожидания

Поддерживаются варианты начальной загрузки из памяти с байтовой структурой через порт BDMA и через хост-интерфейс порт

Поддерживается отдельное адресное пространство портов

Встроенные средства арбитража внешней шины (сигналы запроса и предоставления шины)

Рис. 7.15

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

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

синхронизации или без нее. Каждый SPORT способен генерировать прерывания и поддерживает логарифмическое сжатие данных по законам А и u.

Встроенные периферийные устройства процессоров семейства ADSP-21xx: последовательные порты (SPORT)

Последовательные порты (SPORT) процессоров семейства ADSP-21xx используются для последовательной синхронной передачи данных

Обеспечивают дуплексную связь

Полностью программируемые

Обладают возможностью автобуферирования и прямого доступа в память

Поддерживают многоканальный режим с временным уплотнением каналов

Имеют встроенную опцию логарифмического сжатия данных с использованием законов А и u

Данные могут передаваться со скоростью от 25Мбит/с и более

Представляют вариант интерфейса с большим числом периферийных устройств или процессоров с последовательным синхронным портом

ЦСП семейства 219x имеют также последовательные порты стандарта SPI и последовательные асинхронные порты с возможностью начальной загрузки процессора через них.

Рис. 7.16

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

Встроенные периферийные устройства процессоров семейства ADSP-21xx: порт прямого доступа в память (IDMA)

1.Позволяет внешнему устройству обращаться к внутренней памяти DSP

2.Внешнее устройство или DSP могут задавать начальный адрес для передачи данных

3.Адрес автоматически инкрементируется для ускорения процесса передачи

4.16-разрядная шина поддерживает передачу данных и команд (семейство 219x поддерживает также 8-разрядную шину )

5.Передача осуществляется за один цикл

6.Возможна начальная загрузка процессора через IDMA порт

Рис. 7.17

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

Встроенные периферийные устройства процессоров семейства ADSP-21xx: байтовый порт прямого доступа к памяти (BDMA)

1.Представляет большой массив памяти для хранения кода и данных

2.Может осуществлять доступ к памяти размером до 4Мбайт

3.Поддерживает различные форматы данных

Автоматическая упаковка и распаковка 16- и 24-разрядных данных

Передача 8-разрядных данных с выравниванием по старшему или младшему байтам

4.Передача во внутреннюю память DSP или из внутренней памяти DSP происходит в фоновом режиме

Используется 1 машинный цикл для каждого слова

DSP определяет начальные адреса и количество передаваемых слов

5.Поддерживает начальную загрузку процесора

6.Позволяет иметь дополнительные сегменты программы

DSP может загружать нужные или выгружать ненужные сегменты кода

Процессор может работать во время передачи или останавливаться и перезагружаться после окончания передачи

Рис. 7.18

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

Встроенные периферийные устройства процессоров семейства ADSP-21xx: контроллер режима работы с низкой потребляемой мощностью

1.Поддерживает немаскируемые прерывания

Включается аппаратно или программно

2.Переводит процессор в «спящий» режим

3.Небольшое количество циклов тактового сигнала, требуемое для возвращения процессора в нормальный режим

4.Имеется сигнал подтверждения входа в режим с малой потребляемой мощностью (PWDACK)

5.Идеален для устройств, работающих от автономных источников питания

6.Семейство 219x выполнено по полностью статической технологии

Рис. 7.19

Из предыдущего обсуждения должно быть ясно, что цифровые сигнальные процессоры ADI разработаны таким образом, что выполнение типичных функций ЦОС, таких как БПФ или цифровая фильтрация, происходит с максимальной эффективностью. Процессоры могут выполнять несколько операций за один цикл, как уже было показано для приведенного выше примера с фильтром. Эффективность DSP обычно оценивается в MIPS (миллионах команд в секунду). Однако, количество MIPS не является исчерпывающей характеристикой процессора. Например, если процессор А имеет скорость выполнения команд 50 MIPS и может производить одну операцию за одну команду, то он сможет выполнять 50 миллионов операций в секунду, развивая производительность 50 MOPS. Теперь представим, что процессор В имеет скорость выполнения команд 20 MIPS, но может выполнять 4 операции за одну команду. Процессор В сможет выполнить 80 миллионов операций в секунду и развить производительность 80 MOPS, что гораздо более эффективно, чем в случае с процессором А. Еще более эффективный способ оценивания работы ЦСП состоит в использовании хорошо зарекомендовавшего себя эталонного тестера, такого как КИХфильтр с определенным числом звеньев или БПФ известного размера. Сравнение с эталонами, которые рассматриваются в следующей главе, позволит избежать ошибок, связанных с характеристиками, выраженными в MIPS и MOPS. Но даже применение эталона не позволяет дать правильную

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