РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ

Выше было описано, как микропроцессор обменивается информацией с ее более принципиальным и оперативным источником - памятью. Разглядим сейчас, как МП может принять данные либо передать их наружным устройствам. Метод решения этой задачки зависимо от конструкции ЭВМ (подчеркнем: не от конструкции МП, а от конструкции всей ЭВМ!) может быть одним из 2-ух РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ обозначенных ниже:

1) устройства ввода-вывода врубаются в общее адресное место;

2) устройства ввода-вывода имеют собственное адресное место.

В первом случае при воззвании к определенным адресам памяти заместо обмена с ОЗУ происходит аппаратное подключение того либо другого наружного устройства. При всем этом для «общения» с наружными устройствами и с памятью употребляются РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ одни и те же команды МП, хотя, естественно, обмен с наружным устройством протекает по более сложному протоколу, чем с памятью.

Во 2-м случае наружные устройства образуют отдельное адресное место, обычно существенно наименьшее, чем у ОЗУ. Любая ячейка этого дополнительного адресного места именуется портом. Каждому наружному устройству обычно РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ соответствует несколько портов с поочередными адресами. Обмен микропроцессора с организованными схожим образом устройствами осуществляется особыми командами ввода-вывода.

По сути, исходя из убеждений схемной организации оба обрисованных метода имеют сильно много общего. При любом обмене, будь то воззвание к ОЗУ, ПЗУ либо наружному устройству, микропроцессор выставляет адресок инфы на единую РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ адресную шину, а данные передает либо воспринимает по общей шине данных. Выбор же требуемого адресата - ячейки памяти либо порта - осуществляется подачей специального управляющего сигнала.

В одном и том же компьютере могут встречаться оба метода адресации устройств ввода-вывода сразу. Так, в ПЭВМ «Ямаха» накопитель на магнитных дисках включен в общее РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ адресное место памяти, а печатающее устройство оформлено в виде нескольких портов. Некие порты этого компьютера служат для подключения к маленькому 64-килобайтному адресному месту 128 кбайт ОЗУ и бессчетных ПЗУ. При всем этом все ресурсы памяти разбиваются на отдельные странички по 16 кбайт любая, и «активными» в каждый момент времени могут быть только РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ четыре из их.

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

Обмен с присоединенным к ЭВМ печатающим устройством делается через два главных порта - порт РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ состояния и порт данных. В первом хранится информация о состоянии устройства на этот момент времени, а во 2-ой МП помещает данные для вывода на бумагу. Каждый бит порча состояния хранит ответ на полностью определенный вопрос: заправлена ли бумага, готов ли принтер принять данные от компьютера и т.д. Все это РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ для МП - входные сигналы. Но есть и выходные, которые через порт передаются от МП к печатающему устройству. Более принципиальным из их является бит, свидетельствующий о готовности инфы в порту данных к передаче. Этот управляющий сигнал нередко именуют стробом.

В более ординарном случае обмен информацией меж микропроцессором и принтером может РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ протекать последующим образом. Пусть МП должен вывести на печать какой-либо знак. Он считывает порт состояния принтера и анализирует содержимое его бита готовности. Если итог положительный, т.е. печатающее устройство готово принять информацию, обмен длится, в неприятном случае МП опять считывает порт состояния и повторяет анализ. Когда микропроцессор РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ получит от принтера сигнал о готовности к обмену, он вносит требуемый знак в порт данных и установкой стробирующего сигнала докладывает об этом принтеру. Потом МП опять временами считывает порт состояния, но смотрит уже за другим битом (через этот бит принтер скажет микропроцессору о том, что данные приняты, т.е РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ. скопированы в собственное ОЗУ принтера). После чего МП убирает стробирующий потенциал и продолжает работу по программке.

Естественно, реальный диалог современного компьютера с печатающим устройством труднее. Вот вам наглядный пример. Вы, наверняка, увидели, что описанный чуть повыше метод «зациклится», если принтер не подключен либо не готов к работе: микропроцессор РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ будет ожидать сигнала о готовности принтера, а того не будет. Выход - ждать сигнала готовности в течение какого-то времени, а потом выдать юзеру сообщение о неготовности принтера к работе. При всем этом лучше проверить содержимое других битов порта состояния (к примеру, отвечающих за наличие бумаги и т.п.) и уточнить РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ, если будет нужно, диагностическое сообщение.

Обмен информацией меж МП и устройством ввода следует разглядеть раздельно, потому что он может иметь некие значительные особенности. Описанная выше идеология передачи данных, естественно, может быть применена и для устройств ввода - к примеру, для клавиатуры. В данном случае программка тогда, когда ей потребуются входные данные, опросит РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ состояние клавиатуры и воспримет с нее данные. Но для сложных современных программных систем таковой способ неудобен из-за существенного замедления времени реакции ЭВМ. По правде, если некая непростая программка занята вычислениями, а вы желаете ее оборвать, то придется подождать, пока микропроцессор освободится и займется опросом клавиатуры (фактически говоря РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ, и тогда прерывать-то будет нечего!). Все это очень припоминает очередь в приемной бюрократа-начальника, когда люди обязаны часами ожидать, пока их вызовут для пятиминутного решения вопроса.

Для предотвращения схожих проблем во всех ЭВМ на базе МП вместе с программным опросом устройств ввода существует очередной механизм - механизм РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ прерывания от наружных устройств. Такие прерывания так обширно употребляются в компьютерах, что имеет смысл разглядеть их подробнее. Для осознания сущности работы прерываний опять обратимся к аналогии с управляющим. Пусть в его кабинете идет совещание по подведению итогов деятельности предприятия, и в этот момент по телефону поступает очень принципиальная информация, требующая незамедлительного РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ принятия решения. Как в таком случае обычно развиваются действия? Секретарь, не дожидаясь конца совещания, докладывает шефу о звонке. Тот, прервав свое выступление, снимает трубку и узнает сущность дела. Потом он или здесь же воспринимает решение и докладывает его, или предлагает пока сделать самое нужное, а после совещания обещает РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ перезвонить и дать последующие указания. Потом (обратим внимание на эту деталь!) он произносит чего-нибудть в духе «Так, на чем мы тормознули?» и продолжает совещание как ни в чем же не бывало. Вобщем, если ситуация критическая, то совещание может быть прекращено либо в его ход могут быть внесены определенные коррективы РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ.

Вернемся к компу. Каждое его устройство (клавиатура, мышь, дисковод и др.) способно затребовать внимание микропроцессора, выставляя сигнал требования прерывания. Микропроцессор инспектирует наличие этого сигнала после выполнения каждой операции. «Увидев» требование прерывания, МП немедля начинаетего обрабатывать. Сначала, он запоминает свое текущее состояние (счетчик команд и регистр состояния) с РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ тем, чтоб в предстоящем иметь возможность продолжить выполнение прерванной программки. После чего происходит переход на программку, обрабатывающую данное прерывание. Заметим, что все перечисленные деяния реализуются на аппаратном уровне, т.е. практически являются «врожденными рефлексами» МП.

Программка обработки прерывания, получив управление, проводит оперативный анализ предпосылки прерывания. Если причина суровая и просит незамедлительных РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ действий, то эти деяния производятся. Если же с обработкой можно подождать (к примеру, просто нажата рядовая символьная кнопка), в специальную область памяти (буфер) заносится информация о происшедшем прерывании. Во всех случаях прерывания заканчиваются выполнением специальной команды возврата, которая восстанавливает содержимое программного счетчика и регистра состояния, давая тем процессору возможность продолжить РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ работу прерванной программки. Естественно, что программка обработки прерывания должна была за ранее вернуть все испорченные ей рабочие регистры МП.

Настоящая картина, естественно, еще труднее: прерывания от различных устройств имеют различные уровни приоритета, существует возможность маскировки прерываний и т.п. Но сущности дела все это значительно не РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ меняет.

В ближайшее время необходимость осознания принципа работы прерываний очень возросла в связи с появлением идеологии программирования по событиям. Она связана с распространением среды «Windows» и лежит в базе систем типа «Visual Basic» либо «Delphi». Приведем примеры нескольких событий, на которые программка может реагировать: сдвинута мышь, нажата (либо отпущена РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ) кнопка мыши, нажата кнопка «ввод», избран тот либо другой пункт меню, открыто новое окно на дисплее и многие-многие другие. Полный список событий занимает в описании несколько страничек. Любопытно, что программка на таком языке уже не является единым целым: на каждое событие пишется своя собственная программка, хотя они все и могут быть РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ связаны меж собой.

Итак, мы разглядели более общие механизмы работы процессоров вне зависимости от их модели. Сейчас познакомимся с определенными микропроцессорами.


rabota-na-temu-windows-presentation-foundation.html
rabota-nad-apparatom-informacionnih-izdanij.html
rabota-nad-golosom-postanovka-golosa.html