Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EKZAMEN_MiTsOS.docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
7 Мб
Скачать
☆

15.Система команд процессора adsp2181

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

1. Команды управления программой к этим командам относятся команды перехода jump, вызова подпрограммы call, возврата из подпрограммы rts и прерыва-ний rti, цикла do until.

В команде JUMP записан 14 разрядный адрес перехода. Примеры: JAMP fir_start - переход по адресу метки firstart. IF [cond] JUMP; CALL (16); если выполняется условие, то происходит передача перехода по адресу 16. При косвенной адресации адрес перехода находится в одном из адресных регистров DAG2 14, 15, 16, 17. Например, JUMP (14); - переход по адресу 14.

CALL (адрес) обращение к подпрограмме. Адрес находится в самой команде и загружается в следующем цикле в счетчик команд PC и в стек. Для возврата из подпрограммы стека в PC восстанавливается значение адреса. RTI - команда возврата из подпрограммы.CNTR -счетчик циклов. Например, CNTR (10) - число повторений цикла

Команда цикла DO UNTIL при использовании счетчика CNTR. При этом сначала устанавливается длина циклического буфера RG LO = 10; происходит загрузка указателя 1 элемента циклического буфера 10 = ^data_buffer; устанавливается регистр-модификатор МО = 1; устанавливается число повторений цикла CNTR = 10. Ко-манда DO UNTIL GE - повторить цикл, пока не обнулился счетчик. 2. Команды прерываний IDLE - ожидание прерываний. При этой команде процессор входит в состояние пониженного потребления до получения сигна-ла прерывания.

INIT - инициализация прерывания. IMASK - разрешение прерываний, например, IMASK = 0*0018 (разрешение прерывания SPORTO). RESET - сброс, восстановление исходных значений, регистры периферии устанавливаются в 0. IRQ - прерывание по последовательному порту. RTI -возврат из прерывания в главную программу. NOP - пустой цикл.3. Команды пересылок

Команды пересылок определяют обмен данными между памятью программ и данных и регистрами вычислителя, а также между памятью программ и данных и периферийными устройствами. Пример. АХО = DM (12, МО), AYO = РМ (14, Мб); пересылка данных во входные регистры АЛУ из памяти данных и из памяти программ по указанным адресам. Возможны пересылки между регистрами, например,

ТХО = MR1 - запись в регистр последовательного порта SPORTO операнда из регистра MR1.MRO = 0 - обнуление регистра результата умножения. Пример команды вычисления и записи в память DM (I0, МО) = AR, AR = АХО + AYO; при этом сначала производится запись в память, а затем вычисление. Вычисление с пересылкой регистр-регистр, например, AR=АХО + AYO, АХО = MR1; в начале цикла происходит сложение значений АХО и AYO, а в конце цикла загрузка нового операнда из АХО в MR1. Пересылка регистр-регистр может быть из/в любого регистра АЛУ, умножителя и сдвигателя, кроме регистров обратной связи AF, MF и регистра SB

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