Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La...

113
Entrada/Salida 66.20 Organizaci´ on de Computadoras 30/11/06

Transcript of Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La...

Page 1: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Entrada/Salida

66.20

Organizacion de Computadoras

30/11/06

Page 2: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 3: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 4: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 5: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 6: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 7: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 8: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Velocidades tıpicas E/S

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 9: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 10: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Diagrama en bloques de un modulo E/S

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 11: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 12: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 13: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 14: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 15: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 16: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 17: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 18: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 19: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 20: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 21: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Organizacion tıpica de conexion de buses

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 22: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Diagramas de tiempos – Lectura

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 23: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Diagramas de tiempos – Buses asincronicos

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 24: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

Diagramas de tiempos – Transacciones divididas

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 25: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 26: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 27: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 28: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 29: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 30: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 31: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 32: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 33: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 34: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 35: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 36: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 37: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 38: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 39: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 40: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 41: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 42: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 43: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 44: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 45: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 46: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 47: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 48: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 49: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 50: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 51: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 52: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 53: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 54: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 55: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 56: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 57: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 58: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 59: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 60: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 61: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 62: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 63: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 64: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 65: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 66: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 67: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 68: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 69: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 70: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 71: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 72: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 73: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 74: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 75: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 76: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 77: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 78: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 79: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 80: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 81: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 82: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 83: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 84: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 85: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 86: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 87: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 88: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 89: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 90: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 91: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 92: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 93: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 94: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 95: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 96: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 97: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 98: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 99: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 100: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 101: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 102: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 103: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 104: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 105: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 106: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 107: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

RAID 3 vs RAID 4 y 5 - Ejemplo

66.20: Entrada/Salida Facultad de Ingenierıa - UBA

Page 108: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 109: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 110: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 111: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 112: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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

Page 113: Entrada/Salidamaterias.fi.uba.ar/6620/clases/Entrada_Salida.pdf · Comandos de entrada/salida I La CPU coloca una direcci´on para identificar m´odulo/dispositivo I La CPU coloca

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