6.2

6.2

A๔๓เгคl

Взаимодействие с периферийными устройствами

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

Любая операция ввода-вывода предполагает диалог между ЦП и контроллером устройства. Когда процессору встречается команда, связанная с вводом-выводом, входящая в состав какой-либо программы, он выполняет ее, посылая сигналы контроллеру устройства. Это так называемый программируемый ввод-вывод.

В свою очередь, любые изменения с внешними устройствами имеют следствием передачу сигнала от устройства к ЦП. С точки зрения ЦП это является асинхронным событием и требует его реакции. Для того чтобы обнаружить такое событие, между машинными циклами процессор опрашивает специальный регистр, содержащий информацию о типе устройства, сгенерировавшего сигнал. Если сигнал имеет место, то ЦП выполняет специфичную для данного устройства программу, задача которой – отреагировать на это событие надлежащим образом (например, занести символ, введенный с клавиатуры, в специальный буфер). Такая программа называется программой обработки прерывания, а само событие прерыванием, поскольку оно нарушает плановую работу процессора. После завершения обработки прерывания процессор возвращается к выполнению программы. Эти действия компьютера называются вводом-выводом с использованием прерываний.

В современных компьютерах также имеется возможность непосредственного взаимодействия между контроллером и основной памятью, минуя ЦП, – так называемый механизм прямого доступа к памяти.



Организация взаимодействия между периферийными устройствами и процессором и памятью вычислительных машин


Работа периферийных устройств (ПУ) не синхронизирована с работой процессора. Запросы со стороны ПУ на установление связи и обмен данными могут поступать в произвольные моменты времени. Для организации обмена требуются специальные электронные средства согласования форматов и синхронизации процессов. В вычислительных машинах используется три способа обмена данными между ПУ и процессором и памятью /1,17/:

1) программно-управляемая передача, инициируемая процессором;

2) передача информации с прерыванием программы, активизируемая по запросу прерывания от ПУ;

3) передача информации в режиме прямого доступа к памяти.

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

Синхронная передача применяется при взаимодействии с быстродействующими ПУ, для обмена с которыми не требуется дополнительной синхронизации, поскольку они всегда готовы к обмену информацией. Этот способ передачи реализуется при минимальных затратах аппаратных и программных средств.

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

Яндекс.Директ




MS Windows 10 Pro

18+




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

Программно-управляемая передача является самым быстрым способом обмена данными между процессором и ПУ. Однако ему присущи следующие недостатки:

1) вынужденные непроизводительные затраты времени процессора на ожидание готовности ПУ к обмену;

2) блокирование работы процессора в результате бесконечного ожидания готовности ПУ (когда сигнал готовности не может быть сформирован, например, из-за неисправности ПУ).

Предотвратить потери времени в циклах ожидания и существенно улучшить программное взаимодействие процессора с ПУ позволяет использование прерываний.

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

Яндекс.Директ




Платформа для проведения вебинаров

18+



Реализация такого обмена по сравнению с рассмотренным выше требует более сложной аппаратной и программной поддержки. При готовности к обмену ПУ формирует запрос прерывания и посылает его процессору. Последний, обнаружив сигнал запроса, завершает выполнение операций, которые нельзя прервать, и выполняет определённую последовательность действий. По её завершении процессор восстанавливает состояние на момент прерывания и возвращает управление прерванной программе. Более подробно организация работы ВМ при обработке прерываний рассматривалась в разделе 5.3 настоящего конспекта.

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

Прямой доступ к памяти (ПДП) (DMA- Direct Access Memory) представляет собой высокоскоростной способ обмена между ПУ и ОЗУ, например, при загрузке данных в оперативную память с внешнего носителя. В режиме ПДП обмен данными осуществляется автономно от центрального процессора. При этом скорость передачи данных определяется только внешними устройствами, что позволяет ВМ выполнять ввод-вывод с максимальной скоростью самих внешних устройств. Переход в режим ПДП выполняется по запросу внешнего устройства подобно тому, как обрабатывается запрос прерываний, только управление при этом передаётся внешнему устройству. Для эффективного управления вводом-выводом в режиме ПДП в современных ВМ используются либо специализированные сопроцессоры ввода-вывода, либо контроллеры ПДП (DMA).


Report Page