Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Матрично-электронные ВЗУ прямого доступа . Память на магнитных доменах, ВЗУ, построенные на элементной базе ОЗУ и т.п.



В обмене отсутствует «механическая» составляющая, поэтому это наиболее быстродействующие ВЗУ.

Существует две принципиально различные стратегии выполнения обмена с внешними устройствами: синхронная и асинхронная работа с ВУ.

Синхронная работа с ВУ. Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса.

 

Рисунок 10 Синхронная работа с ВУ

 

Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Наиболее подходит для однопрограммных специализированных вычислительных систем.

Асинхронная работа с ВУ.

 

Рисунок 11 Асинхронная работа с ВУ

 

При обработке запроса к ВУ происходит разделение выполнения на три части:

Первая – передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.

Вторая – параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнять другие машинные команды).

Третья – выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. Следует отметить, что ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.

Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.

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

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

 

Рисунок 12 Типы прерывания

 

Прерывания можно разделить на две группы внутренние и внешние.

Внутренние прерывания инициируются схемами контроля работы процессора. Это может быть реакция ЦП на программную ошибку. Например, деление на ноль.

Внешние прерывания – это средство, позволяющее ЭВМ корректно взаимодействовать с внешними устройствами. Это может быть событие, связанное с поступлением новой информации от ВУ или возникновение ошибки во ВУ.

Аппарат прерываний ЦП обеспечивает стандартную реакцию аппаратуры при возникновении прерывания. Тем самым обеспечивается возможность корректной обработки прерываний в ВС.

При обработке события, связанного с возникновением прерывания на первом этапе работает аппаратура ВС. При этом аппаратно (без участия программы) выполняются следующие действия:

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

2. Обработка прерывания предполагает сохранение возможности корректного продолжения прерванной программы (процесса) с точки прерывания. Поэтому следующий шаг аппаратной обработки – “малое упрятывание“ – копирование в специальную регистровую память ЦП (регистровый буфер, таблицу) минимального количества регистров и настроек ЦП, достаточных для запуска программы ОС, обрабатывающей прерывания. Это заведомо счетчик команд, регистр результата, некоторое количество регистров общего назначения. Следует отметить, что возможно организовать копирование (или упрятывание) всех регистров, используемых программой, но это, в общем случае, нецелесообразно, так как может потребовать значительных объемов регистровой памяти, а также потребует значительного времени работы в режиме блокировки прерываний.

 

Рисунок 13 Обобщенная модель последовательности действий, происходящих в ВС при возникновении прерывания.

 

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

Второй этап. Программная обработка прерывания. Управление передано на точку ОС, занимающуюся обработкой прерывания. При входе в эту точку часть ресурсов ЦП, используемых программами освобождена (результат малого упрятывания). Поэтому будет запущена программа ОС, которая может использовать только освобожденные малым упрятыванием ресурсы ЦП (перечень доступных в этот момент ресурсов – характеристика аппаратуры). Выполняется следующая последовательность действий:

1. Анализ и предварительная обработка прерывания. Происходит идентификация типа прерывания, определяются причины. Если прерывание " короткое" обработка не требует дополнительных ресурсов ЦП и времени, то прерывание обрабатывается, происходит разблокировка прерываний и возврат в первоначальную программу (не вдаваясь в подробности, эта последовательность действий организована так, что гарантируется корректное восстановление всех регистров и настроек ЦП).       
Если прерывание требует использования всех ресурсов ЦП, то переходим к следующему шагу.

2. “Полное упрятывание” осуществляется полное упрятывание состояния всех ресурсов ЦП, использовавшихся прерванной программой (все регистры, настройки, режимы и т.д.) в специальную программную таблицу (в контекст процесса или программы – о нем позже). То есть в данную таблицу копируется содержимое аппаратной таблицы, содержащей сохраненные значения ресурсов ЦП после малого упрятывания, а также копируются все оставшиеся ресурсы ЦП используемые программно, но не сохраненные при малом упрятывании. После данного шага программе обработки прерываний становятся доступны все ресурсы ЦП, а прерванная программа получает статус ожидания завершения обработки прерывания. В общем случае программ или процессов, ожидающих завершения обработки прерывания может быть произвольное количество.

3. До данного момента времени все действия происходили в режиме блокировки прерываний. Почему? Потому что режим блокировки прерываний – единственная гарантия оттого, что не придет новое прерывание и при его обработке не потеряются данные, необходимые для продолжения прерванной программы (регистры, режимы, таблицы ЦП).   После полного упрятывания разблокируются прерывания (то есть включается стандартный режим при котором возможно появление прерываний).

4. Заключительный этап – завершение обработки прерывания.

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

Одно из основных достижений прерываний – возможность организации асинхронной работы с внешними устройствами. Вернемся к ее рассмотрению. Пусть в системе имеется прерывание “обращение к системе”. Оно используется для организации доступа к функциям ОС.

Рисунок 14 Синхронная организация обмена

 

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

Асинхронная работа с ВУ. Последовательность действий следующая

1. Программа инициирует прерывание “обращение к системе”, тем самым передается заказ на выполнение обмена, (параметры заказа могут быть переданы через специальные регистры, стек и т.п.) Происходит обработка прерывания (при этом программа (процесс) находится в ожидании). При обработке прерывания конкретному драйверу устройства передается заказ на выполнение обмена (который поступает в очередь).

2. После завершения обработки прерывания “обращение к системе” программа продолжает свое выполнение до завершения обмена (на самом деле это не всегда так, почему – ответ позднее).

3. Выполнение программы приостанавливается по причине возникнове6ния прерывания – завершение обмена с конкретным устройством. После обработки прерывания выполнение будет продолжено.

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

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

Несмотря на возможность асинхронной работы с ВУ, имеют место периоды ожидания программой завершения обмена. Если система обрабатывает единственную программу, то в это время ЦП не производит никакой полезной работы, то есть простаивает (на самом деле термин простой достаточно условный, так как при этом работает операционная система).

Рисунок 15 Простой ЦП

Решением проблемы простоя ЦП в этом случае является использование ВС в мультипрограммном режиме, в режиме при котором возможна организация переключения выполнения с одной программы на другую

На рисунке изображена подобная мультипрограммная система, обрабатывающая одновременно 4 программы (процесса). t1 – момент времени в который программа1 будет остановлена для ожидания завершения обмена (до момента времени t4). В момент времени t1 система запускает выполнение программы2, которая выполняется до момента времени t2. С t2 программа2 также начинает ждать завершения своего обмена и т.д.

Рисунок 16 Подобная мультипрограммная система

Для корректной организации мультипрограммной обработки необходима аппаратная поддержка ЭВМ. Как минимум аппаратура ЭВМ должна поддерживать следующие функции.

1. Аппарат защиты памяти. Аппаратная возможность ассоциирования некоторых областей ОЗУ с одним из выполняющихся процессов/программ. Настройка аппарата защиты памяти происходит аппаратно, то есть назначение программе/процессу области памяти происходит программно (т.е., в общем случае операционная система устанавливает соответствующую информацию в специальных регистрах), а контроль за доступом – автоматически. При этом при попытке другим процессом/программой обратиться к этим областям ОЗУ происходит прерывание “Защита памяти”

2. Наличие специального режима операционной системы (привилегированный режимом или режим супервизора) ЦП. Суть заключается в следующем: все множество машинных команд разбивается на 2 группы. Первая группа – команды, которые могут исполняться всегда (пользовательские команды). Вторая группа – команды, которые могут исполняться только в том случае, если ЦП работает в режиме ОС. Если ЦП работает в режиме пользователя, то попытка выполнения специализированной команды вызовет прерывание – "Запрещенная команда”. Какова необходимость наличия такого режима выполнения команд? Простой пример – управление аппаратом защиты памяти. Для корректного функционирования этого аппарата необходимо обеспечить централизованный доступ к командам настройки аппарата защиты памяти. То есть эта возможность должна быть доступна не всем программам.

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

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 243; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.035 с.)
Главная | Случайная страница | Обратная связь