загрузка...
Знакомство с ЭВМ | Как собрать, наладить и усовершенствовать микроэвм
Обмен данными в микроЭВМ.
В зависимости от вида взаимодействия микропроцессора, памяти и устройства ввода — вывода, различают три способа, обмена данными: программный , с прерыванием программы, с помощью прямого доступа, к памяти.
Программный способ рассмотрен в разделе 2,2. Для обмена данными по этому способу используются специальные управляющие сигналы ЧТЗУ, ЗПЗУ, ЧХВВ и ЗПВВ и различные команды программы для реализации четырех режимов работы микропроцессора: чтение данных из памяти, запись данных в; память, чтение (получение) данных из устройств ввода и запись (выдача) данных в устройство вывода.
Второй способ обмена данными, (с прерыванием программы), может возникнуть при эксплуатации микроЭВМ в условиях, повышенного риска (медицина, авиация, атомная, энергетика), когда требуется немедленная, передача данных в микропроцессор для их внеочередной обработки и выработки управляющих сигналов, нормализующих, обстановку. Выполнение режима прерывания, происходит следующим, образом. Внешнее, устройство, зафиксировав аварийное состояние объекта, посылает по шине управления на вывод. ЗПР микропроцессора сигнал (Т) запроса на прерывание. Получив этот сигнал, микропроцессор, заканчивает выполнение текущей команды и пересылает, в специально отведенное место в памяти, называемое стековой памятью, данные о состоянии всех своих задействованных, регистров, чтобы потом, отработав программу внешнего устройства, можно было снова, вернуть эти данные в регистры и продолжить выполнение основной, прерванной программы. Выполнив все свои действия, микропроцессор, выдает на вывод РПР сигнал (1), разрешения на обслуживание внешнего устройства, разрешая этим прерывания.
Различают три вида прерывания: простое, векторное и приоритетное.
Простое прерывание включает единственное устройство ввода и одну подпрограмму, обслуживающую это прерывание. Например, внешнее устройство в виде датчика температуры, установленное на электродвигателе, зафиксировало перегрев обмотки. В это случае требуется, чтобы микропроцессор прервал выполнение своей основной программы и включил служебную программу сигнала тревоги, извещающего обслуживающий персонал.
Векторное прерывание позволяет включать не одну, а несколько подпрограмм прерывания. С этой целью, помимо сигнала РПР, внешнее устройство посылает по трем проводам шины данных трехразрядный двоичный код (называемый вектором), позволяющий микропроцессору включить одну из восьми подпрограмм прерывания, расположенных в памяти микроЭВМ.
При наличии нескольких устройств ввода, способных вызвать прерывание, может возникнуть ситуация, при которой во время обслуживания запроса прерывания от одного устройства, поступает запрос прерывания от другого устройства. В таком случае порядок работы микропроцессора решается путем системы приоритетного (первоочередного) прерывания. Распределение приоритетов осуществляется разработчиком или пользователем микроЭВМ, путем формирования специальных кодовых сигналов.
Во время запроса прерывания микропроцессор может выполнять настолько важную и срочную программу, что ее не следует прерывать. Для такого случая в системе команд предусмотрены специальные команды: Запрещение прерывания и Разрешение прерывания. Если пользователь, составляя программу, включит в нужное место программы команду запрета прерывания, то микропроцессор будет игнорировать запрос на прерывание, поступающий от внешнего устройства на вывод РПР до тех пор, пока в программе не будет обозначена команда, разрешающая прерывание.
Третий способ обмена данными осуществляется с помощью режима прямого доступа к памяти (ПДП), при котором данные между внешним устройством и памятью обмениваются напрямую, минуя микропроцессор. Аналогично способу обмена с прерыванием программы, внешнее устройство посылает по шине управления на вывод ЗХ микропроцессора сигнал (i ) запроса захвата шин. Получив сигнал ЗХ, микропроцессор заканчивает выполнение текущей команды и посылает на вывод ПЗХ подтверждение, разрешающее внешнему устройству использовать шины адреса и данных, а сам отключается от этих шин. Причем (в отличие от режима прерывания) микропроцессор не очищает свои регистры, не засылает их данные в стековую память, а просто приостанавливает свою работу, сохраняя во всех регистрах имеющиеся данные. Как только обмен ПДП закончится и на выводе ЗХ микропроцессора будет снят сигнал запроса-захвата от внешнего устройства, микропроцессор подключится к шинам адреса и данных и продолжит выполнение своей работы.
Более подробно о работе микропроцессора и микроЭВМ читатель может узнать из литературы.
|