# data[].attributes.headline
A diferenca entre um Microcrontolador e um Microprocessador

# data[].attributes.subject
A diferenca entre um Microcrontolador e um Microprocessador

# data[].attributes.body
O microcontrolador é um mini computador, alem da UCP, contém blocos internos de memoria em um único chip, processador e periféricos programáveis. Então, sua aplicação é para sistemas embarcados. Já o microprocessador, necessita de componentes externos para seu funcionamento, sendo seu foco o poder de processamento. Os microprocessadores normalmente estão presentes em computadores e Smartphones.

# data[].attributes.body
Assembly ou linguagem de montagem é uma notação legível por humanos para o código de maquina que uma arquitetura de computador específica usa, utilizada para programar códigos entendidos por dispositivos computacionais, como microprocessadores e microcontroladores.
O Assembly teve uma grande importância na história da informática, além de existirem programas de baixo nível que são melhores escritos em Assembly, pois esta permite um acesso a certas capacidades da máquina que as linguagens de auto-nível não permitem, e o acesso a essas capacidades tornam os programas mais eficientes.

# data[].attributes.body
Vantagens Von Neumann:
-> Arquitetura mais simples
-> Mais lento pois nao permite acesso simultaneo às memórias.
-> Normalmente arquitetura CISC

Vantagens Harvard
-> Arquitetura mais complexa
-> Mais rápido, pois permite acesso simultâneo às memorias
-> Permite o Pipelining
-> Normalmente Arquitetura RISC

# data[].attributes.body
Para determinar os estados de suas entradas e saídas o microcontrolador possui registradores na qual esses dados são armazenados.
Os registradores permitem que:
-> A leitura e escrita em pinos seja feita muito mais rápida.
->Ler e escrever em mais de um pino de uma mesma porta por vez.

->O código produzido é menor, em alguns casos esse fator pode fazer a diferença entre seu código caber na memória flash ou não.

->O código produzido é menos portável, difícil de debbugar e de ser mantido.

# data[].attributes.body
É um circuito digital que realiza operações lógicas e aritméticas. A ULA é uma peça fundamental da CPU e dos microcontroladores.

# data[].attributes.body
O microcontrolador utilizado no arduino UNO é o ATMEL ATMEGA328. Ele possui 8 bits da familia AVR E arquitetura RISC, conta com Memória Flash de 32KB, 2KB de ram e 1KB de EEPROM. E pode operar até 20Mhz, embora na placa arduino ele opera a 16Mhz.

# data[].attributes.body
O bootloader é um programa que entra em ação sempre que iniciamos um dispositivo, seja ele, smartphones, computadores ou ate mesmo um Microcontrolador.

# data[].attributes.body
O compilador é um programa que traduz uma linguagem complexa de programação para uma linguagem equivalente para o processador.  Os compiladores respeitam códigos pré-definidos para fazer esta tradução. A grosso modo, o compilador traduz uma linguagem em que os humanos entendem, para a linguagem que o computador compreende. Exemplo: Linguagem C++ para Binário.

# data[].attributes.body
É uma memória momentânea, ou seja, armazena memória por um tempo mas não salva as informações após desligar o aparelho.

# data[].attributes.body
RAM
ROM
PROM
EPROM
EEPROM
FLASH

# data[].attributes.body
É um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas.

# data[].attributes.body
É um chip de memória de computador que mantém informações armazenadas sem a necessidade de uma fonte de energia. Ela é uma memória não volátil e de estado sólido, o que significa que não há partes móveis para serem danificadas. Exemplo: pen drive

# data[].attributes.body
É um tipo de memória não-volátil utilizada em computadores e outros dispositivos eletrônicos para armazenar pequenas quantidades de dados que precisam ser salvos quando a energia é removida.

# data[].attributes.body
É uma memória programável só de leitura.

# data[].attributes.body
É um tipo de chip de memória de computador que mantém seus dados quando a energia é desligada. Em outras palavras, é não-volátil.

# data[].attributes.body
O microprocessador é um circuito integrado responsável pelo processamento de dados. São usados em equipamentos, como exemplo, os PC's. Eles possuem mais de 500 milhões de transistores internos. O foco dos microprocessadores é a velocidade de processamento.

# data[].attributes.body
O microcontrolador CONTÉM NELE microprocessador, memória RAM,  memória ROM, temporizadores, contadores, porta serial, conversores e portas INPUT/OUTPUT em um só circuito integrado.

Exemplo: ATMEGA32, Microcontrolador do Arduino UNO.