# 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\].](/files/-LIk5ZjhqOyY4l8BHArc)

### 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bit-by-bit.gitbook.io/embedded-systems/intel-msc-51/arquitetura-e-organizacao-do-8051.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
