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

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Dispositivos de Entrada y Salida
El modelo de Von Neumann
Estructura de los sistemas de Entrada - Salida
H A R D W A R E Son todas las partes físicas y tangibles de una computadora. Esto incluye sus componentes eléctricos, electrónicos, electromecánicos y.
PCI & AGP. PCI (Peripheral Component Interconnect ) Desarrollado por INTEL alrededor de Se trata de un bus de 32 bits cuya primera especificación.
Hardware.
Computación PROGRAMACIÓN.
Integrantes: Brenda Koch
Introducción al software
Consideraciones generales
¿Qué es una computadora?
Funcionamiento de una Computadora
Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Profesora Borensztejn.
Gestión de Entrada / Salida
Introducción a la computadora
Composición Interna de un Procesador
Arquitectura del Computador
Vista General del Funcionamiento del Computador y sus Interconexiones
CPU “Microprocesador de datos” Bus “ Transporte de los datos”
Tema 10: Gestión de Memoria
Unidad 7 Entrada/Salida
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Arquitectura de Computadoras Cuatrimestre: 4 Página 1 de 9.
Overview Sistemas Computacionales
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
Manuela Chavarriaga Betancur Telecomunicaciones 11º3 Resumen Capitulo 2.
TEMA 2: Organización de computadores
Introducción al tiempo real en sistemas empotrados
Departamento de Informática. Curso ENTRADA Y SALIDA LECCIÓN 12 ORGANIZACIÓN DE ENTRADA Y SALIDA.
Puertos I/O Los puertos son los encargados de enviar y recibir la información en un computador, pero como hace el procesador para hacer este intercambio.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.

Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca ITE.
Michael Ángelo De Lancer Franco Windows Server 2008.
Teoría de Sistemas Operativos I/O
QUE ES UN SISTEMA OPERATIVO Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas.
Programación Java y Desarrollo de Aplicaciones
1. El sistema de entrada/salida
COMPONENTES DE HARDWARE
Taller 1 Andrés Valarezo..
Estructura de los Sistemas Operativos
Asignatura: Computadores Profesor: José Estay Araya Sitio de la asignatura: User: cpu2014 psw: cpu#X86.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
Sistemas Operativos.
FUNCIONAMIENTO INTERNO DEL ORDENADOR
Se refiere a todas Las parte tangibles
Nico Puch. Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y.
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
Mónica Quintana Pineda
INTERRUPCIONES – ABRAZO MORTAL
Los ordenadores comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios.
CONTENIDO 2: HARDWARE Y SOFTWARE
Funcionamiento del equipo de computo Luz Elva Seas Lopez.
Menú Dispositivos de salida Presentación Software y Hardware
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
La Computadora La computadora es una maquina capas de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
TECNICO EN SISTEMAS NUMERO DE FICHA:
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Instituto de Ciencias y Humanidades Tabasco. El software Coordinar el uso del hardware Coordinar el uso del hardware Ejercer el control Programas de aplicación.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
ORDENADOR HARDWARE UNIDAD CENTRAL Microprocesador memoria PERIFÉRICOS Teclado, ratón, Escáner, Impresora, Webcam, lápiz, Etc. SOFTWARE SISTEMAS OPERATIVOS.
CAPITULO V Arquitectura de Von Neumann
Un equipo de computo esta compuesto por hardware, software y humanware; el Software es la parte lógica de la computadora, el humanware es el usuario y.
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Estructura del sistema operativo
Organización del Computador Entradas / Salidas. Modelo de I/O.
Transcripción de la presentación:

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 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).

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.

Subsistema de I/O con interrupciones

Interrupciones Intel 8086

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.

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)

Controlador de interrupciones Intel

Interrupciones Motorola 6800

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.

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)

Acceso directo a memoria (DMA)

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

DMA con buses separados de dirs, datos y control

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).

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.

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.

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

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.

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.

Ejemplo de controlador de disco conectado el bus I/O

Controlador DMA de Intel

Diagrama de tiempos de un bus

Configuración Channel I/O

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