Тема 4_2010_Принципы функциональной и структурной организации ЭВМ (542581), страница 4
Текст из файла (страница 4)
В этом случае программист работает так, как будто емупредоставлена реальная память максимально допустимого для данной ЭВМ объема, хотяимеющаяся реальная память значительно меньше по объему. Такой режим работыназывается режимом виртуальной памяти.Рис. 11. Структурная схема формирования абсолютного адреса при сегментно-страничнойорганизации ОПРис.
12. Структура виртуальной памятиТеоретически доступная пользователю ОП, объем которой определяется толькоразрядностью адресной части команды и которая не существует в действительности,называется виртуальной памятью.Виртуальная память имеет сегментно-страничную организацию и реализована виерархической системе памяти ЭВМ. Часть ее размещается в страничных блоках основнойпамяти, а часть - в ячейках внешней страничной памяти (slot). Внешняя страничнаяпамять является частью внешней памяти. Ячейка (слот) - это записываемая область вовнешней страничной памяти (например, на жестком магнитном диске).
Она того жеразмера, что и страница.Вычислительная система с 24-разрядным адресом может иметь адресноепространство в 16 777 216 байт (16 Мбайт), с 32-разрядным адресом - 4 Гбайт. Структуратакой памяти показана на рис.12.Все программные страницы физически располагаются в ячейках внешнейстраничной памяти. Виртуальная же память существует только как продукт деятельностиоперационной системы (функционирующей на основе совместного использованиявнешней и страничной памяти).Загрузить программу в виртуальную память - значит переписать несколькопрограммных страниц из внешней страничной памяти в основную память. Если впроцессе выполнения программы А система обнаружит, что требуемой страницы нет вреальной памяти, она должна переслать копию этой страницы из внешней страничнойпамяти в реальную память. Этот механизм называется принудительным страничнымобменом.При расшифровке виртуального адреса номер сегмента с помощью таблицысегментов соотносится с адресом таблицы страниц.
Таблица страниц содержит номерстраницы и адрес страничного блока. В виртуальном режиме к таблице страницдобавляется еще одна колонка, содержащая бит недоступности. Нулевое состояние этогобита означает, что соответствующая страница загружена в реальную память. Единичноесостояние означает, что страница недоступна, ее надо переписать в реальную память извнешней. Местоположение страницы во внешней памяти указывается в таблице внешнихстраниц.4.3. Система прерываний ЭВМСовременная ЭВМ представляет собой комплекс автономных устройств, каждое изкоторых выполняет свои функции под управлением местного устройства управлениянезависимо от других устройств машины.
Включает устройство в работу центральныйпроцессор. Он передает устройству команду и все необходимые для ее исполненияпараметры. После начала работы устройства центральный процессор отключается от негои переходит к обслуживанию других устройств или к выполнению других функций.Можно считать, что центральный процессор переключает свое внимание сустройства на устройство и с функции на функцию. На что именно обращено вниманиеЦП в каждый данный момент, определяется выполняемой им программой.Во время работы в ЦП поступает (и вырабатывается в нем самом) большоеколичество различных сигналов.
Сигналы, которые выполняемая в ЦП программаспособна воспринять, обработать и учесть, составляют поле зрения ЦП или другимисловами - входят в зону его внимания.Например, если процессором исполняется программа сложения двух двойных слов,которая анализирует регистр флагов ЦП, то в “поле ее зрения” находятся флагимикропроцессора, определяющие знаки исходных данных и результата, наличие переносаиз тетрады или байта, переполнение разрядной сетки и др.
Такая программа готовареагировать на любой из сигналов, находящихся в ее зоне внимания (а поскольку именнопрограмма управляет работой ЦП, то она определяет и “зону внимания” центральногопроцессора). Но если во время выполнения такой программы нажать какую-либо клавишу,то эта программа “не заметит” сигнала от этой клавиши, так как он не входит в ее “полезрения”.Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать насобытия, происходящие вне его зоны внимания, наступления которых он “не ожидает”,существует система прерываний ЭВМ. При отсутствии системы прерываний всезаслуживающие внимания события должны находиться в поле зрения процессора, чтосильно усложняет программы и требует большой их избыточности. Кроме того, посколькумомент наступления события заранее не известен, процессор в ожидании какого-либособытия может находиться длительное время, и чтобы не пропустить его появления, ЦПне может “отвлекаться” на выполнение какой-либо другой работы.
Такой режим работы(режим сканирования ожидаемого события) связан с большими потерями времени ЦП наожидание.Кроме сокращения потерь на ожидание, режим прерываний позволяет организоватьвыполнение такой работы, которую без него реализовать просто невозможно. Например,при появлении неисправностей, нештатных ситуаций режим прерываний позволяеторганизовать работу по диагностике и автоматическому восстановлению в моментвозникновения нештатной ситуации, прервав выполнение основной работы такимобразом, чтобы сохранить полученные к этому времени правильные результаты. Тогда какбез режима прерываний обратить внимание на наличие неисправности система моглатолько после окончания выполняемой работы (или ее этапа) и получения неправильногорезультата.Таким образом, система прерываний позволяет микропроцессору выполнятьосновную работу, не отвлекаясь на проверку состояния сложных систем при отсутствиитакой необходимости, или прервать выполняемую работу и переключиться на анализвозникшей ситуации сразу после ее появления.Помимо требующих внимания нештатных ситуаций, которые могут возникнутьпри работе микропроцессорной системы, процессору полезно уметь “переключатьвнимание” и на различные виды работ, одновременно выполняемые в системе.
Посколькууправление работой системы осуществляется программой, этот вид прерываний долженформироваться программным путем.В зависимости от места нахождения источника прерываний они могут бытьразделены на внутренние (программные и аппаратурные) и внешние прерывания(поступающие в ЭВМ от внешних источников, например, от клавиатуры или модема).Принцип действия системы прерываний заключается в следующем:при выполнении программы после каждого рабочего такта микропроцессораизменяются содержимое регистров, счетчиков, состояние отдельных управляющихтриггеров, т.е.
изменяется состояние процессора. Информация о состоянии процессоралежит в основе многих процедур управления вычислительным процессом. Не всяинформация одинаково актуальна, есть существенные элементы, без которых невозможнопродолжение работы. Эта информация должна сохраняться при каждом “переключениивнимания процессора”.Совокупность значений наиболее существенных информационных элементовназывается вектором состояния или словом состояния процессора (в некоторых случаяхона называется словом состояния программы).Вектор состояния в каждый момент времени должен содержать информацию,достаточную для продолжения выполнения программы или повторного пуска ее с точки,соответствующей моменту формирования данного вектора.Вектор состояния формируется в соответствующем регистре процессора или вгруппе регистров, которые могут использоваться и для других целей.Наборы информационных элементов, образующих векторы состояния, отличаютсяу ЭВМ разных типов.
В IBM PC вектор состояния включает содержимое счетчика команд,сегментных регистров, регистра флагов и аккумулятора (регистра АХ).При возникновении события, требующего немедленной реакции со сторонымашины, ЦП прекращает обработку текущей программы и переходит к выполнениюдругой программы, специально предназначенной для данного события, по завершениикоторой возвращается к выполнению отложенной программы. Такой режим работыназывается прерыванием.Каждое событие, требующее прерывания, сопровождается специальным сигналом,который называется запросом прерывания.