1.Особенности архитектуры сигнальных процессоров (Архив, содержащий лекции)
Описание файла
Файл "1.Особенности архитектуры сигнальных процессоров" внутри архива находится в папке "Архив, содержащий лекции". Документ из архива "Архив, содержащий лекции", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "1.Особенности архитектуры сигнальных процессоров"
Текст из документа "1.Особенности архитектуры сигнальных процессоров"
1
1.Особенности архитектуры сигнальных процессоров
TMS320 - это семейство 16/32-разрядных цифровых сигнальных процессоров, сочетающих в себе гибкость высокоскоростного контроллера с вычислительными возможностями матричного процессора.
Объединение модифицированной Гарвардской архитектуры (разделение шины данных и программ) и специальных команд для цифровой обработки сигналов (ЦОС) позволило создать быстрый и гибкий микропроцессор, производительностью 12,8 MIPS (миллионов операций в секунду). Для увеличения быстродействия кристалла ряд операций выполняется аппаратными средствами, в то время как процессоры других изготовителей выполняют это программными средствами или с помощью микрокодов.
Области применения процессоров семейства TMS320.
ОБЩИЕ ЗАДАЧИ ЦОС
-
цифровой фильтр
-
свертка
-
корреляция
-
преобразование Гильберта
-
БПФ
-
адаптивный фильтр
-
окно
-
генерация сигнала
УПРАВЛЕНИЕ
-
управление диском
-
сервоконтроль
-
управление роботом
-
лазерный принтер
-
управление
-
двигателем
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА
-
анализ спектра
-
функциональный генератор
-
сравнение с эталоном
-
сейсмическая обработка
-
анализ переходных процессов
-
цифровой фильтр
-
фазовый цикл
ОБРАБОТКА РЕЧИ
-
речевая почта
-
речевой вокодер
-
распознавание речи
-
идентификация диктора
-
улучшение речи
-
синтез речи
-
преобразование текст – речь
ГРАФИКА/ОБРАБОТКА ОБРАЗОВ
-
3-мерные повороты
-
зрение роботов
-
преобразование и сжатие изображений
-
распознавание образов
-
улучшение изображения
-
гомоморфная обработка
-
анимационные карты
ВОЕННАЯ ОБЛАСТЬ
-
засекречивание связи
-
обработка для радара
-
обработка для сонара
-
обработка образов
-
навигация
-
наведение ракет
-
радиочастотный модем
ТЕЛЕКОММУНИКАЦИЯ
-
эхоподавление
-
адаптивные корректоры
-
ADPCN транскодер
-
факсимильная связь
-
цифровая АТС
-
сотовый телефон
-
линейные повторители
-
громкая связь
-
уплотнение каналов
-
цифровая интерполяция речи
-
модемы от 1200 до 19200 бод
-
пакетная коммутация
-
DTMF кодирование/ декодирование
-
телеконференция
-
широкополосная связь
ПРОМЫШЛЕННОСТЬ
-
робототехника
-
ЧПУ
-
засекречивание
-
контроль ЛЭП
-
программируемые контроллеры
В настоящий момент семейство TMS320 насчитывает пять поколений процессоров - TMS320C1x, TMS320C2x, TMS320C3x, TMS320C4x, TMS320C5x. Большинство характеристик семейства передаются из поколения в поколения, чем объясняется преемственность процессоров снизу доверху. В то же время каждое новое поколение приобретает ряд новых возможностей, которые повышают производительность, гибкость процессоров, создают возможности для реализации более сложных алгоритмов.
Мы рассмотрим второе поколение (TMS320C2x) семейства TMS320. Членами этого семейства в настоящий момент являются следующие кристаллы, базирующиеся на архитектуре процессора TMS32010:
-
TMS32020, n-МОП 20-МГц цифровой сигнальный процессор, имеет вдвое более высокую производительность, чем TMS320C2x;
-
TMS320C25, КМОП 40-МГц версия процессора TMS32020, имеет вдвое более высокую производительность, чем TMS32020;
-
TMS320C25-50, КМОП версия процессора TMS320C25 повышенного быстродействия (50-МГц);
-
TMS320E25, версия процессора TMS320C25 (40-МГц), имеет внутреннее ПЗУ программ с ультрафиолетовым стиранием;
-
TMS320E26, версия процессора TMS320C25 (40-МГц), имеет расширенное до 1568 слов внутреннее ОЗУ данных.
Ниже обозначение "TMS320C25" используется для ссылок на все процессоры TMS320 2-го поколения за исключением TMS32020.
Основные характеристики процессоров TMS320C2x:
-
200-нс командный цикл (только TMS32020).
-
100-нс командный цикл (только TMS320C25).
-
544 слова памяти данных RAM, расположенные на кристалле, из которых 256 слов могут отводиться под память программ.
-
Пространство программ/данных размером 128 К слов (64К 16 - память данных, 64К 16 - память программ).
-
16 входных и 16 выходных портов.
-
16-разрядный параллельный интерфейс.
-
Прямой доступ к памяти от внешних устройств.
-
Интерфейс глобальной памяти.
-
16-разрядный командный код.
-
16-разрядное слово памяти данных с 32-разрядным внутренним представлением.
-
32-разрядное ALU с 32-разрядным аккумулятором.
-
Одноцикловые команды умножения/сохранения.
-
0-16-разрядный масштабирующий сдвиг.
-
Арифметические операции с целыми числами.
-
Битовые и логические команды.
-
Набор команд, поддерживающих операции с плавающей точкой.
-
Перемещение блоков памяти программ/данных (до 80 Мбит/сек).
-
Возможность многократного повторения команд.
-
5 вспомогательных регистров для TMS32020, 8 вспомогательных регистров для TMS320C25 для хранения данных и для косвенной адресации памяти с автоинкреметом / автодекрементом их содержимого.
-
Отдельное арифметическое устройство для операций со вспомогательными регистрами.
-
Последовательный порт для построения многопроцессорных систем, кодеков, последовательных АЦП/ЦАП и т.д.
-
Вход для синхронизации многопроцессорных систем.
-
Циклы ожидания для связи с медленными внешними устройствами или памятью.
-
Внутренний таймер.
-
Три внешних маскируемых прерывания.
-
Внешний входной вывод для управления командами ветвления.
-
Внешний выходной вывод для управления внешними устройствами.
-
2.4-микронная КМОП - технология (только TMS32020).
-
Напряжение питания 5 В.
-
Внутренний тактовый генератор
-
68-выводовый корпус
1.1.Функциональная схема и назначение внешних выводов
Функциональная схема, показанная на рис. 10.1, отображает основные блоки и потоки данных внутри процессора. Архитектура TMS320C2x построена на основе двух шин – шины команд и шины данных. Шина команд служит для передачи кодов команд и непосредственных операндов, расположенных в памяти программ. Шина данных подсоединяет различные внутренние элементы процессора такие, как центральное арифметико-логическое устройство (CALU) и файл вспомогательных регистров к ОЗУ данных (RAM). Совместно шины команд и данных используются для передачи данных в одноцикловых командах умножения-сохранения.
TMS320C2x обладает высокой степенью параллелизма, т. е. в то время, когда происходит обработка данных в CALU, арифметические операции могут также происходить в арифметическом устройстве вспомогательных регистров (ARAU). В результате такого параллелизма появилась возможность создать мощный набор команд, выполняющих арифметические, логические операции и операции, манипулирующие битами, в течении одного машинного цикла.
На функциональной схеме обозначены следующие узлы и блоки:
Название | Символ | Описание |
Аккумулятор | ACCH(31:16) ACCL(15:0) | 32-разрядный аккумулятор-накопитель, состоит из двух регистров: ACCH (старшие разряды аккумулятора) и ACCL (младшие разряды аккумулятора). Используется для хранения результатов вычисления ALU. |
Арифметико-логическое | ALU | 32-разрядное арифметико-логическое устройство, оперирующее двоично-дополненными величинами, имеет два 32-разрядных входных порта и один 32-разрядный выходной порт, соединенный с аккумулятором-накопителем. |
Арифметическое устройство вспомогательных регистров | ARAU | 16-разрядное устройство беззнаковой арифметики для выполнения операций над данными, содержащимися во вспомогательных регистрах. |
Файл вспомогательных регистров | AR0 – AR7 (0:15) | Файл регистров, содержащий восемь 16-разрядных регистров, используемых для адресации памяти данных, для временного хранения или для выполнения арифметических операций с помощью ARAU. |
Шина файла вспомогательных регистров | AFB(0:15) | 16-разрядная шина; передает данные из текущего вспомогательного регистра. |
Указатель вспомогательных регистров | ARP(2:0) | 3-разрядный регистр, содержащий номер текущего вспомогательного регистра. |
Буфер указателя вспомогательных регистров | ARB(2:0) | 3-разрядный регистр для буферизации ARP. При каждой новой загрузке ARP, старое значение ARP записывается в ARB; Исключение составляет команда LST. Когда ARB загружается командой LST1, то же самое значение записывается в ARP. |
Центральное арифметико-логическое устройство | CALU | Совокупность ALU, умножителя, аккумулятора, и сдвигового регистра |
Шина данных | D(15:0) | 16-разрядная шина для передачи данных. |
Шина адреса | DAB(15:0) | 16-разрядная шина; передает адреса памяти данных. |
Шина прямого адреса памяти данных | DRB(15:0) | 16-разрядная шина; передает прямой адрес памяти данных, который образуется как объединение содержимого DP регистра и семи младших бит кода команды. |
Регистр – приемник последовательного порта | DRR(15:0) | 16-разрядный регистр принимаемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт. |
Указатель страницы памяти данных | DP(8:0) | 9-разрядный регистр указывает адрес текущей страницы данных. Каждая страница данных имеет размер 128 слов, в результате чего 512 страниц полностью адресуют пространство памяти данных (некоторые страницы зарезервированы). |
Регистр – передатчик последовательного порта | DXR(15:0) | 16-разрядный регистр передаваемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт. |
Регистр распределения глобальной памяти | GREG(7:0) | 8-разрядный регистр; определяет местоположение и размер пространства глобальной памяти. Адресуется как ячейка памяти данных. |
Регистр команд | IR(15:0) | 16-разрядный регистр; хранит текущую выполняемую команду. |
Регистр флагов прерываний | IFR(5:0) | 6-разрядный флаговый регистр для захвата активного низкого уровня внешних прерываний INT(2-0), внутренних прерываний XINT/RINT (прерывания по передаче/приему по последовательному порту, и TINT (прерывание по таймеру). IFR программно недоступен. |
Регистр масок | IMR(5:0) | 6-разрядный регистр масок прерываний; адресуется как ячейка памяти данных. |
Стек для | #MSC(15:0) | Однословный стек, который временно хранит содержимое PFC, в то время, пока PFC используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW). |
Умножитель | MUL | 1616 параллельный умножитель |
Шина команд | P(15:0) | 16-разрядная шина для передачи кодов команд (и данных во время выполнения команд MAC и MACD). |
Шина адреса памяти | PAB(15:0) | 16-разрядная шина; передает адрес памяти команд. |
Счетчик перезахватов | #PFC(15:0) | 16-разрядный счетчик команд для предварительного захвата команды PFC содержит адрес команды, которая должна быть предзахвачена. PFC обновляется в момент инициации нового предзахвата. PFC также используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW). |
Счетчик команд | PC | 16-разрядный счетчик команд для адресации памяти команд. Содержит адрес следующей выполняемой команды. Содержимое PC обновляется после расшифровки очередной команды. В TMS32020 счетчик команд выполняет функции, которые в TMS320C25 выполняет PFC. |
Регистр произведения | PR(31:0) | 16-разрядный регистр произведения (P-регистр) для хранения результата умножения. В TMS320C25 может быть доступен с помощью команд SPH/SPL (сохранить содержимое старшего/младшего слова P-регистра). |
Регистр периода | PRD | 16-разрядный регистр для загрузки таймера, адресуемый как ячейка памяти |
Регистр очереди команд | #QIR(15:0) | 16-разрядный регистр для хранения предварительно захваченных кодов команд. |
Память с произвольным доступом (данные и команды) | RAM (B0) | 25616 RAM блок; в зависимости от конфигурации может использоваться либо как память данных либо как память команд. |
Память с произвольным доступом (только данные) | RAM (B1) | 25616 RAM блок для хранения данных. |
Память с произвольным доступом (только данные) | RAM (B2) | 3216 RAM блок для хранения данных. |
Счетчик повторений | RPTC | 8-разрядный счетчик для управления многократными повторениями одной команды. |
Регистр сдвига приемника последовательного порта | #RSR(15:0) | 16-разрядный регистр для сдвига входных данных последовательного порта, полученных с контакта RX. Содержимое RSR передается в DSR после того, как передача завершена. RSR программно недоступен. |
Сдвиговые регистры | SFL, SFR | Сдвиговые регистры вправо (SFR) и влево (SFL) расположены на входе в ALU, на выходе из аккумулятора и на выходе из P-регистра. Еще один сдвиговый регистр есть внутри аккумулятора. |
Стек | Stack | 4/8 16 аппаратный стек для размещения значений PC в течение прерываний или программных вызовов. ACCL и значения памяти данных могут быть также размещены в стеке и вытолкнуты из стека. |
Регистры состояния | ST0, ST1 | Два 16-разрядных регистра состояния для хранения управляющих битов и битов состояния. |
Регистр временного хранения | TR(15:0) | 16-разрядный регистр для хранения либо одного из сомножителей при умножении, либо кода сдвига для сдвигового регистра. |
Таймер | TIM | 16-разрядный таймер (счетчик) для управления временными интервалами; адресуется как ячейка памяти. |
Регистр сдвига передатчика последовательного порта | #XSR(15:0) | 16-разрядный регистр для сдвига выходных данных последовательного порта, выводимых на контакт DX. XSR загружается из DRR перед выполнением передачи. XSR программно недоступен. |
Примечание. Знаком диез (#) обозначены элементы, которые имеются только у процессора TMS320C25.
*PS
*DS
*IS
*SYNC
R/*W
*STRB
*READY
*BR
XF
*HOLD
*HLDA
*MSC
*BIO
*RS
*IACK
*INT(2:0)
*CLKOUT1
*CLKOUT2
X1
X2
MUX
A(15:0)
MUX
D(15:0)
PFC(16)
MCS(16)
MUX
PC
PROG