– se guarda el estado del procesador antes de la interrupción
– se carga el estado del manejador de interrupción
– cuando se completa el manejador, se restaura el estado anterior
Soporte de hardware
– básico:
– parcial: PC y PSW (registro de estado)
– completo: todo el contexto
Las interrupciones de un dispositivo pueden estar
permitidas (enabled) o inhibidas (disabled)
– mediante indicadores (flags) en registros de estado
– mediante una máscara (mask), con un bit por dispositivo
– mediante un nivel de prioridad de hardware
» cada dispositivo tiene un nivel asociado
» si el nivel del procesador es mayor o igual que el de un dispositivo, no
se aceptan interrupciones de éste
Control de prioridad
– a veces se asocia una prioridad a cada fuente de interrupciones
– la prioridad indica la urgencia relativa de la interrupción
– puede ser estática o dinámica
– normalmente está relacionada con los niveles de prioridad del
– Registros de control y estado (CSR), que contienen información
sobre el dispositivo y el control de interrupciones
– Registros de datos (DBR), que contienen los datos que se
transmiten al dispositivo o desde él
Un mismo dispositivo puede tener varios CSR o DBR
Cuando se produce una interrupción, se guarda el estado
(PC y PSW) en la pila, y se carga el nuevo estado del
vector de interrupción correspondiente
– Las interrupciones y el procesador tienen asociada una prioridad
– Una interrupción puede desalojar a un manejador con prioridad
más baja
25/02/2009
Programación de bajo nivel
10
Estructura de los registros
CSR
15
12
14
13
errors
11
B
10
8
9
unit
7
6
R I
2
4
3
5
1
reserved function
0
E
B device busy
R device ready / done
I
E device enable
Modelo abstracto de dispositivos: tareas en hardware
Las tareas que usan el dispositivo se tienen que
comunicar y sincronizar con las tareas de hardware
– acceso a registros de hardware
– sincronización con interrupciones
Manejador: subsistema que controla el acceso al
dispositivo
– objeto protegido: abstracción de comunicación y sincronización
– registros como variables en memoria
– interrupciones asociadas a procedimientos protegidos
Comentarios de: Programación de bajo nivel (0)
No hay comentarios