Способы обмена данными
Первых двух способов все данные во время обмена с устройством проходят через процессор, т. е. программа непосредственно обменивается данными с устройством; Программно-управляемый обмен, реализуемый в виде последовательности следующих операций: Для передачи данных между программой и устройством (или двумя устройствами) применяют: Непосредственный обмен байтом или словом данных между процессором… Читать ещё >
Способы обмена данными (реферат, курсовая, диплом, контрольная)
Для передачи данных между программой и устройством (или двумя устройствами) применяют [2]:
• программно-управляемый обмен, реализуемый в виде последовательности следующих операций:
¦ чтение регистра состояния устройства для анализа его готовности;
¦ ожидание готовности устройства путем повторения предыдущей операции;
¦ непосредственный обмен байтом или словом данных между процессором и устройством.
Так, например, работает драйвер параллельного порта в стандартном режиме. Из-за низкой производительности процессора этот способ обмена не обеспечивает высокой пропускной способности порта, которая не превышает порядка 150 Кбайт/с;
- • программируемый ввод-вывод PIO (Programmed input/Output), при котором пересылается блок байтов, слов или двойных слов между памятью и портом ввода-вывода. Обмен построен на инструкциях INS/OUTS блочной пересылки с префиксом REP. При этом задается начальный адрес памяти, длина блока, адрес порта и направление изменения адреса памяти (инкремент или декремент). Пересылки выполняются быстрее, чем по стандартному каналу прямого доступа к памяти (DMA). Скорость передачи определяется производительностью (частотой) процессора и шины. Режим PIO применяется для обмена данными между винчестером и памятью;
- • обмен по каналу прямого доступа к памяти DMA (Direct Memory Access), при котором используется отдельный канал для передачи данных между устройством (например, винчестером) и памятью. При этом способе обмена почти не загружается процессор, так как выполняемые им инструкции ввода-вывода относятся лишь к анализу состояния и инициализации канала DMA, а не к самой передаче данных;
- • обмен в режиме прямого управления шиной (Bus Mastering — овладение шиной), выполняемый по инициативе и под управлением относительно интеллектуального контроллера. При этом способе обмена центральный процессор загружается в наименьшей степени (занята только шина), поэтому достигается более высокая производительность, чем при прямом доступе к памяти DMA. Контроллер с прямым управлением может для подключаемого периферийного устройства эмулировать обмен в режиме DMA. Этот более эффективный режим поддерживает скорость обмена 66 и 100 Мбайт/с.
Выбор того или иного способа передачи данных зависит от пропускной способности и времени отклика на события устройства, а также от допустимой загрузки процессора. При этом следует учитывать, что при использовании:
- • первых двух способов все данные во время обмена с устройством проходят через процессор, т. е. программа непосредственно обменивается данными с устройством;
- • двух последних способов программа получает и передает данные только через буферы, расположенные в оперативной памяти компьютера, т. е. обмен с устройством происходит асинхронно по отношению к исполняемой программе.