Основные режимы функционирования микропроцессорной системы. Выполнение основной программы, вызов подпрограмм
1 режим: выполнение основной программы; 2 режим: вызов подпрограммы; 3 режим: обслуживание прерываний и исключений; 4 режим: прямой доступ к памяти. Рассмотрим первый режим работы. В нем процессор выбирает из ОЗУ очередную команду, которая состоит из двух полей.
КОП- код операции задает тип операции; КАД- код адресации задает способ адресации операндов. Для хранения адреса очередной команды используется регистр программы- счетчик. При выборке команды его содержание увеличивается на единицу. При выполнении команд условного и безусловного перехода происходит перезагрузка программного счетчика адреса необходимой команды. Принятые из ОЗУ команды поступают в регистр команд, затем производится дешифрация, в процессе которой определяются операнды и тип операции. На основе типа операции устройство управления формирует все управляющие сигналы для АЛУ, БРОН и других устройств. Для выполнения каждой команды занимается определенное количество системных циклов и тактов. Системным циклом называется промежуточное время, требующиеся для выполнения обращения к ОЗУ или внешним устройствам. Обычно один системный цикл требует 2-4 такта. Машинным или процессорным циклом называется период тактовых сигналов процессора. Текущее состояние процессора определяется регистром состояния. Этот регистр содержит управляющие биты, задающие режим работы процессора, и биты признаки (флаги), которые характеризуют результат после операции. Теперь рассмотрим второй режим. Обращение к подпрограмме реализуется с помощью команды CALL. Эта команда указывает адрес первой команды в подпрограмме. Перед выполнением команды CALL происходит сохранение адреса следующей за ней команды и регистрового состояния для того, чтобы обеспечить возврат в основную программу. Возвращение осуществляется командой RETURN. Нам необходимо хранить массив данных, который выполняется при каждом вызове команды CALL. Для реализации этого принципа используется память организации типа «первый пришел, последний ушел», который называется стек. Существует два варианта реализации стека: - на основе сдвигового регистра; { Такая реализация стека применяется в системах, где не потребляется более десятка вложений. } - на основе ОЗУ { Так как ОЗУ имеет больший объем памяти (по сравнению с первым режимом), в этом случае необходимо обеспечить необходимое число вложений. }
|