# Arquitetura

É uma arquitetura caracterizada pela operação load-store. Isto é, os dados devem ser carregados da memória para os registradores do core, processados, e posteriormente armazenados de volta na memória. Para tal, possui 16 registradores de 32 bits. Alguns desses registradores tem funções específicas, tais como:

* R15, contador de programa;
* R14, registrador _Link_;
* R13, ponteiro de pilha. A pilha sempre indica o último item empilhado. O ponteiro de pilha é decrementado a cada operação de empilhamento. Primeiro o ponteiro é decrementado e em seguida o dado é empilhado.

Os registradores R0\~R12 são divididos em duas regiões: _Low_ e _High_. A região _Lo&#x77;_&#x72;epresenta os registradores R0\~R7. Já a região _High_, os registradores R8\~R12.

![](https://3269117709-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGWtnbRF0hQ-zc4ofA7%2F-LH-kn1RbpaJu5v6qsgR%2F-LH-l58V9etG5SFzrMgv%2FRegistradores.png?alt=media\&token=992efd9c-6859-406c-b7a9-691c23aaa92a)

O registrador de estados do processador PSR agrupa informações dos seguintes registradores: APSR, IPSR e EPSR.

* APSR é o registrador de estado da aplicação que contém as flags condicionais para última instrução que foi executada (Valor negativo, Valor Zero, entre outros);
* IPSR é registrador de estado para interrupções que contém o código do vetor de interrupção;
* EPSR é o registrado de estado do programa em execução. Indica, por exemplo, se o processador está em modo Thum&#x62;_._

