§11.3 Команды управления программой
В данном разделе рассматриваются основные базовые команды, используемые для управления последовательностью выполнения программы.
Команда перехода (JUMP)
14-разрядный адрес команды, к которой осуществляется переход, содержится в командном слове JUMP. При декодировании команды JUMP этот адрес непосредственно вводится в мультиплексор следующего адреса программного автомата. Адрес выводится на шину АПП и загружается обратно в счетчик команд для следующего цикла. Например, при выполнении команды:
JUMP fir_start;
происходит переход по адресу с меткой fir_start.
Косвенная адресация по адресу, взятому из регистра
В случае таких переходов адрес перехода берется из одного из 4-х регистров генератора адреса данных DAG2 (14, 15, 16 или 17). Адрес выводится на шину АПП генератором адреса данных 2 и загружается в счетчик команд во время следующего цикла. Например при выполнении команды:
JUMP (14) ;
выполняется переход по адресу, содержащемуся в регистре 14.
Команда вызова (CALL)
Команда CALL выполняется также, как и команда JUMP. Адрес подпрограммы содержится в командном слове CALL, и после извлечения этого адреса из регистра команд он загружается обратно в счетчик команд для следующего цикла. Кроме того, текущее значение счетчика команд увеличивается на 1 и помещается в стек счетчика команд. После возвращения из подпрограммы работа счетчика и выполнение программы возобновляется с команды, следующей за командой CALL.
Циклы, организованные с помощью команды DO UNTIL
В наиболее распространенной форме циклов DO UNTIL в качестве счетчика итераций используется регистр счетчика (CNTR). При использовании счетчика для управления итерациями цикла завершение цикла DO UNTIL происходит по выполнению условия СЕ (счетчик пуст). Ниже приведен простой пример цикла подобного типа:
L 0 = 1 0 ; IO=^data_Üuffe; М0= 1 ; С N Т R = 1 0 ;
(загрузка указателя с первым адресом)
(циклического буфера)
(установка модифицирующего регистра для}
(приращения указателя)
(загрузка длины циклического буфера в)
(счетчик)
DO loop UNTIL СЕ; (задание повторения цикла до обнуления)
(счетчика)
DM(IO,MO)=0; (инициализация/очистка циклического буфера)
...любая команда...
loop:...любая команда...
Когда команда CNTR=10;выполняется до начала цикла, счетчик загружается с шины ДПД. Любой имевшийся до этого в счетчике номер цикла одновременно помещается в стек; эта операция не выполняется, если счетчик пуст. Сама по себе команда DO loop UNTIL CE; только задает условия организации цикла. Во время выполнения этой команды не осуществляется никаких других операций. Это происходит только один раз, в начале первого прохождения цикла. При выполнении команды DO UNTIL адрес непосредственно следующей за ней команды помещается в стек счетчика команд (за счет помещения в стек инкрементированного значения счетчика команд). В течении того же цикла в стек циклов помещается адрес команды конца цикла и условие его завершения. По мере продолжения выполнения операций внутри цикла, компаратор сравнивает адрес каждой команды с адресом последней команды цикла. До достижения этого адреса программа выполняется последовательно.
Каждый раз по достижению конца цикла компаратор определяет, что выполняемая команда является последней в цикле и воздействует на логическое устройство выбора адреса следующей команды программного автомата. Вместо выбора в качестве адреса следующей команды инкрементированного значения счетчика команд, проверяется условие завершения цикла. Если это условие не выполняется, то выполнение программы возобновляется с первой команды цикла (в качестве следующего адреса берется верхнее значение стека счетчика команд). Обратите внимание, что значения стеков счетчика команд и циклов не извлекаются, а только считываются. При последнем прохождении цикла выполняется условие его завершения. При этом извлекается значение, хранящееся в стеке счетчика команд, и выполнение программы возобновляется начиная с команды, следующей непосредственно за последней командой цикла. В последнем цикле данные выталкиваются также из стека циклов и стека счетчика.
Команда ожидания (IDLE)
По команде IDLE процессор входит в состояние неопределенного ожидания в режиме пониженной потребляемой мощности до получения сигнала прерывания. После обслуживания немаскируемого прерывания процессор переходит в нормальный режим работы, и программа выполняется дальше начиная с команды, следующей за командой IDLE. Команда ожидания (IDLE) с замедлением внутренней тактовой частоты процессора. Усовершенствованная версия команды IDLE позволяет замедлять внутреннюю тактовую частоту процессора, уменьшая, таким образом, потребление энергоресурсов. Уменьшенная частота тактовых синхроимпульсов является программируемой дробной частью от нормальной тактовой частоты процессора и задается при помощи выбора соответствующего значения делителя в команде IDLE. Эта команда имеет следующий формат: IDLE (n) ;
где п=16, 32, 64 или 128. При выполнении данной команды процессор остается полностью работоспособным, но работает с меньшей внутренней тактовой частотой. Когда процессор находится в описываемом состоянии, частота всех остальных внутренних тактовых сигналов, например SCLK, CLKOUT, тактовых синхроимпульсов таймера, уменьшается в той же степени, что и внутренняя тактовая частота процессора. При отсутствии значения делителя в команде IDLE по умолчанию выполняется стандартная версия этой команды. При использовании команды IDLE (n) замедляется внутренняя тактовая частота процессора и, тем самым, увеличивается время ответа процессора на входящие прерывания. Необходимое при стандартном состоянии ожидания для ответа на прерывание время в один цикл увеличивается в n (значение делителя) раз. После получения сигнала разрешенного прерывания процессор остается в состоянии ожидания в течение, максимум, n циклов перед тем, как возобновить свою нормальную работу (п=16, 32, 64 или 128).
Когда команда IDLE (n) используется в системах, работающих с внешними последовательными тактовыми синхроимпульсами (SCLK), частота последних может превышать внутреннюю тактовую частоту процессора. При таких условиях прерывания не должны генерироваться быстрее, чем они могут быть обслужены с учетом того дополнительного времени, которое требуется процессору для выхода из состояния ожидания (максимум и циклов процессора).
- Цифровые эвм
- §1.2 Структуры типичных микроЭвм
- §1.3 Архитектура микро- и мини – эвм
- §1.4 Архитектура эвм
- §1.5 Ортогональность архитектуры микропроцессоров.
- §2. Микропрограммные устройства управления §2.1 Структура микропрограммных устройств
- §2.2 Способы записи микропрограмм
- 1) Гса должна содержать одну начальную, одну конечную вершину и конечное множество операторных и условных вершин;
- 2) Каждый выход гса соединяется только с одним входом;
- 3) Входы и выходы различных вершин соединяются дугами, направленными от выхода к входу;
- 4) Для любой вершины гса существует, по крайней мере, один путь из этой вершины к конечной вершине, проходящей через операторные и условные вершины в направлении соединяющих их дуг;
- §2.3 Микропрограммный принцип управления операциями
- 1) Определение формата операционной части мк;
- 2) Синтез формата адресной части мк;
- 3) Синтез структурной схемы автомата;
- 4) Построение карты программирования пзу или плм.
- §2.4 Синтез мпа с использованием “жёсткой” логики
- 2. Прибавить к содержимому сумматора первое частичное произведение.
- 3. К содержимому сумматора прибавить сдвинутое на разряд вправо второе частичное произведение.
- 4. Далее аналогично прибавить третье, четвертое и последующие частичные произведения.
- §2.5 Выбор схемы операционного устройства
- 1) Два регистра (регистр множимого rg2 и регистр множителя rg1);
- 2) Сумматор (5м);
- 3) Счетчик (ст) для подсчета числа суммирований. На рис. 2.9 показаны обозначения этих узлов на схемах.
- §3. Запоминающие устройства §3.1 Запоминающие устройства и их назначение
- §3.2Классификация и основные характеристики полупроводниковых зу
- §3.3 Статические озу
- §3.4 Динамические озу
- §3.5 Память на пзс
- §3.7 Функциональные схемы озу
- §3.8 Функциональные схемы пзу и ппзу
- §3.9 Организация многокристальной памяти
- §3.10 Программирование пзу
- §3.11 Программируемые логические матрицы
- §4. Процессоры и микропроцессоры §4.1Классификация микропроцессоров
- §5.Сравнение архитектур микропроцессоров
- §5.1 Архитектуры микропроцессоров.
- §5.2 Ортогональность архитектуры микропроцессоров.
- §5.3 Основные принципы построения устройств обработки цифровой информации
- Существует два основных типа управляющих автоматов:
- 1) Управляющий автомат с жесткой логикой.
- 2) Управляющий автомат с хранимой в памяти логикой.
- §5.4 Принципы организации арифметико – логических устройств.
- §5.5 Классификация алу
- 1) Для чисел с фиксированной запятой;
- 2) Для чисел с плавающей запятой;
- 3) Для десятичных чисел.
- §5.6 Структура и формат команд. Кодирование команд.
- 1) Команды арифметических операций для чисел с фиксированной и плавающей запятой;
- §6.Проектирование микро - эвм
- §6.1.Функциональные блоки и организация управления в микро - эвм §6.1.1Общие сведения
- §6.1.2. Структура операционного устройства
- §6.1.3. Структура устройства управления
- 1. Безусловный переход из адреса Ai по адресу Aj определенному одним из способов адресации (рис. 6.7,а).
- Однокристальные эвм §7.Описание микроконтроллеров 8051, 8052 и 80c51 §7.1 Вступление
- §7.2Специальные функциональные регистры
- §7.3 Структура и работа портов
- §7.3.1 Конфигурации ввода-вывода
- §7.3.2 Запись в порт
- §7.3.3 Загрузка и согласование портов.
- §7.3.4 Особенность чтения-модификации-записи
- §7.4.Доступ к внешней памяти
- §7.5 Таймер/счетчик
- Таймер 0 и Таймер 1
- Режим 0 (mode 0)
- М1 м0 Режим
- §7.5 Последовательный интерфейс
- §7.5.1 Многопроцессорные связи
- §7.5.2 Управляющий регистр последовательного порта
- §7.5.4 Скорость приема/передачи
- §7.5.5Использование таймера 1 для задания скорости приема/передачи
- Дополнительные сведения о режиме 0
- Дополнительные сведения о режиме 1
- Дополнительные сведения о режимах 2 и 3
- Прерывания
- §7.6 Структура уровней приоритета
- Перехват прерываний
- Внешние прерывания
- Время отклика
- Одношаговые операции
- Версии микросхем с сппзу
- Две схемы блокировки программной памяти
- Защита пзу
- Внутричиповые осцилляторы
- Осцилляторах mcs-51
- Внутренняя синхронизация
- §8.1.Введение
- §8.2. Обзор характеристик
- Отличия pic16c84 от pic16c5x
- Mаркировка при заказе
- Разводка ножек
- Прямая адресация.
- Проблемы с таймером
- Регистр статуса
- Программные флаги статуса
- Аппаратные флаги статуса
- Организация встроенного пзу
- Pc и адресация пзу
- Стек и возвраты из подпрограмм
- Данные в eeprom
- Управление eeprom
- Организация прерываний
- Регистр запросов и масок
- Внешнее прерывание
- Прерывание от rtcc
- Прерывание от порта rb
- Прерывание от eeprom
- Обзор регистров/портов
- 2) Прочитать порт в. Это завершит состояние сравнения.
- Проблемы с портами
- Обзор команд и обозначения
- Условия сброса
- Алгоритм сброса при вал. Питания
- Watch Dog таймер
- Типы генераторов.
- Генератор на кварцах
- Rc генератор.
- Внешнее возбуждение. Регистр option
- Подключения делителя частоты
- 1. Movlw b`xx0x0xxx` ;выбрать внутреннюю синхронизацию и новое
- Конфигурационное слово
- 01 Xt генератор
- 10 Hs генератор
- 11 Rc генератор
- Индивидуальная метка
- Защита программ от считывания
- 1) Запрограммируйте и проверьте работу исправного кристалла.
- 2) Установите защиту кода программы и считайте содержимое программной памяти в файл-эталон.
- 3) Проверяйте любой защищенный кристалл путем сравнения его программной памяти с содержимым этого эталона.
- Режим пониженного энергопотребления.
- 1. Внешний сброс - импульс низкого уровня на ножке /mclr.
- 2. Сброс при срабатывании wdt(если он разрешен)
- 3. Прерывания. (Прерывание с ножки int, прерывание при изменении порта b, прерывание при завершении записи данных eeprom).
- Максимальные значения электрических параметров
- 1. Полная рассеиваемая мощность не должна превышать 800 мВт для каждого корпуса. Рассеиваемая мощность вычисляется по следующей формуле:
- Скоростные характеристики:
- §8.3. Что такое pic ?....
- Hабор регистров pic
- Регистр косвенной адресации ind0
- Регистры общего назначения
- Сторожевой таймер wdt
- Тактовый геhератор
- Xt кварцевый резонатор
- От теории - к практике...
- Initb equ b'00000000' ; ; Рабочая секция ; ; начало исполняемого кода
- Пример программы
- Ассемблироваhие
- Программироваhие
- Набор команд pic
- Incf scratch,0 ;увеличить scratch на 1
- Iorwf dataport,1 ;установить биты в поpте b по маске w
- Iorlw 09h ;установить 0-й и 3-й биты Светодиоды покажут 00011001.
- Xorlw b'11111111' ;пpоинвеpтиpовать w Светодиоды покажут 11011111.
- Comf scratch,0 ;инвеpтиpовать scratch Светодиоды покажут 10101010.
- Специальные команды
- §9.Введение вAdsp §9.1. Обзор
- §9.2. Функциональные устройства
- §9.3. Интерфейс системы и памяти
- §9.4. Набор команд
- §9.5. Рабочие характеристики цифровых сигнальных процессоров
- §9.6. Базовая архитектура
- §9.7. Вычислительные устройства
- §9.8. Генераторы адреса и программный автомат
- §9.9. Шины
- §9.10. Другие устройства на кристалле
- §9.11. Последовательные порты
- §9.12. Таймер
- §9.13. Порт интерфейса хост-машины (adsp-2111, adsp-2171, adsp-21msp5x)
- §9.14. Порты прямого доступа к памяти (adsp-2181)
- §9.15. Аналоговый интерфейс
- §9.16. Система программно – аппаратных средств отладки процессоров семействаAdsp - 2100
- §9.17. Генераторы адреса и программный автомат
- §10Вычислительные устройства §10.1. Обзор
- Последовательности двоичных символов
- Беззнаковый формат
- Знаковые числа в дополнительном коде
- §10.2. Арифметико – логическое устройство (алу)
- Блок-схема алу
- Стандартные функции
- Регистры ввода/вывода алу
- Возможность операций с повышенной точностью
- Режим насыщения алу
- Режим фиксации переполнения алу
- Деление
- §10.3. Умножитель – накопитель (умножитель)
- Арифметические операции умножителя
- Арифметические операции устройства сдвига
- Операции умножителя-накопителя
- X*y Умножение операндов х и y
- Форматы ввода данных
- Регистры ввода/вывода умножителя-накопителя
- §10.4. Устройство циклического сдвига
- Денормализация
- Нормализация
- §11. Управление программой
- §11.1. Обзор
- §11.2. Программный автомат
- §11.3 Команды управления программой
- §11.4. Контроллер прерываний
- §11.5. Условные команды
- §12. Дополнительное аппаратное обеспечение §12.1. Обзор
- §12.2. Начальная загрузка через хост – машину с использованием процедур запроса и предоставления шины
- 1) Для перезапуска процессора семейства adsp-2100 pb8 устанавливается низким.
- §12.4. Сопряжение последовательного порта с цап
- §12.5. Сопряжение последовательного порта с ацп
- §12.6. Сопряжение последовательного порта с другим последовательным портом
- §12.7. Сопряжение микрокомпьютера 80с51 с портом интерфейса хост – машины
- §12.8. Обзор
- §13. Программное обеспечение §13.1. Процесс отладки системы
- §14. Система команд мп типа к580ик80
- §14.1 Способы адресации мп
- §14.2 Команды мп
- §14.3 Пояснения к некоторым командам
- §15. Архитектура микропроцессора z-80
- §15.1 Назначение выводов
- §15.2 Логическая организацияZ80
- Устройство управления.
- Регистры пользователя (основные регистры).
- Регистровая пара hl.
- Набор альтернативных регистров.
- Арифметико-логическое устройство (алу).
- §15.3 Система команд микропроцессора z – 80. Команды и данные.
- 3. Двухбайтовый адрес (addv).
- 4. Однобайтовая константа смещения.
- Группа команд
- Группа 1. Команда «нет операции»
- Группа 2. Команды загрузки регистра константами.
- Группа 4.Команды загрузки регистров из памяти.
- Группа 5.Команды записи в память содержимого регистра или константы.
- Группа 6.Команды сложения.
- Группа 7.Команды вычитания.
- Группа 8.Команды сравнения.
- Подгруппа b. Команда or.
- Подгруппа c. Команда xor.
- Группа 11. Команда стека.
- 2.Адрес addr затем записывается в счетчик команд, и выполняется программа.
- 3.По команде ret осуществляется возврат из программы.
- §16.Микросхема 80130
- §17.Микросхема 80186
- §18.Микросхема 80286
- Verr — Проверить доступ по считыванию
- Verw — Проверить доступ по записи
- Определение состояния цикла шины процессора 80286
- §19.Микропрцессоры серииiX86 фирмы intel Выбор в программе на Ассемблере типа процессора
- §19.1. Процессоры 80186 и 80188
- Новые инструкции
- Инструкции pusha и popa
- Инструкции enter и leave
- Инструкция bound
- Инструкции ins и outs
- Расширенные версии инструкций процессора 8086
- Imul si,10 это просто сокращенная форма инструкции:
- §19.2. Процессор 80286
- §19.3. Процессор 80386
- Новые типы сегментов
- Новые регистры
- Новые сегментные регистры
- Новые режимы адресации
- Процессор 80386, новые инструкции
- Проверка битов
- Просмотр битов
- Преобразование данных типа dword или qword
- Сдвиг нескольких слов
- Условная установка битов
- Загрузка регистров ss, fs и gs
- Расширенные инструкции
- Специальные версии инструкции mov
- Новые версии инструкций loop и jcxz
- Новые версии строковых инструкций
- Инструкция iretd
- Инструкции pushfd и popfd
- Инструкции pushad и popad
- Новые версии инструкции imul
- Imul ebp,ecx,100000000h а следующая инструкция умножает ecx на ebx, записывая результат в edx:eax:
- Технический обзор Новое поколение процессоров фирмы intel
- Pentium процессор. Технические нововведения.
- Архитектура Pentium процессора
- Суперскалярная архитектура.
- Блок предсказания правильного адреса перехода.
- Высокопроизводительный блок вычислений с плавающей запятой.
- Расширенная 64-битовая шина данных.
- Средства разделения памяти на страницы.
- Определение ошибок и функциональная избыточность.
- Управление производительностью.
- §22.Введение в команды mmx.
- §22.1. Регистры
- §22.2. Префиксы
- §22.3.Распаровка (paring).
- §22.4. Типы данных
- §22.5. Краткое описание команд
- §23.Логическая структура микропроцессорной системы на основе комплекта бис секционного микропроцессора §23.1. Комплект бис секционного микропроцессора.
- §23.2. Бис микропрограммного управления на основе программируемой логической матрицы (плм).
- §23.3. Комплект бис для построения электронной системы.
- §24. Обзор секционируемых мпк бис §24.1. Микропроцессорный комплект серии кр1802
- §24.1.1. Восьмиразрядная микропроцессорная секция (мс) кр1802вс1.
- §24.1.2. Двухадресная память общего назначения кр1802ир1.
- §24.1.3. Шестнадцатиразрядный арифметический расширитель кр1802вр1.
- §24.1.4. Схема обмена информацией (ои) кр1802вв1.
- §24.1.5. Бис интерфейса (бис и) кр1802вв2.
- §24.1.6. Сумматор (см) к1802им1.
- §24.1.7. Км1802врз—умножитель двух 8-разрядных чисел.
- §24.1.8. Км1802вр4—умножитель двух 12-разрядных чисел.
- §24.1.9. Км1802вр5—умножитель двух 16-разрядных чисел.
- §24.2. Микропроцессорный комплект серии к1804
- §24.2.1. Центральные процессорные элементы к1804вс1 и к1804вс2
- §24.3. Микропроцессорный комплект серии к587 §24.3.1. Арифметическое устройство к587ик2.
- §24.3.2. Управляющая память к587рп1.
- §24.3.3. Устройство обмена информации к587ик1.
- §24.3.4. Арифметический расширитель к587икз.
- §24.3.5. Архитектурные особенности построения управляющей микро-эвм на базе мпк серии к587