
- •1. Конфигурируемая система на кристалле e5 компании Triscend
- •2. Основные аппаратные блоки семейства е5
- •2.1. «Ускоренный» 8051 микроконтроллер
- •2.2 Контроллер прямого доступа к памяти (dma)
- •2.3. Конфигурируемая системная шина (csi)
- •2.4. Конфигурируемая логическая матрица (csl)
- •2.5. Программируемые порты ввода/вывода (pio)
- •2.6 Блок сопряжения с внешней памятью miu
- •2.7. Адресные координаторы
- •Значения старших байтов адреса адресных координаторов Таблица 23
- •2.8 Система отладки
- •2.9. Блок конфигурирующих регистров (cru)
- •2.10. Режимы конфигурации системы
- •2.11. Система тактирования
- •2.11. Архитектура микроконтроллера
- •2.12. Набор команд для управления системой
- •2.13. Система прерываний
- •2.14. Условия системного сброса
- •Содержимое регистров sfr после сброса Таблица 40
- •2.15. Блок управления энергопотреблением
- •3. Словарь
- •4. Политика реализации системы на кристалле
- •5. Описание выводов для кристаллов серии е5
- •Выводы микросхемы семейства е5 и их назначение Таблица 43
- •6. Маркировка кристаллов компании Triscend
- •Te5 20 s 40 - 40 q c
- •7. Область применения cSoC устройств
2.12. Набор команд для управления системой
Конфигурируемая система на кристалле поддерживает все команды семейства микроконтроллеров стандарта 8051. Выполнение этих команд, установка флагов и битов состояния являются аналогичными за исключением синхронизации, отличие которой определяется двумя причинами:
Машинный цикл ускоренного микроконтроллера стандарта 8051 составляет 4 такта, в отличие от машинного цикла оригинального микроконтроллера стандарта 8051, который составляет 12 тактов;
Ускоренный микроконтроллер выполняет за один машинный цикл одну выборку, т.е. на одну выборку приходятся 4 такта, а оригинальный микроконтроллер осуществляет две выборки за машинный цикл, и на одну выборку приходятся 6 тактов.
Преимуществом ускоренного микроконтроллера является то, что за один машинный цикл он выполняет только одну выборку. В большинстве случаев число машинных циклов равно числу операндов, приходящихся на команду. Команды безусловного перехода и вызова подпрограммы требуют дополнительный цикл для определения нового адреса. В целом ускоренный микроконтроллер значительно уменьшает число ложных выборок и, как следствие, число циклов, тем самым, повысив эффективность в сравнении с оригинальным микроконтроллером стандарта 8051.
Способы адресации
Микроконтроллер стандарта 8051 поддерживает 8 различных способов адресации, описание которых будет представлено ниже:
регистровая адресация;
прямая адресация;
косвенно-регистровая;
непосредственная;
косвенно-индексная;
относительная адресация;
абсолютная;
длинная адресация.
Регистровая адресация
В регистровой адресации используются 8 рабочих регистров (R0-R7) активного на данный момент банка регистров, размещенного в сверхоперативном ОЗУ. Последние три бита в коде команды указывают на выбранный регистр. Существуют 4 банка рабочих регистров, активным из которых может быть один и выбирается через два бита RS1-RS0 в регистре слова состояния PSW. Таким образом, одна и та же команда может получить доступ к различным регистрам, если менять номер активного банка. Аккумулятор АСС, регистр B, текущий указатель данных DPTR, определяемый битом DPS.0, и CY могут быть также адресуемы, как регистры.
Прямая адресация
Прямая адресация является единственным способом обращения к регистрам специального назначения SFR и обеспечивает доступ к целой области нижних 128 байтов сверхоперативного ОЗУ.
Прямая адресация также используется для обращения к бит-адресуемой области памяти, которая занимает адресное пространство 20H-2FH в сверхоперативном ОЗУ. Эти биты имеют индивидуальный адрес от 00H до 7FH, необходимый для прямого обращения к ним. Несколько регистров специального назначения также являются бит-адресуемыми. Адрес отдельных битов таких регистров указывается добавлением битовой позиции к адресу регистра.
Косвенно-регистровая адресация
Этот способ адресации используется для доступа к ячейкам памяти сверхоперативного ОЗУ в пределах верхних 128 байт. Адрес целевой ячейки хранится в регистрах R0 и R1 активного на данный момент банка. Изменяя содержимое регистров R0 и R1, одна и та же команда может обращаться к различным ячейкам памяти. Этот способ адресации не может быть использован для обращения к регистрам специального назначения.
Операции со стеком также являются примером косвенно-регистровой адресации. Но в данном случае вместо рабочих регистров R0 и R1 используется стековый указатель SP для хранения адреса вершины стека. Косвенно-регистровая адресация используется в командах PUSH и POP.
Этот способ адресации также используется для обращения к внешней памяти данных. Для этого предназначена команда MOVX и регистры R0, R1, DPTR или DPTR1. Если в качестве указателей адреса используются регистры R0 и R1, то младшие 8 бит адреса будут содержаться в одном из этих регистров, а старшие 8 бит в регистре специального назначение P2. Для этого содержимое в регистре P2 должно быть определено заранее, до того, как будет использована команда обращения к внешней памяти данных. Если в качестве указателей адреса используются регистры DPTR и DPTR1, то в одном из них будет содержаться целый 16-ти битный адрес.
Непосредственная адресация
Этот способ адресации используется для непосредственного задания константы в коде команды. Широко применяется для конфигурации рабочих регистров и регистров специального назначения, а также для проведения операций маскирования.
Косвенно-индексная адресация
Применяется для доступа к байту памяти программ косвенным путем. Адрес целевой ячейки памяти вычисляется как сумма содержимого счетчика команд PC или DPTR/DPTR1 и индекса в аккумуляторе ACC. Значение результата всегда сохраняется в аккумуляторе поверх значения индекса.
Относительная адресация
Относительная адресация применима в командах короткого перехода на ячейку памяти программ в пределах 128 байт относительно текущего адреса в счетчике команд.
Адрес перехода состоит из двух дополнительных адресов смещения, которые прибавляются к содержимому счетчика команд. Относительный адрес занимает по размеру один байт памяти, таки образом, смещение может быть в пределах от -128 до +127 байт.
Абсолютная адресация
Этот способ адресации используется в командах перехода ACALL и AJMP. Операндом этих команд являются 11 бит адреса, открывающих доступ к любой ячейки памяти программ в пределах 2К текущей страницы.
16-ти битный адрес перехода складывается из 5 старших битов адреса следующей команды (РС+2) и 11 младших битов кода текущей команды. Полученный адрес будет указывать на байт в памяти программ в пределах страницы, размером 2 Кбайт, относительно первого байта следующей команды.
Длинная адресация
Используется в командах LJMP и LCALL для организации длинных переходов и ветвлений в любую ячейку памяти программ в пределах 64 Кбайт.