Pregunta

Tal vez la pregunta debería ser, son interrupciones externas ¿incluso están vectorizadas en el PowerPC? He estado buscando en http://www.ibm. com / developerworks / eserver / library / es-archguide-v2.html , 'libro 3', tratando de descubrir cómo el procesador ubica la rutina de servicio de interrupción adecuada en respuesta a una interrupción externa. Parece sugerir que cuando el PPC reconoce una interrupción externa, simplemente salta la ejecución a 0x0000_0500.

Puedo estar trabajando bajo un concepto erróneo acerca de cómo funciona el PPC. Con x86, el procesador responde a las solicitudes de interrupción con un ciclo de reconocimiento de interrupción y obtiene un 'vector' directamente desde el dispositivo. El vector (realmente un índice) permite a la CPU elegir una rutina de manejador adecuada de su tabla de vectores de interrupción. Lo más importante es que este reconocimiento / recuperación de vectores es una cuestión de hardware, de protocolo de bus, nadie tiene que escribir ningún código para que esto ocurra. El único código que necesita escritura (lectura, software) es el propio ISR.

Hace el PPC hace algo similar? ¿Habría una tabla de vectores a 0x500? ¿O hace algo radicalmente diferente y descarga la funcionalidad de llevar el vector del dispositivo a un controlador de interrupción externo? Supongo que podría simplemente saltar al código en 0x500, donde el software real luego interrogaría al controlador de interrupción (¿hipotético?) Para obtener el vector ... y luego usarlo en una tabla de salto / what-have -tú, pero no puedo encontrar documentación para verificar que este es el caso, de una manera u otra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top