Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano...

50
Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004 Profesora Borensztejn

Transcript of Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano...

Page 1: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Organización del Computador I Verano

Programación de Operaciones de Entrada/Salida

Verano 2004 Profesora Borensztejn

Page 2: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Elementos de un Computador tipo von Neumann

• Dispositivos de E/S: permiten la comunicación entre el computador y el mundo exterior

• Ejemplos de periféricos:– Representación de datos: pantalla, impresora

– Adquisición de datos: teclado, sensores

– Almacén de información: discos, CDRom, DVD

– Modificación del entorno: motores, luces, válvulas

Page 3: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Controladores

• El controlador de períféricos es un circuito que actúa de intermediario entre el procesador y el periférico. Para realizar operaciones de E/S el procesador se comunica directamente con el controlador.

Procesador

Controlador de teclado

Controlador de disco

Disk

teclado

Conexión procesador-controlador

Conexión controlador-periférico

Page 4: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Controladores

• Ventajas del uso de controladores:– Facilidad de Interconexión: Todos los controladores se

conectan de forma similar al procesador. Habitualmente, el periférico viene dotado de su propio controlador, y por lo tanto, no es necesario realizar la conexión controlador-periférico

– Facilidad de programación de operaciones de E/S: Los pasos a realizar para programar cualquier tipo de operación de E/S son muy parecidos (sea cual sea el tipo de dispositivo)

Procesador PeriféricoInterfaz con procesador

Interfaz con periférico

Page 5: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Controladores• Registros del Controlador:

– El procesador se comunica con el controlador a través de un conjunto de registros que se encuentran físicamente en el controlador. El procesador puede leer y escribir esos registros.

Registro de Estado

Interfaz con procesador

Registro de Control

Registro de Datos

Page 6: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Registros del Controlador

Registro de Estado

Interfaz con procesador

Registro de Control

Registro de Datos

Tipos de registros:

• Registro de Estado: Contiene una serie de bits que el hardware del controlador se encarga de activar para indicar la situación en la que se encuentra el periférico (el usuario ha pulsado una tecla, hay un nuevo dato en el buffer de recepción de la línea serie, etc)

• Registro de Control: Contiene una serie de bits que deben activarse por programa para indicar como debe funcionar el periférico (lectura/escritura de un sector del disco, interrupción , etc)

• Registro de Datos: Contiene los datos involucrados en la operación de E/S (el carácter pulsado, el byte recibido, el sector leído, etc)

Page 7: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Programación del Controlador

• Cualquier operación de E/S no es más que una serie de lecturas y escrituras de los registros del controlador

• Secuencia típica de operaciones para transferir información del periférico (por ejemplo, del disco) a memoria:– Leer el registro de estado para determinar si el dispositivo

está listo– Escribir en el registro de control para indicar al controlador

el tipo de operación a realizar (lectura de un sector)– Leer uno a uno los datos que el controlador va a colocar en

el registro de datos y transferirlos a memoria.

Page 8: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Acceso a los registros del controlador

• Los registros del controlador deben poder ser leídos y/o escritos por el procesador

• Existen dos técnicas de conexión del controlador al sistema computador para que los registros puedan ser leídos o escritos:– Registros Mapeados en Memoria– Registros No Mapeados en memoria (espacio de

direcciones independiente de E/S)

• La decisión de mapeo la realiza el diseñador del procesador.

Page 9: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Registros Mapeados en Memoria

• Las direcciones de los registros pertenecen al espacio lógico de direcciones de memoria.

• Las direcciones de los registros deben estar asignadas de tal forma que no correspondan a direcciones de memoria principal.

• Se leen y escriben de la misma forma que la memoria principal

00000000

FFFFFFFF

E/S

DRAM

Page 10: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Registros Mapeados en Memoria• Ejemplo:

– Supongamos que los registros del controlador de la unidad de disco flexible está asignado a la dirección de memoria 0xFFFF1000, cuyo valor está cargado en el registro base $2. Supongamos que el registro de datos está en el offset 0 respecto a la dirección base:

– La instrucción

Lb $4, 0($2)

Transfiere un byte desde el registro del controlador al registro del procesador

• Ventaja:

– Puede utilizarse cualquier instrucción y cualquier modo de direccionamiento para acceder a los registros del controlador

• Desventaja:

– Una parte del espacio lógico direccionable por el procesador debe asignarse a los registros del controlador

Page 11: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Registros No Mapeados en Memoria

• Los registros están mapeados en un espacio totalmente independiente del espacio lógico.

• Existen instrucciones de lenguaje máquina para leer y escribir en una posición determinada del espacio de E/S (In/Out)

00000000

FFFFFFFF

E/S

DRAMFFFF

0000

Page 12: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Registros No Mapeados en Memoria

• Ejemplo:– Supongamos que los registros del controlador de la unidad de disco

flexible está asignados a la dirección del espacio de E/S 0x1000, cuyo valor está cargado en el registro base $2. Supongamos que el registro de datos está en el offset 0 respecto a la dirección base:

– La instrucción IN $4, 0($2)Transfiere un byte desde el registro del controlador al registro del

procesador– La instrucción

OUT $4, 0($2)Transfiere un byte desde el registro del procesador al registro del

controlador• Ventaja:

– Los espacios son diferentes, fácil de implementar protección.• Desventaja:

– Se necesitan instrucciones especiales.

Page 13: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Sincronización en las operaciones de E/S

• Problema de la sincronización en las operaciones de entrada/salida– El procesador y los controladores son circuitos que

cooperan de manera asíncrona. Es necesario establecer algún mecanismo que permita a estos dispositivos sincronizarse para la realización de una dterminada operación

• Técnicas para resolver el problema de la sincronización:– Sincronización por consulta (pooling)– Sincronización por interrupción

Page 14: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Sincronización por consulta• El procesador toma la iniciativa para determinar el estado en

el que se encuentra el periférico. Para ello consulta periódicamente el registro del estado del controlador

• Típicamente las operaciones que realiza el procesador para sincronizarse con el controlador son las siguientes:

Repetir

Leer registro de estado

Hasta que (dispositivo preparado)

Acciones propias de la operación de E/S

• Ventajas: Es fácil de implementar, no requiere soporte hardware

• Desventajas: Mientras el dispositivo no está preparado, el procesador no hace ningún trabajo útil.

Page 15: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Sincronización por interrupción

• El periférico toma la iniciativa de indicar al procesador en que momento está preparado. Para ello, existe un mecanismo, denominado Interrupción, que permite al controlador forzar al procesador a que abandone el programa que está ejecutando y pase a ejecutar una serie de instrucciones de atención al dispositivo periférico (rutina de atención a la interrupción). Al terminar la rutina, el procesador continúa la ejecución del programa interrumpido.

Programa Rutina de atención

interrupción

Page 16: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Sincronización por interrupción

• Ventajas:– El procesador puede realizar otras operaciones útiles

hasta que sea interrumpido por el periférico

• Inconvenientes:– Requiere soporte hardware

• Comentario:– Todos los procesadores disponen de un mecanismo de

interrupciones. Es decisión del programador utilizar, en cada caso, consulta o interrupción

Page 17: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Interrupciones

• Secuencia de acontecimientos durante la atención a una interrupción:

a) Solicitud de interrupción por parte del controlador

b) Detección de la petición de interrupción por parte del procesador

c) Salvar el estado del programa interrumpido

d) Identificación del dispositivo que ha interrumpido

e) Ejecución de la rutina de atención correspondiente

f) Retorno al programa interrumpido

Page 18: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(a) Solicitud de interrupción

• El controlador realiza una petición de interrupción cada vez que requiere atención del procesador:– Por ejemplo: se ha pulsado una tecla

• La petición de interrupción se realiza activando una señal eléctrica conectada a una entrada del procesador

Page 19: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(b) Detección de la petición de interrupción

• La señal de petición de interrupción es muestreada por el procesador periódicamente (habitualmente cada vez que acaba la ejecución de una instrucción).

• Existen varias formas de impedir que el procesador sea interrumpido:

a) En la palabra de estado del procesador existe un bit denominado : bit de inhibición de interrupciones (IF). Las interrupciones no serán atendidas por el procesador mientras este bit esté activo. Existen instrucciones para setear (poner a cero) el bit.

b) El procesador puede tener varias líneas de interrupción. En este caso, además de IF, la palabra de estado tendrá un conjunto de bits de inhibición selectiva de las diferentes señales de interrupción. Este conjunto de bits se denomina máscara.

Page 20: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(b) Detección de la petición de interrupción

c) El procesador puede indicar directamente al controlador que no interrumpa, activando un determinado bit en el registro de control del controlador

d) Habitualmente, el procesador tiene señales de interrupción no enmascarables.

– Puede existir un mecanismo de interrupciones multinivel: existen diferentes tipos de interrupciones organizadas en niveles de prioridad. Cuando el procesador atiende una interrupción de un nivel determinado, ignora las peticiones de niveles inferiores

Page 21: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(c) Salvar el estado del programa interrumpido

• Es necesario que el programa interrumpido pueda reanudarse como si nada hubiera pasado.

• Las operaciones de salvar el contexto pueden realizarse en parte en hardware y en parte en software.

• Las operaciones que deben realizarse por hardware son, como mínimo:– Salvar el PC– Bloquear la petición de interrupción (para que no vuelva a interrumpir):

• Desactivar la señal eléctrica de petición o• Activar el bit de inhibición de interrupciones y salvar la palabra de

estado

• Las operaciones que habitualmente se realizan por software son:– Salvar los registros utilizados en la rutina de atención– Provocar la desactivación de la señal de petición de interrupción.

Page 22: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(d) Identificación del dispositivo que ha interrumpido

• Cuando varios dispositivos pueden interrumpir por la misma línea de petición de interrupción se plantea el problema de determinar cuál es el periférico que ha originado la petición.

• La identificación puede realizarse– Por software– Por hardware

Page 23: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(d) Identificación del dispositivo que ha interrumpido

• Identificación por software:– La rutina de atención lo primero que hace es identificar

el dispositivo que interrumpió.– Para ello, debe leer los registros de estado de los

diferentes controladores.– El orden en que se consulten estos registros determina

la prioridad entre los dispositivos (en el caso de que varios soliciten interrupción simultáneamente)

– Ventajas: es barata porque no necesita soporte hardware

– Desventajas: La identificación es lenta

Page 24: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(d) Identificación del dispositivo que ha interrumpido

• Identificación por hardware:– Es el propio periférico (o un dispositivo externo

especializado) el que se identifica. Existen dos alternativas:

a) El procesador tiene varias señales de petición de interrupción. Cada controlador interrumpe por una línea diferente

b) Existe una sola línea de petición de interrupción. El controlador, además de interrumpir, envía al procesador una información que es utilizada por éste para determinar la dirección de la rutina de atención al dispositivo.

Page 25: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(d) Identificación del dispositivo que ha interrumpido

• Habitualmente, la información que envía el dispositivo es un número (vector de interrupción) que el procesador utiliza para indexar una Tabla (Tabla de Vectores de Interrupción) que contiene la dirección de las rutinas de atención de los diferentes dispositivos.

• El programador (o sistema operativo) debe encargarse de inicializar la tabla con las direcciones de las rutinas de atención requeridas por su aplicación.

• Ventajas: la identificación es rápida• Inconveniente: Requiere un cierto soporte hardware

Page 26: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(e) Ejecución de la rutina de atención

• Las operaciones realizadas en la rutina de atención dependen del tipo de dispositivo y del tipo de servicio requerido.

• Al comienzo de la rutina deben salvarse los registros que se usaran, y restaurarlos al final

Page 27: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(f) Desactivación de la señal de petición

• Es necesario desactivar la señal de petición para evitar que el dispositivo siga pidiendo atención cuando ya está siendo servido

• La manera de hacerlo depende del dispositivo. Podría ser, por ejemplo, leyendo el registro de estado, o el de datos, o bien escribiendo un bit en el de control (o bien, lo que el manual del dispositivo diga)

Page 28: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

(g) Retorno al programa interrumpido

• La última instrucción de la rutina de atención es una instrucción especial de retorno de interrupción.

Page 29: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Interrupciones Multinivel• Muchos procesadores permiten que una rutina de atención a

una interrupción pueda ser interrumpida por otro dispositivo que requiere atención prioritaria.

• En estos casos, existe un orden de prioridad entre los distintos dispositivos. El procesador, o un circuito externo especializado, se encarga de determinar cuando una petición de interrupción es mas prioritaria que la que se está atendiendo.

• Para permitir interrupciones multinivel, no se deben desabilitar las interrupciones globales dentro de las rutinas de servicio.

Page 30: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia de Información en las operaciones de E/S

• ¿Quien realiza la transferencia de datos desde los registros del controlador a la memoria?

• Dos alternativas:– Transferencia por programa– Transferencia por acceso directo a memoria

• El problema de la transferencia es ortogonal al de la sincronización: para cualquiera de las alternativas de transferencia puede aplicarse cualquiera de las alternativas de sincronización

Page 31: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por programa

• El procesador se encarga de realizar la transferencia de la información, leyendo y/o escribiendo los registros del controlador

• Ventaja: fácil de implementar, no requiere soporte hardware

• Inconveniente: La transferencia es lenta ya que para mover cada dato deben ejecutarse una serie de instrucciones de lenguaje máquina

Page 32: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por acceso directo a memoria

• El propio controlador deposita/toma los datos en/la memoria.• Es necesario indicarle previamente a partir de que posición de

memoria debe leer/escribir los datos, y cuantos datos están involucrados en la operación. Para ello, el controlador dispone de dos nuevos registros:– Registro de Dirección: dirección de memoria involucrada

en la transferencia– Registro de Longitud: Número de datos involucrados en la

transferencia• Estos registros deben ser inicializados por el procesador en el

momento de la programación de la operación de E/S

Page 33: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por acceso directo a memoria

• Ventaja: La transferencia es rápida. Además el procesador puede realizar otras tareas mientras se realiza la transferencia

• Inconveniente: requiere soporte hardware• La técnica de DMA es conveniente cuando la

información a transferir está organizada en forma de bloque que ocupa posiciones consecutivas de memoria. Además, DMA es imprescindible cuando el dispositivo es rápido

Page 34: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Esquemas básicos para la programación de operaciones de

E/S• Transferencia por programa, sincronización

por consulta

• Transferencia por programa, sincronización por interrupción

• Transferencia por DMA, sincronización por interrupción

Page 35: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por programa, sincronización por consulta

• El programa que requiere la operación de E/S (programa principal) realiza la programación del controlador y la transferencia de los datos

• Lectura de un sector de disco sobre memoria– Los registros del controlador de disco son:

• Sector, pista, control, dato y estado

– El sector se identifica mediante num_pista y num_sector

– El sector debe leerse sobre el vector sec.– El número de bytes del sector es tamsec.

Page 36: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por programa, sincronización por consulta

Programa Principal

pistanum_pistaSectornum_sectorControllecturapara i=1 hasta tamsec hacer

repetirestadovar

hasta que (var==preparado)dato->sec[i]

fparaProcesar información en sec[1..tamsec]

Page 37: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por programa, sincronización por interrupción• El programa principal se encarga de la programación del periférico.

La transferencia de datos se realiza desde la rutina de tratamiento de las interrupciones del controlador.

• Lectura de un sector de disco sobre memoria• El controlador de disco interrumpe cada vez que tiene disponible un

byte del sector en el registro de datos.• Se supone que la identificación de la interrupción es por hardware.• Las escrituras sobre los registros pista y sector informan al

controlador sobre lo que hay que hacer. La escritura sobre el registro control también informa, pero además da la orden de inicio de operación. Por ello, esta escritura debe realizarse cuando toda la información ha sido escrita en los registros del controlador.

Page 38: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por programa, sincronización por interrupción

Programa Principali=0fin=falsopistanum_pistasectornum_sectorcontrollectura......................Otras operaciones que no requieren el sector del disco..............................mientras no fin hacerfmientrasProcesar información en sec[1..tamsec]

Rutina de Atenciónsalvar registrosi=i+1dato->sec[i]si i==tamsecentonces fin=ciertofsirestaurar registrosIRET

Page 39: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por DMA, sincronización por interrupción

• Las funciones de DMA las realiza el controlador del disco, que dispone de los siguientes registros adicionales (respecto al esquema anterior): dirección y longitud.

• Se supone una identificación hardware del motivo de la interrupción

• El controlador interrumpe cuando finaliza la lectura/escritura del sector.

Page 40: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Transferencia por DMA, sincronización por interrupción

Programa Principalfin=falsodireccióndir(sec)longitudtamsecpistanum_pistasectornum_sectorcontrollectura......................Otras operaciones que no requieren el sector del disco..............................mientras no fin hacerfmientrasProcesar información en sec[1..tamsec]

Rutina de Atenciónsalvar registrosfin=ciertorestaurar registrosIRET

Page 41: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Consulta o Interrupción?

• Supongamos que el número de ciclos que requiere una operación de consulta es de 400 ciclos (salto a una rutina de encuesta, acceso al dispositivo, retorno al programa de usuario), y que el procesador trabaja a 500 Mhz.

• Determinar la proporción de tiempo de CPU consumida para los tres casos siguientes suponiendo que la consulta se puede realizar sin que se pierda ningún dato:

1. El ratón debe ser encuestado 30 veces por segundo para asegurar que no se pierda ningún movimiento del usuario

2. El disco flexible transfiere datos al procesador en unidades de 16 bits, a una velocidad de 50 Kbytes por segundo. No debe perderse ningún dato

3. El disco rígido transfiere datos en bloques de 4 palabras y puede transferir a una velocidad de 4Mbytes por seg.

Page 42: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Consulta o Interrupción?

1. El ratón debe ser encuestado 30 veces por segundo para asegurar que no se pierda ningún movimiento del usuario

Ciclos por encuesta=400Ciclos por segundo para encuesta= 30*400=12000 ciclos/seg

Proporción de ciclos del procesador =consumidos en la encuesta

%002,010*500

10*126

3

Page 43: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Consulta o Interrupción?

2. El disco flexible transfiere datos al procesador en unidades de 16 bits, a una velocidad de 50 Kbytes por segundo.

segundopor encuestas 252

50

K

encuesta

bytesseg

KB

Ciclos por encuesta=400Ciclos por segundo para encuesta= 25 K * 400 ciclos/seg

= 10000*1024=10000*1000

%210*500

10*106

6

Page 44: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Consulta o Interrupción?

3. El disco rígido transfiere datos en bloques de 4 palabras y puede transferir a una velocidad de 4Mbytes por seg.

segundopor encuestas 25016

4

K

encuesta

bytesseg

MB

Ciclos por encuesta=400Ciclos por segundo para encuesta= 250 K * 400 ciclos/seg

= 100000*1024=100000*1000

%2010*500

10*1006

6

Page 45: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Y por interrupciones?– El disco rígido transfiere datos en bloques de 4 palabras y puede

transferir a una velocidad de 4Mbytes por seg. Supongamos que la sobrecarga por interrupciones es de 500 ciclos

Ciclos por interrupción=400Ciclos por segundo = 250 K * 500 ciclos/seg

= 125*106 ciclos por segundo

%2510*500

10*1256

6

– La mayor ventaja del soporte de interrupciones frente a la encuesta es la ausencia de sobrecarga cuando el dispositivo NO está transmitiendo.

Page 46: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Y por DMA?El disco rígido puede transferir a una velocidad de 4Mbytes por seg. El tamaño medio de las transferencias es de 8Kbytes. Supongamos que la inicialización de una transferencia por DMA requiere 1000 ciclos de procesador, y que el tratamiento de la interrupción, al finalizar la transferencia de DMA requiere 500 ciclos. El procesador trabaja a 500 Mhz.

¿Cual es la proporción de tiempo de CPU consumida si el disco está transfiriendo el 100% del tiempo?

segundos

segundo

MBKB 310*2

4

8ncia transferecada de tiempo

segundo

ciclos

transf

segundostransf

ciclos

3

310*750

10*2

5001000

CPU de ciclos

Page 47: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

¿Y por DMA?

segundos

segundo

MBKB 310*2

4

8ncia transferecada de tiempo

segundo

ciclos

transf

segundostransf

ciclos

3

310*750

10*2

5001000

CPU de ciclos

%2,010*500

10*750

consumida CPU de proporción6

3

segundo

ciclossegundo

ciclos

Page 48: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

Organización del Computador I Verano

Rendimiento (2 de 3) Basado en el capítulo 2 del libro de Patterson y Hennessy

Verano 2004 Profesora Borensztejn

Page 49: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.

FIN!!!!!!!Última clase!

Page 50: Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Verano 2004Profesora Borensztejn.