1 / 26

Organización del Computador

Organización del Computador. Entradas / Salidas. Modelo de I/O. Mapeo de I/O. 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). Polling vs. Interrupciones.

dante
Download Presentation

Organización del Computador

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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. • 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. • 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. • 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) • 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. • Coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC.

  8. Interrupciones: software • 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 habilitan globalmente las interrupciones seteando el flag IF en 1. • Se ejecuta la rutina de atención de la interrupción solicitada. • Se deshabilitan globalmente las interrupciones seteando el flag IF en 0. • 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). • Restaura el PC de la pila • Restaura el PSW de la pila (datos de interrupción)

  9. Controlador de interrupciones Intel

  10. Controlador de interrupciones Intel

  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 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. • 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. • 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. • Deshabilita las interrupciones colocando I2-I1-I0 = 000. • Actualiza 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.

  13. Interrupciones: software • 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 ejecuta la rutina de atención de la interrupción solicitada. • Se deshabilitan las interrupciones seteando I2-I1-I0 = 000. • 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). • Restaura el PC de la pila • Restaura el PSW de la pila (datos de interrupción)

  14. Acceso directo a memoria (DMA)

  15. Controlador DMA CPU Device 1 DREQ0 HOLD HRQ DACK0 HLDA HLDA Device 2 DREQ1 Address Bus DACK1 Controlador de DMA Device 3 DREQ2 DACK2 Address Bus DRAM Device 4 DREQ3 DACK3 Data Bus

  16. Subsistema de DMA PC: Limitaciones • 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. • 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).

  17. Subsistema de DMA PC: Limitaciones • 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. • 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.

  18. 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 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. • 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.

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

  20. Subsistemas de DMA modernosBus 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.

  21. Ejemplo de controlador de disco conectado el bus I/O

  22. Controlador DMA de Intel

  23. Controlador DMA de Intel

  24. Diagrama de tiempos de un bus

  25. Configuración Channel I/O

  26. Conclusiones

More Related