Процедура выполнения команд вызова подпрограмм 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Процедура выполнения команд вызова подпрограмм



Другим типом команд передачи управления являются команды вызова подпрограмм. Их особенность заключается в том, что по окончанию выполнения подпрограммы они должны обеспечить возврат к выполнению программы, из которой подпрограмма была вызвана. Для этого адрес возврата должен быть запомнен, для чего в СчК формируется продвинутый адрес, который затем сохраняется в памяти (или в стеке). Для перехода к выполнению подпрограммы в СчК заносится адресная часть команды ее вызова. По окончанию выполнения подпрограммы адрес следующей команды основной программы, ранее сохраненный в стеке, вызывается из него, заносится в СчК и выполнение программы продолжается. Для организации возврата в основную программу подпрограмма должна оканчиваться командой “Возврат” (“RETURN”). Кроме нее существует также и команда “Условного возврата”.

 
 

Формат команды “Перехода к подпрограмме” приведен на рисунке 4.17.

Рисунок 4.17- Формат команды “Переход к подпрограмме”

 

Процесс выполнения команд “Вызов подпрограмм” проиллюстрирован на рисунке 4.18. Короткий отрезок прямой на

 

Рисунок 4.18 - Процесс выполнения команды “Вызов подпрограммы”

 

этом рисунке соответствует одной команде, длинный - переходу к выполнению подпрограммы или возврату из нее.

 

4.10 Контрольные вопросы

Перечислите функции процессора.

Каковы функции РК и СчК в процессоре?

Назначение АЛУ процессора?

Что дает введение в состав АЛУ РОНов?

Назначение УУ процессора?

Основное отличие между аппаратными и микропрограммными УУ?

Назначение РАМК УУ?

Перечислите основные узлы блока микропрограммного управления.

Опишите последовательность выполнения команды пересылки данных между РОН, используя структуру процессора с микропрограммным управлением.

Что такое ССП (PSW)?

Опишите процедуру выполнения команд условного и безусловного переходов.

Опишите процедуру выполнения команды вызова подпрограммы.

Какое основное отличие процедур выполнения команд вызова подпрограмм и выполнения команд условного и безусловного переходов?

 

5 Системы прерывания программ

Общие сведения

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

Необходимость введения систем прерывания в ЭВМ вызвано тем, что часть событий происходят в моменты времени, которые заранее не известны, поэтому их невозможно учесть в программе. Например, аварийное завершение программы, связанной с попыткой деление на ноль, выход за границы допустимых адресов памяти, появление сбоев в работе. Это так называемые внутренние события. Прерывания возможны и от внешних событий, например прерывания от устройств ввода- вывода, таймера, аппаратуры передачи данных, датчика технологического процесса и т. д.

Каждое прерывание совершается по сигналу, оповещающему ЭВМ о его возникновении. Такие сигналы называются запросами на прерывание.

Программа, к выполнению которой переходит ЭВМ в результате получения сигнала запроса прерывания, называется прерывающей программой. Программа, которая выполнялась в ЭВМ до появления запроса на прерывание, называется прерываемой программой. Процесс прерывания программ можно пояснить рисунком 5.1. Аппаратные и программные средства, участвующие в организации обработки запросов на прерывание, получили название системы прерывания программ. Они выполняют следующие функции:

-запоминание состояния прерванной программы и осуществление перехода к выполнению прерывающей программы;

Рисунок 5.1 - Процесс обслуживания запросов на прерывание

 

-восстановление состояния прерванной программы и переход к ее выполнению.

Существующие системы прерывания программ строятся по приоритетному принципу. В этом случае при наличии нескольких источников, вырабатывающих запросы независимо, порядок их обслуживания, в случае одновременного поступления запросов прерывания, определяется присвоенным приоритетом. Если одновременно поступит несколько запросов, то будет обслуживаться тот запрос, приоритет которого выше. Приоритеты бывают абсолютные и относительные. В системах с абсолютными приоритетами, запрос с более высоким приоритетом прерывает прерывающую программу с низким приоритетом. В системах с относительным приоритетом обслуживание предыдущего запроса продолжается до конца.

Системы прерывания с относительными приоритетами называются одноуровневыми. Системы прерывания с абсолютными приоритетами - многоуровневыми (вложенными).

Временные диаграммы выполнения прерывания программ в одноуровневой системе прерываний приведены на рисунке 5.2.

Рисунок 5.2- Временные диаграммы выполнения прерывания программ в одноуровневой системе прерываний. Запрос 1 имеет низший, 3 - высший приоритет

 

В соответствии с рисунком, выполнение программы обработки прерывания 1 закончилось до появления запроса прерывания 2. Появление запроса 3 во время выполнения программы обработки прерывания 2 не приводит к прекращению ее выполнения.

Временные диаграммы выполнения прерывания программ в многоуровневой системе прерываний приведены на рисунке 5.3. В такой системе прерывания запрос с более высоким приоритетом прерывает прерывающую программу с низким приоритетом.

Рисунок 5.3 – Временная диаграмма выполнения программ в много уровневой системе прерываний. Запрос 1 имеет низший, 3 - высший приоритет.



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 824; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.213.209 (0.006 с.)