Тема 6 ЭВМ с магистр_организ (987271), страница 4
Текст из файла (страница 4)
Если впроцессе выполнения программы А система обнаружит, что требуемой страницынет в реальной памяти, она должна переслать копию этой страницы из внешнейстраничной памяти в реальную память. Этот механизм называетсяпринудительным страничным обменом.При расшифровке виртуального адреса номер сегмента с помощью таблицысегментов соотносится с адресом таблицы страниц.
Таблица страниц содержитномер страницы и адрес страничного блока. В виртуальном режиме к таблицестраниц добавляется еще одна колонка, содержащая бит недоступности. Нулевоесостояние этого бита означает, что соответствующая страница загружена вреальную память. Единичное состояние означает, что страница недоступна, ее надопереписать в реальную память из внешней. Местоположение страницы во внешнейпамяти указывается в таблице внешних страниц.4.3. Система прерываний ЭВМСовременная ЭВМ представляет собой комплекс автономных устройств,каждое из которых выполняет свои функции под управлением местного устройствауправления независимо от других устройств машины.
Включает устройство вработу центральный процессор. Он передает устройству команду и всенеобходимые для ее исполнения параметры. После начала работы устройствацентральный процессор отключается от него и переходит к обслуживанию другихустройств или к выполнению других функций.Можно считать, что центральный процессор переключает свое внимание сустройства на устройство и с функции на функцию. На что именно обращеновнимание ЦП в каждый данный момент, определяется выполняемой импрограммой.Во время работы в ЦП поступает (и вырабатывается в нем самом) большоеколичество различных сигналов. Сигналы, которые выполняемая в ЦП программаспособна воспринять, обработать и учесть, составляют поле зрения ЦП илидругими словами - входят в зону его внимания.Например, если процессором исполняется программа сложения двухдвойных слов, которая анализирует регистр флагов ЦП, то в “поле ее зрения”находятся флаги микропроцессора, определяющие знаки исходных данных ирезультата, наличие переноса из тетрады или байта, переполнение разрядной сеткии др.
Такая программа готова реагировать на любой из сигналов, находящихся в еезоне внимания. Поскольку именно программа управляет работой ЦП, то онаопределяет и “зону внимания” центрального процессора. Но если во времявыполнения такой программы нажать какую-либо клавишу, то эта программа “незаметит” сигнала от этой клавиши, так как он не входит в ее “поле зрения”.Для того чтобы ЦП, выполняя свою работу, имел возможность реагироватьна события, происходящие вне его зоны внимания, наступления которых он “неожидает”, существует система прерываний ЭВМ.
При отсутствии системыпрерываний все заслуживающие внимания события должны находиться в полезрения процессора, что сильно усложняет программы и требует большой ихизбыточности. Кроме того, поскольку момент наступления события заранее неизвестен, процессор в ожидании какого-либо события может находитьсядлительное время, и чтобы не пропустить его появления, ЦП не может“отвлекаться” на выполнение какой-либо другой работы. Такой режим работы(режим сканирования ожидаемого события) связан с большими потерями времениЦП на ожидание.Кроме сокращения потерь на ожидание, режим прерываний позволяеторганизовать выполнение такой работы, которую без него реализовать простоневозможно.
Например, при появлении неисправностей, нештатных ситуацийрежим прерываний позволяет организовать работу по диагностике иавтоматическому восстановлению в момент возникновения нештатной ситуации,прервав выполнение основной работы таким образом, чтобы сохранитьполученные к этому времени правильные результаты. Тогда как без режимапрерываний обратить внимание на наличие неисправности система могла толькопосле окончания выполняемой работы (или ее этапа) и получения неправильногорезультата.Таким образом, система прерываний позволяет микропроцессору выполнятьосновную работу, не отвлекаясь на проверку состояния сложных систем приотсутствии такой необходимости, или прервать выполняемую работу ипереключиться на анализ возникшей ситуации сразу после ее появления.Помимо требующих внимания нештатных ситуаций, которые могутвозникнуть при работе микропроцессорной системы, процессору полезно уметь“переключать внимание” и на различные виды работ, одновременно выполняемыев системе.
Поскольку управление работой системы осуществляется программой,этот вид прерываний должен формироваться программным путем.В зависимости от места нахождения источника прерываний они могут бытьразделены на внутренние (программные и аппаратурные) и внешние прерывания(поступающие в ЭВМ от внешних источников, например, от клавиатуры илимодема).Принцип действия системы прерываний заключается в следующем:при выполнении программы после каждого рабочего такта микропроцессораизменяются содержимое регистров, счетчиков, состояние отдельных управляющихтриггеров, т.е. изменяется состояние процессора. Информация о состояниипроцессора лежит в основе многих процедур управления вычислительнымпроцессом.
Не вся информация одинаково актуальна, есть существенные элементы,без которых невозможно продолжение работы. Эта информация должнасохраняться при каждом “переключении внимания процессора”.Совокупность значений наиболее существенных информационныхэлементов называется вектором состояния или словом состояния процессора (внекоторых случаях она называется словом состояния программы).Вектор состояния в каждый момент времени должен содержатьинформацию, достаточную для продолжения выполнения программы илиповторного пуска ее с точки, соответствующей моменту формирования данноговектора.Вектор состояния формируется в соответствующем регистре процессора илив группе регистров, которые могут использоваться и для других целей.Наборы информационных элементов, образующих векторы состояния,отличаются у ЭВМ разных типов.
В IBM PC вектор состояния включаетсодержимое счетчика команд, сегментных регистров, регистра флагов иаккумулятора (регистра АХ).При возникновении события, требующего немедленной реакции со сторонымашины, ЦП прекращает обработку текущей программы и переходит квыполнению другой программы, специально предназначенной для данногособытия, по завершении которой возвращается к выполнению отложеннойпрограммы.
Такой режим работы называется прерыванием.Каждое событие, требующее прерывания, сопровождается специальнымсигналом, который называется запросом прерывания. Программа, затребованнаязапросом прерывания, называется обработчиком прерывания.Запросы на прерывание могут возникать из-за сбоев в аппаратуре(зафиксированных схемами контроля), переполнения разрядной сетки, деления нануль, выхода за установленные для данной программы области памяти,затребования периферийным устройством операции ввода-вывода, завершенияэтой операции ввода-вывода или возникновения при этой операции особыхусловий и т.д.Некоторые из этих запросов порождаются самой программой, но время ихвозникновения невозможно предсказать заранее.При наличии нескольких источников запросов прерывания часть из нихможет поступать одновременно.
Поэтому в ЭВМ устанавливается определенныйпорядок (дисциплина) обслуживания поступающих запросов. Кроме того, в ЭВМпредусматривается возможность разрешать или запрещать прерыванияопределенных видов.ПЭВМ IBM PC может выполнять 256 различных прерываний, каждое изкоторых имеет свой номер (двухразрядное шестнадцатеричное число).Все прерывания делятся на две группы:• прерывания с номера 00h по номер IFh называются прерываниямибазовой системы ввода-вывода (BIOS -Basic Input-Output System);• прерывания с номера 20h по номер FFh называются прерываниямиDOS.Прерывания DOS имеют более высокий уровень организации, чемпрерывания BIOS, они строятся на использовании модулей BIOS в качествеэлементов.Прерывания делятся на три типа: аппаратурные, логические ипрограммные.Аппаратурные прерывания вырабатываются устройствами, требующимивнимания микропроцессора: прерывание № 2 - отказ питания; № 8 - от таймера; №9 - от клавиатуры; № 12 - от адаптера связи; № 14 - от НГМД; № 15- от устройствапечати и др.Запросы на логические прерывания вырабатываются внутримикропроцессора при появлении “нештатных” ситуаций: прерывание № 0 - припопытке деления на 0; № 4 - при переполнении разрядной сетки арифметикологического устройства; № 1 - при переводе микропроцессора в пошаговый режимработы; № 3 - при достижении программой одной из контрольных точек.Последние два прерывания используются отладчиками программ для организациипошагового режима выполнения программ (трассировки) и для остановкипрограммы в заранее намеченных контрольных точках.Запрос на программное прерывание формируется по команде INTn, где n— номер вызываемого прерывания.
Запрос на аппаратное или логическоепрерывание вырабатывается в виде специального электрического сигнала..