Descrição de Arquiteturas
Por: Ednelso245 • 15/12/2017 • 976 Palavras (4 Páginas) • 305 Visualizações
...
de software. São normalmente utilizados para fazer chamadas para um sistema operacional, para solicitar um serviço definido pelo SO. A entrada exceção causada por uma instrução SWI também muda para um modo privilegiado. Isto permite que uma tarefa sem privilégios obtenha acesso a funções privilegiadas, mas apenas se permitida pelo SO.
Codificação: SWI {<cond>} <inmed_24>
Instruções de breakpoint de software (BKPT): se o software depurador apropriado está instalado no vetor de interrupção, uma exceção é gerada e dessa forma é tratada como um breakpoint. Se o hardwre de depuração estiver presente no sistema, em vez disso, pode ser tratada uma instrução BKPT diretamente como breakpoint, impedindo a excepção de interrupção de ocorrer.
Codificação: BKPT <immediate>
4) Tipos de instruções (memória, aritmética, etc).
Os tipos de instruções são:
- Movimentação de dados
- Aritmética
- Acesso à Memória
- Manipulação lógica
- Controle de fluxo
- Controle de Systema / Privilégios
5) Formatos de instruções (número de bits, operandos, etc.);
O processador ARM é um processador com instruções de 32 bits, são 16 Registradores de 32 bits cada e ainda 37 registradores internos. VFP: Instruções para operações vetoriais em ponto flutuantes. Operações Lógicas AND R1, R2, R3!, ORR R1, R2, R3!, EOR R1, R2, R3!, BIC R1, R2, R3!. Formato das instruções lógicas e aritméticas <MNE> Rd, Rn,
Instruções MOV no ARM MOV, MVN: move (negado) MOV r0, r1; sets r0 to r1
Instruções load/store ARM
LDR, LDRH, LDRB: load (half-word, byte) STR, STRH, STRB: store (half-word, byte) Modos de endereçamento: register indirect : LDR r0,[r1] com segundo registrador : LDR r0,[r1,-r2] com constante: LDR r0,[r1,#4]
6) Modelo de memória (alinhada, não alinhada, etc.)
7) Registradores (quantidade, tipos, para que serve cada um, etc)
ARM tem 37 registradores no total, todos eles são de 32-bits. Estes compreendem 30 registradores de uso geral, 6 registradores de estado e um apontador de instruções (PC – program counter). Só quinze dos registradores de uso geral estão disponíveis a qualquer momento dependendo do modo de processador. Há um conjunto padrão de oito registradores de uso geral que estão sempre disponíveis (R0-R7) não importa o modo que o processador está. Alguns registradores (R8-R12) são comuns a todos os modos de processador com a exceção do modo de FIQ. Isto significa que, para todos os propósitos, estes são os registradores gerais e não têm nenhum uso especial.
Os registradores restantes (R13-R15) são registradores especiais e têm papéis muito específicos: R13 também é conhecido como o apontador de pilha (Stack Pointer), enquanto que R14 é conhecido como o Link Register e R15 é o Program Counter (PC). Os modos "Usuário" (usr) e "Sistema" (sys) compartilham os mesmos registradores. Os registradores de estado são conhecidos como Current Processor Status Register (CPSR) e Saved Processor Status Register (SPSR).
8) Tipos de endereçamento (todos os tipos de endereçamento suportados pela arquitetura do processador)
- Endereçamento pré-indexado computa o endereço efetivo antes de realizar a transferência.
- Endereçamento pré-indexado com writeback atualiza ovalor do registrador base após a execução
- Endereçamento pós-indexado usa o endereço no registrador base, e atualiza o base após a execução.
...