КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обработка прерываний
Процессоры компьютеров с сокращенными наборами команд (RISC-процессор). Достоинства микропрограммного управления 1. Проектирование процессора можно разделить на создание микропрограммы и проектирование логических схем; эти 2 вида проектирования можно проводить параллельно. Меняя микропрограммы можно получить процессор с совершенно другой системой команд. 2. УУ (самое сложное в структуре компьютера) можно строить на базе функциональных узлов с регулярной структурой – ПЗУ, управление удобно для логического проектирования интегральных схем (СБИС). Недостатком устройств МПУ является более медленная обработка, чем та, которая обеспечивается УУ с жесткой логикой.
Если рассматривать традиционную архитектуру компьютера, то для расширения функциональных возможностей в систему команд вводят новые команды, что позволяет увеличить возможность (работоспособность компьютера – CISC-компьютеры с полным набором команд. Другой подход – сужение набора команд, что позволяет снизить сложность и стоимость процессора. Компьютеры RISC-проц. работают быстрее: а) набор команд содержит 30-50 команд. б) команды выполняются за один машинный цикл в) ограничения на форматы команд, режимы адресации, что позволяет упростить УУ. Большинство команд имеют формат: регистр-регистр. К памяти имеет обращение только команда чтение или запись. г) построение УУ на базе жесткой логики.
Прерывание – это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Если произошло прерывание, то 1) управление передается ОС, 2) ОС запоминает состояние прерванного процесса 3) ОС анализирует тип прерывания и передает управление соответствующей программе обработки этого прерывания (обработчику прерывания) Запросы прерывания генерируются несколькими развивающимися параллельно во времени процессами, которые в некоторые моменты требуют вмешательства процессора. Это – процесс выполнения самой программы: – процесс контроля правильности работы ЭВМ; – операции ввода/вывода – другие Возможность прерывания программ – важное свойство архитектуры ЭВМ, позволяющее эффективно использовать производительность процессора при наличии нескольких протекающих во времени процессов, требующих в произвольные моменты времени управления и обслуживания со стороны процессора. Это в первую очередь относится к организации параллельной работы процессора и ПУ, а также к использованию ЭВМ для управления в реальном времени технологическими процессами. 1. Прерывания ввода-вывода и внешние прерывания инициируются аппаратурой ввода-вывода. Они сигнализируют ЦП о том, что произошло изменение состояния УВВ, например, завершено выполнение операции ввода-вывода; возникла ошибка; УВВ находится в состоянии готовности (прерывания от клавиатуры, от накопителя на дисках и т.д.); прерывания от таймера - истек квант времени. 2. Прерывание по контролю (ошибке) программы. Эти прерывания вызываются различными видами ошибок, обнаруженных в выполняющемся процессе, также как попытка деления на ноль, попытка выполнить операцию с неправильным кодом; попытка процесса пользователя выполнить привилегированную команду и т.д. 3. Программные прерывания. Инициатором этих прерываний является работающий процесс, который обращается к функциям ОС или BIOS, например, для ввода-вывода, увеличения размера выделенной памяти и т.п. Механизм программных прерываний позволяет 1) защитить ОС от пользователей. Вход в ОС – только через обращения к функциям ОС с разрешенным уровнем привилегии; 2) использовать механизм прерываний для обращения к подпрограммам. 4. Прерывания по контролю (ошибке) машины. 5. Прерывания по рестарту. Эти прерывания происходят, когда оператор нажимает на ПУ на кнопку «Сброс» или поступает сигнал сброса от другого процессора в мультипрограммной системе. Чтобы ЭВМ могла, не требуя больших усилий от программиста, реализовывать с высоким быстродействием прерывания программ, машине необходимо придать соответствующие аппаратные и программные средства, совокупность которых получила название системы прерываний. При наличии нескольких источников запросов прерывания должен быть установлен определенный порядок в обслуживании поступающих запросов. Т.е. между запросами (и соответствующими прерывающими программами) должны быть установлены приоритетные соотношения, определяющие: 1. какой из одновременно поступивших запросов подлежит обработке в первую очередь 2. имеет ли право данный запрос прерывать ту или иную систему Часть функций системы прерываний возлагается на ЦП, а часть на спец ПКП. 12.Характеристики системы прерыва ний Общее количество запросов прерываний. Время реакции – время между появлением запроса прерывания и началом выполнения прерывающей программы. Упрощенно временная диаграмма процесса прерывания выглядит так: рис. 14. Временная диаграмма процесса прерывания Большей частью прерывание допускается после окончания текущей машинной команды. Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Если после перехода к прерывающей программе и вплоть до ее окончания обслуживание других запросов запрещается, то говорят, что система имеет глубину прерывания, равную 1 (одноуровневая система). Глубина равна n, если допускается последовательное прерывание до n программ. Глубина прерывания обычно совпадает с числом уровней приоритета в системе прерываний. Назовем вектором прерывания вектор начального состояния прерывающей программы. Вектор прерывания содержит всю необходимую информацию для перехода к прерывающей программы, в т.ч. ее начальный адрес. В перспективе ЭВМ каждому запросу прерывания соответствует свой вектор прерывания (в больших ЭВМ много запросов, они разбиваются на классы (уровни), один класс запросов – один вектор прерывания). Векторы прерываний обычно находятся в специальных фиксированных ячейках памяти. Главное место в процедуре перехода к прерывающей программе (обработчику прерываний) занимают передача из регистров процессора в память (в стек) на сохранение текущего вектора состояния прерываемой программы (чтобы можно было вернуться к ее исполнению) и загрузке в регистр процессора вектора прерывания обработчика прерывания, к которому при этом переходит управление процессом. В простейшем случае вектор прерывания состоит лишь из начального адреса обработчика прерывания. Процедура организации перехода к обработчику прерывания включает в себя выделение из выставленных запросов, который имеет максимальный приоритет. Простейший способ – это программный или аппаратный опрос источников (флажков) прерываний, которые объединяются в регистр запросов прерывания. рис. Процедура организации перехода к обработчику прерывания. Более гибким и динамичным является векторное прерывание, при котором исключается опрос источников прерывания. Прерывание называется векторным, если источник прерывания, выставляя запрос прерывания, посылает в процессор код адреса своего вектора прерывания. Во многих случаях приоритет между прерывающими программами должен быть динамичным, т.е. программно-управляемым. 2 способа реализации программно-управляемыми приоритетами: 1. порог прерывания. Этот способ позволяет программным путем изменять уровень приоритета процессора относительно приоритетов запросов источников прерывания от ПУ, т.е. задавать порог прерывания – минимальный уровень приоритета запросов, которым разрешается прервать программу, выполняющуюся на процессоре. 2. использование маски прерывания двоичного кода, разряды которого поставлены в соответствие запросам прерывания. Маска загружается в регистр маски, командой процессора. Разряд маски разрешает или запрещает (маскирует) прерывания текущей программы от соответствующего запроса. Замаскированные запросы либо игнорируются (например, переполнение в арифметическом сопроцессоре), либо запоминаются с тем, чтобы осуществить затребованные действия, когда запрет будет снят (например, от ПУ).
Дата добавления: 2014-01-06; Просмотров: 574; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |