Articulo de referencia

Entrada-salida programada

La entrada/salida programada (también llamada E/S programada o PIO ) es un método de transmisión de datos , mediante entrada/salida (E/S), entre una unidad central de procesamie...

La entrada/salida programada (también llamada E/S programada o PIO ) es un método de transmisión de datos , mediante entrada/salida (E/S), entre una unidad central de procesamiento (CPU) y un dispositivo periférico , [ 1 ] como un dispositivo de almacenamiento Parallel ATA . Cada transferencia de datos se inicia mediante una instrucción del programa, en la que interviene la CPU en cada transacción. En cambio, en las operaciones de acceso directo a memoria (DMA), la CPU no interviene en la transferencia de datos.

El término puede referirse tanto a E/S mapeada en memoria (MMIO) como a E/S mapeada en puerto (PMIO). PMIO se refiere a transferencias que utilizan un espacio de direcciones especial fuera de la memoria normal, al que normalmente se accede con instrucciones dedicadas, comoENyAFUERAEn arquitecturas x86 , MMIO [ 2 ] se refiere a las transferencias a dispositivos de E/S que se asignan al espacio de direcciones normal disponible para el programa. PMIO fue muy útil para los primeros microprocesadores con espacios de direcciones pequeños, ya que el valioso recurso no era consumido por los dispositivos de E/S.

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

Modo PIO en la interfaz ATA

La interfaz PIO se agrupa en diferentes modos que corresponden a distintas velocidades de transferencia . La señalización eléctrica entre los distintos 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 (mediante el Modo 0) en una unidad ATA, la CPU puede determinar la velocidad de transferencia máxima del dispositivo y configurar el controlador ATA para un rendimiento óptimo.

Los modos PIO requieren una gran cantidad de recursos de la CPU para configurar una transacción de datos y transferirlos. Debido a esta ineficiencia, se creó la interfaz DMA (y posteriormente la interfaz UDMA) para aumentar el rendimiento. La lógica digital simple necesaria para implementar una transferencia PIO sigue haciendo que este método de transferencia sea útil hoy en día, especialmente si no se necesitan altas velocidades de transferencia, como en sistemas embebidos o con chips FPGA ( Field Programmable Gate Array ), donde el modo PIO se puede usar sin una pérdida significativa de rendimiento.

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

Modo PIO 5

Se propuso un modo PIO 5 [ 3 ] con una velocidad de operación de 22  MB/s, pero nunca se implementó en discos duros porque las CPU de la época se habrían ralentizado considerablemente al esperar el disco duro con los tiempos propuestos para el modo PIO 5, y el estándar DMA finalmente lo dejó obsoleto. Si bien nunca se fabricó ningún disco duro compatible con este modo, algunos fabricantes de placas base ofrecieron soporte para él en la BIOS de forma preventiva . El modo PIO 5 se puede usar con tarjetas CompactFlash conectadas a ATA mediante 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 temporización ATA de 22 MByte/seg para ATA-3" (PDF) . T10.org . Comité Técnico T10 (X3T10). Archivado (PDF) del original el 20 de junio de 2010. Recuperado el 19 de febrero de 2020 .