Программируемый ввод-вывод
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2013 г. ) |
Программируемый ввод-вывод (также программируемый ввод-вывод , программируемый ввод-вывод , программируемый ввод-вывод , PIO ) — это метод передачи данных через ввод-вывод (I/O) между центральным процессором (ЦП) и периферийное устройство, [1] например, устройство хранения данных Parallel ATA . Передача каждого элемента данных инициируется инструкцией программы, задействуя ЦП для каждой транзакции. Напротив, при операциях прямого доступа к памяти (DMA) ЦП не участвует в передаче данных.
Этот термин может относиться либо к вводу-выводу с отображением в памяти (MMIO), либо к вводу-выводу с отображением на порт (PMIO). PMIO относится к передачам с использованием специального адресного пространства за пределами обычной памяти, доступ к которому обычно осуществляется с помощью специальных инструкций, таких как В и ВНЕ в x86 архитектурах . ММИО [2] относится к передачам на устройства ввода-вывода, которые отображаются в обычное адресное пространство, доступное программе. PMIO был очень полезен для ранних микропроцессоров с небольшим адресным пространством, поскольку ценный ресурс не потреблялся устройствами ввода-вывода.
Самый известный пример устройства ПК, использующего программируемый ввод-вывод, — это интерфейс Parallel AT Attachment (PATA); однако интерфейс AT Attachment также может работать в любом из нескольких режимов DMA. Многие старые устройства на ПК также используют PIO, включая устаревшие последовательные порты, устаревшие параллельные порты, когда они не находятся в режиме ECP, порты PS/2 для клавиатуры и мыши , устаревшие порты MIDI и джойстика , интервальный таймер и старые сетевые интерфейсы.
Режим PIO в интерфейсе ATA
[ редактировать ]Интерфейс PIO сгруппирован в разные режимы, соответствующие разным скоростям передачи . Электрическая сигнализация в разных режимах аналогична — только время цикла между транзакциями сокращается для достижения более высокой скорости передачи. Все устройства ATA поддерживают самый медленный режим — режим 0. Получая доступ к информационным регистрам (с использованием режима 0) на диске ATA, ЦП может определить максимальную скорость передачи данных для устройства и настроить контроллер ATA для оптимальной производительности.
Режимы PIO требуют больших затрат ресурсов ЦП для настройки транзакции данных и передачи данных. Из-за этой неэффективности интерфейс DMA (и, в конечном итоге, Ultra Direct Memory Access ( UDMA )) был создан для повышения производительности. Простая цифровая логика, необходимая для реализации передачи PIO, по-прежнему делает этот метод передачи полезным сегодня, особенно если не нужны высокие скорости передачи, как во встроенных системах , или с микросхемами программируемой вентильной матрицы (FPGA), где режим PIO может использоваться без необходимости. значительная потеря производительности.
Два дополнительных расширенных режима синхронизации были определены в спецификации CompactFlash 2.0. Это режимы PIO 5 и 6. Они специфичны для CompactFlash.
Режим | Максимальная скорость передачи (МБ/с) | Минимальное время цикла | Стандарт, в котором определена спецификация |
---|---|---|---|
Режим 0 | 3.3 | 600 нс | АТА-1 |
Режим 1 | 5.2 | 383 нс | АТА-1 |
Режим 2 | 8.3 | 240 нс | АТА-1 |
Режим 3 | 11.1 | 180 нс | АТА-2 |
Режим 4 | 16.7 | 120 нс | АТА-2 |
Режим 5 | 20 | 100 нс | КомпактФлэш 2.0 |
Режим 6 | 25 | 80 нс | КомпактФлэш 2.0 |
Режим PIO 5
[ редактировать ]Был предложен режим PIO 5. [3] с работой со скоростью 22 МБ/с, но никогда не был реализован на жестких дисках, потому что процессоры того времени были бы парализованы в ожидании жесткого диска с предложенными таймингами PIO 5, а стандарт DMA в конечном итоге устранил это. Хотя ни один жесткий диск с поддержкой этого режима никогда не производился, некоторые производители материнских плат заранее обеспечили в BIOS его поддержку . Режим PIO 5 можно использовать с картами CompactFlash, подключенными к ATA через адаптеры CF-ATA.
См. также
[ редактировать ]- WDMA (компьютер) – DMA с одним или несколькими словами
- AT Attachment – спецификация ATA
- Ввод/вывод
- Прерывать
- Список пропускной способности устройства
- КомпактФлэш
Ссылки
[ редактировать ]- ^ Хейс, Джон П. (1978). Компьютерная архитектура и организация . Международная книжная компания McGraw-Hill. п. 419. ИСБН 0-07-027363-4 .
- ^ Столлингс, Уильям (2012). Компьютерная организация и архитектура (9-е изд.). Пирсон.
- ^ Чен, Джозеф (10 января 1995 г.). «Предлагаемое расширение синхронизации ATA 22 МБ/с для ATA-3» (PDF) . Т10.org . Технический комитет Т10 (Х3Т10). Архивировано (PDF) из оригинала 20 июня 2010 г. Проверено 19 февраля 2020 г.