Программируемый ввод-вывод - Programmed input–output
Эта статья нужны дополнительные цитаты для проверка.июнь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Программируемый ввод-вывод (также программируемый ввод / вывод, программируемый ввод / вывод, PIO) - метод передача данных, через ввод, вывод (I / O), между центральное процессорное устройство (CPU) и периферийный устройство, такое как Сетевой адаптер или Параллельный ATA (PATA, ранее AT Attachment (ATA)) запоминающее устройство. Передача каждого элемента данных инициируется инструкцией в программе с участием ЦП для каждой транзакции. Напротив, в прямой доступ к памяти (DMA), ЦП не участвует в передаче данных.
Термин может относиться к ввод-вывод с отображением памяти (MMIO) или ввод-вывод с отображением портов (PMIO). PMIO относится к переводам с использованием специального адресное пространство вне нормальной памяти, обычно доступ к ней осуществляется с помощью специальных инструкций, таких как В и ИЗ в x86 архитектуры. MMIO[1] относится к передачам на устройства ввода-вывода, которые отображаются в обычное адресное пространство, доступное программе. PMIO был очень полезен для ранних микропроцессоров с маленькими адресными пространствами, поскольку ценный ресурс не потреблялся устройствами ввода-вывода.
Наиболее известным примером устройства ПК, использующего программируемый ввод / вывод, является интерфейс AT Attachment (ATA); однако этот интерфейс также может работать в любом из нескольких режимов 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 нс | CompactFlash 2.0 |
Режим 6 | 25 | 80 нс | CompactFlash 2.0 |
Режим PIO 5
Был предложен режим PIO 5[2] с работой со скоростью 22 МБ / с, но никогда не был реализован на жестких дисках, потому что процессоры того времени были бы повреждены, ожидая жесткий диск в предлагаемые тайминги PIO 5, а DMA стандарт в конечном итоге устранил это. Пока нет привод жесткого диска когда-либо производились для поддержки этого режима, некоторые материнская плата производители предоставили BIOS поддержка для этого. Режим PIO Mode 5 можно использовать с картами CompactFlash, подключенными к ATA через адаптеры CF-to-ATA.
Смотрите также
- WDMA (компьютер) - одно / несколько слов DMA
- Вложение - Спецификация ATA
- Ввод, вывод
- Прерывать
- Список пропускной способности устройства
- CompactFlash
Рекомендации
- ^ Столлингс, Уильям (2012). Компьютерная организация и архитектура (9-е изд.). Пирсон.
- ^ Чен, Джозеф (10 января 1995 г.). "Предлагаемое расширение тайминга ATA 22 МБ / с для ATA-3" (PDF). T10.org. Технический комитет T10 (X3T10). В архиве (PDF) с оригинала от 20 июня 2010 г.. Получено 19 февраля, 2020.