Войти в мой кабинет
Регистрация
ГОТОВЫЕ РАБОТЫ / КУРСОВАЯ РАБОТА, ИНФОРМАТИКА

Теоретические основы прерываний в современном компьютере.

ikonowosky2016 336 руб. КУПИТЬ ЭТУ РАБОТУ
Страниц: 28 Заказ написания работы может стоить дешевле
Оригинальность: неизвестно После покупки вы можете повысить уникальность этой работы до 80-100% с помощью сервиса
Размещено: 13.05.2019
Целью данной работы является определение организации прерывания в современных копьютерах, методов их обработки. Для достижения поставленной цели необходимо выполнить следующие задачи: - изучение обработки прерывания, - изучение механизма прерывания, - описание проритетов прерываний.
Введение

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

1. Гук. М.Ю. Аппаратные средства IBM PC: Энциклопедия, 3-е изд.-СПб: Питер, 2016 - 1072с. 2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов.- СПб.: Питер 2016. - 672с. 3. Мелехин В.Ф. Павловский Е.Г. Вычислительные машины, системы и сети: Учебник.- М.: Издательский центр "Академия", 2012. - 560с 4.Леонтьев В.П. Новейшая энциклопедия персонального компьютера:Энциклопедия. - М.: ОЛМА-ПРЕСС, 2014. - 869с 5.Таненбаум Э.С. Архитектура компьютера. Классика computer science. 4-е изд.- СПб.: Питер, 2013. - 704с. 6. Хелворсон М., Янг М., «Эффективная работа с Microsoft Office 2000», М., «Питер», 2016. 7. Информатика: Учебник для вузов.- / Под ред. С.В. Симоновича. - СПб.: Питер, 2013. 8. Кураков Л.П., Лебедев Е.К. Информатика. - М.: Вуз и школа, 2014. - 636с. 9. Могилев и др. Информатика: Учебное пособие для вузов / А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К. Хеннера. - М.: Изд. центр "Академия", 2015 10. Острейковский В.А. Информатика. - м.: Высшая школа, 2012.- 512с. 11. Окулов С.М. Основы программирования / С.М. Окулов. - М.: Бином. Лаборатория знаний, 2012. - 336 c. 12. Семакин И.Г. Основы алгоритмизации и программирования: Учебник для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков. - М.: ИЦ Академия, 2012. - 400 c. 13. Духнич Е.И., Андреев А.Е., Организация вычислительных машин и систем:Учебн. пособие/ВолгГТУ, Волгоград, 2013.-80с. 14. Луценко Е.В. «Вычислительные машины» - Краснодар. 2014. 15. Тертышный В.Т. «История персонального компьютера» - М. 2012. 16. Уильям Столлингс «Структурная организация и архитектура компьютерных систем». - М 2015г. 17. Комягин В.Б. Компьютер, ноутбук с нуля для тех, кому...: Осваивать компьютер никогда не поздно / В.Б. Комягин. - М.: Лучшие книги, 2012. - 192 c.
Отрывок из работы

1.1. Назначение и типы прерываний Прерывания являются основной движущей силой любой операционной системы. Периодические прерывания от таймера вызывают смену процессов в мультипрограммной ОС, а прерывания от устройств ввода-вывода управляют потоками данных, которыми вычислительная система обменивается с внешним миром. Система прерываний переводит процессор на выполнение потока команд, отличного от того, который выполнялся до сих пор, с последующим возвратом к исходному коду. Из сказанного можно сделать вывод о том, что механизм прерываний очень похож на механизм выполнения процедур. Это на самом деле так, хотя между этими механизмами имеется важное отличие. Переключение по прерыванию отличается от переключения, которое происходит по команде безусловного или условного перехода, предусмотренной программистом в потоке команд приложения. Переход по команде происходит в заранее определенных программистом точках программы в зависимости от исходных данных, обрабатываемых программой. Прерывание же происходит в произвольной точке потока команд программы, которую программист не может прогнозировать. Прерывание возникает либо в зависимости от внешних по отношению к процессу выполнения программы событий, либо при появлении непредвиденных аварийных ситуаций в процессе выполнения данной программы. Сходство же прерываний с процедурами состоит в том, что в обоих случаях выполняется некоторая подпрограмма, обрабатывающая специальную ситуацию, а затем продолжается выполнение основной ветви программы. В зависимости от источника прерывания делятся на три больших класса: — внешние; — внутренние; — программные. Внешние (аппаратные) прерывания могут возникать в результате действий пользователя или оператора за терминалом или же в результате поступления сигналов от аппаратных устройств – сигналов завершения операций ввода-вывода, вырабатываемых контроллерами внешних устройств компьютера, такими, как принтер или накопитель на жестких дисках, или же сигналов от датчиков управляемых компьютером технических объектов. Внешние прерывания называют также аппаратными, отражая тот факт, что прерывание возникает вследствие подачи некоторой аппаратурой (например, контроллером принтера) электрического сигнала, который передается (возможно, проходя через другие блоки компьютера, например контроллер прерываний) на специальный вход прерывания процессора. Данный класс прерываний является асинхронным по отношению к потоку инструкций прерываемой программы. Аппаратура процессора работает так, что асинхронные прерывания возникают между выполнением двух соседних инструкций, при этом система после обработки прерывания продолжает выполнение процесса уже начиная со следующей инструкции. Внутренние прерывания, называемые также исключениями (exception), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примерами исключений являются деление на нуль, ошибки защиты памяти, обращения по несуществующему адресу, попытка выполнить привилегированную инструкцию в пользовательском режиме и т. п. Исключения возникают непосредственно в ходе выполнения тактов команды (“внутри” выполнения). Программные прерывания отличаются от предыдущих двух классов тем, что они по своей сути не являются “истинными” прерываниями. Программное прерывание возникает при выполнении особой команды процессора, выполнение которой имитирует прерывание, т.е. переход на новую последовательность инструкций. Причины использования программных прерываний вместо обычных инструкций вызова процедур будут изложены ниже, после рассмотрения механизма прерываний. Прерываниям приписывается приоритет, с помощью которого они ранжируются по степени важности и срочности. О прерываниях, имеющих одинаковое значение приоритета, говорят, что они относятся к одному уровню приоритета прерываний. Прерывания обычно обрабатываются модулями операционной системы, так как действия, выполняемые по прерыванию, относятся к управлению разделяемыми ресурсами вычислительной системы – принтером, диском, таймером, процессором и т. п. Процедуры, вызываемые по прерываниям, обычно называют обработчиками прерываний, или процедурами обслуживания прерываний (Interrupt Service Routine, ISR). Аппаратные прерывания обрабатываются драйверами соответствующих внешних устройств, исключения – специальными модулями ядра, а программные прерывания – процедурами ОС, обслуживающими системные вызовы. Кроме этих модулей, в операционной системе может находиться так называемый диспетчер прерываний, который координирует работу отдельных обработчиков прерываний. 1.2. Механизм прерываний Прерывания – механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора. Это принудительная передача управления от выполняемой программы к системе (а через нее – к соответствующей программе обработки прерывания), происходящая при возникновении определенного события. Идея прерываний была предложена в середине 50-х годов и можно без преувели¬чения сказать, что она внесла наиболее весомый вклад в развитие вычислитель¬ной техники. Основная цель введения прерываний — реализация асинхронного режима работы и распараллеливание работы отдельных устройств вычислитель¬ного комплекса. Механизм прерываний реализуется аппаратно-программными средствами. Струк¬туры систем прерывания (в зависимости от аппаратной архитектуры) могут быть самыми разными, но все они имеют одну общую особенность — прерывание не¬пременно влечет за собой изменение порядка выполнения команд процессором. Механизм обработки прерываний независимо от архитектуры вычислительной системы включает следующие элементы Механизма обработки прерываний: 1. Установление факта прерывания (прием сигнала на прерывание) и иденти¬фикация прерывания (в операционных системах иногда осуществляется по¬вторно, на шаге 4). 2. Запоминание состояния прерванного процесса. Состояние процесса определя¬ется прежде всего значением счетчика команд (адресом следующей команды, который, например, вi80x86 определяется регистрамиCSиIP— указателем команды), содержимым регистров процессора и может включать также спецификацию режима (например, режим пользовательский или при¬вилегированный) и другую информацию. 3. Управление аппаратно передается подпрограмме обработки прерывания. В про¬стейшем случае в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры — информация из сло¬ва состояния. В более развитых процессорах, например в том же i80286 и по¬следующих 32-битовых микропроцессорах, начиная с i80386, осуществляется достаточно сложная процедура определения начального адреса соответствую¬щей подпрограммы обработки прерывания и не менее сложная процедура инициализации рабочих регистров процессора. 4. Сохранение информации о прерванной программе, которую не удалось спа¬сти на шаге 2 с помощью действий аппаратуры. В некоторых вычислитель¬ных системах предусматривается запоминание довольно большого объема информации о состоянии прерванного процесса. 5. Обработка прерывания. Эта работа может быть выполнена той же подпро¬граммой, которой было передано управление на шаге 3, но в ОС чаще всего она реализуется путем последующего вызова соответствующей подпрограммы. 6. Восстановление информации, относящейся к прерванному процессу (этап, обратный шагу 4). 7. Возврат в прерванную программу. Шаги 1-3 реализуются аппаратно, а шаги 4-7 — программно. При возникновении запроса на прерывание естествен¬ный ход вычислений нарушается и управление передается программе обработ¬ки возникшего прерывания. При этом средствами аппаратуры сохраняется (как правило, с помощью механизмов стековой памяти) адрес той команды, с которой следует продолжить выполнение прерванной программы. После выполнения про¬граммы обработки прерывания управление возвращается прерванной ранее про¬грамме посредством занесения в указатель команд сохраненного адреса команды. Однако такая схема используется только в самых простых программных средах. В мультипрограммных операционных системах обработка прерываний происхо¬дит по более сложным схемам. Итак, главные функции механизма прерываний: • распознавание или классификация прерываний; • передача управления соответственно обработчику прерываний; • корректное возвращение к прерванной программе. Переход от прерываемой программы к обработчику и обратно должен выпол¬няться как можно быстрей. Одним из быстрых методов является использование таблицы, содержащей перечень всех допустимых для компьютера прерываний и адреса соответствующих обработчиков. Для корректного возвращения к пре¬рванной программе перед передачей управления обработчику прерываний со¬держимое регистров процессора запоминается либо в памяти с прямым досту¬пом, либо в системном стеке — systemstack. Стек – среда для размещения данных для возврата из подпрограмм, а так же их аргументы и автоматические данные. Фраза «По принципу стека» означает: последним пришел, первым обслужен или первым пришел, последним обслужен. Вектор прерывания – специальная область памяти, где находится адрес прерывающейся программы. Пример: К компьютеру подключен холодильник. Когда холодильник захочет обратить на себя внимание процессора, он пошлет на одну из его ножек специальный сигнал прерывания, а потом пошлет число 179. Получив это число, процессор «заглядывает» в вектор прерываний и находит там адрес программы, обслуживающий холодильник. Он перейдёт по этому адресу и начнет работать с этой программой. Прерывания бывают: от мыши, от клавиатуры, от дисководов. По номеру прерывания процессор знает куда обратиться, чтоб найти адрес программы, обслуживающей данное устройство. Всякое устройство, внутреннее или внешнее, работает с процессором, используя одно из прерываний. Прерывания, возникающие при работе вычислительной системы, можно разде¬лить на два основных класса: внешние (их иногда называют асинхронными) и внутренние (синхронные). Внешние прерывания вызываются асинхронными событиями, которые происхо¬дят вне прерываемого процесса, например: • прерывания от таймера; • прерывания от внешних устройств (прерывания по вводу/выводу); • прерывания по нарушению питания; • прерывания с пульта оператора вычислительной системы; • прерывания от другого процессора или другой вычислительной системы. Внутренние прерывания вызываются событиями, которые связаны с работой про¬цессора и являются синхронными с его операциями. Примерами являются сле¬дующие запросы на прерывания: • при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сег¬менту или странице при организации механизмов виртуальной памяти); • при наличии в поле кода операции незадействованной двоичной комбинации; • при делении на нуль; • при переполнении или исчезновении порядка; • при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля. Супервизор– это супервизор операционной системы — ее центральный управляющий моду¬ль Могут еще существовать прерывания при обращении к супервизору ОС— в не¬которых компьютерах часть команд может использовать только ОС, а не пользо¬ватели. Соответственно в аппаратуре предусмотрены различные режимы работы, и пользовательские программы выполняются в режиме, в котором эти привиле¬гированные команды не исполняются. При попытке использовать за¬прещенную команду, за¬прещенную в данном режиме, происходит внутреннее прерывание и управление передается супервизору ОС. К привилегированным командам относятся ко¬манды ОС и команды переключения режима работа центрального процессора.
Не смогли найти подходящую работу?
Вы можете заказать учебную работу от 100 рублей у наших авторов.
Оформите заказ и авторы начнут откликаться уже через 5 мин!
Похожие работы
Служба поддержки сервиса
+7(499)346-70-08
Принимаем к оплате
Способы оплаты
© «Препод24»

Все права защищены

Разработка движка сайта

/slider/1.jpg /slider/2.jpg /slider/3.jpg /slider/4.jpg /slider/5.jpg