La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización del Computador Entradas / Salidas. Modelo de I/O.

Presentaciones similares


Presentación del tema: "Organización del Computador Entradas / Salidas. Modelo de I/O."— Transcripción de la presentación:

1 Organización del Computador Entradas / Salidas

2 Modelo de I/O

3 Mapeo de I/O En el espacio de memoria: se accede a través de instrucciones de lectura y escritura en memoria. En el espacio de memoria: se accede a través de instrucciones de lectura y escritura en memoria. En un espacio de I/O: se accede con instrucciones especiales de I/O (IN y OUT). En un espacio de I/O: se accede con instrucciones especiales de I/O (IN y OUT).

4 Polling vs. Interrupciones Polling: el dispositivo de I/O es consultado periódicamente por la CPU. Polling: el dispositivo de I/O es consultado periódicamente por la CPU. Interrupciones: el dispositivo I/O interrumpe la CPU cuando quiere comunicarse. Interrupciones: el dispositivo I/O interrumpe la CPU cuando quiere comunicarse.

5 Subsistema de I/O con interrupciones

6 Interrupciones Intel 8086

7 Interrupciones: hardware El controlador del dispositivo de E/S activa la señal de interrupción a la que se encuentra conectado. El controlador del dispositivo de E/S activa la señal de interrupción a la que se encuentra conectado. La CPU termina de ejecutar la instrucción en curso y verifica si el flag IF está en 1 y la señal INTR está alta. La CPU termina de ejecutar la instrucción en curso y verifica si el flag IF está en 1 y la señal INTR está alta. En este caso, sube la señal INTA. En este caso, sube la señal INTA. El PIC envía por el bus de datos el identificador del dispositivo que produjo la interrupción. El PIC envía por el bus de datos el identificador del dispositivo que produjo la interrupción. Guarda el contexto del programa en la pila (PSW y PC) Guarda el contexto del programa en la pila (PSW y PC) Deshabilita las interrupciones globalmente usando el flag IF seteándolo en 0. Deshabilita las interrupciones globalmente usando el flag IF seteándolo en 0. Pasamos el procesador a modo kernel para que la rutina ejecute con privilegios de sistema operativo. Pasamos el procesador a modo kernel para que la rutina ejecute con privilegios de sistema operativo. Coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC. Coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC.

8 Interrupciones: software Se guarda la máscara de interrupciones. Se guarda la máscara de interrupciones. Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la rutina. Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la rutina. Se habilitan globalmente las interrupciones seteando el flag IF en 1. Se habilitan globalmente las interrupciones seteando el flag IF en 1. Se ejecuta la rutina de atención de la interrupción solicitada. Se ejecuta la rutina de atención de la interrupción solicitada. Se deshabilitan globalmente las interrupciones seteando el flag IF en 0. Se deshabilitan globalmente las interrupciones seteando el flag IF en 0. Se reemplaza la máscara de interrupciones con la original. Se reemplaza la máscara de interrupciones con la original. Retorna de la interrupción con una instrucción que restaura el estado del programa antes del llamado (IRET). Retorna de la interrupción con una instrucción que restaura el estado del programa antes del llamado (IRET). Restaura el PC de la pila Restaura el PC de la pila Restaura el PSW de la pila (datos de interrupción) Restaura el PSW de la pila (datos de interrupción)

9 Controlador de interrupciones Intel

10

11 Interrupciones Motorola 6800

12 Interrupciones: hardware El controlador del dispositivo de E/S activa la señal de interrupción a la que se encuentra conectado. El controlador del dispositivo de E/S activa la señal de interrupción a la que se encuentra conectado. El codificador multiplexor notifica a la CPU que hay una interrupción. El codificador multiplexor notifica a la CPU que hay una interrupción. La CPU termina de ejecutar la instrucción en curso y verifica si la máscara I2-I1-I0 <= IPL2-IPL1-IPL0. La CPU termina de ejecutar la instrucción en curso y verifica si la máscara I2-I1-I0 <= IPL2-IPL1-IPL0. En este caso, sube la señal IPEND. En este caso, sube la señal IPEND. El codificador multiplexor notifica al dispositivo, quien en caso de usar autovectorización baja la señal AVEC. El codificador multiplexor notifica al dispositivo, quien en caso de usar autovectorización baja la señal AVEC. Guarda el contexto del programa en la pila (PSW y PC) Guarda el contexto del programa en la pila (PSW y PC) Pasamos el procesador a modo supervisor para que la rutina ejecute con privilegios de sistema operativo. Pasamos el procesador a modo supervisor para que la rutina ejecute con privilegios de sistema operativo. Deshabilita las interrupciones colocando I2-I1-I0 = 000. Deshabilita las interrupciones colocando I2-I1-I0 = 000. Actualiza PC: Actualiza PC: Si AVEC = 1, coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC. Si AVEC = 1, coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC. Si AVEC = 0, coloca Mem[bus_datos+((id_disp – 1) * 2)] en PC. Si AVEC = 0, coloca Mem[bus_datos+((id_disp – 1) * 2)] en PC.

13 Interrupciones: software Se guarda la máscara de interrupciones. Se guarda la máscara de interrupciones. Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la rutina. Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la rutina. Se ejecuta la rutina de atención de la interrupción solicitada. Se ejecuta la rutina de atención de la interrupción solicitada. Se deshabilitan las interrupciones seteando I2-I1-I0 = 000. Se deshabilitan las interrupciones seteando I2-I1-I0 = 000. Se reemplaza la máscara de interrupciones con la original. Se reemplaza la máscara de interrupciones con la original. Retorna de la interrupción con una instrucción que restaura el estado del programa antes del llamado (IRET). Retorna de la interrupción con una instrucción que restaura el estado del programa antes del llamado (IRET). Restaura el PC de la pila Restaura el PC de la pila Restaura el PSW de la pila (datos de interrupción) Restaura el PSW de la pila (datos de interrupción)

14 Acceso directo a memoria (DMA)

15 Controlador DMA DREQ 0 DREQ 1 DREQ 2 DREQ 3 DACK 0 DACK 1 DACK 2 DACK 3 HRQ HLDA HOLD HLDA CPU Controlador de DMA Device 1 Device 2 Device 3 Device 4 Address Bus Address Bus DRAM Data Bus

16 DMA con buses separados de dirs, datos y control

17 Subsistema de DMA PC: Limitaciones El DMA visto, introdujo mejoras en la performance de una PC con un disco rígido de 10 Mbytes. El DMA visto, introdujo mejoras en la performance de una PC con un disco rígido de 10 Mbytes. En las máquinas modernas con discos de 200 Gbytes, el 8237, se transformaría en un cuello de botella. En las máquinas modernas con discos de 200 Gbytes, el 8237, se transformaría en un cuello de botella. Los chipsets que acompañan a los procesadores Core Duo, aún los mas modernos siguen incluyendo la lógica equivalente a este subsistema (8237 like). Los chipsets que acompañan a los procesadores Core Duo, aún los mas modernos siguen incluyendo la lógica equivalente a este subsistema (8237 like).

18 Subsistema de DMA PC: Limitaciones Las PCs modernas utilizan DMA de primera parte. Las PCs modernas utilizan DMA de primera parte. Se refiere a controladores de dispositivos de E/S (como disco por ejemplo) capaces de requerir por si solos el DMA y manejarlo. Se refiere a controladores de dispositivos de E/S (como disco por ejemplo) capaces de requerir por si solos el DMA y manejarlo. Este concepto se conoce como Bus Mastering y en él se basa la tecnología Ultra DMA (UDMA) de los controladores IDE para discos rígidos por ejemplo. Este concepto se conoce como Bus Mastering y en él se basa la tecnología Ultra DMA (UDMA) de los controladores IDE para discos rígidos por ejemplo.

19 Alternativas al DMA legacy: E/S Programada (PIO) Esquema de acceso a la E/S mediante instrucciones de E/S del procesador (IN, OUT, INS, y OUTS) y algún hardware adicionalEsquema de acceso a la E/S mediante instrucciones de E/S del procesador (IN, OUT, INS, y OUTS) y algún hardware adicional De acuerdo a la implementación se consiguieron diferentes velocidades de acceso. Estas se conocen como Modos de E/S Programada o PIO Modes.De acuerdo a la implementación se consiguieron diferentes velocidades de acceso. Estas se conocen como Modos de E/S Programada o PIO Modes. La solución resultó mas que aceptable para los primeros discos rígidos de tecnología IDE/ATA, de modo que estos PIO modes fueron incluidos en las respectivas especificaciones de los estándares ATA-1 y ATA-2.La solución resultó mas que aceptable para los primeros discos rígidos de tecnología IDE/ATA, de modo que estos PIO modes fueron incluidos en las respectivas especificaciones de los estándares ATA-1 y ATA-2.

20 Alternativas al DMA legacy: E/S Programada (PIO) Cantidad de nano segundos para que se lleve a cabo la transferencia 1/Tiempo de Ciclo

21 Subsistemas de DMA modernos Subsistemas de DMA modernos Bus Mastering Para los discos rígidos el método PIO, demanda demasiada CPU. El Bus PCI aumenta la velocidad de transferencia, y permite acceder al bus del sistema de manera transparente a la CPU. Por este motivo se desarrolló el método de Bus Mastering para reemplazar al PIO en transferencias masivas de datos de modo de liberar a la CPU. Para habilitar Bus Mastering en un sistema, se requiere: Soporte de hardware (chipset) Que el dispositivo periférico soporte Bus Mastering. Sistema operativo de 32 bits: Windows 2000, Windows XP, Linux, etc. En algunas ocasiones se requiere la instalación de un driver.

22 Subsistemas de DMA modernos Subsistemas de DMA modernos Ultra DMA Esta tecnología corresponde al concepto de DMA de primera parte, y se implementó en los discos rígidos en reemplazo de la PIO. No es un control de DMA abierto a cualquier periférico que lo requiera sino que se encuentra embebido en el hardware del controlador de disco y es exclusivo para éste.

23 Ejemplo de controlador de disco conectado el bus I/O

24 Controlador DMA de Intel

25

26 Diagrama de tiempos de un bus

27 Configuración Channel I/O

28 Conclusiones Método I/O Complejidad hardware Complejidad software Velocidad Polling+++++ Interrupciones++++++ DMA+++++++


Descargar ppt "Organización del Computador Entradas / Salidas. Modelo de I/O."

Presentaciones similares


Anuncios Google