Pergunta

Talvez a pergunta deveria ser, são interrupções externas, mesmo vectored na PowerPC em tudo? Eu estive olhando http://www.ibm. com / developerworks / eserver / biblioteca / es-archguide-v2.html , 'livro 3', tentando descobrir como o processador localiza a rotina serviço interrupção apropriada em resposta a uma interrupção externa. Parece sugerir que quando o PPC reconhece uma interrupção externa, ele só salta de execução para 0x0000_0500.

Eu posso estar trabalhando sob um equívoco sobre como o PPC funciona. Com x86, os processadores responde a pedidos de interrupção com um ciclo de interrupção reconheça, e obtém um 'vetor' diretamente do dispositivo. O vector (realmente um índice) permite, em seguida, a CPU para escolher uma rotina de tratamento adequado da sua tabela de vetor de interrupção. Mais importante, este Reconhecer / vetor buscar é um hardware, coisa bus-protocolo, ninguém tem que escrever qualquer código para fazer isso acontecer. O único código que precisa escrever (ler, software) são os próprios ISRs.

O o PPC fazer algo semelhante? Haveria uma tabela de vetores no 0x500? Ou ele faz algo radicalmente diferente, e descarregar a funcionalidade de obter vector do dispositivo para um controlador de interrupção externa? Suponho que pode apenas saltar para o código de 0x500, onde o software real, então, interrogar o (hipotético?) Controlador de interrupção para obter o vector .. e, em seguida, usá-lo em um salto da mesa / que-ter -você, mas eu não posso encontrar a documentação para verificar este for o caso, de uma forma ou de outra.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top