# Arquitetura e Organização do 8051

As principais características são descritas abaixo:

* CPU de 8 bits;
* Arquitetura de Harvard e CISC;
* On-Chip RAM - Memória de dados: 128 bytes;
* On-Chip ROM - Memória de programa: 4KB;
* Espaço de endereçamento de 64KB para RAM e ROM;
* Mecanismo de interrupção:
  * Seis fontes e cinco vetores de interrupção;
  * Dois níveis de prioridade;
* Quatro portas bidirecionais (input/output) de 8 bits;
* Dois Temporizadores/Contadores de 16 bits;
* Um canal de comunicação serial (UART full-duplex);
* On-Chip Clock;
* Capacidade de manipulação de bit (single-bit logic).

![Arquitetura do 8051 \[2\].](https://3269117709-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGWtnbRF0hQ-zc4ofA7%2F-LIjo_raFCXadzTvGK6G%2F-LIk5ZjhqOyY4l8BHArc%2F8051.png?alt=media\&token=9f65822f-c4b7-457e-981d-d5676f6a2c69)

### Unidade Lógica e Aritmética

Os dados a serem operados pela ALU podem ser oriundos da memória, de um registrador ou de valores imediatos. O resultado das operações podem ser transferidos para memória ou registradores. Além disso, o registrador PSW mantem informações sobre essas operações, denominadas flags de estado.

### Registradores

Um dos principais registradores que compõe a unidade de controle é o contador de programa (PC). Esse registrador armazena o endereço da instrução buscada na memória. Já o registrador de instruções armazena essa instrução para que seja decodificada e executada. Além disso, outros elementos, tais como registrador Acumulador, registrador auxiliar B, Data Pointer Register (DPTR), Stack Pointer (SP), Programa Status Word (PSW), registradores de propósito geral (R0\~R7), compõe essa arquitetura.

### Periféricos

O 8051 apresenta alguns periféricos que podem ser configurados por meio dos registradores. O microcontrolador 8051 conta com 2 temporizadores/contadores de 16 bits para uso geral, uma interface serial full-duplex e quatro portas de E/S.

### Sistema de interconexão

* O barramento de endereços do 8051 é de 16 bits, portanto pode gerar 65536 endereços.&#x20;
* O barramento de dados é de 8 bits e bidirecional, isso significa que a CPU pode realizar operações de leitura e escrita na memória.&#x20;
* Os sinais de controle, tais como ALE, PSEN, RD e WR, são gerados pela CPU e compõe o barramento de controle.
