Операции ввода-вывода


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

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

Рассмотрим крайние ситуации.

При наличии ПВВ набор операций ввода-вывода основного процессора ограничен несколькими командами, которые управляют работой ПВВ, например, “Начать ввод-вывод”, “Завершить ввод-вывод”.

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

Все остальные варианты операций ввода-вывода занимают промежуточное положение между этими схемами.


СИСТЕМА ПРЕРЫВАНИЙ

 

Понятие прерывания

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

1. Аппаратура центральной части ЭВМ (внутренние прерывания). Например, обнаружение ошибки при передаче данных между основной памятью и процессором.

2. Аппаратура периферийной части ЭВМ (внешние прерывания). Например, нажатие клавиши на клавиатуре, нажатие кнопки мыши и т.п.

3. Программа, которую в данный момент выполняет ЭВМ (программные прерывания). Особые ситуации в этом случае могут возникать при “нештатном” режиме работы программы или же создаваться программой преднамеренно. Примером “нештатной” работы программы может быть попытка деления на ноль, извлечение квадратного корня из отрицательного числа и т.п. Преднамеренно эта ситуация создается с помощью команд вызова прерывания.

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

 
 

Программа, выполнявшаяся до возникновения особой ситуации, называется прерываемой программой, а программа обработки особой ситуации – прерывающей. Процесс обработки особой ситуации приведен на Рис.1.

 

При возникновении особой ситуации формируется сигнал оповещения, называемый запросом на прерывание. Запрос для внутренних и внешних прерываний формируется аппаратными средствами, а для программных – программными средствами.

Реакция ЭВМ на особые ситуации для некоторых источников может быть одной и той же. Другими словами, этим источникам соответствует одна и та же обрабатывающая программа.

Множество особых состояний, обслуживаемых одной и той же программой, образует класс прерывания. Каждому классу прерываний назначается номер, называемый кодом прерывания. Код прерывания однозначно определяет, какая обрабатывающая программа должна обрабатывать возникшую особую ситуацию.

Количество источников может достигать сотен, а количество классов значительно меньше, как правило, не больше нескольких десятков.

Типичными классами прерываний являются:

v Прерывания от схем контроля;

v Прерывания от пульта управления ЭВМ и других внешних устройств;

v Прерывания от системы ввода-вывода;

v Прерывания при обращении программ к запрещенным для использования ресурсам;

v Программные прерывания.

Многие ЭВМ допускают прерывание прерывающей программы. Количество программ, которые могут последовательно прерывать друг друга, называетсяглубиной прерывания.



Дата добавления: 2019-02-08; просмотров: 560;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.