Помощничек
Главная | Обратная связь


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

Классификация прерываний



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

Каждому прерыванию присваивается код (номер) прерывания: 0-225

 

Системной причиной прерывания второго рода является необходимость синхронизации параллельных процессов. Процессы, подчиненные ОС, в случае их окончания или в других ситуациях вырабатывают сигнал прерывания, что приводит к прекращению обслуживания ЦП других активных процессов «без их ведома».

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

1) восприятие запроса на прерывание;

2) запоминание состояния прерванного процесса (значение счетчика команд, содержимое регистров общего назначения, режим работы ЦП и т.д.);

3) передача управления программе обработки прерываний, для чего в счетчик команд заносится адрес, уникальный для каждого типа прерывания;

4) обработка прерывания;

5) восстановление нормальной работы.

 

Система прерываний - это совокупность программных и аппаратных средств, реализующих механизм прерываний.

К аппаратным средствам системы прерываний относятся:

1) выводы микропроцессора - на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит уделить ему внимание» (INTR), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)

2) INTR - вывод для входного сигнала запроса на прерывание,

3) NMI - вывод для входного сигнала немаскируемого прерывания

4) INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы контроллера 8259А;

5) программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15 плюс одно немаскируемое прерывание; именно он формирует номер вектора прерывания и выдает его шину данных);

6) внешние устройства (таймер, клавиатура, магнитные диски и т.п.)

 

 

Укажем основные действия, которые выполняются микропроцессором при возникновении прерывания.

1. Регистр флагов запоминается в стеке. Запоминание состояния прерванной программы.

2. Отчистка флагов TF и IF.

Т.о. после программы обработки прерывания процессор работает обычным образом (Т = 0), а не в пошаговом режиме. Автоматически запрещаются внешние прерывания по входу INTR (I = 0), что нужно, например, для защиты начального участка программы обработки прерывания, в течение которого осуществляется включение в стек внутренних регистров микропроцессора. Затем программа обработки прерывания может разрешить внешние прерывания. Необходимо следить, чтобы в программе обработке прерывания не возникло того типа прерывания, которое она обслуживает, чтобы не произошел бесконечный вызов этой процедуры.

3. Адрес возврата (CS и IP) заполняются в стеке. Отметим, что в стек включается скорректированное содержимое указателя команд IP, соответствующее адресу команды, перед которой микропроцессор начал обслуживать прерывание(то есть адрес следующей команды)..

4. Вектор прерывания помещается в регистры CS и IP. При этом осуществляется переход к программе обработки прерывания.

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

Взаимодействие программ, использующих прерывания представлено ниже.

Рисунок 14.16 – Взаимодействие программ, использующих прерывания

Здесь IRET – команда возврата из прерывания, по которой из стека считываются содержимое регистра флагов и регистров CS и IP, после чего продолжается выполнение прерванной программы.

 

Пример: Установить курсор на 4-ю строку в 10-й столбец.

MOV AH, 02; 02 - функция установки курсора

MOV BH, 00; экран 0

MOV DH, 03; строка 4

MOV DL, 09; столбец 10

INT 10H; передача управления в BIOS

 

 

Вопрос 2

Характеристики системы прерываний
Имеются ситуации, в которых желательно немедленное прерывание. Если аппаратура контроля обнаружила ошибку, то целесообразно сразу же прервать операцию, пока ошибка не оказала влияние на следующие такты работы программы.
Затраты времени на переключение программ (издержки прерывания) равны суммарному расходу времени на заполнение и восстановление состояния программы.
Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Если после перехода к прерывающей программе и до ее окончания прием запросов прекращается, то говорят, что система имеет глубину n, равную 1. Глубина n, равна N, если допускается последовательное прерывание до N программ. Глубина прерывания обычно совпадает с числом уровней приоритетов в системе прерываний.
Вот так выглядят временные диаграммы для прерывающих программ в системах с различной глубиной прерывания (предполагаем, что приоритет каждого последующего запроса выше предыдущего).

Рис. 9.2. Процессы прерывания с различной глубиной прерывания и дисциплиной обслуживания.
Следует отметить, что система с большей глубиной прерывания обеспечивает более быструю реакцию на срочные запросы. Если запрос на прерывание от определенного источника прерывания окажется не обслуженным к моменту прихода нового запроса от того же источника, то возникает так называемое насыщение системы прерываний. В этом случае предыдущий запрос будет утерян.
Число уровней прерывания (число классов прерывания).В ЭВМ число различных запросов (причин) прерывания может достигать нескольких десятков или сотен. В таких случаях часть запросов разделяют на отдельные классы или уровни. Совокупность запросов, инициирующих одну и ту же прерывающую программу, образует класс или уровень прерывания. Разделение запросов на классы прерывания представлено на рис. 9.3.
Запросы всех источников прерывания поступают на РгЗП, устанавливая соответствующие его разряды в единицу, которая указывает на наличие запроса прерывания определенного источника. Запросы классов прерывания ЗПК формируются схемами ИЛИ, объединяющих разряды РгЗП, относящихся к соответствующим уровням прерывания. Еще одна схема ИЛИ формирует общий сигнал прерыванияОСП, поступающий в устройство управления процессора. После принятия запроса прерывания на исполнение и передачу управления прерывающий программе соответствующий триггер РгЗПсбрасывается. Следует отметить, что объединение запросов в классы прерывания позволяет уменьшить объем аппаратуры, но приводит к замедлению работы системы прерываний.


Рис. 9.3. Разделение запросов на классы прерывания.

 

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

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

Вопрос 3.

Приоритеты прерываний. Прерывание происходит в момент окончания текущей команды. За время выполнения команды, а также за время выполнения обработчика прерывания, в процессор может поступить несколько сигналов прерываний, одновременное обслуживание которых невозможно. Для разрешения конфликтной ситуации сигналам (причинам) прерываний присваиваются различные приоритеты. Приоритет – это преимущественное право (перед другими) на обслуживание – привилегия в обслуживании. Приоритет характеризуется целым числом 0, 1, … . Чем меньше число, тем выше приоритет. Приоритеты распределяются между причинами в зависимости от степени важности причины. В зависимости от динамики процессов быстропротекающим процессам обычно назначают более высокие приоритеты. Некорректность в работе аппаратуры (отказ) в отличие от некорректности в программе также необходимо обслуживать в первую очередь. Некорректную программу можно снять со счета и начать выполнять другую программу. Отказ же аппаратуры делает невозможным выполнение любой программы. Поэтому реакция на отказ должна иметь преимущества перед другими причинами прерываний.

Программные прерывания осуществляются по командам прерывания INTО, INT3, INT N, используемым при программировании (встраиваемым в программы). Команда INT N (длиной два байта) вызывает обработчик прерываний с номером NÎ(0,1, … ,256), указанным в адресной части команды. Используется обычно для вызова программ ОС. Команда INTО (прерывание по переполнению) является (безадресной) командой условного перехода. Обеспечивает вызов подпрограммы (с фиксированным номером N=4) по условию (флагу) переполнения OF=1. Команда INT3 (программный останов в контрольной точке) используется для отладки программы и обслуживается вектором с фиксированным номером N=3.

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

Схема системы прерываний представлена на рисунке 5. Для внешних сигналов прерываний система прерываний является двухуровневой: арбитр системы прерываний имеет два входа – NMI, INTR, на которые могут подаваться внешние сигналы прерываний.

Маскируемые прерываниявызываются сигналами, поступающими на вход INTR (Interrupt Request – запрос прерывания). На этот вход подается сигнал (запрос) прерывания с выхода программируемого контроллера прерываний ПКП типа i8259А. Запросы прерываний от различных устройств У1, … , УК подаются на входы IRQk ПКП. Каждый из них может быть замаскирован маской m1 ... mk внутри ПКП. Объединенные по ИЛИ сигналы прерывания выдаются на выход ПКП: L=m1l1Ú … Úmklk, k=15, где l1 … lk – сигналы прерываний на входах IRQk ПКП. Запросом на прерывание является фронт сигнала L. Он вызовет прерывание, если, в свою очередь, не замаскирован битом маски IF из регистра флагов. Кроме маскирования контроллер ПКП обеспечивает возможность программирования приоритетов сигналов по входам IRQ0 …IRQ15.

Немаскируемые прерываниявызываются сигналами, поступающими на вход NMI (Non Mascable Interrupt – немаскируемое прерывание). На этот вход подаются сигналы прерываний от источников, требующих безотлагательной обработки, поэтому по отношению к входу INTR имеют более высокий приоритет. Маска IF на вход NMI не действует. На входе NMI запросом на прерывание является высокий уровень сигнала. Запрос, поступивший на этот вход, обслуживается вектором прерываний с номером N=2. Этот номер формируется процессором автоматически. Обслуживание прерывания по входу NMI осуществляется без прерывания, так как этот сигнал сбрасывается только после выполнения команды IRET.

Вопрос 4.

Программируемый контроллер прерываний (Programmable Interrupt Controller, PIC) отвечает за приём запросов прерываний от различных устройств, их хранение в ожидании обработки, выделение наболее приоритетного из одновременно присутствующих запросов и выдачу его вектора в процессор, когда последний пожелает обработать прерывание. Слово «программируемый» в названии контроллера означает, что режимы его работы устанавливаются программно, а не являются жёстко «зашитыми».

Типовая схема подключения:

Основные режимы работы PIC

1. FNM (Fully Nested Mode) – режим вложенных прерываний (фиксированных приоритетов).

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

3. SRM (Specific Rotation Mode) – режим адресуемых (программно-управляемых) приоритетов. В этом режиме уровень запроса наивысшего приоритета устанавливается извне путем передачи соответствующего приказа из CPU в PIC.

4. РМ (Polling Mode) – режим опроса (полинга),точнее режим программного полинга. В этом режиме PIC лишь фиксирует поступающие запросы в IRR и не посылает внешнего сигнала INT на вход CPU.

Анализ содержимого IRR, а также регистра маски IMR, осуществляется программно путем предварительной пересылки содержимого этих регистров в CPU с помощью команды ввода INT с указанием адреса соответствующего порта ввода/вывода.

Порядок взаимодействия между CPU и PIC (ведущим контроллером)

1.При наличии хотя бы одного незамаскированного запроса прерываний PIC выставляет активный уровень выходного сигнала INT, который поступает на вход INTR CPU.

2. CPU завершает текущую команду программы и проверяет состояние внешних входов, в том числе и INTR.

3. Если флаг IF установлен (внешние прерывания от PIC разрешены), процессор генерирует активный уровень выходного сигнала INTA (INTerrupt Answer – подтверждение прерывания). При сброшенном флаге IF обработка внешнего запроса прерывания временно откладывается (в частности, до выполнения процессором специальной команды STISeT Interrupt – разрешение прерывания, действие которой сводится к установке флага IF).

4. При получении сигнала INTA PIC выполняет следующие действия:

а) сбрасывает бит запроса, принятого к обслуживанию в IRR;

б) устанавливает бит обрабатываемого запроса в регистре ISR;

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

5. CPU принимает номер запроса от PIC по шине данных и модифицирует этот номер в адрес соответствующего вектора прерываний (модификация номера в адрес осуществляется путем умножения номера на 4).

6. Текущее значение регистра флагов, сегмента кода (CS) и счетчика команд (IP) помещаются в стек, и тем самым сохраняется минимальный контекст прерываемой программы.

7. Два последовательных слова из таблицы векторов прерываний загружаются в регистр IP (слово по меньшему адресу) и CS (слово по большему адресу), тем самым настраивая CPU на выполнение первой команды программы-обработчика прерываний.

8. На аппаратном уровне производится сброс флага IF в целях временного запрещения поступления других запросов от PIC.

9. Процессор переходит к выполнению программы-обработчика соответствующего прерывания.

 

Вопрос 5.

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

 

Основными характеристиками запоминающих устройств (ЗУ) являются:

информационная емкость, определяемая максимальным объемом хранимой информации в битах или байтах;

быстродействие, характеризуемое временем выборки информации из ЗУ и временем цикла обращения к ЗУ с произвольным доступом или временем поиска и количеством переданной в единицу времени информации в ЗУ (или из ЗУ) с последовательным доступом;

энергопотребление, определяемое электрической мощностью, потребляемой ЗУ от источников питания в каждом из режимов работы;

стоимость хранения информациив расчете на один бит;

энергонезависимость, то есть сохраняется ли информация в ЗУ после выключения электропитания;

а также надежность, масса, габаритные размеры и др.

Классификация ЗУ по методу доступаОсновной способ выделения классов запоминающих устройств – по способу доступа к информации.

ЗУ

1 – с прямым доступом

2 – с последовательным доступом

3 – со смешанным доступом

4 – с циклическим доступом

5 – с апериодическим доступом

 

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

Вопрос 6.

Классификация запоминающих устройств. Иерархия запоминающих устройств. Особенности иерархии. Классификация полупроводниковых ЗУ. Словарный и матричный способ организации БИС ЗУ. Достоинства и недостатки.

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.