PIO
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
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....