Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cuándo es necesario desactivar las interrupciones rápidas al manejar excepciones?

¿Cuándo es necesario desactivar las interrupciones rápidas al manejar excepciones?

Después de que ocurre una excepción, el núcleo ARM hará automáticamente lo siguiente: guardar el estado de ejecución: copiar el CPSR al SPSR en el modo de excepción: forzar que el bit del modo CPSR se establezca en el valor correspondiente al tipo de excepción; y el procesador ingresa al modo de ejecución ARM Deshabilite todas las interrupciones IRQ, deshabilite las interrupciones FIQ al ingresar al modo de interrupción rápida FIQ y guarde la dirección de retorno: guarde la dirección de la siguiente instrucción (programa de interrupción) en LR (LR_EXCEP en modo de excepción). Salte a la tabla de vectores de excepción: establezca a la fuerza el valor de la PC en la dirección del vector de excepción correspondiente y salte al controlador de excepciones. El estado actual de ejecución del programa se guarda en el CPSR. Cuando ocurre una excepción, el estado de ejecución actual del CPSR debe guardarse en el SPSR en modo de excepción. Cuando regrese una excepción en el futuro, se restaurará en el CPSR para restaurar el estado de ejecución. Cuando el hardware determina automáticamente que arm7 es una tubería de tres etapas, cuando ocurre una excepción, el núcleo del brazo copia el contenido del registro CPSR en el registro SPSR_, establece el bit CPSR apropiado al mismo tiempo y cambia el estado del procesador al Estado ARM y modo de procesador, y luego ingresa al patrón anormal correspondiente. Después de configurar el bit de desactivación de interrupciones para desactivar la interrupción correspondiente (si es necesario), el núcleo ARM guarda y regresa.

Como un pequeño cabrón, ¡estaré encantado de responder a tus preguntas! Los programas Java dejarán de ejecutarse debido a errores y las excepciones están diseñadas para reducir este tipo de cosas. Tanto las declaraciones del programa (debido a sus problemas personales) como el contenido del programa (es decir, lo que no puede evitar) pueden causar errores. Básicamente, lo primero se denomina error y lo segundo se denomina excepción. El llamado lanzamiento significa lanzar fuera de la subclase (en el caso de anidamiento), y se utilizará la cláusula try () catch () para el procesamiento. Muchos métodos de clase deben generar excepciones (no es su problema), como muchos fluidos deben generar IOException. Siempre que tenga una comprensión general, recuerde que después de escribir el método, se escribe el lanzamiento y, en la declaración independiente, se escribe el lanzamiento.