PIO

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

PIO — Программный ввод/вывод (англ. Programmed input/output, PIO), метод передачи данных между двумя устройствами, использующий процессор как часть маршрута данных (процессор выполняет команду чтения порта, считывает байт или слово данных в свой регистр, после чего переписывает его в память, затем повторяет эту процедуру до тех пор, пока вся необходимая информация не будет считана из устройства в память).

Как правило, этот термин применяется к классическому PC/AT контроллеру IDE/ATA/SATA. В этом режиме контроллер требовал исполнения драйвером или же BIOSом команды процессора REP INSW/OUTSW для передачи всех данных, обычно команда исполняется в обработчике прерывания контроллера в статусе «готов к передаче данных».

Режим имеет существенные недостатки — загрузку процессора вводом-выводом и крайне невысокую скорость передачи из-за невозможности использования «взрывного» (burst) режима шины PCI, и устарел с появлением в середине 1990 годов поддержки DMA в IDE контроллере. Но, во-первых, если режим PIO работет одинаково во всех PC-совместимых компьютерах, то реализация DMA зависит от производителя контроллера (обычно Intel, VIA или nVidia) и требует установки драйверов/сборки ядра с поддержкой данных драйверов. Более или менее современные версии Windows автоматически установят DMA-драйвера к любому распространенному IDE контроллеру.

Контроллеры IDE/SATA, не совместимые со стандартным PC/AT (HighPoint, Promise, Silicon Image, AHCI и другие), не имеют и устарелого режима PIO как метода передачи данных между процессором и контроллером. Они всегда требуют установки драйвера (драйвер обычно реализован как драйвер SCSI контроллера) и всегда используют проприетарную реализацию DMA для общения с процессором/памятью, как и контроллеры SCSI.

Во-вторых, включение режима DMA затрагивает не только интерфейс между контроллером и процессором, но и интерфейс между контроллером и диском. Таким образом, для включения этого режима необходима поддержка DMA еще и в жестком диске или CD/DVD приводе. Также режимы PIO и DMA для IDE подразделяются на несколько обозначенных цифрами подрежимов, задающих скорость передачи данных по кабелю. Высокие режимы DMA называются Ultra DMA и требуют иного параллельного ATA кабеля — 80 проводников вместо 40. Поддерживаются с начала 2000ных годов.

По некоторым сведениям, SATA отменяет реализацию этих подрежимов, всегда используя только одну (высокую) скорость передачи по кабелю. На практике при использовании SATA жестких дисков, подключенных к не-PC/AT-совместимому контроллеру Silicon Image с проприетарным драйвером, выбранный PIO/DMA режим не влияет ни на что и является не более чем украшением пользовательского интерфейса утилиты управления контроллером и реликтом старых времен.

Бывает PIO Mode 0 1 2 3 4. Чем больше номер режима, тем быстрее. IDE ZIP100 приводы от Iomega например умеют только PIO mode 0. Старые CD-ROM приводы обычно умеют PIO mode 4, если не могут DMA.

  • PIO Mode 0 = 3.3 Mb/s
  • PIO Mode 1 = 5.2 Mb/s
  • PIO Mode 2 = 8.3 Mb/s
  • PIO Mode 3 = 11.1 Mb/s
  • PIO Mode 4 = 16.7 Mb/s

Ссылки


cs:PIO

de:Programmed Input/Output en:Programmed input/output it:Programmed input/output ko:프로그램 입출력 pl:PIO pt:PIO sk:Programmed input/output sv:PIO

Источник — «http://www.sbup.com/wiki/PIO»
Личные инструменты

Served in 0.061 secs.