Excepciones, interrupciones y exception stack frame en microprocesadores
Resumen
El documento explica cómo el microprocesador procesa excepciones e interrupciones mediante la tabla de vectores, el registro de estado y la máscara de prioridad. Recoge también las instrucciones ilegales, las excepciones de traza y el formato del exception stack frame, incluido su papel en la instrucción RTE. Está pensado para entender el flujo de atención a excepciones en arquitecturas de microprocesadores.
Puntos clave
- La interrupción solo se atiende si su nivel es estrictamente superior al de la máscara del SR; la excepción de nivel 7 siempre se atiende.
- Tras un RESET la máscara de interrupciones se establece en nivel 7.
- Solo los códigos $0000 y $4AFC se procesan como instrucciones ilegales.
- La excepción de traza requiere el bit T del SR a 1 y un VBR configurado, con la tabla de vectores en $100000.
- El exception stack frame guarda la dirección de retorno y el SR del programa interrumpido.
- Los valores válidos del campo Format son 4, 5, 6 y 7; otro valor provoca una excepción de error de formato.
Procesamiento de Excepciones y Vectores
Lectura de 8 bytes > RESET (puntero de pila y contador de programa) | Tabla > Binario > +2 ceros > Hexadecimal ¡VBR! (VBR + %XX). Si desde un JSR, la subrutina acaba con RTE, se produce una violación de privilegio.
Máscara de Interrupciones
Son 3 bits del SR (Status Register) que indican la prioridad del programa actual. Cuando se solicita una interrupción, dicha solicitud tiene asociado un nivel de prioridad:
- La interrupción solo es atendida si su nivel es estrictamente superior al de la máscara.
- La excepción es la petición de nivel 7, que siempre es atendida.
- En el arranque (excepción de RESET), la máscara se establece en nivel 7.
- Durante el procesamiento de una excepción, la máscara se actualiza al nivel de la interrupción que está siendo atendida.
Instrucciones Ilegales y Excepciones de Traza
Instrucción ilegal
No todos los códigos binarios sin un código máquina asociado se consideran instrucciones ilegales. Solo dos de estos códigos se procesan como tal: $0000 y $4AFC.
Excepción de traza
Para que se produzca, es necesario cambiar el bit T del SR a 1. Para que se procese, se debe configurar el valor del VBR, estableciendo como inicio de la tabla de vectores de excepción la dirección $100000.
Exception Stack Frame
Funciones principales
El exception stack frame cumple dos funciones críticas:
- Almacenar la dirección de retorno.
- Almacenar el SR del programa interrumpido para restaurar el estado original tras la ejecución de la instrucción RTE.
Formato y optimización
El microprocesador (μP) optimiza el acceso al exception stack frame ubicándolo en una dirección de memoria múltiplo de 4:
- Al producirse la excepción, el μP anota los 2 bits de menos peso de A7 y los pone a 0, creando un hueco en la pila.
- Estos bits se guardan en el campo Format del exception stack frame.
- Al ejecutar RTE, el μP utiliza estos bits para reponer el valor original de A7.
- Los valores válidos de Format son 4, 5, 6 y 7. Si el μP encuentra otro valor, procesará una excepción de error de formato.
Modificación de la máscara
Para que, al retornar al programa principal tras la instrucción RTE, se atiendan interrupciones de nivel 6 y superiores, es necesario modificar directamente la copia del SR almacenada en la pila. Los bits a alterar se encuentran en las posiciones de memoria correspondientes a la máscara de interrupción en (A7), específicamente en los bits 10, 9 y 8 del SR.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Qué nivel tiene que tener una interrupción para ser atendida?
Su nivel debe ser estrictamente superior al de la máscara de interrupciones del SR. La excepción de nivel 7 es la única que siempre se atiende.
¿Qué valores puede tomar el campo Format del exception stack frame?
Los valores válidos son 4, 5, 6 y 7. Si el microprocesador encuentra otro valor, procesa una excepción de error de formato.
¿Qué instrucciones se consideran ilegales?
Solo los códigos binarios $0000 y $4AFC se procesan como instrucciones ilegales, aunque otros códigos sin código máquina asociado no lo sean.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.