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

Entradas populares de este blog

Teorema de Muestreo

Conclusión

Controlador PID