Способы обмена информацией эвм
Способы обмена информацией в микропроцессорной системе
В ЭВМ применяются три режима ввода/вывода: программно-управляемый ВВ (называемый также программным или нефорсированным ВВ), ВВ по прерываниям (форсированный ВВ) и прямой доступ к памяти. Первый из них характеризуется тем, что инициирование и управление ВВ осуществляется программой, выполняемой процессором, а внешние устройства играют сравнительно пассивную роль и сигнализируют только о своем состоянии, в частности, о готовности к операциям ввода/вывода. Во втором режиме ВВ инициируется не процессором, а внешним устройством, генерирующим специальный сигнал прерывания. Реагируя на этот сигнал готовности устройства к передаче данных, процессор передает управление подпрограмме обслуживания устройства, вызвавшего прерывание. Действия, выполняемые этой подпрограммой, определяются пользователем, а непосредственными операциями ВВ управляет процессор. Наконец, в режиме прямого доступа к памяти, который используется, когда пропускной способности процессора недостаточно, действия процессора приостанавливаются, он отключается от системной шины и не участвует в передачах данных между основной памятью и быстродействующим ВУ. Заметим, что во всех вышеуказанных случаях основные действия, выполняемые на системной магистрали ЭВМ, подчиняются двум основным принципам.
1. В процессе взаимодействия любых двух устройств ЭВМ одно из них обязательно выполняет активную, управляющую роль и является задатчиком, второе оказывается управляемым, исполнителем. Чаще всего задатчиком является процессор.
2. Другим важным принципом, заложенным в структуру интерфейса, является принцип квитирования (запроса — ответа): каждый управляющий сигнал, посланный задатчиком, подтверждается сигналом исполнителя. При отсутствии ответного сигнала исполнителя в течение заданного интервала времени формируется так называемый тайм-аут, задатчик фиксирует ошибку обмена и прекращает данную операцию.
Программно-управляемый ввод/вывод
Данный режим характеризуется тем, что все действия по вводу/выводу реализуются командами прикладной программы. Наиболее простыми эти действия оказываются для «всегда готовых» внешних устройств, например индикатора на светодиодах. При необходимости ВВ в соответствующем месте программы используются команды IN или OUT. Такая передача данных называется синхронным или безусловным ВВ.
Однако для большинства ВУ до выполнения операций ВВ надо убедиться в их готовности к обмену, т.е. ВВ является асинхронным. Общее состояние устройства характеризуется флагом готовности READY, называемым также флагом готовности/занятости (READY/BUSY). Иногда состояния готовности и занятости идентифицируются отдельными флагами READY и BUSY, входящими в слово состояния устройства.
Процессор проверяет флаг готовности с помощью одной или нескольких команд. Если флаг установлен, то инициируются собственно ввод или вывод одного или нескольких слов данных. Когда же флаг сброшен, процессор выполняет цикл из 2-3 команд с повторной проверкой флага READY до тех пор, пока устройство не будет готово к операциям ВВ (рис. 3.10). Данный цикл называется циклом ожидания готовности ВУ и реализуется в различных процессорах по-разному.
Рис. 3.10. Цикл программного ожидания готовности внешнего устройства
Основной недостаток программного ВВ связан с непроизводительными потерями времени процессора в циклах ожидания. К достоинствам следует отнести простоту его реализации, не требующей дополнительных аппаратных средств.
Источник
Обмен данными в микроЭВМ.
В зависимости от вида взаимодействия микропроцессора, памяти и устройства ввода — вывода, различают три способа, обмена данными: программный , с прерыванием программы, с помощью прямого доступа, к памяти.
Программный способ рассмотрен в разделе 2,2. Для обмена данными по этому способу используются специальные управляющие сигналы ЧТЗУ, ЗПЗУ, ЧХВВ и ЗПВВ и различные команды программы для реализации четырех режимов работы микропроцессора: чтение данных из памяти, запись данных в; память, чтение (получение) данных из устройств ввода и запись (выдача) данных в устройство вывода.
Второй способ обмена данными, (с прерыванием программы), может возникнуть при эксплуатации микроЭВМ в условиях, повышенного риска (медицина, авиация, атомная, энергетика), когда требуется немедленная, передача данных в микропроцессор для их внеочередной обработки и выработки управляющих сигналов, нормализующих, обстановку. Выполнение режима прерывания, происходит следующим, образом. Внешнее, устройство, зафиксировав аварийное состояние объекта, посылает по шине управления на вывод. ЗПР микропроцессора сигнал (Т) запроса на прерывание. Получив этот сигнал, микропроцессор, заканчивает выполнение текущей команды и пересылает, в специально отведенное место в памяти, называемое стековой памятью, данные о состоянии всех своих задействованных, регистров, чтобы потом, отработав программу внешнего устройства, можно было снова, вернуть эти данные в регистры и продолжить выполнение основной, прерванной программы. Выполнив все свои действия, микропроцессор, выдает на вывод РПР сигнал (1), разрешения на обслуживание внешнего устройства, разрешая этим прерывания.
Различают три вида прерывания: простое, векторное и приоритетное.
Простое прерывание включает единственное устройство ввода и одну подпрограмму, обслуживающую это прерывание. Например, внешнее устройство в виде датчика температуры, установленное на электродвигателе, зафиксировало перегрев обмотки. В это случае требуется, чтобы микропроцессор прервал выполнение своей основной программы и включил служебную программу сигнала тревоги, извещающего обслуживающий персонал.
Векторное прерывание позволяет включать не одну, а несколько подпрограмм прерывания. С этой целью, помимо сигнала РПР, внешнее устройство посылает по трем проводам шины данных трехразрядный двоичный код (называемый вектором), позволяющий микропроцессору включить одну из восьми подпрограмм прерывания, расположенных в памяти микроЭВМ.
При наличии нескольких устройств ввода, способных вызвать прерывание, может возникнуть ситуация, при которой во время обслуживания запроса прерывания от одного устройства, поступает запрос прерывания от другого устройства. В таком случае порядок работы микропроцессора решается путем системы приоритетного (первоочередного) прерывания. Распределение приоритетов осуществляется разработчиком или пользователем микроЭВМ, путем формирования специальных кодовых сигналов.
Во время запроса прерывания микропроцессор может выполнять настолько важную и срочную программу, что ее не следует прерывать. Для такого случая в системе команд предусмотрены специальные команды: Запрещение прерывания и Разрешение прерывания. Если пользователь, составляя программу, включит в нужное место программы команду запрета прерывания, то микропроцессор будет игнорировать запрос на прерывание, поступающий от внешнего устройства на вывод РПР до тех пор, пока в программе не будет обозначена команда, разрешающая прерывание.
Третий способ обмена данными осуществляется с помощью режима прямого доступа к памяти (ПДП), при котором данные между внешним устройством и памятью обмениваются напрямую, минуя микропроцессор. Аналогично способу обмена с прерыванием программы, внешнее устройство посылает по шине управления на вывод ЗХ микропроцессора сигнал (i ) запроса захвата шин. Получив сигнал ЗХ, микропроцессор заканчивает выполнение текущей команды и посылает на вывод ПЗХ подтверждение, разрешающее внешнему устройству использовать шины адреса и данных, а сам отключается от этих шин. Причем (в отличие от режима прерывания) микропроцессор не очищает свои регистры, не засылает их данные в стековую память, а просто приостанавливает свою работу, сохраняя во всех регистрах имеющиеся данные. Как только обмен ПДП закончится и на выводе ЗХ микропроцессора будет снят сигнал запроса-захвата от внешнего устройства, микропроцессор подключится к шинам адреса и данных и продолжит выполнение своей работы.
Более подробно о работе микропроцессора и микроЭВМ читатель может узнать из литературы.
Источник
Способы обмена информацией с внешними устройствами
Обмен информацией между ЭВМ и внешними по отношению к ней устройствами (периферией) является неотъемлемым элементом любого вычислительного процесса. В случае стандартной периферии и работы ЭВМ под управлением операционной системы весь процесс обмена оказывается скрытым от пользователя. Необходимо лишь оформить в программе соответствующую системную директиву ввода-вывода. Возможности, предоставляемые операционной системой, достаточно широки и удовлетворяют большинству потребностей, возникающих при работе со стандартной периферией. Непосредственное обращение к стандартным внешним устройствам можно допустить, только зная детали взаимодействия операционной системы с периферией, чтобы гарантировать отсутствие побочных эффектов, которые могут привести к нарушению нормального функционирования либо программы пользователя, либо операционной системы. Обычно в операционной системе имеются разнообразные средства защиты и контроля, направленные против непредусмотренного вмешательства чересчур активного, неумелого или неаккуратного пользователя.
Особое значение вопрос организации обмена приобретает в автоматизированных системах, где ЭВМ взаимодействует с нестандартной периферией, поскольку от его решения во многом зависит эффективность использования ЭВМ. Обмен с нестандартной периферией, как правило, не поддерживается операционной системой и программируется пользователем. Для корректного проведения обмена необходимо ознакомиться с принципами организации ввода-вывода. Напомним, что передача информации происходит по линиям данных магистрали ЭВМ. По отношению к центральному процессору каждое внешнее устройство представляет собой набор регистров (CSR и DSR), расположенных в контроллере устройства, и собственно обмен сводится к записи информации в эти регистры или считыванию информации из них. В ЭВМ с единой магистралью эти регистры имеют адреса, расположенные в адресном пространстве, и процессор может обращаться к ним так же, как и к ячейкам оперативной памяти В IBM PC совместимом компьютере эти адреса занимают область 100÷1FF, которая отводится для нужд пользователя.
Организация любой ЭВМ обеспечивает следующие четыре способа обмена, первые два из которых, иногда называют программно-управляемыми, поскольку обмен происходит полностью под управлением программы:
· с использованием канала прямого доступа к памяти (ПДП) или обмен с занятием цикла.
Синхронный обмен, являясь самым быстрым, обеспечивает передачу информации за одну машинную команду. Схематическое изображение этого способа дано на рис. 3.1.
Рисунок 3.1 – Синхронный обмен.
Центральный процессор, выполняя команду, связанную с передачей информации, является инициатором обмена как при вводе, так и при выводе. Внешнее устройство играет пассивную роль, передавая или принимая информацию по командам центрального процессора. Этот способ предполагает близость значений скорости обмена, определяемой программой и быстродействием центрального процессора, и скорости, с которой может производить обмен внешнее устройство. Однако, как правило, эти скорости существенно различаются, а синхронный способ не располагает средствами их синхронизации.
Асинхронный обменпозволяет программно синхронизовать обмен между ЭВМ и низкоскоростным внешним устройством. Это достигается проверкой готовности устройства до проведения обмена. Готовность к обмену отображается определенным разрядом регистра состояния и управления CSR этого устройства (флагом готовности) (рис.3.2).
Рисунок 3.2 – Асинхронный обмен.
Для выяснения состояния устройства необходимо прочитать содержимое его CSR и проанализировать соответствующий разряд. Если устройство занято, происходит переход на команду чтения содержимого CSR и программа зацикливается. Отметим, что при такой организации обмен, происходящий при наступлении готовности, осуществляется синхронным способом. Флаг готовности сбрасывается внешним устройством после того, как произошел обмен данными с ЭВМ.
Следует отметить, что и в случае асинхронного обмена внешнее устройство играет пассивную роль, предоставляя для чтения или записи регистр данных и принимая или передавая данные для обмена по командам центрального процессора. Оно не может быть инициатором обмена. Другим существенным недостатком этого способа является непроизводительная трата времени, особенно при взаимодействии с низкоскоростными внешними устройствами, поскольку большую часть времени процессор тратит на ожидание готовности их к обмену. Так, для принтера с типичной скоростью печати порядка 100 симв/с только 0,04% машинного времени, отведенного на обмен, тратятся непосредственно на передачу данных, остальные же 99,96 % времени расходуются на ожидание готовности.
Обмен по прерыванию лишен отмеченных выше недостатков асинхронного способа и позволяет более эффективно использовать ресурсы ЭВМ. Отличительной чертой обмена по прерыванию в сравнении с программным способом является активность внешнего устройства, которое выступает инициатором обмена, выставляя так называемое требование прерывания. Роль же центрального процессора сводится лишь к тому, чтобы, откликнувшись на требование, его выполнить. Кроме того, процессор программным способом может разрешить или запретить внешнему устройству выставлять требование прерывания. Поскольку обмен по прерыванию помимо программной поддержки использует аппаратные средства, этот способ не является программно-управляемым.
Схематически обмен по прерыванию изображен на рис. 3.3.
Рисунок 3.3 – Обмен по прерыванию.
Центральный процессор выполняет работу по программе, называемой фоновой, которая может быть не связана с обменом, при этом часть центрального процессора, называемая арбитром, следит за появлением сигнала требования прерывания от внешнего устройства. При поступлении этого сигнала центральный процессор, закончив выполнение текущей команды фоновой программы, организует с помощью арбитра переход на подпрограмму обслуживания прерываний от данного устройства, в которой и происходит обмен одним из программно-управляемых способов. После окончания выполнения подпрограммы обслуживания прерывания осуществляется переход в фоновую программу на то место, с которого она была прервана.
В процессе работы ЭВМ под управлением операционной системы постоянно происходит обмен информацией между оперативной и внешней памятью. Потребность в таком обмене связана с ограниченным объемом оперативной памяти. Часть данных и программ, необходимость в которых отпадает, переносится из оперативной памяти во внешнюю и на освободившееся место из внешней памяти загружаются необходимые для дальнейшего использования данные и программы. Этот обмен обычно осуществляется фиксированными блоками информации, содержащими в зависимости от устройства определенное количество байт. Естественным является требование, чтобы эти передачи занимали по возможности минимальное время, поскольку они снижают реальное быстродействие машины. При работе ЭВМ с нестандартной периферией, например в информационно-измерительных комплексах, также часто возникает необходимость в быстром обмене блоками информации между оперативной памятью и внешними устройствами.
Блочная передача данных между оперативной памятью и внешним устройством осуществляется по так называемому каналу прямого доступа к памяти (ПДП). Существенной особенностью этого способа является то, что процессор не принимает участие в обмене, хотя сама передача происходит с использованием магистрали ЭВМ. Управление магистралью во время обмена полностью передается внешнему устройству, которое, являясь инициатором обмена, берет на себя все функции процессора по организации работы магистрали. Следует отметить, что захват магистрали может происходить и до окончания выполнения процессором текущей команды. Таким образом, обмен с использованием ПДП обеспечивает максимально возможную скорость; платой за это являются достаточно сложные организация и логика работы соответствующего внешнего устройства.
Источник