Modos de controlar I/O
Hay tres modos:
Control por programa
Un programa ejecutándose en la CPU tiene acceso al dispositivo
Le pregunta al controlador del dispositivo si está disponible
La CPU espera hasta que recibe respuesta de que está preparado (espera activa)
Control por IRQ
El controlador del dispositivo se encarga de avisar a la CPU cuándo está disponible
Manda una señal que 'obliga' a la CPU a dejar lo que estaba haciendo (en cuanto pueda) y prestar atención
Esas señales se llaman interrupciones hardware
Son asíncronas (las interrupciones software y las excepciones son síncronas)
Operaciones a hacer
cambiar de modo usuario a modo supervisor
guardar en memoria los valores de los registros del procesador asociados al programa que se estaba ejecutando
identificar la fuente de la interrupción
ejecutar la rutina de servicio de la interrupción
cargar en los registros del procesador los valores almacenados anteriormente para poder continuarlo
Control por DMA
Interacción directa entre el dispositivo y la memoria
La CPU es 'puenteada' para no darle trabajo. Solo interviene al principio y al final del proceso
Hay un hardware que la ayuda, el controlador DMA
Al terminar el proceso, el controlador DMA genera una interrupción para ser atendido
Aunque libera a la CPU, compite con ella por el bus de datos. Hay distintas estrategias DMA para coordinar el controlador y la CPU su uso
Por procesador auxiliar para hacer canales I/O
Última actualización