IOT: CPU vs MCU vs SoC vs FPGA
Tecnologias IoT
Principal componente de uma unidade IOT, a unidade de processamento pode vir em diferentes maneiras e usos. Este artigo apresenta as mais correntes e atuais.
Microcontrolador – MCU

MCU PIC18F
Muito usado em soluções IoT, o MCU consiste em um pequeno computador feito em um único circuito integrado. Eles são geralmente menos complicados que SoCs (um SoC pode ter um microcontrolador como um de seus componentes).
Eles contêm pelo menos uma CPU (núcleo do processador), memória (RAM, flash, ROM) e periféricos de E / S programáveis.
Eles são projetados para aplicações embarcadas. Diferente de microprocessadores usados em computadores pessoais ou outros chips usados para aplicações mais gerais.
Muitos dispositivos IoT que são controlados automaticamente (usando algum tipo de sistema de controle de feedback) usam microcontroladores.
Sua principal vantagem é que eles reduzem o tamanho e o custo de um sistema similar usando dispositivos separados de microprocessadores / memória / entrada / saída.
Eles podem ser usados para:
- Coleta de dados
- Detecção
- Ativação de dispositivos físicos
- Aplicações de baixa energia, entre outros usos.
Normalmente você pode encontrar placas de desenvolvimento que incluem um microcontrolador. Elimina-se assim a necessidade de projetar um PCB para o microcontrolador.

Arduino: prototipagem com MCU
Microprocessador

Processador Intel Core i7
Um microprocessador é um dispositivo que incorpora as funções de uma CPU em um único CI (ou alguns).
Em síntese, uma CPU tem como características:
- Baseado em registradores internos
- Dados binários como entrada
- Processa-os de acordo com um conjunto de instruções
- Armazena as instruções na memoria
- Fornece uma saída
Diferentes conjuntos de instrumentos determinam as diferentes arquiteturas de microprocessadores (AMD x86 e x86-64, PowerPC, ARM, RISC-V).
Atualmente, as arquiteturas mais comuns são geralmente de 32 ou 64 bits. Alguns possuem somente uma unica unidade sintetizada. Existem outros dispositivos que são multi-core (processadores Intel Xeon, AMD Phenom II).
Historicamente, a AMD e a Intel são conhecidas como as empresas com as CPUs mais rápidas. Atualmente, as CPUs são quase todas implementadas em microprocessadores, fazendo com que os dois termos sejam praticamente intercambiáveis.
Ao comparar os microprocessadores em laptops, você geralmente considera:
- Número de núcleos;
- Velocidade do clock;
- Tamanho do cache (como RAM, mas a memória é armazenada na própria CPU, por isso é mais rápido) ;
- Outros aspectos como hyperthreading (executando vários threads simultaneamente)
System on a Chip (SoC)

System on a Chip
Tambem muito usado diretamente em IoT, consiste em um circuito integrado com todos os componentes de um computador.
Nisso temos uma CPU, memória, portas de E / S e armazenamento secundário em um mesmo chip de silício
Eles consomem menos energia e ocupam menos espaço do que um projeto multi-chip, e são comuns em sistemas embarcados.
Em comparação com a arquitetura baseada em placa-mãe e sua CPU a SoC pode ter
- as interfaces de CPU,
- GPU gráficos
- disco rígido
- conectividade USB
- ROM / RAM e memória são todas integradas (uma placa-mãe conectaria todos os componentes separadamente ou como placas de expansão).
SoCs são geralmente usados em:
- Possui um microcontrolador como base e memoria para trabalho;
- Construído em torno de um microprocessador (encontrado em telefones celulares);
- Projetado para uma aplicação específica;
- Projetado como um SoC programável com alguns aspectos reprogramáveis, semelhantes aos FPGAs ;
Em comparação com os microcontroladores, os SoCs geralmente têm muito mais pinos e mais integração de sistemas de diferentes periféricos.
Note que system-on-a-chip pode se referir a muitas coisas no mercado, e geralmente se refere a um único chip que faz tudo o que costumava pegar vários chips.
Alguns comuns são o Sistema Programável de Semicondutor Cypress em um Chip (PSoC) e o Sistema Altera em um Chip Programável (SOPC).
O PSoC refere-se apenas à família de SoCs integrados por microcontroladores produzidos pela Cypress Semiconductor, embora existam outros SoCs programáveis que existem.

Raspberry Pi: Board com um SoC
FPGA
Um FPGA é um circuito integrado que pode ser configurado por um consumidor após a fabricação (“programável em campo”). Tem crescido seu uso em IoT
Sua configuração é especificada usando uma linguagem de descrição de hardware (HDL). Eles contêm blocos lógicos programáveis (como AND e XOR) e uma hierarquia de interconexões reconfiguráveis que “ligam” os blocos.
Esses blocos também podem conter elementos de memória (flip-flops, etc.). As maiores empresas para entrega de FPGAs incluem Altera e Xilinx.
Em comparação com os microcontroladores, eles são mais rápidos, paralelizáveis e têm mais flexibilidade de design .
Eles geralmente são mais caros e mais difíceis de usar, mas contêm os mesmos ICs, componentes lógicos e programação. FPGAs comuns são as séries Xilinx Spartan e Virtex e as séries Altera Stratix e Cyclone.
Adaptado de
https://hackernoon.com/fpgas-socs-microcontrollers-a-quick-rundown-of-iot-devices-c5a25c7290c6