| Главная страница |
Обмен с внешними устройствами |
Системная шина ISA |
Платы расширения для шины ISA |
| Пример системы сбора данных | Система виртуальной отладки | Справочная информация | |
Персональный компьютер через собственные внешние интерфейсы и различные адаптеры расширения (в том числе и располагаемые на платах расширения) может обмениваться с внешним миром различными сигналами, среди которых может быть цифровая информация (байты или отдельные биты), импульсные и аналоговые сигналы. В самом же ПК основой формирования или приема всех этих сигналов является последовательностью байтов или слов, передаваемых от внешних устройств или к внешним устройствам по системной шине. | Системы сбора и
обработки информации Принципы обмена данными |
СПОСОБЫ ОБМЕНА ДАННЫМИ | |||
Выбор метода обмена по системной
шине определяется в основном требованиями к пропускной способности, времени отклика на событие,
происходящее во внешнем устройстве и допустимой загрузкой процессора. Существуют два основных
механизма обмена данными с внешними устройствами: программно-управляемый обмен (ввод-вывод) и
прямой доступ к памяти.
Прямой доступ к памяти Прямой доступ к памяти (DMA - Direct Memory Access) является способом обмена данными между внешним устройством и памятью без участия процессора и предназначен в основном для устройств, обменивающихся большими блоками данных с оперативной памятью. Инициатором обмена всегда выступает внешнее устройство. Процессор инициализирует контроллер DMA, и далее обмен выполняется под управлением контроллера. Если выбранный режим обмена не занимает всей пропускной способности шины, во время операций DMA процессор может продолжать работу. Этот тип обмена далее не рассматривается, поскольку он не предполагается к использованию в вариантах заданий на разработку систем. Программно-управляемый ввод-вывод Программно-управляемый ввод-вывод означает обмен данными с внешними устройствами с использованием команд процессора. Передача данных происходит через регистры процессора и при этом в конечном счете может реализовываться обмен собственно с процессором, обмен внешнего устройства с памятью, обмен между внешними устройствами. Процессоры х86 имеют раздельную адресацию памяти и портов ввода-вывода и соответственно ввод-вывод может быть отображен либо в пространство ввода-вывода, либо вы пространство оперативной памяти (memory-mapped I/O). В последнем случае адрес памяти декодируется во внешнем устройстве и для выполнения ввода-вывода могут быть использованы все команды обращения к памяти. Каждое адресуемый элемент адресного пространства ввода-вывода именуется портом ввода, портом вывода или портом ввода-вывода. Для обращения к портам предназначены четыре основные команды процессора: In (ввод в порт), Out (вывод из порта), Ins (ввод из порта в элемент строки памяти) и Outs (вывод элемента из строки памяти). Последние две строковые команды ввода-вывода используются для быстрой пересылки блоков данных между портом и памятью в случае последовательно расположенных адресов портов в внешнем устройстве. Обмен данными с портами, при котором используются строковые команды ввода-вывода, получил название PIO (Programmed Input/Output) - программированный ввод-вывод. Что понимается под словом обмен? Во первых - это обращение программы к выбранному порту и пересылка информации. Пересылка - чтение или запись может производится в расчете на то, что порт всегда готов выдать или принять данные или же предваряется анализом готовности устройства. В последнем случае обмен включает операцию чтения регистра состояния устройства для анализа его готовности, ожидание готовности (зацикливание предыдущего шага), собственно обмен байтом или словом данных. Модификацией этого варианта является метод опроса - способ обнаружения асинхронных событий. При его использовании каждому возможному событию ставится в соответствие флажок, которому может обратиться программа. |
МЕТОДЫ ИНИЦИАЛИЗАЦИИ ОБМЕНА | |||
Собственно
программно-управляемый обмен может инициироваться несколькими причинами:
- Процессором, точнее соответствующей командой в его программе. Эта ситуация подразумевает, что обмен данными является основной задачей процессора. - Запросом аппаратного прерывания. Аппаратные прерывания вызываются внешними устройствами и теми компонентами компьютера, которые требуют немедленной обработки своей информации и приходят асинхронно по отношению к исполняемой программе. Прерывание можно рассматривать как некоторое особое событие в системе, которое заставляет процессор приостановить выполнение своей программы для реализации некоторой затребованной деятельности. Программные обработчики аппаратных прерываний инициализируют блочный обмен или выполняют одиночную операцию пересылки по системной шине с внешним устройством. Практически это основной способ инициализации обмена. Прерывания существенно увеличивают эффективность вычислительной системы, поскольку они позволяют внешним устройствам "обращать на себя внимание" процессора только по мере надобности. - Возможно также и комплексное решение - опрос готовности одного или нескольких внешних устройств (polling) по периодическим прерываниям, например, от системного таймера. Готовое устройство обслуживается, неготовое пропускается до следующего прерывания. Без анализа готовности возможно и периодическое выполнение каких-то действий с внешним устройством. |
Особенности
программно-управляемого обмена Особенности обмена с использованием прерываний |
| На главную страницу | На начало раздела | На начало страницы | | © КСиТ МИФИ, 2001 г. |