- •Состав мпк бис серии к1810
- •Микропроцессор к1810вм86
- •Адресное пространство памяти и вв
- •Сегментация памяти и вычисление адресов
- •Организация вв
- •Организация прерываний в микропроцессоре к1810вм86
- •Внешние прерывания
- •Внутренние прерывания
- •Программа обслуживания прерывания
- •Назначение выводов микропроцессора к1810вм86
- •Функционирование микропроцессора к1810вм86
Организация вв
ВВ данных может осуществляться двумя способами:
с использованием адресного пространства ВВ;
с использованием общего с памятью адресного пространства.
При первом способе применяются специальные команды ввода (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, чтобы другие процессоры не пытавлись запрашивать шину.