пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Обмен данными с ВУ.

Выбор метода обмена по системной шине определяется в основном требованиями к пропускной способности, времени отклика на событие, происходящее во внешнем устройстве и допустимой загрузкой процессора. Существуют два основных механизма обмена данными с внешними устройствами: программно-управляемый обмен (ввод-вывод) и прямой доступ к памяти.
Прямой доступ к памяти
Прямой доступ к памяти (DMA - Direct Memory Access) является способом обмена данными между внешним устройством и памятью без участия процессора и предназначен в основном для устройств, обменивающихся большими блоками данных с оперативной памятью. Инициатором обмена всегда выступает внешнее устройство. Процессор инициализирует контроллер DMA, и далее обмен выполняется под управлением контроллера. Если выбранный режим обмена не занимает всей пропускной способности шины, во время операций DMA процессор может продолжать работу.
Программно-управляемый ввод-вывод
Программно-управляемый ввод-вывод означает обмен данными с внешними устройствами с использованием команд процессора. Передача данных происходит через регистры процессора и при этом в конечном счете может реализовываться обмен собственно с процессором, обмен внешнего устройства с памятью, обмен между внешними устройствами.
Процессоры х86 имеют раздельную адресацию памяти и портов ввода-вывода и соответственно ввод-вывод может быть отображен либо в пространство ввода-вывода, либо вы пространство оперативной памяти (memory-mapped I/O). В последнем случае адрес памяти декодируется во внешнем устройстве и для выполнения ввода-вывода могут быть использованы все команды обращения к памяти.
Каждое адресуемый элемент адресного пространства ввода-вывода именуется портом ввода, портом вывода или портом ввода-вывода. Для обращения к портам предназначены четыре основные команды процессора: In (ввод в порт), Out (вывод из порта), Ins (ввод из порта в элемент строки памяти) и Outs (вывод элемента из строки памяти). Последние две строковые команды ввода-вывода используются для быстрой пересылки блоков данных между портом и памятью в случае последовательно расположенных адресов портов в внешнем устройстве. Обмен данными с портами, при котором используются строковые команды ввода-вывода, получил название PIO (Programmed Input/Output) - программированный ввод-вывод.
Что понимается под словом обмен? Во первых - это обращение программы к выбранному порту и пересылка информации. Пересылка - чтение или запись может производится в расчете на то, что порт всегда готов выдать или принять данные или же предваряется анализом готовности устройства. В последнем случае обмен включает операцию чтения регистра состояния устройства для анализа его готовности, ожидание готовности (зацикливание предыдущего шага), собственно обмен байтом или словом данных. Модификацией этого варианта является метод опроса - способ обнаружения асинхронных событий. При его использовании каждому возможному событию ставится в соответствие флажок, которому может обратиться программа.

Собственно программно-управляемый обмен может инициироваться несколькими причинами:
- Процессором, точнее соответствующей командой в его программе. Эта ситуация подразумевает, что обмен данными является основной задачей процессора.
- Запросом аппаратного прерывания. Аппаратные прерывания вызываются внешними устройствами и теми компонентами компьютера, которые требуют немедленной обработки своей информации и приходят асинхронно по отношению к исполняемой программе. Прерывание можно рассматривать как некоторое особое событие в системе, которое заставляет процессор приостановить выполнение своей программы для реализации некоторой затребованной деятельности. Программные обработчики аппаратных прерываний инициализируют блочный обмен или выполняют одиночную операцию пересылки по системной шине с внешним устройством. Практически это основной способ инициализации обмена. Прерывания существенно увеличивают эффективность вычислительной системы, поскольку они позволяют внешним устройствам "обращать на себя внимание" процессора только по мере надобности.
- Возможно также и комплексное решение - опрос готовности одного или нескольких внешних устройств (polling) по периодическим прерываниям, например, от системного таймера. Готовое устройство обслуживается, неготовое пропускается до следующего прерывания. Без анализа готовности возможно и периодическое выполнение каких-то действий с внешним устройством.


15.01.2014; 21:04
хиты: 87
рейтинг:0
Точные науки
информатика
Теория вычислений
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь