рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

И ЕЩЕ О ПРЕРЫВАНИЯХ

И ЕЩЕ О ПРЕРЫВАНИЯХ - раздел Компьютеры, Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы» Описанный Выше Механизм Прерываний, Или Аппаратные Прерывания,...

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

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

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

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

Отметим одно отличие обработки прерывания от вызова подпрограммы. При обращении к подпрограмме необходимо так или иначе указать адрес ячейки памяти, в которой находится первая из команд подпрограммы. В ЭВМ с векторной системой прерываний совершенно необязательно знать, в каком месте памяти находится обработчик прерывания. Для обращения к подпрограмме обработки прерывания достаточно знать только номер элемента вектора прерываний, который содержит адрес обработчика. При этом действия, которые может выполнять подпрограмма обслуживания прерывания, ограничиваются только программными возможностями процессора. Эти свойства позволяют использовать механизм прерываний с еще одной целью. В системе команд многих ЭВМ имеются команды, которые позволяют программно запускать механизм прерываний (команда INT процессора 8086, команды TRAP и EMT процессора PDP - 11, команда SVC в машинах IBM 360). Прерывания, генерируемые командами программы, носят название программных прерываний. По существу, программные прерывания являются просто изощренным способом обращения к подпрограммам. В отличие от “обычных” подпрограмм, программные прерывания позволяют не указывать в команде адрес подпрограммы, а используют аппаратный механизм прерываний. Чаще всего программные прерывания используются в программах для обращения к операционной системе. Помимо более короткой записи (не нужно указывать адрес подпрограммы) использование программных прерываний дает возможность обратиться к подпрограмме, не зная адреса, по которому подпрограмма операционной системы расположена в памяти.

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

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


– Конец работы –

Эта тема принадлежит разделу:

Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы»

В пособии излагаются базовые принципы организации и функционирования ЭВМ Рассмотрен состав минимальной ЭВМ с шинной организацией назначение и... Илл библиограф наим...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: И ЕЩЕ О ПРЕРЫВАНИЯХ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ПРИНЦИПЫ ФОН НЕЙМАНА
Большинство современных ЭВМ строятся на базе принципов, сформулированных американским ученым, одним из “отцов” кибернетики Дж. фон Нейманом. Впервые эти принципы были опубликованы фон Нейманом в 19

СОСТАВ И ФУНКЦИОНИРОВАНИЕ МИНИМАЛЬНОЙ ЭВМ С ШИННОЙ ОРГАНИЗАЦИЕЙ
Шинная организация является простейшей формой организации ЭВМ. Подобная ЭВМ имеет в своем составе следующие функциональные блоки (см. рис. 1). Устройство управления (УУ) -

КОМАНДЫ ЭВМ
В данном разделе пособия кратко рассмотрим набор команд, используемых в типичных ЭВМ и действия, реализуемые этими командами.

ПЕРЕЙТИ ЕСЛИ БОЛЬШЕ К АДРЕСУ L .
Первая из команд (сравнение) производит, как отмечалось выше, вычитание значения операнда B из операнда A. Если A>B, то результат будет положителен и, соответственно, флаг знака во флаговом реги

СИСТЕМНЫЕ ИНТЕРФЕЙСЫ С ИЗОЛИРОВАННОЙ И ОБЩЕЙ СИСТЕМОЙ ШИН
В предыдущих разделах при описании обобщенного алгоритма работы центрального процессора мы намеренно опустили из рассмотрения вопрос о том, как процессор “отличает” порты внешних устройств от ячеек

СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ
Рассмотрев алгоритм функционирования процессора и способы организации системы шин в ЭВМ, попытаемся выяснить, какие особенности в работу и организацию ЭВМ вносит необходимость обеспечения взаимодей

Программно - управляемый обмен данными
Так как скорость работы периферийного оборудования обычно ниже скорости работы процессора, чтобы осуществить операцию обмена процессор должен убедиться, что устройство готово к выполнению операции

Обмен по прерываниям
Чтобы понять, что такое прерывание, обратимся к следующему примеру. Некоторый человек сидит в кресле и читает книгу. В это время на кухонной плите что-то готовится, и, кроме того, его прия

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

РЕЖИМЫ АДРЕСАЦИИ
При выполнении программы многим командам требуется доступ к памяти для выборки данных, записи промежуточных и окончательных результатов вычислений. Для любого такого обращения, что уже отмечалось в

ИЕРАРХИЧЕСКАЯ ОРГАНИЗАЦИЯ ПАМЯТИ
Память в современных компьютерах строится по иерархическому принципу. Одним из явлений, характерных для фоннеймановских ЭВМ является принцип локальности. Это означает, что за ограниченный промежуто

Кэш-память
Как уже говорилось выше, назначение кэш-памяти – временное хранение данных и команд, часто используемых процессором. Основной структурной единицей кэш-памяти является так называемая строка кэша (ca

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

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

Процесс переадресации виртуальной памяти
Процесс переадресацииопишем на примере микропроцессора 80386 фирмы Intel. Процесс переадресации показан на рис. 19 и 20.Перед исполнением загрузочные модели помещаются в оперативну

ФОРМАТЫ ДАННЫХ
Основными типами данных, которые встречаются при обработке информации в ЭВМ, являются числа, представленные в двоичной системе счисления, а также алфавитно-цифровые символы. Некоторые ЭВМ также осу

ИНФОРМАЦИОННАЯ МОДЕЛЬ ЭВМ
Обработка чисел, символьной информации, логическая обработка, обработка сигналов - это все частные случаи общего понятия над названием «обработка информации». Для ЭВМ характерен признак: информация

Простейший конвейер, производительность конвейера
Существует достаточно простое общеизвестное правило – чтобы выполнить некоторую работу быстрее, необходимо разделить ее между несколькими исполнителями и заставить их действовать од­новременно. Раз

Структурные конфликты
Структурные конфликты возникают, если на различных участках конвейера производится обращение к одному, недублированому ре­сурсу. Подобная ситуация возникает, например, если процессор имеет единую к

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

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

ЭВМ С КАНАЛЬНОЙ ОРГАНИЗАЦИЕЙ
В основе этого типа организации ЭВМ лежит множественность каналов связи между устройствами и функциональная специализация узлов. Упрощенная схема организации ЭВМ с каналами приведена на ри

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги