Interrupciones
Existen tres tipos de interrupciones en el TMS320C6000: RESET, una
interrupción no enmascarable (NMI) y 12 interrupciones enmascarables (INT4-INT15).
Las fuentes de interrupción en algunos casos son externas (corresponden a pines de
entrada del procesador, como ocurre en RESET, NMI y algunas INT), están asociadas a
periféricos internos o se producen bajo control software. La interrupción RESET es la
de máxima prioridad, seguida por la NMI y las enmascarables, desde INT4 a INT15.
NMI se reserva generalmente para alertar a la CPU de problemas hardware importantes.
Las interrupciones enmascarables pueden activarse global o individualmente.
El tratamiento de interrupciones es vectorizado, y tras una interrupción la CPU
referencia la tabla de servicio de interrupciones (IST), donde se dispone de 32
posiciones para cada una de las interrupciones posibles, lo que permite que puedan
acomodarse hasta 8 instrucciones (ISFP: Interrupt Service Fetch Packet). En caso de
que la rutina de servicio necesite más instrucciones, se puede colocar una instrucción de
salto a dicha rutina localizada en otra posición de memoria, y que contendrá la
instrucción de retorno de interrupción.
La tabla está contenida en memoria de programa a partir de la dirección 000h,
correspondiente a la interrupción de RESET. No obstante, puede relocalizarse en otras
posiciones en determinados casos, por ejemplo para permitir disponer de los vectores de
interrupción en una memoria más rápida o para disponer de diferentes tablas de vectores
asociadas a diferentes tareas. Para ello, el procesador dispone de un registro puntero de
tabla de servicio de interrupciones (ISTP), cuyo contenido se determina por la
combinación de la dirección base de tabla de servicio de interrupciones (ISTB) y el
código correspondiente a la imterrupción de mayor prioridad (HPEINT: Highest
Priority Enabled Interrupt).
Otros registros asociados con la gestión de interrupciones son:
• Registro de activación de interrupción (IER: Interrupt Enable Register): cada bit
activa independientemente una fuente de interrupción.
• Registro de indicadores de interrupción (IFR: Interrupt Flag Register): cada bit
representa el reconocimiento de una interrupción válida. Puede leerse pero no
puede ser escrito por el usuario.
• Registro de escritura de interrupción (ISR: Interrupt Set Register) y registro de
borrado de interrupción (ICR: Interrupt Clear Register): permiten modificar el
registro IFR.
Las interrupciones seleccionadas pueden activarse o desactivarse globlalmente
mediante el indicador GIE (Global Interrupt Enable) del registro de control de estado
(CSR) del procesador.
Comentarios
Publicar un comentario