Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные режимы работы мультипрограммной ЭВМ






Основные режимы работы мультипрограммной ЭВМ:

1) пакетный;

2) разделения времени;

3) реального времени.

Пакетный режим

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

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

При пакетном режиме основным показателем эффективности служит пропускная способность ЭВМ – число задач, выполненных в единицу времени.

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

k ПС = ,

где Т ОПР и Т МПР – время выполнения пакета задач при однопрограммном мультипрограммном режиме работы соответственно.

В рассмотренном в 5.1 примере работы мультипрограммной ЭВМ k ПС = при Км = 2 и k ПС = при Км = 3.

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

Основные этапы обработки пакета задач:

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

2. Передача программ и исходных данных на ЭВМ, которая будет обрабатывать их в пакетном режиме.

3. Формирование из переданных программ пакета задач по одному из эвристических алгоритмов.

4. Обработка пакета задач на мультипрограммной ЭВМ.

Особенности пакетного режима работы:

1. Пользователь отстранен от непосредственного доступа к ЭВМ.

2. Результаты работы пользователь получает через определенное (иногда достаточно большое) время одновременно для всех задач пакета.

3. Увеличивается время отладки программ.

4. Существенно возрастает пропускная способность ЭВМ по сравнению с последовательным решением задач пакета.

Таким образом, пакетный режим наиболее эффективен при обработке больших отлаженных программ.

Режим разделения времени

Назначение – обслуживание конечного количества пользователей с приемлемым для каждого пользователя временем ответа на их запросы (рис.5.9).

Основные характеристики:

1. Многотерминальная многопользовательская система.

2. Любой пользователь со своего терминала может обратиться к любым ресурсам ЭВМ.

3. У пользователя создается впечатление, что он один работает на ЭВМ.

Реализация.

Время работы машины разделяется на кванты t k.

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


 
 

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

В основе реализации режима разделения времени лежит одноочередная дисциплина обслуживания пользователей.

Режим реального времени

Этот режим работы мультипрограммных ЭВМ используется, как правило, в системах автоматического управления объектом (рис.5.10).

Назначение – обеспечить выполнение задания за время, не превышающее максимально допустимого для данного задания. Большую роль играют дисциплины распределения ресурсов, особенно назначение приоритетов задачам.

 
 

Режим реального времени имеет много общего с системой разделения времени:

много терминалов – много датчиков,

много терминалов – много исполнительных устройств.

Особое внимание при построении систем реального времени уделяется вопросам обеспечения надежности.

 

5.4. Система прерываний

 

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

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания (ЗП). Запросы прерываний от внешних устройств поступают в процессор по специальным линиям, а запросы, возникающие в процессе выполнения программы, поступают непосредственно изнутри микропроцессора. Механизмы обработки прерываний обоих типов схожи. Рассмотрим функционирование компьютера при появлении сигнала запроса прерывания, опираясь в основном на обработку аппаратных прерываний (рис.5.11).

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

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

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

Время реакции определяется для запроса с наивысшим приоритетом.

 


 
 


Приоритет – число, предписанное задаче, процессу или операции и определяющее очередность их выполнения или обслуживания.

Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на рис.5.12. Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.

Запросы прерываний                          
Прерываемая программа Обработчик 1 (t 1) Обработчик 2 (t 2) Обработчик 3 (t 3) Прерываемая программа
а) n = 1

 

  t 3  
    t 21   t 22  
  t 11   t 12  
Прерываемая программа   Прерываемая программа
             

б) n =3

Рис.5.12. Работа системы прерываний при различной глубине прерываний

Без учета времени реакции, а также времени запоминания и времени восстановления:

t 11+ t 12= t 1,

t 21+ t 22= t 2.

Прерывания делятся на аппаратные и программные [4].

Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:

а) маскируемые, которые могут быть замаскированы программными средствами компьютера;

б) немаскируемые, запрос от которых таким образом замаскирован быть не может.

Программные прерывания вызываются следующими ситуациями:

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

б) наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации.

Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания.

При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:

1) определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);

2) определение типа выбранного запроса;

3) сохранение текущего состояния счетчика команд и регистра флагов;

4) определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;

5) выполнение программы – обработчика прерывания;

6) восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;

7) продолжение выполнения прерванной программы.

Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.

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

Распознавание наличия сигналов запроса прерывания и определение наиболее приоритетного из них может проводиться различными методами. Рассмотрим один из них.

Цепочечная однотактная система определения приоритета

запроса прерывания

На рис.5.13 приведена схема, обеспечивающая получение номера наиболее приоритетного запроса прерывания из присутствующих в компьютере на момент подачи сигнала опроса (" дейзи-цепочка") [7].

Данная схема используется для анализа запросов аппаратных прерываний. Приоритет запросов прерываний (ЗП i) уменьшается с уменьшением номера запроса. В тот момент, когда компьютер должен определить наличие и приоритет внешнего аппаратного прерывания (обычно после окончания выполнения каждой команды), процессор выдает сигнал опроса. Если на входе ЗП3 присутствует сигнал высокого уровня (есть запрос), то на элементе 11 формируется общий сигнал наличия запроса прерывания и дальнейшее прохождение сигнала опроса блокируется. Если ЗП3=0, то анализируется сигнал ЗП2 и так далее. На шифраторе (элемент 12) формируется номер поступившего запроса прерывания.

Этот номер передается в процессор лишь в случае наличия общего сигнала запроса прерывания.

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

 


       
 
 
   
Рис.5.13. Схема определения номера наиболее приоритетногозапроса прерывания

Обработка прерываний в персональной ЭВМ

Микропроцессоры типа х 86 имеют два входа запросов внешних аппаратных прерываний:

NMI – немаскируемое прерывание, используется обычно для запросов прерываний по нарушению питания;

INT – маскируемое прерывание, запрос от которого можно программным образом замаскировать путем сброса флага IF в регистре флагов.

Для подключения запросов прерываний от нескольких внешних устройств к одному входу INT микропроцессора используется контроллер приоритетных прерываний (рис.5.14).

 
 

Его функции:

восприятие и фиксация запросов прерываний от внешних устройств;

определение незамаскированных запросов среди поступивших запросов;

проведение арбитража: выделение наиболее приоритетного запроса из незамаскированных запросов в соответствии с установленным механизмом назначения приоритетов;

сравнение приоритета выделенного запроса с приоритетом запроса, который в данный момент может обрабатываться в МП, формирование нового запроса прерывания на вход INT микропроцессора в случае, если приоритет нового запроса выше;

передача в микропроцессор по шине данных типа прерывания, выбранного в процессе арбитража, для запуска соответствующей программы – обработчика прерывания; это действие выполняется по сигналу разрешения прерывания INTA от микропроцессора, который выдается в случае, если прерывания в микропроцессоре не замаскированы (IF =1).

Переход к соответствующему обработчику прерывания осуществляется (в реальном режиме работы микропроцессора) посредством таблицы векторов прерываний. Эта таблица (рис.5.15) располагается в самых младших адресах оперативной памяти, имеет объем 1К байт и содержит значения сегментного регистра команд (CS) и указателя команд (IP) для 256 обработчиков прерываний.

Рис.5.15. Структура таблицы векторов прерываний

 
 

Обращение к элементам таблицы осуществляется по 8‑ разрядному коду – типу прерывания (табл. 5.3).

Таблица 5.3

Тип прерывания Источник прерывания
  Деление на 0
  Пошаговый режим выполнения программы
  Запрос по входу NMI
∙ ∙ ∙
  Запрос по входу IRQ 0(системный таймер)
  Запрос по входу IRQ 1 (контроллер клавиатуры)
∙ ∙ ∙
  Отсутствие сегмента в оперативной памяти
∙ ∙ ∙
  Пользовательское прерывание

Различные источники задают тип прерывания по-разному:

программные прерывания вводят его изнутри процессора или содержат его в номере команды INT n;

аппаратные маскируемые прерывания вводят его от контроллера приоритетных прерываний по шине данных;

немаскируемому аппаратному прерыванию назначен тип 2.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.