Читаем Искусство схемотехники. Том 2 (Изд.4-е) полностью

Контроллер типа 8259 позволяет выбирать (программным образом) способ формирования прерывания либо по уровню, либо по фронту соответствующего сигнала на входных линиях IRQ; выбор осуществляется с помощью записи байта в управляющий регистр (порт ввода-вывода 20Н). К сожалению, конструкторы PC решили использовать формирование по фронту, возможно из-за того, что это несколько упрощает формирование прерываний (например, можно непосредственно подать выходной прямоугольный сигнал таймера реального времени на линию IRQ0). Если же вы вместо этого выбрали способ формирования прерываний по уровню сигнала, вы можете «повесить» на каждую IRQ'-линию множество устройств, вырабатывающих прерывания и программно опрашивать их так, как это было описано выше. К несчастью, базовая система ввода-вывода PC (ROM BIOS) и операционная система (за исключением аппаратной части) предполагают формирование по фронту, так что выбор окончателен. (Почти все остальные компьютеры, включая даже «потомков» PC и PC/AT, используют формирование прерываний по уровню.)

Существует частичное решение этой проблемы. Постольку, поскольку IRQ- линия доступна, вы можете объединить на одной плате PC несколько устройств, вырабатывающих прерывания, и логическую схему, которая формирует прерывания для соответствующей IRQ-линии по фронту; для этого можно даже воспользоваться дополнительным контроллером типа 8259 (порты ввода-вывода которого должны быть доступны ЦП). Но поскольку устройство, вырабатывающее прерывание, должно знать о каждом из остальных устройств, такую схему нельзя использовать при независимом подключении внешних устройств. Более того, вы по-прежнему вынуждены использовать по одной IRQ-линии на плату внешних устройств, и сложную систему так построить трудно: в IBM PC имеются только два незадействованных IRQ-уровня.

Программные прерывания. Микропроцессоры серии Intel 8086 имеют команду (INT

n, где n
= 0… 255), которая позволяет вам осуществить векторизованную передачу управления того же рода, что и настоящее аппаратное прерывание. В самом деле, среди 256 возможных векторов переходов имеются и соответствующие 8 уровням IRQ-запросов аппаратных прерываний (с 8 по 15, чтобы быть точным). Таким образом, вы можете организовать программное прерывание из некоторой программы. IBM PC использует такие программные прерывания для того, чтобы разрешить вам взаимодействовать с операционной системой и различными программами, «зашитыми» в ПЗУ. Например, INT 5 пересылает копию экрана на печатающее устройство. Особенно важно применение INT 21Н, поскольку это прерывание обеспечивает вызов системных функций: вы сообщаете системе, какую из системных функций хотите использовать, записывая соответствующее число в регистр АН прежде, чем выполнить INT 21Н.

Не следует путать такие программные прерывания с аппаратными прерываниями, вырабатываемыми внешними устройствами, о чем мы говорили выше. Выполнение программных прерываний — это искусный прием использования векторизованной передачи управления из программы пользователя системному программному обеспечению. Но такие прерывания не являются настоящими прерываниями в смысле аппаратно вырабатываемых запросов внешних автономных устройств. Напротив, вы можете встроить эти прерывания в свою программу, вы знаете, когда они произойдут (вот почему вы можете передавать аргументы через регистры ЦП) и они являются всего навсего реакцией (почти такой же, какая следует в случае «истинного» прерывания) ЦП на свою собственную команду. Можете считать программные прерывания мудрым способом расширения набора команд ЦП.



10.12. Прямой доступ в память

Перейти на страницу:

Похожие книги

Помпеи и Геркуланум
Помпеи и Геркуланум

Трагической участи Помпей и Геркуланума посвящено немало литературных произведений. Трудно представить себе человека, не почерпнувшего хотя бы кратких сведений о древних италийских городах, погибших во время извержения Везувия летом 79 года. Катастрофа разделила их историю на два этапа, последний из которых, в частности раскопки и создание музея под открытым небом, представлен почти во всех уже известных изданиях. Данная книга также познакомит читателя с разрушенными городами, но уделив гораздо большее внимание живым. Картины из жизни Помпей и Геркуланума воссозданы на основе исторических сочинений Плиния Старшего, Плиния Младшего, Цицерона, Тита Ливия, Тацита, Страбона, стихотворной классики, Марциала, Ювенала, Овидия, великолепной сатиры Петрония. Ссылки на работы русских исследователей В. Классовского и А. Левшина, побывавших в Южной Италии в начале XIX века, проиллюстрированы их планами и рисунками.

Елена Николаевна Грицак

Искусство и Дизайн / Скульптура и архитектура / История / Прочее / Техника / Архитектура
Как проектировать электронные схемы
Как проектировать электронные схемы

Данная книга представляет собой сборник практических рекомендаций по проектированию, изготовлению и наладке аналоговых и цифровых электронных схем различного назначения. Большое внимание уделено особенностям использования разнообразных электронных компонентов, вопросам разработки и изготовления печатных плат и корпусов, методике испытания устройств и поиска неисправностей. Приведено большое количество сравнительно простых цифровых и аналоговых схем. Отдельная глава посвящена решению типовых задач по программированию микропроцессоров и микроконтроллеров, представлены примеры полезных подпрограмм. Книга адресована как начинающим любителям электроники и радиотехники, так и профессионалам.  

Клод Галле

Техника / Радиоэлектроника / Технические науки / Образование и наука