Методическая разработка открытого занятия по теме «Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
ДОНЕЦКОЙ НАРОДНОЙ РЕСПУБЛИКИ
ГОСУДАРСТВЕННОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
«ДОНЕЦКИЙ ТЕХНИКУМ ПРОМЫШЛЕННОЙ АВТОМАТИКИ»
МЕТОДИЧЕСКАЯ РАЗРАБОТКА
открытого занятия
по теме: «Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме»
по дисциплине ОП.02 «Архитектура компьютерных систем»
для студентов специальности
09.02.03 «Программирование в компьютерных системах»
Донецк, 2016
Методическая разработка открытого занятия по теме: «Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме» по дисциплине ОП.02 Архитектура компьютерных систем для студентов специальности 09.02.03 Программирование в компьютерных системах
Подготовила Чайка Анна Ивановна – преподаватель спецдисциплин Государственного профессионального учебного заведения «Донецкий техникум промышленной автоматики», специалист высшей категории.
Изложена методика проведения лекции в условиях интерактивного обучения. Предложены методы обучения для активизации умственной деятельности и формирования профессиональной компетенции студентов.
Рецензенты:
Харченко В.В. – преподаватель спецдисциплин ГПОУ «Донецкий техникум промышленной автоматики», специалист высшей категории.
Шевцов Д.В. – к.т.н., доцент кафедры ПМТСУ факультета математики и информационных технологий ДонНУ
Рассмотрена и одобрена на заседании цикловой
комиссии Компьютерных систем и сетей
Протокол № 3 от 09.11.2016 г.
Председатель цикловой комиссии
Чайка А.И.
Тема занятия: «Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме»
План
Понятие прерывания.
Классификация прерываний.
Система прерываний. Аппаратные средства системы прерываний.
Программные средства системы прерываний. Таблица векторов прерываний.
Обработка прерываний в реальном режиме работы системы.
План занятия
Дата проведения «19» декабря 2016 г. Группа 1ПО – 15
Специальность: 09.02.03 Программирование в компьютерных системах
Тема программы: Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме.
Тема занятия: Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме
Цель:
Методическая
совершенствование проведения занятия с использованием современных технических средств обучения с целью формирования навыков активной, самостоятельной, поисковой работы и приобретение студентами индивидуального опыта учебно-познавательной деятельности.
Дидактическая
сформировать теоретические знания и основные понятия работы системы прерываний в компьютерной системе и их обслуживания;
обобщить и закрепить теоретический материал по темам:
Система прерываний; Основы организации ввода-вывода информации;
акцентировать внимание на принципиальных моментах работы системы прерываний в режиме реального времени;
Развивающая
развивать логическое мышление и познавательную активность студентов;
развивать самостоятельную, активную мыслительную деятельность студентов, творческую инициативу;
развивать навыки применения знаний для решения задач.
Воспитательная
воспитывать интерес к будущей профессии;
формировать базовые компетенции будущей профессии;
воспитывать целеустремленность, добросовестное отношение к труду.
Вид занятия: лекция
Тип занятия: занятия усвоения, обобщения и систематизации новых знаний.
Вид лекции: интеграционное занятие.
Форма проведения занятия: эвристическая беседа, с применением современных учебных технологий.
Межпредметные связи:
Обеспечивающие: Элементы высшей математики, Физика, Информационные технологии, Основы программирования, Элементы математической логики
Обеспечиваемые: Системное программирование, Операционные системы, Прикладное программирование, Программное обеспечение, Технология разработки и защиты баз данных, Инфокоммуникационные системы, Технология разработки программного обеспечения, Учебная практика, Производственная практика (по профилю специальности).
Методическое обеспечение:
Рабочая программа.
Методическая разработка занятия.
Лекция по теме «Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме».
Набор опорных конспектов по предмету для каждого студента.
Методические указания для организации самостоятельного изучения студентами материала «Прерывание BIOS 09h».
Программное обеспечение – MASM615.
Технические средства обучения: Персональные компьютеры, как техническое средство обучения; TV Sumsung 40".
Студент должен знать:
понятие и назначение прерывания, способы организации аппаратных прерываний, взаимодействие программы и прерывания;
виды и типы прерываний, способы взаимодействия центрального процессора и механизма аппаратных и программных прерываний
Студент должен уметь:
Обобщать полученные знания.
Использовать системные функции прерываний DOS.
Использовать полученные знания для разработки программ.
Литература:
Основная
Орлов С.А., Цилькер Б.Я. Организация ЭВМ и систем – Питер, 2014, 672 с.
Э. Таненбаум Архитектура компьютера, 5-е изд. – Питер, 2010, 844 с.
Бек Л. Введение в системное программирование. – М.: Мир.– 2001.
Абель Питер. Язык Ассемблера для IBM PC и программирования. – М.: Высшая школа.– 2009.
Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. – М.: Финансы и статистика.
Дополнительная
Юров В.И. Assembler. Учебник для ВУЗов. 2-е изд. – СПб.: Питер, 2003 – 637 с.: ил.
Зубков С. В. Assembler для DOS, Windows и UNIX. – 3-е изд., стер. – М.: ДМК Пресс ; СПб.: Питер, 2005. – 608 с. : ил.
Интернет ресурсы
Железо ПК [электр. ресурс] [ Cкачайте файл, чтобы посмотреть ссылку ]
Интернет-университет информационных технологий. Организация вычислительных систем [электр. ресурс] [ Cкачайте файл, чтобы посмотреть ссылку ]
Интернет-университет информационных технологий. Архитектура и организация ЭВМ [электр. ресурс] http://www.intuit.ru/department/hardware/archhard2
Ход занятия
Организационный момент
Приветствие преподавателя и студентов.
Проверка подготовки аудитории к занятию.
Проверка студентов по журналу и их подготовки к работе.
Ответы на вопросы студентов.
Мотивация учебной деятельности студентов
Осознание важности знаний базового материала по организации и обработке прерываний в компьютерной системе.
Изучение организации обслуживания прерываний в компьютерной системе.
Важность знаний, умений и навыков по данной теме для дальнейшего использования при изучении соответствующих разделов специальных предметов профессионального направления при прохождении учебной, производственной и преддипломной практик, в будущей производственной деятельности.
Ознакомление студентов с темой и учебными целями занятия
Тема занятия: Общие сведения о системе прерываний. Работа системы прерываний в реальном режиме
Актуализация опорных знаний
Тема занятия и его задачи базируются на знаниях и умениях полученных при изучении предыдущих тем.
Перед изучением новой темы необходимо активизировать деятельность студентов для того, чтобы сформировать у них конкретные, четкие и правильные представления об изученном ранее материале. Это поможет лучше осознать и усвоить новый материал, предложенный на этом занятии.
На данном занятии актуализация опорных знаний осуществляется методом фронтального опроса.
Фронтальный опрос
Фронтальный опрос осуществляется в форме беседы по ключевым вопросам темы «Основы организации ввода-вывода» и вопросах, вынесенных на самостоятельное рассмотрение.
Вопросы:
Вопрос 1. Что мы называем прерыванием в компьютерной системе?
Ответ 1. Прерывание – это событие в компьютерной системе, которое заставляет микропроцессор остановить выполнение основной задачи и перейти к выполнению задачи более приоритетной или срочной в данный момент времени.
Вопрос 2. На какие типы делятся прерывания?
Ответ 2. Все прерывания делятся на программные и аппаратные.
Вопрос 3. Каким образом внешнее устройство сообщает микропроцессору о запросе на прерывание ?
Ответ 3. Запросы на аппаратные прерывания от внешних устройств подаются на выводы микропроцессора INTR (прерывание) и NMI (немаскируемое прерывание).
Вопрос 4. С помощью какого устройства можно реализовать схему аппаратных прерываний?
Ответ 4. Схему аппаратных прерываний можно реализовать с помощью программируемого контроллера прерываний.
Вопрос 5. Сколько источников запросов прерываний обслуживает данный контроллер?
Ответ 5. С помощью данной БИС можно организовать обработку прерываний от 8 источников запросов прерываний. Более того, так как данная микросхема допускает каскадирование то схема запросов прерываний от внешних источников может быть расширена до 64.
Вопрос 6. Что означает «программируемый контроллер»?
Ответ 6. Данный термин означает, что работа контроллера может быть настроена программным способом. Обычно в качестве устройства, которое программирует контроллер, выступает микропроцессор, который рассматривает контроллер прерываний как внешнее устройство и командами вывода записывает в контроллер слова команд или слова управления.
Вопрос 7. Объясните понятие приоритета прерывания.
Ответ 7. В системе может возникнуть ситуация когда одновременно несколько внешних устройств выполнят запрос на прерывание. В этом случае необходимо в какой-то очередности обработать эти запросы. Для этого указывается насколько важно данное прерывание по отношению к остальным. Обычно важность прерывания задается в виде некоторого числа, начиная от 0 до 7, тогда говорят задать приоритет запросу прерывания. В таком случае из нескольких одновременных запросов прерывания будет обрабатываться то, у которого приоритет выше, то есть число меньше.
Вопрос 8. Какие способы задания приоритетов поддерживает программируемый контроллер прерываний?
Ответ 8. Существует два способа задания приоритетов фиксированный приоритет и циклически сдвигаемый.
Вопрос 9. Что означает фиксированный приоритет?
Ответ 9. При фиксированном приоритете прерываний номер приоритета совпадает с номером вывода IR программируемого контроллера прерываний и при обслуживании запросов прерываний не изменяется.
Вопрос 10. Что означает циклически сдвигаемый приоритет?
Ответ 10. При циклически сдвигаемом приоритете обслуженному запросу прерывания присваивается низший приоритет, остальным – согласно схеме циклического сдвига.
Вопрос 11. Какие процессы происходят в микропроцессоре для того, чтобы выполнение программы обработки прерывания не было заметно для основной задачи?
Ответ 11. Для того, что бы процесс обработки прерывания не был заметен для основной программы при возникновении запроса прерывания в стеке автоматически запоминается адрес возврата и регистр флагов (слово состояния процессора), а при возврате из подпрограммы обработки прерывания возврат происходит в ту точку основной программы, в которой она была прервана. Для этого используют адрес возврата, который сохранен в стеке. Так же автоматически восстанавливается регистр флагов.
Вопрос 12. Что используется в качестве адреса возврата при возникновении прерывания?
Ответ 12. При возникновении прерывания в качестве адреса возврата используют значение регистровой пары CS:IP.
Вопрос 13. Почему не сохраняется автоматически содержимое остальных регистров процессора?
Ответ 13. Возможно, программа обработки прерывания затрагивает не все регистры процессора. Поэтому нет смысла сохранять состояние всех регистров центрального процессора.
Однако при написании программы обработки прерывания следует позаботиться о том чтобы состояние процессора при возврате из программы обработки прерывания было таким же как и при входе в программу обработки прерывания. Для этого состояние затрагиваемых регистров сохраняется в стеке в начале программы обработки прерывания, а в конце извлекаются из стека, при этом следует помнить, что извлекать из стека необходимо в порядке обратном сохраняемому
Комментарий ответов студентов
Нужно акцентировать внимание на положительных и отрицательных моментах актуализации опорных знаний. Дать оценку ответов студентов с комментированием, в котором подчеркиваются замечания по поводу содержания, полноты, глубины и формы ответов.
Изложение и изучение нового материала (лекция)
При преподавании и изучении нового материала необходимо использовать сочетание методов, приемов и средств обучения, контроля усвоения знаний, способствующих активности студентов, использовать как репродуктивные, так и проблемные вопросы. Студенты ознакомятся с аппаратной реализацией прерываний в компьютерной системе и программным обслуживанием прерываний. Содержание основного материала нужно конспектировать. На занятии надо использовать опорный конспект, раздаточный материал. В ходе лекции нужно установить рабочий контакт со студентами.
На занятии надо акцентировать внимание на взаимосвязь между новым учебным материалом и полученными знаниями, и умениями из предыдущих тем.
Преподавание нового учебного материала должно возбуждать студентов к познавательным и практическим действиям, и соответствовать содержанию учебного материала по плану лекции.
План
Понятие прерывания
Классификация прерываний
Система прерываний. Аппаратные средства системы прерываний.
Программные средства системы прерываний. Таблица векторов прерываний
Обработка прерываний в реальном режиме
Понятие прерывания
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.
Т.е. это процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возвратом к прерванной программе.
Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так называемый обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.
Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.
Механизм прерываний поддерживается на аппаратном уровне.
2 Классификация прерываний
В зависимости от источника, прерывания подразделяются на:
аппаратные – возникают как реакция микропроцессора на физический сигнал от некоторого устройства (клавиатура, системные часы, клавиатура, жесткий диск и т.д.), по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные моменты времени;
программные – вызываются искусственно с помощью соответствующей команды из программы (int), предназначены для выполнения некоторых действий операционной системы, являются синхронными;
исключения – являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы (деление на ноль, переполнение, прерывание по флагу TF(трассировка)).
Общая классификация прерываний
внешние – вызываются внешними по отношению к микропроцессору событиями (по существу – это группа аппаратных прерываний).
внутренние – возникают внутри микропроцессора во время вычислительного процесса (по существу – это исключительные ситуации и программные прерывания).
Внешние прерывания возникают по сигналу какого-нибудь внешнего устройства.
Внешние прерывания подразделяются на не маскируемые и маскируемые.
У микропроцессора есть два физических контакта (входа, или вывода микропроцессора), на которых формируются внешние сигналы, при помощи которых можно прервать выполнение текущей программы и тем самым переключить работу центрального процессора. Это сигналы (входы, выводы микропроцессора) NMI и INTR.
Вход (вывод МП) INTR (interrupt request, запрос на прерывание) предназначен для фиксации запросов от различных внешних устройств (системные часы, клавиатура, магнитные диски и др.).
Вход (вывод МП) NMI (no mask interrupt, немаскируемое прерывание) используется для сообщения микропроцессору о важном событии, требующем безотлагательной обработки.
Маскируемые прерывания генерируются контроллером прерываний по заявке определенных периферийных устройств. Контроллер прерываний (выполнен в виде специальной микросхемы i8259A) поддерживает восемь уровней (линий) приоритета; к каждому уровню "привязано" одно периферийное устройство. Именно маскируемые прерывания часто называют аппаратными прерываниями.
В ПК, начиная с IBM PC AT, построенных на базе микропроцессора i80286, используются два контроллера прерываний i8259A; они соединяются последователь но каскадным образом, что увеличивает количество внешних источников прерываний до 15 (каждая по 8). Микросхема i8259А является программируемой.
Немаскируемые прерывания (говорят, что оно одно, т.к. подается на вывод микропроцессора NMI) инициируют источники, требующие безотлагательного вмешательства со стороны микропроцессора.
Таблица 1 – Типы прерываний в порядке убывания приоритетов
Вид прерывания
Тип прерывания
Приоритет
при делении на 0
0
1
по команде INT n
5-31
1
по команде INT 0
4
1
по команде INT 3
3
1
по входу NMI
2
2
по входу INTR
32-255
3
по флагу TF
1
4
3 Система прерываний. Аппаратные и программные средства системы прерываний
Система прерываний – это совокупность программных и аппаратных средств, реализующих механизм прерываний.
К аппаратным средствам системы прерываний относятся:
выводы микропроцессора – на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит уделить ему внимание» (INTR), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)
INTR – вывод для входного сигнала запроса на прерывание;
NMI – вывод для входного сигнала немаскируемого прерывания;
INTA – вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы контроллера 8259А;
программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому количество возможных источников внешних прерываний до 15 плюс одно немаскируемое прерывание; именно он формирует номер вектора прерывания и выдает его шину данных);
внешние устройства (таймер, клавиатура, магнитные диски и т.п.).
Рисунок 1 – Источники прерываний в компьютерной системе
Программные средства системы прерываний
К программным средствам системы прерываний реального режима относятся:
Таблица векторов прерываний. Занимает первый килобайт ОП (адреса 00000h – 003FFh). Она содержит адреса (векторы – «векторы», т.к. два значения для указания адреса) обработчиков прерываний и состоит из 256 (0255) элементов по 4 байта каждый:
байта – новое значение для регистра IP;
байта – новое значение для регистра CS.
Расположение таблицы векторов прерываний в процессорах i80286 и старше определяется значением регистра IDTR. (В [ Cкачайте файл, чтобы посмотреть ссылку ] элементом IDT является 32-[ Cкачайте файл, чтобы посмотреть ссылку ] FAR-адрес [ Cкачайте файл, чтобы посмотреть ссылку ]).
Таблица векторов прерываний инициализируется при запуске системы, но в принципе может быть изменена и перемещена. Каждый вектор имеет свой номер и называется номером прерывания.
два флага в регистре флагов flags/eflags:
IF (Interrupt Flag) – флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует;
TF (Trace Flag) – флаг трассировки. Если TF=1, микропроцессор переходит в режим пошагового выполнения команд. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1.
машинные команды микропроцессора: int, into (прерывание по переполнению), iret, cli, sti.
Рисунок 2 – Таблица указателей векторов прерываний
Обработка прерывания в реальном режиме
Обработка прерываний в реальном режиме выполняется в три этапа:
1) прекращение выполнения текущей программы
Прекращение выполнения текущей программы должно произойти так, чтобы потом можно было вернуться и продолжить работу.
Для этого необходимо сохранить содержимое регистров, так как они являются ресурсами, разделяемыми между программами.
Обязательными для сохранения являются регистры СS, IP, Flags (пара CS:IP содержит адрес команды, с которой необходимо начать выполнение после возврата, Flags – состояние флагов после выполнения последней команды прерванной программы).
Эти регистры сохраняются микропроцессором автоматически. Сохранение остальных регистров должно обеспечиваться программистом.
Наиболее удобным местом хранения регистров является стек.
После сохранения регистров в стеке микропроцессор сбрасывает бит флага IF (т.е.=0). Этим предотвращается возможность возникновения вложенных внешних прерываний и потеря значений регистров исходной программы вследствие неконтролируемых действий со стороны программы-обработчика вложенного прерывания. После того как необходимые действия по сохранению контекста завершены, обработчик аппаратного прерывания может разрешить вложенные прерывания командой sti.
2) переход к выполнению и выполнение программы обработки прерывания.
Здесь определяется источник прерывания и вызывается соответствующий обработчик прерывания.
В реальном режиме микропроцессора допускается 256 источников – по количеству элементов таблицы векторов прерываний.
Структура элемента:
байта – значение смещения начала программы-обработчика прерывания от начала кодового сегмента;
байта – значение базового адреса сегмента, в котором находится программа-обработчик.
Как определить адрес, по которому находится вектор прерывания с номером N?
смещение элемента таблицы векторов прерываний = N * 4
Полный размер таблицы 4*256=1024 (1 килобайт)
Итак, на втором этапе микропроцессор:
По номеру источника прерывания определяет смещение в таблице векторов прерываний;
Помещает первые два байта в регистр IP;
Помещает вторые два байта в регистр CS;
Передает управление по адресу CS:IP
Далее выполняется сама программа обработки прерывания.
(Она тоже может быть прервана поступлением запроса от более приоритетного источника. Все источники прерывания имеют приоритеты.)
3) возврат управления прерванной программе
Необходимо привести стек в состояние, в котором он был сразу после передачи управления данной процедуре. Для этого программист должен указать необходимые действия по восстановлению регистров и очистке стека.
Этот участок необходимо защитить от возможного искажения содержимого регистров (в результате появления аппаратного прерывания) с помощью команды cli.
Последние команды в обработчике прерывания – sti, iret
sti – разрешить аппаратные прерывания (устанавливает флаг IF=1, не имеет операндов).
iret – извлечь последовательно три слова из стека и поместить их соответственно в регистры СS, IP, Flags.
6 Обобщение и систематизация знаний
Ответственным и важным этапом занятия является закрепление полученных новых знаний. Знания, полученные студентами, должны быть углублены в процессе их практического применения.
С этой целью студентам предлагается ответить на следующие вопросы:
Какие действия выполняет процессор при возникновении прерывания?
Что такое система прерываний?
Что называется таблицей прерываний?
Что представляет собой элемент таблицы прерываний?
Какие действия происходят в компьютерной системе при возникновении внешнего прерывания?
Какие существуют аппаратные средства системы прерываний? Перечислите элементы.
Какие программные средства обслуживания прерываний есть в компьютерной системе?
Какие действия происходят в компьютерной системе при возникновении внутреннего прерывания?
Как выглядит процедура обслуживания прерывания?
Как определить адрес, по которому находится вектор прерывания с номером N?
Какими командами завершается программа-обработчик прерывания?
7 Комментарий работы студентов
На протяжении занятия предоставляется объективная оценка деятельности студентов на каждом его этапе с комментированием, в котором подчеркиваются как положительные, так и отрицательные стороны работы. Обращается внимание на качество выполнения задания по самостоятельной работе студентов, акцентируется внимание на наиболее важных моментах, даются необходимые указания.
Опрос проводится на протяжении всего занятия комбинированно: фронтальная беседа – на этапе актуализации опорных знаний.
Для повышения активности группы используются различные приемы, например, критические замечания студентам по поводу содержания, полноты, глубины и формы ответов.
Итог занятия
В итоговой оценке знаний и умений учитываются ответы на вопросы при актуализации опорных знаний и ответы на проблемные вопросы в процессе изучения нового материала.
Домашнее задание
1) Изучить материал в соответствии с планом лекции (содержание лекции в печатной версии и в электронном виде есть в наличии).
2) Выполнить задания по самостоятельной работе № 16, используя методические указания, содержание тиражируемого опорного конспекта, литературу которая рекомендуется.
Рекомендуемая литература:
Основная: [4], стр. 268 – 272; [5], стр.110 – 163
13 PAGE 14315
Рисунок 1Заголовок 1Заголовок 2Заголовок 3Заголовок 4Заголовок 5Заголовок 6Заголовок 715