stringtranslate.com

Entrada-salida programada

La entrada-salida programada (también entrada/salida programable , entrada/salida programada , E/S programada , PIO ) es un método de transmisión de datos , a través de entrada/salida (E/S), entre una unidad central de procesamiento (CPU) y un dispositivo periférico , [1] como un dispositivo de almacenamiento ATA paralelo . Cada transferencia de elemento de datos se inicia mediante una instrucción en el programa, que involucra a la CPU para cada transacción. Por el contrario, en las operaciones de acceso directo a memoria (DMA), la CPU no participa en la transferencia de datos.

El término puede referirse tanto a la E/S asignada a la memoria (MMIO) como a la E/S asignada a los puertos (PMIO). PMIO se refiere a transferencias que utilizan un espacio de direcciones especial fuera de la memoria normal, al que se accede generalmente con instrucciones dedicadas, comoENyAFUERAEn arquitecturas x86 , MMIO [2] se refiere a transferencias a dispositivos de E/S que están mapeados en el espacio de direcciones normal disponible para el programa. PMIO fue muy útil para los primeros microprocesadores con espacios de direcciones pequeños, ya que los dispositivos de E/S no consumían este valioso recurso.

El ejemplo más conocido de un dispositivo de PC que utiliza E/S programadas es la interfaz de conexión AT paralela (PATA); sin embargo, la interfaz de conexión AT también puede funcionar en cualquiera de los diversos modos DMA. Muchos dispositivos más antiguos de una PC también utilizan PIO, incluidos los puertos seriales heredados, los puertos paralelos heredados cuando no están en modo ECP, los puertos PS/2 de teclado y mouse, los puertos MIDI y joystick heredados , el temporizador de intervalos y las interfaces de red más antiguas.

Modo PIO en la interfaz ATA

La interfaz PIO se agrupa en diferentes modos que corresponden a diferentes velocidades de transferencia . La señalización eléctrica entre los diferentes modos es similar: solo se reduce el tiempo de ciclo entre transacciones para lograr una mayor velocidad de transferencia. Todos los dispositivos ATA admiten el modo más lento: el Modo 0. Al acceder a los registros de información (utilizando el Modo 0) en una unidad ATA, la CPU puede determinar la velocidad de transferencia máxima para el dispositivo y configurar el controlador ATA para un rendimiento óptimo.

Los modos PIO requieren una gran cantidad de sobrecarga de CPU para configurar una transacción de datos y transferir los datos. Debido a esta ineficiencia, se creó la interfaz DMA (y, eventualmente, Ultra Direct Memory Access ( UDMA )) para aumentar el rendimiento. La lógica digital simple necesaria para implementar una transferencia PIO todavía hace que este método de transferencia sea útil hoy en día, especialmente si no se necesitan altas tasas de transferencia como en los sistemas integrados o con chips de matriz de puertas programables en campo (FPGA), donde se puede usar el modo PIO sin una pérdida significativa de rendimiento.

En la especificación CompactFlash 2.0 se han definido dos modos de sincronización avanzados adicionales , los modos PIO 5 y 6, que son específicos de CompactFlash.

Modo PIO 5

Se propuso un modo PIO 5 [3] con funcionamiento a 22 MB/s, pero nunca se implementó en discos duros porque las CPU de la época se habrían visto limitadas esperando el disco duro en los tiempos PIO 5 propuestos, y el estándar DMA finalmente lo eliminó. Si bien nunca se fabricó ninguna unidad de disco duro que admitiera este modo, algunos fabricantes de placas base proporcionaron soporte de BIOS para ello de manera preventiva. El modo PIO 5 se puede utilizar con tarjetas CompactFlash conectadas a ATA a través de adaptadores CF a ATA.

Véase también

Referencias

  1. ^ Hayes, John P. (1978). Arquitectura y organización de computadoras . McGraw-Hill International Book Company. pág. 419. ISBN 0-07-027363-4.
  2. ^ Stallings, William (2012). Organización y arquitectura de computadoras (9.ª ed.). Pearson.
  3. ^ Chen, Joseph (10 de enero de 1995). "Propuesta de extensión de tiempo ATA de 22 MByte/s para ATA-3" (PDF) . T10.org . Comité Técnico T10 (X3T10). Archivado (PDF) del original el 20 de junio de 2010 . Consultado el 19 de febrero de 2020 .