Основы программирования микропроцессоров



Download 1,87 Mb.
bet90/119
Sana23.02.2022
Hajmi1,87 Mb.
#139915
TuriКонтрольные вопросы
1   ...   86   87   88   89   90   91   92   93   ...   119
Bog'liq
Системное программирование

Контрольные вопросы


  1. Приведите общую структуру таймера-счетчика и его назначение.

  2. Перечислите режимы работы таймера-счетчика.

  3. Опишите структуру регистров таймера-счетчика.

11. Программирование контроллера прерываний

11.1. Механизм обработки прерываний


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

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

  • Путем создания системной очереди на обслуживание. Такой подход предполагает некую очередь, в которую выстраиваются запросы на обслуживание от устройств. Микропроцессор периодически просматривает очередь и выполняет обслуживание запросов.

  • На основе механизма прерывания, который позволяет обеспечить наиболее эффективное управление внешними устройствами и программами.

Цифровые устройства, построенные на основе архитектуры IBM PC, используют механизм прерываний. Прерывания приостанавливают выполнение программы для выполнения специальных системных действий. Необходимость прерываний обусловлено двумя причинами: преднамеренный запрос на выполнение операций ввода-вывода на различные внешние устройства и обработка непредвиденных программных ошибок.
Обработка прерываний микропроцессором производится в три этапа:

  • прерывание выполнения текущей программы;

  • переход к выполнению подпрограммы обработки прерывания;

  • возврат управления прерванной программе.

Любая программа, загруженная на выполнение, занимает в памяти отдельное от других программ адресное пространство. Регистры являются разделяемыми ресурсами для микропроцессора, поэтому их содержимое нужно сохранять при переключении задач. Закончив выполнение инструкции, в ходе которого возник запрос на прерывание, в стеке сохраняется содержимое регистра флагов и регистровой пары CS:IP.
В регистре флагов сбрасываются флаги разрешения прерывания IF и трассировки TF. Этим обеспечивается блокировка возникновения новых маскируемых внешних прерываний (см. раздел 2.2) и запрещаются пошаговые прерывания по выполнении каждой инструкции.
Затем в регистровую пару CS:IP загружается адрес подпрограммы обработки прерывания ISR (Interrupt Subroutine), которой и передается управление. Адреса подпрограмм прерываний называют векторами, а их совокупность – таблицей векторов прерываний IVT (Interrupt Vector Table).
Каждый вектор размещается в 4 байтах. Старшее слово адреса содержит значение сегмента CS, младшее – смещение IP. Первые 1024 байта оперативной памяти содержат векторы прерываний. Всего доступно 256 векторов. Вектор для прерывания 0 начинается с ячейки памяти 0000:0000, для прерывания 1 – с ячейки 0000:0004, 2 – с ячейки 0000:0008 и т.д. Каждый элемент таблицы указывает на подпрограмму обработки указанного типа прерывания. В табл. 91 описаны вектора таблицы прерываний.
После выполнения подпрограммы обработки прерывания следует восстановить состояния прерванной программы. Для этого всегда последней командой подпрограммы обработки прерывания указывается машинная команда IRET. По этой команде микропроцессор извлекает из стека последовательно три слова и помещает их, соответственно в регистры IP, CS и регистр флагов.
В результате после выполнения подпрограммы обработки прерываний регистровая пара CS:IP будет содержать адрес следующей команды прерванной программы, а регистр флагов – состояние флагов на момент передачи управления ISR.

Табл. 91. Основные прерывания таблицы векторов.




Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   86   87   88   89   90   91   92   93   ...   119




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish