Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / I8086.DOC
Скачиваний:
73
Добавлен:
21.02.2014
Размер:
72.7 Кб
Скачать

Организация вв

ВВ данных может осуществляться двумя способами:

  • с использованием адресного пространства ВВ;

  • с использованием общего с памятью адресного пространства.

При первом способе применяются специальные команды ввода (IN) и вывода(OUT), использующие прямую адресацию (адрес порта содержится в виде константы во втором байте команды; можно адресовать 256 портов) и косвенную адресацию (адрес порта находится в регистреDX; можно адресовать до 64к 8-битовых портов).

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

МП может передавать по шине байт или слово в/из ВУ. Чтобы слово передавалось за один цикл шины, адрес ВУ должен быть четным.

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

ВМ86 имеет эффективную систему прерываний, в которой каждому прерыванию поставлен в соответствие код 0..255, идентифицирующий тип прерывания. Прерывания могут инициироваться ВУ (внешние прерывания) или командами программных прерываний, а в некоторых случаях - автоматически самим микропроцессором (внутренние прерывания).

Рис. . Источники прерываний

Внешние прерывания

Запросы на внешние прерывания поступают в микропроцессор по 2-м входам: INTR иNMI (NonMaskable Interrupt- немаскируемое прерывание), и сами прерывания соответственно делятся на маскируемые и немаскируемые.

Запросы на маскируемые прерывания от ВУ поступают обычно на входы программируемого контроллера приоритетных прерываний (ПКПП) К1810ВР59, который формирует сигнал прерывания INTR. Этот ПКПП может работать как с ВМ86, так и с микропроцессором КР580ВМ80А (аналогично ПКПП КР580ВН59). При работе с ВМ86 в ответ на первый сигнал#INTAПКПП не выдает командуCALLв микропроцессор и буфер шины данных остается вz- состоянии. По второму сигналу#INTAПКПП посылает в МП байт, определяющий тип прерыванияn.

Действия ВМ86 при поступлении прерывания INTRзависят от состояния флага разрешения прерыванийIF (Interrupt Flag)в регистре флагов: еслиIF=0, то прерывания по входуINTR запрещены (замаскированы) и ВМ86 игнорирует запрос прерывания, переходя к следующей команде. ВМ86 не -запоминает состояния сигналаINTR, поэтому этот сигнал должен оставаться активным, пока прерывающее устройство не получит сигнал подтверждения#INTAили само не снимет запрос. ЕслиIF=1, то МП распознает запрос прерывания и обрабатывает его.

Состоянием флага IFпрограммист может управлять с помощью командSTI (установка) иCLI(сброс).

Запросы на немаскируемые прерывания поступают по входу NMIи обычно используются для прерывания работы микропроцессора при катастрофических ситуациях: аварийное пропадание питания, сбой памяти и др. ВходNMIвоспринимает положительный фронт, чтобы текущая программа не прерывалась от одного сигналаNMI=1 несколько раз. ЗапросыNMIзапоминаются в МП и имеют более высокий приоритет, чем прерывания по входуINTR. Обработка прерыванийNMIне зависит от состояния флагаIF. Немаскируемому прерыванию присваивается тип 2, который автоматически формируется внутри микропроцессора, а циклы шины подтверждения прерывания#INTAне формируются, что ускоряет реакцию МП на немаскируемые прерывания.

В максимальном режиме МП генерирует в циклах #INTAсигнал блокировки шины#LOCK, чтобы другие процессоры не пытавлись запрашивать шину.

Соседние файлы в папке лекции