Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора_МПСС.docx
Скачиваний:
14
Добавлен:
27.08.2019
Размер:
3.15 Mб
Скачать

13. Основные режимы функционирования микропроцессорной системы. Выполнение основной программы, вызов подпрограмм.

1 режим: выполнение основной программы;

2 режим: вызов подпрограммы;

3 режим: обслуживание прерываний и исключений;

4 режим: прямой доступ к памяти.

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

Теперь рассмотрим второй режим. Обращение к подпрограмме реализуется с помощью команды CALL. Эта команда указывает адрес первой команды в подпрограмме. Перед выполнением команды CALL происходит сохранение адреса следующей за ней команды и регистрового состояния для того, чтобы обеспечить возврат в основную программу. Возвращение осуществляется командой RETURN.

В идно, что нам необходимо хранить массив данных, который выполняется при каждом вызове команды CALL.

Для реализации этого принципа используется память организации типа «первый пришел, последний ушел», который называется стек. Существует два варианта реализации стека:

- на основе сдвигового регистра;

- на основе ОЗУ

Регистровый стек реализуется на основе реверсионных сдвиговых регистров. При каждом вызове команды CALL происходит сдвиг всех ячеек на одну позицию вниз. При вызове команды RETURN направление сдвига меняется, а из верхней ячейки считывается значение количества вложений определенной глубины сдвигового регистра. Такая реализация стека применяется в системах, где не потребляется более десятка вложений (минус: ограничено число вложений).

Избавиться от контрольного количества вложений позволяет стек на основе ОЗУ. В ОЗУ выделяется область памяти. Адрес к ячейкам стека осуществляется с помощью регистра стек- point. При каждом вызове команды CALL в стек записывается очередное значение, а содержание регистра стек- pointer увеличивается на единицу. При команде RETURN содержание считывается с ячейки необходимой информации, а регистр стек- pointer уменьшается на единицу. Так как ОЗУ имеет больший объем памяти (по сравнению с первым режимом), в этом случае необходимо обеспечить необходимое число вложений.