1.Особенности архитектуры сигнальных процессоров (Архив, содержащий лекции), страница 6
Описание файла
Файл "1.Особенности архитектуры сигнальных процессоров" внутри архива находится в папке "Архив, содержащий лекции". Документ из архива "Архив, содержащий лекции", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "1.Особенности архитектуры сигнальных процессоров"
Текст 6 страницы из документа "1.Особенности архитектуры сигнальных процессоров"
Таблица 3-5. Размещение векторов прерывания и приоритет прерываний.
Вектор прерывания | Размещение в памяти | Приоритет | Функции |
*RS | 0 | 1 (высший) | Внешний сигнал сброса |
*INT0 | 2 | 2 | Внешнее прерывание #0 |
*INT1 | 4 | 3 | Внешнее прерывание #1 |
*INT2 | 6 | 4 | Внешнее прерывание #2 |
8-23 | Зарезервировано | ||
TINT | 24 | 5 | Внутреннее прерывание от таймера |
RINT | 26 | 6 | Прерывание по приему от последовательного порта |
XINT | 28 | 7 (низший) | Прерывание по передаче к последовательному порту |
TRAP | 30 | N/A | Адрес команды TRAP |
Когда появляется сигнал прерывания, он (кроме *RS) записывается в соответствующий бит 6-разрядного регистра флагов прерываний (IFR). Каждое прерывание хранится до тех пор, пока оно не будет обработано, и сбрасывается сигналом *IACK (подтверждение прерывания) или сигналом *RS (сброса). Не предусмотрены никакие команды для чтения или записи в регистр IFR.
Процессор TMS320C2х имеет адресуемый регистр масок прерываний (IMR) для маскирования внешних и внутренних прерываний. Структура регистра показана на рис. 3-19. Единичное значение бита в разрядах 5 - 0 регистра IMR разрешает соответствующее прерывание, при условии, что INTM = 0. Регистр IMR адресуется при операциях чтения или записи, но не может считываться, используя команду BLKD. При считывании содержимого регистра IMR не используемые биты (15 - 6) будут считываться как единицы. Младшие 6 бит используются для записи или чтения из регистра IMR. Заметим, что сигнал *RS не представляется в IMR, и поэтому регистр IMR не влияет на сброс.
Зарезервировано | XINT | RINT | TINT | *INT2 | *INT1 | *INT0 | |||||||
15 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Рис. 10.6. Регистр маски прерываний (IMR).
Бит INTM (режима прерываний), который является битом 9 регистра состояния ST0, разрешает или блокирует все маскируемые прерывания. Нулевое значение данного бита разрешает все немаскированные прерывания, а единичное значение данного бита блокирует эти прерывания. Бит INTM устанавливается в 1 сигналом *IACK (подтверждения прерывания), командой DINT или сбросом. Этот бит сбрасывается в нулевое состояние командой EINT. Заметим, что данный бит не изменяет содержимое регистров IMR и IFR.
Процессор TMS320C2х имеет встроенный механизм для защиты многоцикловых команд. Если сигнал прерывания генерируется во время выполнения многоцикловой команды, прерывание не обрабатывается до тех пор, пока команда не будет выполнена. К таким командам также относятся команды, которые становятся многоцикловыми с помощью сигнала готовности READY.
Кроме того, процессор также не разрешает обрабатывать сигналы прерывания, когда команда повторяется при помощи команд RPT или RPTK. Прерывание хранится в регистре IFR до тех пор, пока счетчик повторений (RPTC) не установится в нулевое состояние, и лишь после этого обрабатывается сигнал прерывания. Заметим, что если даже сигнал прерывания будет снят во время выполнения процессором TMS320C2х команд в режиме повторения, сигнал прерывания все же будет зафиксирован регистром IFR и будет сохраняться в нем до тех пор, пока RPTC не установится в нулевое состояние.
Если линия сигнала *HOLD и линия прерывания становятся активными во время многоцикловой команды или режима повторения, сигнал *HOLD берет управление процессором в конце команды или цикла. Когда сигнал *HOLD снимается, происходит обработка прерывания.
Сигналы прерывания не могут обрабатываться между командой EINT и следующей за ней командой. Например, если прерывание происходит во время выполнения команды EINT, устройство всегда завершит выполнение команды EINT, а также следующей команды, прежде чем будет обрабатывать задержанное прерывание. Это обеспечивает выполнение команды RET прежде, чем обрабатывается следующее прерывание, в предположении, что команда RET следует за командой EINT. Состояние процессора при получении сигнала прерывания может быть сохранено и восстановлено.
1.5.2.Универсальные контакты *BIO и XF
Процессор TMS320C2х имеет 2 вывода общего назначения, которые управляются программными средствами. Вывод *ВIO является входным выводом управления ветвлением, а вывод XF является выходным выводом внешнего флага.
Если входной вывод *BIO находится в активном состоянии (низкий уровень), команда BIOZ осуществляет ветвление. Этот вывод является полезным для контроля состояния периферийных устройств. Особенно он полезен в качестве альтернативы использованию прерываний, когда требуется не вторгаться в критичные ко времени циклы.
Выходной вывод XF (внешний флаг) устанавливается в высокое состояние командой SXF (установка внешнего флага) или сигналом сброса *RS и сбрасывается в низкое состояние командой RXF.
1.5.3.Внешняя память и интерфейс ввода-вывода
Микропроцессор TMS320C2х поддерживает широкий диапазон интерфейсных систем. Адресное пространство данных, программ и ввода/вывода обеспечивает сопряжение с памятью и внешними устройствами, что увеличивает возможности системы. Интерфейс локальной памяти состоит из:
-
16-ти разрядной шины данных (D0-D15).
-
16-ти разрядной шины адреса (A0-A15).
-
Адресных пространств данных, программ и ввода/вывода выбираемых сигналами (*DS, *PS и *IS).
-
Различных сигналов управления системой.
Сигнал R/*W управляет направлением передачи, а сигнал *STRB управляет передачей. Пространство ввода/вывода содержит 16 портов для ввода и 16 портов для вывода. Эти порты обеспечивают полный 16-разрядный интерфейс со внешними устройствами по шине данных. Одноразовый ввод/вывод с помощью команд IN и OUT выполняется за два командных цикла; однако использование счетчика повторений снижает время одного обращения к порту до 1-го цикла.
Использование ввода/вывода упрощается тем, что ввод/вывод осуществляется также, как и обращение к памяти. Устройства ввода/вывода отображаются в адресном пространстве ввода/вывода, используя внешние адреса процессора и шину данных, таким же образом, как память. При адресации внутренней памяти шина данных находится в третьем состоянии, а управляющие сигналы в пассивном состоянии (высоком).
Взаимодействие с памятью и устройствами ввода/вывода на различных скоростях обеспечивается сигналом READY. При связи с медленными устройствами, TMS320C2x ждет, пока устройство не завершит свою работу и просигнализирует процессору об этом через линию READY, после чего процессор продолжит работу.
1.5.4.Мультипроцессорная обработка и прямой доступ к памяти
Гибкость архитектуры процессора TMS320C2x позволяет создавать широкий набор различных систем. Некоторые из системных конфигураций, использующих процессор TMS320C25, перечислены ниже:
-
автономная система (одиночный процессор);
-
многопроцессорная система с параллельным обменом;
-
система из ведущего и ведомого процессоров с обменом через глобальную память;
-
периферийный процессор, управляемый интерфейсными сигналами.
Создание данные систем стало возможным, благодаря трем специальным особенностям процессора TMS320C2x. Этими тремя особенностями являются: функция синхронизации, использующая контакт *SYNC, интерфейс глобальной памяти и функция захвата, реализуемая с помощью контактов *HOLD и *HOLDA. Следующие разделы описывают эти функции более подробно.
Синхронизация. В мультипроцессором режиме вход *SYNC может использоваться для значительного облегчения сопряжения между процессорами. Этот вход используется для того, чтобы заставить каждый процессор TMS320C2x в системе синхронизировать свое внутреннее тактирование с другими процессорами, что позволяет процессорам работать в жесткой конфигурации.
Процессоры TMS320C2x синхронизируются, используя общий вход *SYNC и внешние тактовые сигналы. Отрицательный фронт сигнала *SYNC устанавливает каждый процессор в первую фазу работы (Q1). Этот фронт должен поступать синхронно с нарастающим фронтом сигнала CLKIN.
Обычно сигнал *SYNC подается в то время, когда сигнал *RS имеет активный уровень. Если сигнал синхронизации устанавливается в активное состояние после сброса, то может произойти непредсказуемая работа процессора.
Глобальная память. При многопроцессорной обработке процессор TMS320C2x имеет возможность использования области глобальной памяти данных и связи с этой областью с помощью управляющих сигналов *BR (запрос шины) и READY (готовность). Глобальная память является памятью, разделяемой более чем одним процессором. Поэтому доступ к ней должен регулироваться. При использовании глобальной памяти адресное пространство памяти данных процессора делится на локальное и глобальное. Локальная область используется процессором для выполнения своих собственных функции, а глобальная используется для связи с другими процессорами.
Адресуемый регистр распределения глобальной памяти GREG позволяет часть памяти данных использовать в качестве внешней глобальной памяти. Содержимое регистра GREG определяет размер и расположение области глобальной памяти.
Когда адрес памяти данных, прямой или косвенный, соответствует адресу глобальной памяти, который определяется регистром GREG, сигнал *BR переводится в низкое состояние одновременно с сигналом *DS для указания того, что процессор хочет обратиться к глобальной памяти. Далее внешняя логика решает вопрос об управлении глобальной памятью, устанавливая в активное состояние READY, когда процессор TMS320С2x имеет доступ к глобальной памяти.
Функция захвата. Процессор TMS320C2х обеспечивает прямой доступ к своим внешним локальным областям памяти программ, данных и параллельных портов ввода-вывода. Два сигнала *HOLD и *HOLDA могут быть использованы для того, чтобы позволить другому устройству взять на себя управление шинами процессора. При получении сигнала *HOLD от внешнего устройства, процессор подтверждает захват, устанавливая сигнал *HOLDA в низкое состояние. Далее процессор переводит свои адресную шину и шину данных, а также все управляющие сигналы (*PS, *DS, *IS, R/*W и *STRB) в третье состояние. На выходные контакты последовательного порта DX и FSX сигнал *HOLD не влияет.
В отличие от внешних прерываний *INT2-*INT0, сигнал *HOLD не имеет входной защелки. Поэтому внешнее устройство должно удерживать сигнал *HOLD в низком уровне до тех пор, пока оно не получит сигнал *HOLDA от TMS320C2x.
В TMS320C25 функция захвата имеет два режима работы, выбираемых с помощью бита НМ (режима захвата) в регистре состояния ST1. Когда НМ=1, процессор TMS320C25 прекращает выполнение программы и непосредственно входит в состояние захвата. (Этот режим соответствует режиму захвата процессора TMS32020.) Когда НМ=0, процессор входит в состояние захвата, если программа выполняется из внешней памяти или если осуществляется доступ к внешней памяти данных. Однако, если выполнение программы производится из внутренней памяти и если никакого доступа к внешней памяти данных не требуется, процессор входит в состояние захвата и освобождает все внешние шины, но выполнение программы продолжается внутренними устройствами процессора. Это позволяет осуществить более эффективную работу системы, поскольку программа может продолжать выполняться в то время, когда осуществляется операция прямого доступа к памяти.
Заметим, что если процессор находится в режиме захвата с НМ=0 и внутренняя выполняемая программа требует доступ ко внешней памяти, или если программа ветвится по внешнему адресу, выполнение программы прекращается до тех пор, пока сигнал *HOLD не будет снят. Кроме того, если выполняется команда повторения с НМ=0, который требует использования внешней шины, и генерируется сигнал захвата, процессор входит в состояние захвата после текущего цикла работы шины. Если эта ситуация происходит с НМ=1, состояние захвата не будет устанавливаться до тех пор, пока счет повторений не завершится. Бит НМ устанавливается и сбрасывается соответственно командами RHM (установка режима захвата) и RHM (сброс режима захвата).
Если процессор TMS320C2x находится в середине многоцикловой команды, он завершит выполнение команды, прежде чем войдет в состояние захвата. После того как команда закончится, шины переводятся в высокоимпедансное состояние. Это также применимо к командам, которые становятся многоцикловыми из-за вставки состояния ожидания.
После того как сигнал *HOLD снимается, выполнение программы возобновляется с той же самой точки, в которой оно было прекращено. Сигнал *HOLDA снимается синхронно с сигналом *HOLD.
Все прерывания блокируются на то время, когда сигнал *HOLD находится в активном состоянии с битом НМ=1. Если прерывание поступает в течение этого периода, оно защелкивается и задерживается. Сам сигнал *HOLD не влияет на флаги и регистры прерываний. Если НМ=0, прерывания обрабатываются обычным образом.
Сигнал *HOLD не рассматривается как прерывание. Если процессор TMS320C2x выполнял команду IDLE до входа в состояние захвата, он возобновит выполнение данной команды сразу же после выхода из состояния захвата.
1.6.Система команд сигнального процессора
1.6.1.Способы адресации и форматы команд
Система команд TMS320C2x обеспечивает три метода адресации памяти:
-
прямой метод адресации
-
косвенный метод адресации
-
непосредственный метод адресации
Как прямая, так и косвенная адресация могут использоваться для доступа к памяти данных. При прямой адресации семь бит командного слова объединяются с 9 битами указателя страницы памяти данных для образования 16-разрядного адреса памяти данных. Косвенная адресация памяти данных осуществляется через 5 вспомогательных регистров. При непосредственной адресации данные являются частью командного слова.