Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



Другим типом команд передачи управления являются команды вызова подпрограмм. Их особенность заключается в том, что по окончанию выполнения подпрограммы они должны обеспечить возврат к выполнению программы, из которой подпрограмма была вызвана. Для этого адрес возврата должен быть запомнен, для чего в СчК формируется продвинутый адрес, который затем сохраняется в памяти (или в стеке). Для перехода к выполнению подпрограммы в СчК заносится адресная часть команды ее вызова. По окончанию выполнения подпрограммы адрес следующей команды основной программы, ранее сохраненный в стеке, вызывается из него, заносится в СчК и выполнение программы продолжается. Для организации возврата в основную программу подпрограмма должна оканчиваться командой “Возврат” (“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 - высший приоритет.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.