A arquitetura ARM define instruções para comunicação com coprocessadores, de forma independente de memória e
registradores do processador ARM principal, para realizar operações não presentes nessa arquitetura.
A ARM define que até 16 coprocessadores podem ser utilizados, sendo identificados pelos números 0 a 15. Um
coprocessador pode utilizar mais de um desses números dependendo da complexidade. Opcodes e registradores
de entrada/origem e saída/destino são configuráveis como operandos para a comunicação.
Caso um coprocessador não possa responder as instruções de comunicação, um exceção UNDEFINED será
gerada/lançada. O exceção UNDEFINED pode ser vista em
Interrupções.
Em relação a compatibilidade, as instruções de coprocessador não estão presentes na ARM v1 e podem ser
sofrer alterações em v4+, sendo estendidas com novas instruções.
As instruções de coprocessador são executadas de acordo com a condição <cond> utilizada, mas não possuem
suporte ao sufixo S.
Mais informações sobre registradores, flags e condições podem ser vistas em
Registradores e CPSR e
Formato: Condições.
Notação utilizada:
|
|
MEM |
Endereço de memória |
[] |
Conteúdo de memória |
<- |
Atribuição |