Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La...
Transcript of Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La...
Entrada/Salida
66.20
Organizacion de Computadoras
30/11/06
El patito feo del diseno de computadoras
I Dejada de lado en favor de la CPU
I La venganza de Amdahl
I El tiempo de respuesta como medida de performance
I Confiabilidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
El patito feo del diseno de computadoras
I Dejada de lado en favor de la CPU
I La venganza de Amdahl
I El tiempo de respuesta como medida de performance
I Confiabilidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
El patito feo del diseno de computadoras
I Dejada de lado en favor de la CPU
I La venganza de Amdahl
I El tiempo de respuesta como medida de performance
I Confiabilidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
El patito feo del diseno de computadoras
I Dejada de lado en favor de la CPU
I La venganza de Amdahl
I El tiempo de respuesta como medida de performance
I Confiabilidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Aspectos de Entrada/Salida
I Gran variedad de perifericosI Diferentes volumenes de datosI A diferentes velocidadesI En diferentes formatos
I Mas lentos que la CPU
I Se necesitan modulos de E/S
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Dispositivos externos
I Interfaz con humanosI Pantalla, impresora, teclado
I Legibles por maquinasI Dispositivos de almacenamiento
I ComunicacionesI ModemI Tarjeta de red, o NIC (Network Interface Card)
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Velocidades tıpicas E/S
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Funciones de un modulo de E/S
I Comunicacion con la CPU
I Comunicacion con el dispositivo
I Buffering de datos
I Control y timing
I Deteccion de errores
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Diagrama en bloques de un modulo E/S
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Comandos de entrada/salida
I La CPU coloca una direccion para identificarmodulo/dispositivo
I La CPU coloca un comandoI Control – Dice al modulo que hacer
I Operaciones de control (p. ej. expulsar el CD)
I Test - chequear statusI Leer/Escribir
I El modulo transfiere datos via buffer desde/hacia el dispositivo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Mapeo de Entrada/Salida
I E/S mapeada en memoria (Memory Mapped I/O)I Los dispositivos y la memoria comparten un espacio de
direccionesI E/S es como leer/escribir en memoriaI No hay instrucciones especiales para E/S
I Conjunto de instrucciones completo
I E/S separadaI Espacios de direcciones separadosI Se necesitan lıneas de seleccion de E/S o memoria si el bus es
compartidoI Instrucciones especiales para E/S
I Conjunto de instrucciones limitado
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Buses
I Comunicacion entre subsistemas
I Standard:I VersatilidadI Bajo costo
I Puede causar un cuello de botella
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Buses
I Comunicacion entre subsistemasI Standard:
I VersatilidadI Bajo costo
I Puede causar un cuello de botella
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Buses
I Comunicacion entre subsistemasI Standard:
I VersatilidadI Bajo costo
I Puede causar un cuello de botella
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Buses
I Comunicacion entre subsistemasI Standard:
I VersatilidadI Bajo costo
I Puede causar un cuello de botella
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Tipos de bus
I E/S propiamente dicho:
I Pueden ser largosI Diversos tipos de dispositivosI Amplio rango de anchos de bandaI Estandares de bus
I CPU - Memoria:I Suelen ser cortosI Alta velocidad (generalmente)I Hechos a medida para maximizar la velocidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Tipos de bus
I E/S propiamente dicho:I Pueden ser largosI Diversos tipos de dispositivosI Amplio rango de anchos de bandaI Estandares de bus
I CPU - Memoria:I Suelen ser cortosI Alta velocidad (generalmente)I Hechos a medida para maximizar la velocidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Tipos de bus
I E/S propiamente dicho:I Pueden ser largosI Diversos tipos de dispositivosI Amplio rango de anchos de bandaI Estandares de bus
I CPU - Memoria:I Suelen ser cortosI Alta velocidad (generalmente)I Hechos a medida para maximizar la velocidad
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Decisiones de diseno
Opcion Alta performance Bajo costoUno o dos buses Dos Uno multiplexadoSeparar E/S de memoria Sı NoAncho del bus Mas ancho es mas rapido Mas angosto es mas baratoTamano de transferencia Palabras multiples De a palabra
Bus masters Multiples (requiere arbitraje) Unico (no hay arbitraje)Transaccion dividida? Sı, es mas rapido No.Clock? Sincronico Asincronico
I La ventaja de los buses separados de direcciones y de datos esprincipalmente para escritura
I La ventaja de los buses separados de memoria y E/S es develocidad en el uso de la memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Organizacion tıpica de conexion de buses
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Diagramas de tiempos – Lectura
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Diagramas de tiempos – Buses asincronicos
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Diagramas de tiempos – Transacciones divididas
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)
I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I InterrupcionesI El dispositivo interrumpe a la CPU cuando hace faltaI La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)I Hay un controlador dedicado que comunica el dispositivo y la
memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I Interrupciones
I El dispositivo interrumpe a la CPU cuando hace faltaI La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)I Hay un controlador dedicado que comunica el dispositivo y la
memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I InterrupcionesI El dispositivo interrumpe a la CPU cuando hace falta
I La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)I Hay un controlador dedicado que comunica el dispositivo y la
memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I InterrupcionesI El dispositivo interrumpe a la CPU cuando hace faltaI La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)I Hay un controlador dedicado que comunica el dispositivo y la
memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I InterrupcionesI El dispositivo interrumpe a la CPU cuando hace faltaI La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)
I Hay un controlador dedicado que comunica el dispositivo y lamemoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Formas de acceder a E/S
I Programada (polling)I No requiere hardware adicionalI La CPU debe esperar al dispositivo
I InterrupcionesI El dispositivo interrumpe a la CPU cuando hace faltaI La CPU deja lo que esta haciendo y procesa la interrupcion
I Acceso directo a memoria (DMA)I Hay un controlador dedicado que comunica el dispositivo y la
memoria
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S programada
I La CPU pide una operacion de E/S
I El modulo de E/S realiza la operacion
I El modulo E/S setea los bits de status
I La CPU chequea los bits de status periodicamente
I El modulo de E/S no informa a la CPU directamente
I El modulo de E/S no interrumpe a la CPU
I La CPU debe esperar o volver mas tarde
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S programada
I Procesador a 200MHz (tiempo de ciclo = 5ns)
I CPI promedio = 2 =⇒ la CPU puede ejecutar ∼100 MIPS
I Queremos imprimir un archivo de 10KB en una impresoralaser de 20 ppm.
I 1 pagina contiene ∼3000 caracteres
I La impresora imprime 60000 caracteres por minuto = 1KB/s
I La CPU entra en bucle y envıa un nuevo byte cada vez que laimpresora esta preparada para recibirlo
I En los 10s que tarda en imprimir 10KB, podrıa haberejecutado 1000 millones de instrucciones
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S programada
I Procesador a 200MHz (tiempo de ciclo = 5ns)
I CPI promedio = 2 =⇒ la CPU puede ejecutar ∼100 MIPS
I Queremos imprimir un archivo de 10KB en una impresoralaser de 20 ppm.
I 1 pagina contiene ∼3000 caracteres
I La impresora imprime 60000 caracteres por minuto = 1KB/s
I La CPU entra en bucle y envıa un nuevo byte cada vez que laimpresora esta preparada para recibirlo
I En los 10s que tarda en imprimir 10KB, podrıa haberejecutado 1000 millones de instrucciones
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S programada
I Procesador a 200MHz (tiempo de ciclo = 5ns)
I CPI promedio = 2 =⇒ la CPU puede ejecutar ∼100 MIPS
I Queremos imprimir un archivo de 10KB en una impresoralaser de 20 ppm.
I 1 pagina contiene ∼3000 caracteres
I La impresora imprime 60000 caracteres por minuto = 1KB/s
I La CPU entra en bucle y envıa un nuevo byte cada vez que laimpresora esta preparada para recibirlo
I En los 10s que tarda en imprimir 10KB, podrıa haberejecutado 1000 millones de instrucciones
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S programada
I Procesador a 200MHz (tiempo de ciclo = 5ns)
I CPI promedio = 2 =⇒ la CPU puede ejecutar ∼100 MIPS
I Queremos imprimir un archivo de 10KB en una impresoralaser de 20 ppm.
I 1 pagina contiene ∼3000 caracteres
I La impresora imprime 60000 caracteres por minuto = 1KB/s
I La CPU entra en bucle y envıa un nuevo byte cada vez que laimpresora esta preparada para recibirlo
I En los 10s que tarda en imprimir 10KB, podrıa haberejecutado 1000 millones de instrucciones
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S por interrrupciones
I La CPU coloca un comando, ej.: lectura
I El modulo E/S toma el dato del periferico, mientras tanto laCPU hace otro trabajo
I El modulo de E/S interrumpe a la CPU
I La CPU accede al dato
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S por interrrupciones
I La CPU coloca un comando, ej.: lectura
I El modulo E/S toma el dato del periferico, mientras tanto laCPU hace otro trabajo
I El modulo de E/S interrumpe a la CPU
I La CPU accede al dato
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S por interrrupciones
I La CPU coloca un comando, ej.: lectura
I El modulo E/S toma el dato del periferico, mientras tanto laCPU hace otro trabajo
I El modulo de E/S interrumpe a la CPU
I La CPU accede al dato
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Detalle de E/S por interrrupciones
I La CPU coloca un comando, ej.: lectura
I El modulo E/S toma el dato del periferico, mientras tanto laCPU hace otro trabajo
I El modulo de E/S interrumpe a la CPU
I La CPU accede al dato
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccion
I Si hay interrupciones pendientes:I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actual
I Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contexto
I Poner en el PC la direccion de comienzo de la rutina deatencion de la interrupcion (handler)
I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)
I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcion
I Reestablecer el contexto y continuar la ejecucion del programainterrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ciclo de Interrupcion
I Agregado al ciclo de instruccion
I El procesador chequea si hay interrupciones (Indicado por unasenal de interrupcion)
I Si no hay interrupcion, buscar la proxima instruccionI Si hay interrupciones pendientes:
I Suspender la ejecucion del programa actualI Salvar el contextoI Poner en el PC la direccion de comienzo de la rutina de
atencion de la interrupcion (handler)I Procesar la interrupcionI Reestablecer el contexto y continuar la ejecucion del programa
interrumpido
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S por interrupciones
I La impresora genera una interrupcion cada vez queesta preparada para recibir un nuevo byte
I Suponemos que son necesarias 10 instrucciones para ejecutarel handler (salvar contexto, comprobar estado, transferir byte,restaurar contexto)
I Para transferir 10 Kbytes tenemos que repetir el proceso10.000 veces
I hay que ejecutar 100.000 instrucciones para atender alperiferico
I la CPU emplea 0,001 s
La E/S por interrupciones reduce en 10.000 veces el tiempo que laCPU esta ocupada gestionando la impresora
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S por interrupciones
I La impresora genera una interrupcion cada vez queesta preparada para recibir un nuevo byte
I Suponemos que son necesarias 10 instrucciones para ejecutarel handler (salvar contexto, comprobar estado, transferir byte,restaurar contexto)
I Para transferir 10 Kbytes tenemos que repetir el proceso10.000 veces
I hay que ejecutar 100.000 instrucciones para atender alperiferico
I la CPU emplea 0,001 s
La E/S por interrupciones reduce en 10.000 veces el tiempo que laCPU esta ocupada gestionando la impresora
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S por interrupciones
I La impresora genera una interrupcion cada vez queesta preparada para recibir un nuevo byte
I Suponemos que son necesarias 10 instrucciones para ejecutarel handler (salvar contexto, comprobar estado, transferir byte,restaurar contexto)
I Para transferir 10 Kbytes tenemos que repetir el proceso10.000 veces
I hay que ejecutar 100.000 instrucciones para atender alperiferico
I la CPU emplea 0,001 s
La E/S por interrupciones reduce en 10.000 veces el tiempo que laCPU esta ocupada gestionando la impresora
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S por interrupciones
I La impresora genera una interrupcion cada vez queesta preparada para recibir un nuevo byte
I Suponemos que son necesarias 10 instrucciones para ejecutarel handler (salvar contexto, comprobar estado, transferir byte,restaurar contexto)
I Para transferir 10 Kbytes tenemos que repetir el proceso10.000 veces
I hay que ejecutar 100.000 instrucciones para atender alperiferico
I la CPU emplea 0,001 s
La E/S por interrupciones reduce en 10.000 veces el tiempo que laCPU esta ocupada gestionando la impresora
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo de E/S por interrupciones
I La impresora genera una interrupcion cada vez queesta preparada para recibir un nuevo byte
I Suponemos que son necesarias 10 instrucciones para ejecutarel handler (salvar contexto, comprobar estado, transferir byte,restaurar contexto)
I Para transferir 10 Kbytes tenemos que repetir el proceso10.000 veces
I hay que ejecutar 100.000 instrucciones para atender alperiferico
I la CPU emplea 0,001 s
La E/S por interrupciones reduce en 10.000 veces el tiempo que laCPU esta ocupada gestionando la impresora
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Acceso directo a memoria (DMA)
I La entrada salida programada o por interrupciones requiereuna activa intervencion de la CPU
I La tasa de transferencia se ve limitadaI La CPU se ve atada al proceso
I La solucion es conectar directamente los perifericos a lamemoria sin intervencion de la CPU
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Acceso directo a memoria (DMA)
I La entrada salida programada o por interrupciones requiereuna activa intervencion de la CPU
I La tasa de transferencia se ve limitada
I La CPU se ve atada al proceso
I La solucion es conectar directamente los perifericos a lamemoria sin intervencion de la CPU
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Acceso directo a memoria (DMA)
I La entrada salida programada o por interrupciones requiereuna activa intervencion de la CPU
I La tasa de transferencia se ve limitadaI La CPU se ve atada al proceso
I La solucion es conectar directamente los perifericos a lamemoria sin intervencion de la CPU
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Acceso directo a memoria (DMA)
I La entrada salida programada o por interrupciones requiereuna activa intervencion de la CPU
I La tasa de transferencia se ve limitadaI La CPU se ve atada al proceso
I La solucion es conectar directamente los perifericos a lamemoria sin intervencion de la CPU
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas de una transferencia DMA: Inicializacion
I Inicializacion de la transferencia
I La CPU debe enviar a la interfase del periferico y al DMAC losparametros de la transferencia
I Inicializacion del interfaz (Bus master: CPU - Bus slave: Interfase )
I No. de bytes a transferirI Tipo de transferencia (lectura/escritura)I Otra informacion de control (pista, sector, etc.)
I Inicializacion del controlador DMA (Bus master: CPU - Bus slave:
DMAC)
I No. de bytes o palabras a transferirI Tipo de transferencia (lectura/escritura)I Direccion de memoria inicial para la transferenciaI No. de canal (para DMAs con varios canales)I Despues de la inicializacion la CPU retorna a sus tareas y ya
no se preocupa mas de la evolucion de la transferencia
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas de una transferencia DMA: Inicializacion
I Inicializacion de la transferencia
I La CPU debe enviar a la interfase del periferico y al DMAC losparametros de la transferencia
I Inicializacion del interfaz (Bus master: CPU - Bus slave: Interfase )
I No. de bytes a transferirI Tipo de transferencia (lectura/escritura)I Otra informacion de control (pista, sector, etc.)
I Inicializacion del controlador DMA (Bus master: CPU - Bus slave:
DMAC)
I No. de bytes o palabras a transferirI Tipo de transferencia (lectura/escritura)I Direccion de memoria inicial para la transferenciaI No. de canal (para DMAs con varios canales)I Despues de la inicializacion la CPU retorna a sus tareas y ya
no se preocupa mas de la evolucion de la transferencia
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas de una transferencia DMA: Inicializacion
I Inicializacion de la transferencia
I La CPU debe enviar a la interfase del periferico y al DMAC losparametros de la transferencia
I Inicializacion del interfaz (Bus master: CPU - Bus slave: Interfase )
I No. de bytes a transferirI Tipo de transferencia (lectura/escritura)I Otra informacion de control (pista, sector, etc.)
I Inicializacion del controlador DMA (Bus master: CPU - Bus slave:
DMAC)
I No. de bytes o palabras a transferirI Tipo de transferencia (lectura/escritura)I Direccion de memoria inicial para la transferenciaI No. de canal (para DMAs con varios canales)I Despues de la inicializacion la CPU retorna a sus tareas y ya
no se preocupa mas de la evolucion de la transferencia
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas del DMA: Realizacion y finalizacion
I Realizacion de la transferencia
I Cuando el periferico esta listo para realizar la transferencia selo indica al DMAC
I El DMAC pide el control del bus y se realiza la transferenciaentre el periferico y la memoria
I Bus master: DMAC + Periferico - Bus slave: Memoria
I Despues de la transferencia de cada palabra se actualizan losregistros del DMA:
I No. de bytes o palabras a transferirI Direccion de memoria
I Finalizacion de la transferencia
I El DMAC libera el bus y devuelve el control a la CPUI El DMAC suele activar una senal de interrupcion para indicar a
la CPU la finalizacion de la operacion de E/S solicitada
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas del DMA: Realizacion y finalizacion
I Realizacion de la transferencia
I Cuando el periferico esta listo para realizar la transferencia selo indica al DMAC
I El DMAC pide el control del bus y se realiza la transferenciaentre el periferico y la memoria
I Bus master: DMAC + Periferico - Bus slave: MemoriaI Despues de la transferencia de cada palabra se actualizan los
registros del DMA:I No. de bytes o palabras a transferirI Direccion de memoria
I Finalizacion de la transferencia
I El DMAC libera el bus y devuelve el control a la CPUI El DMAC suele activar una senal de interrupcion para indicar a
la CPU la finalizacion de la operacion de E/S solicitada
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Etapas del DMA: Realizacion y finalizacion
I Realizacion de la transferencia
I Cuando el periferico esta listo para realizar la transferencia selo indica al DMAC
I El DMAC pide el control del bus y se realiza la transferenciaentre el periferico y la memoria
I Bus master: DMAC + Periferico - Bus slave: MemoriaI Despues de la transferencia de cada palabra se actualizan los
registros del DMA:I No. de bytes o palabras a transferirI Direccion de memoria
I Finalizacion de la transferencia
I El DMAC libera el bus y devuelve el control a la CPUI El DMAC suele activar una senal de interrupcion para indicar a
la CPU la finalizacion de la operacion de E/S solicitada
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cache
I La mayor parte del tiempo, la CPU lee instrucciones de la cache, por loque no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccion
I El DMAC puede aprovechar las fases de ejecucion de una instruccion enlas que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Consideraciones adicionalesI Puede degradar el rendimiento de la CPU si el DMAC hace uso intensivo del bus
I Si el bus esta ocupado en una transferencia DMA, la CPU no puede acceder amemoria para leer instrucciones y datos
I Este problema se reduce con el uso de memoria cacheI La mayor parte del tiempo, la CPU lee instrucciones de la cache, por lo
que no necesita usar el bus de memoria
I El DMAC puede aprovechar estos intervalos en los que la CPU
esta leyendo instrucciones de la cache para realizar las transferencias
I En caso de computadores sin cacheI El procesador no utiliza el bus en todas las fases de la ejecucion de una
instruccionI El DMAC puede aprovechar las fases de ejecucion de una instruccion en
las que la CPU no utiliza el bus para realizar sus transferencias (robo deciclo)
I Si el DMAC solo toma el control del bus durante los intervalos de tiempo
en los que la CPU no hace uso del mismo – el rendimiento del sistema no
sufrira degradacion alguna
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPU
I Cuando la CPU concede el bus al DMAC, se realiza la transferenciade una unica palabra y despues el DMAC libera el bus
I El DMAC vuelve a solicitar el control del bus tantas veces como seanecesario hasta haber finalizado la transferencia del bloque completo
I La CPU cede el control del bus mientras no hace uso del mismoI VENTAJA: No se degrada el rendimiento del sistemaI DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus al DMAC, se realiza la transferencia
de una unica palabra y despues el DMAC libera el bus
I El DMAC vuelve a solicitar el control del bus tantas veces como seanecesario hasta haber finalizado la transferencia del bloque completo
I La CPU cede el control del bus mientras no hace uso del mismoI VENTAJA: No se degrada el rendimiento del sistemaI DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus al DMAC, se realiza la transferencia
de una unica palabra y despues el DMAC libera el busI El DMAC vuelve a solicitar el control del bus tantas veces como sea
necesario hasta haber finalizado la transferencia del bloque completo
I La CPU cede el control del bus mientras no hace uso del mismoI VENTAJA: No se degrada el rendimiento del sistemaI DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus al DMAC, se realiza la transferencia
de una unica palabra y despues el DMAC libera el busI El DMAC vuelve a solicitar el control del bus tantas veces como sea
necesario hasta haber finalizado la transferencia del bloque completoI La CPU cede el control del bus mientras no hace uso del mismo
I VENTAJA: No se degrada el rendimiento del sistemaI DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus al DMAC, se realiza la transferencia
de una unica palabra y despues el DMAC libera el busI El DMAC vuelve a solicitar el control del bus tantas veces como sea
necesario hasta haber finalizado la transferencia del bloque completoI La CPU cede el control del bus mientras no hace uso del mismoI VENTAJA: No se degrada el rendimiento del sistema
I DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Modos de transferencia DMA
I Transferencia DMA modo rafaga (burst)
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus el DMAC no lo libera hasta haber
finalizado la transferencia de todo el bloque de datos completoI VENTAJA: La transferencia se realiza de forma rapidaI DESVENTAJA: Puede degradar el rendimiento del sistema
I Transferencia DMA modo robo de ciclo
I El DMAC solicita el control del bus a la CPUI Cuando la CPU concede el bus al DMAC, se realiza la transferencia
de una unica palabra y despues el DMAC libera el busI El DMAC vuelve a solicitar el control del bus tantas veces como sea
necesario hasta haber finalizado la transferencia del bloque completoI La CPU cede el control del bus mientras no hace uso del mismoI VENTAJA: No se degrada el rendimiento del sistemaI DESVENTAJA: La transferencia tarda mas tiempo en llevarse a
cabo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplos de Buses
IDE/Ultra ATA SCSI PCI PCI-X
Ancho de datos 16 bits 8 o 16 bits 32 o 64 bits 32 o 64 bitsClock hasta 100 MHz 10 MHz(Fast) 33 o 66 MHz 66, 100, 133 MHz
20 MHz (Ultra)40 MHz (Ultra2)80 MHz (Ultra3/160)160 MHz (Ultra4/320)
Bus masters Uno Multiples Multiples MultiplesAncho de banda 200 MB/s 320 MB/s 533 MB/s 1066 MB/sTipo de clock Asincronico Asincronico Sincronico SincronicoEstandar – ANSI X3.131 – –
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Dependibilidad
I Servicio: el comportamiento observable en un sistema.Idealmente es el comportamiento especificado en unaespecificacion de servicio. Un fallo ocurre cuando elcomportamiento real difiere del especificado. El fallo esprovocada por un error, un defecto en el sistema. El error escausado por un desperfecto.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo
I Un bit de la memoria siempre esta en 1. Esto constituye undesperfecto. Esto crea un error latente, porque no se haceefectivo hasta que se intenta escribir un 0 en ese bit.
I Si se intenta escribir un 0 en ese bit, el error se activa y seconvierte en efectivo.
I Si el bit es leıdo, el error provoca un fallo en el servicio.
Entonces, un usuario percibe un sistema que alterna entre dosestados de servicio brindado con respecto a la especificacion:
1. Prestacion del servicio: El servicio se presta segun laespecificacion.
2. Interrupcion del servicio: El servicio prestado no secorresponde con la especificacion.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad de modulosLas transiciones entre los estados de prestacion e interrupcion del servicioson causadas por fallos (del estado 1 al 2) o restauraciones. Cuantificarestas transiciones nos lleva a las dos principales mediciones dedependibilidad:
I Confiabilidad de modulos es una medida de la prestacion continuade un servicio; se utiliza como tiempo promedio hasta un fallo(MTTF). La interrupcion del servicio se mide como tiempopromedio hasta la restauracion (MTTR)
I Disponibilidad de modulos es una medida de la prestacion delservicio con respecto a la alternancia de los dos estados deprestacion e interrupcion. Para sistemas no redundantes conreparacion, la disponibilidad de modulos se cuantifica como
Disponibilidad de modulo =MTTF
MTTF + MTTR
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad de modulosLas transiciones entre los estados de prestacion e interrupcion del servicioson causadas por fallos (del estado 1 al 2) o restauraciones. Cuantificarestas transiciones nos lleva a las dos principales mediciones dedependibilidad:
I Confiabilidad de modulos es una medida de la prestacion continuade un servicio; se utiliza como tiempo promedio hasta un fallo(MTTF). La interrupcion del servicio se mide como tiempopromedio hasta la restauracion (MTTR)
I Disponibilidad de modulos es una medida de la prestacion delservicio con respecto a la alternancia de los dos estados deprestacion e interrupcion. Para sistemas no redundantes conreparacion, la disponibilidad de modulos se cuantifica como
Disponibilidad de modulo =MTTF
MTTF + MTTR
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad de modulosLas transiciones entre los estados de prestacion e interrupcion del servicioson causadas por fallos (del estado 1 al 2) o restauraciones. Cuantificarestas transiciones nos lleva a las dos principales mediciones dedependibilidad:
I Confiabilidad de modulos es una medida de la prestacion continuade un servicio; se utiliza como tiempo promedio hasta un fallo(MTTF). La interrupcion del servicio se mide como tiempopromedio hasta la restauracion (MTTR)
I Disponibilidad de modulos es una medida de la prestacion delservicio con respecto a la alternancia de los dos estados deprestacion e interrupcion. Para sistemas no redundantes conreparacion, la disponibilidad de modulos se cuantifica como
Disponibilidad de modulo =MTTF
MTTF + MTTR
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Mejorando la Confiabilidad
I Prevencion de fallos – Como evitar, por construccion, laocurrencia de fallos.
I Tolerancia a fallos – Como proveer, por redundancia, unservicio que cumpla con la especificacion a pesar de laocurrencia de fallos.
I Remocion de errores – Como minimizar, por verificacion, lapresencia de errores latentes.
I Pronostico de errores – Como estimar, por evaluacion, lapresencia, creacion y consecuencias de los errores.
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Ejemplo: RAID (Redundant Array of Inexpensive Disks)
Nivel Fallos Discos de Discos deRAID Tolerados datos (ej) control
0 Striped, no redundante 0 8 0
1 Mirrored 1 8 8
2 ECC como la memoria 1 8 4
3 Bit-interleaved parity 1 8 1
4 Block-interleaved parity 1 8 1
5 Block-interleaved 1 8 1distributed parity
6 Redundancia P+Q 2 8 2
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de HammingI Cuando se escribe un dato, se almacena tambien informacion
de paridadI Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)
I RAID 1: Mirroring o shadowingI Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de HammingI Cuando se escribe un dato, se almacena tambien informacion
de paridadI Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de HammingI Cuando se escribe un dato, se almacena tambien informacion
de paridadI Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copia
I Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1I RAID 2: Codigos de Hamming
I Cuando se escribe un dato, se almacena tambien informacionde paridad
I Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de HammingI Cuando se escribe un dato, se almacena tambien informacion
de paridadI Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de Hamming
I Cuando se escribe un dato, se almacena tambien informacionde paridad
I Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAIDI RAID 0: No es realmente RAID.
I Varios discos se ven como uno soloI Simplifica el manejo de almacenamientoI Mejora la performance para grandes transferencias (busca en
paralelo)I RAID 1: Mirroring o shadowing
I Cada disco tiene otro que lo copia exactamenteI Cuando se escribe en un disco, se escribe tambien en el otroI Cuando un disco falla, pasa a funcionar la copiaI Suele usarse junto con RAID 0: RAID 1+0, RAID 0+1
I RAID 2: Codigos de HammingI Cuando se escribe un dato, se almacena tambien informacion
de paridadI Al leer un dato. tambien se lee la paridad.I Si hay un error, se corrige automaticamenteI Caro y complejo =⇒ Nunca se uso
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad
I RAID 3: Bit-interleaved ParityI En vez de almacenar contenidos, se almacena informacion de
paridadI Cuando un disco falla, el valor original se puede recuperar con
la informacion de paridad y el contenido de los otros discos
I RAID 4 y 5: Block-interleaved Parity y Distributed BIPI Se almacena informacion de paridad como en RAID 3I La paridad esta organizada en bloques y no por bitsI Cuando se hace una escritura, RAID 3 lee todos los discos para
recalcular la paridad – es ineficienteI En este caso, se compara el valor antiguo del dato a escribir
con el nuevo valorI En RAID 4, la informacion de paridad esta en un solo disco –
hay un cuello de botella para la escrituraI En RAID 5, la informacion de paridad esta repartida entre
todos los discos
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad
I RAID 3: Bit-interleaved ParityI En vez de almacenar contenidos, se almacena informacion de
paridadI Cuando un disco falla, el valor original se puede recuperar con
la informacion de paridad y el contenido de los otros discos
I RAID 4 y 5: Block-interleaved Parity y Distributed BIPI Se almacena informacion de paridad como en RAID 3I La paridad esta organizada en bloques y no por bitsI Cuando se hace una escritura, RAID 3 lee todos los discos para
recalcular la paridad – es ineficienteI En este caso, se compara el valor antiguo del dato a escribir
con el nuevo valor
I En RAID 4, la informacion de paridad esta en un solo disco –hay un cuello de botella para la escritura
I En RAID 5, la informacion de paridad esta repartida entretodos los discos
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad
I RAID 3: Bit-interleaved ParityI En vez de almacenar contenidos, se almacena informacion de
paridadI Cuando un disco falla, el valor original se puede recuperar con
la informacion de paridad y el contenido de los otros discos
I RAID 4 y 5: Block-interleaved Parity y Distributed BIPI Se almacena informacion de paridad como en RAID 3I La paridad esta organizada en bloques y no por bitsI Cuando se hace una escritura, RAID 3 lee todos los discos para
recalcular la paridad – es ineficienteI En este caso, se compara el valor antiguo del dato a escribir
con el nuevo valorI En RAID 4, la informacion de paridad esta en un solo disco –
hay un cuello de botella para la escritura
I En RAID 5, la informacion de paridad esta repartida entretodos los discos
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Confiabilidad
I RAID 3: Bit-interleaved ParityI En vez de almacenar contenidos, se almacena informacion de
paridadI Cuando un disco falla, el valor original se puede recuperar con
la informacion de paridad y el contenido de los otros discos
I RAID 4 y 5: Block-interleaved Parity y Distributed BIPI Se almacena informacion de paridad como en RAID 3I La paridad esta organizada en bloques y no por bitsI Cuando se hace una escritura, RAID 3 lee todos los discos para
recalcular la paridad – es ineficienteI En este caso, se compara el valor antiguo del dato a escribir
con el nuevo valorI En RAID 4, la informacion de paridad esta en un solo disco –
hay un cuello de botella para la escrituraI En RAID 5, la informacion de paridad esta repartida entre
todos los discos
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAID 3 vs RAID 4 y 5 - Ejemplo
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
RAID 6: Redundancia P+Q
I Se agrega un bloque mas de control al esquema de RAID 5
I Esto permite corregir dos errores en vez de uno
I Pero requiere un disco mas de los que ya usa RAID 5
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Conclusiones de RAID
I La confiabilidad de un arreglo de N discos identicos es 1N la
confiabilidad de un disco
I Pero al tener redundancia, tener un disco que falla no significala interrupcion del servicio
I a menos que falle un segundo disco antes de que se puedacambiar el primero
I pero la probabilidad de que eso pase es ınfimaI y algunos sistemas tienen hot spares
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Conclusiones de RAID
I La confiabilidad de un arreglo de N discos identicos es 1N la
confiabilidad de un discoI Pero al tener redundancia, tener un disco que falla no significa
la interrupcion del servicio
I a menos que falle un segundo disco antes de que se puedacambiar el primero
I pero la probabilidad de que eso pase es ınfimaI y algunos sistemas tienen hot spares
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Conclusiones de RAID
I La confiabilidad de un arreglo de N discos identicos es 1N la
confiabilidad de un discoI Pero al tener redundancia, tener un disco que falla no significa
la interrupcion del servicioI a menos que falle un segundo disco antes de que se pueda
cambiar el primero
I pero la probabilidad de que eso pase es ınfimaI y algunos sistemas tienen hot spares
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Conclusiones de RAID
I La confiabilidad de un arreglo de N discos identicos es 1N la
confiabilidad de un discoI Pero al tener redundancia, tener un disco que falla no significa
la interrupcion del servicioI a menos que falle un segundo disco antes de que se pueda
cambiar el primeroI pero la probabilidad de que eso pase es ınfima
I y algunos sistemas tienen hot spares
66.20: Entrada/Salida Facultad de Ingenierıa - UBA
Conclusiones de RAID
I La confiabilidad de un arreglo de N discos identicos es 1N la
confiabilidad de un discoI Pero al tener redundancia, tener un disco que falla no significa
la interrupcion del servicioI a menos que falle un segundo disco antes de que se pueda
cambiar el primeroI pero la probabilidad de que eso pase es ınfimaI y algunos sistemas tienen hot spares
66.20: Entrada/Salida Facultad de Ingenierıa - UBA