O que significa “field programmable array”?
O termo completo é Field Programmable Gate Array, ou FPGA: uma matriz de portas lógicas programáveis em campo. Um FPGA implementa lógica digital configurável; uma NPU acelera operações de redes neurais compatíveis. A escolha depende do caminho real do sinal. O processamento em FPGA pode ser útil para interfaces paralelas ou aquisição sensível ao tempo, enquanto uma NPU pode simplificar uma carga de inferência compatível.
Da placa de desenvolvimento FPGA ao produto personalizado
Uma placa FPGA comprova apenas parte do sistema. Um projeto personalizado também precisa de sequenciamento de alimentação, distribuição de clock, interfaces de memória, projeto térmico e um método de teste repetível. Compare o esforço de projeto e verificação do FPGA com uma MPU ou uma arquitetura SoC FPGA. O custo inclui engenharia, ferramentas, complexidade da placa e testes de produção, além do próprio chip.
O que é uma MPU de IA?
Uma plataforma MPU com capacidade de IA combina um microprocessador de aplicativo com o software e os recursos de aceleração necessários para uma carga de trabalho de aprendizado de máquina. Comece identificando quais tarefas pertencem à CPU e quais se beneficiam de um acelerador compatível.
Um MPU, ou microprocessador de aplicativo, geralmente é o centro de software de um sistema Linux embarcado. Uma “AI MPU” não é uma categoria de processador separada, mas sim uma plataforma MPU que inclui ou trabalha em estreita colaboração com recursos de aceleração, como NPU, GPU, DSP ou FPGA. A MPU hospeda Linux, rede, armazenamento, serviços de segurança, lógica de aplicação e o tempo de execução que coordena as cargas de trabalho de IA.
Para o aprendizado de máquina MPU, a questão prática não é apenas a velocidade da CPU. Largura de banda de memória, suporte a acelerador, câmera e E/S de alta velocidade, qualidade Linux BSP, disponibilidade de longo prazo, design térmico e maturidade do conjunto de ferramentas de modelo geralmente são mais importantes do que um valor TOPS principal.
O que torna uma MPU uma boa plataforma de inteligência artificial?
A melhor MPU para inteligência artificial é específica para carga de trabalho. Um gateway de visão pode priorizar MIPI CSI, pipelines de vídeo de hardware e uma NPU. Um computador de missão robusto pode precisar de PCIe, múltiplas portas Ethernet, núcleos complementares determinísticos e recursos de segurança mais fortes. Uma plataforma industrial pode valorizar a longa vida útil do produto, TSN, CAN-FD e um ecossistema Linux estável.
Compare o modelo real e complete a cadeia de pré-processamento. Uma plataforma com um valor de acelerador anunciado mais baixo pode vencer se evitar cópias de memória, suportar os operadores necessários e manter eficiente o caminho do sensor ao resultado.
NPU: inferência neural eficiente na borda
Uma NPU de ponta acelera operadores de redes neurais, como convoluções, operações de matriz e funções de ativação comuns. Geralmente é o local mais eficiente para modelos suportados de detecção, classificação, segmentação e extração de recursos quando o poder e o rendimento de inferência sustentada são importantes.
O desempenho da NPU depende da compilação e da cobertura do operador. Camadas não suportadas podem recorrer à CPU ou a outro acelerador. Os requisitos de quantização, layouts de tensores, resolução de entrada e movimentação de memória também podem alterar drasticamente o desempenho no mundo real. Sempre compare o gráfico de produção em vez de confiar apenas nos TOPS teóricos.
FPGA: pipelines determinísticos e inferência de IA onde a flexibilidade é importante
Um FPGA se destaca na movimentação determinística de dados, interfaces personalizadas e pipelines massivamente paralelos. Em sistemas edge ele pode desserializar sensores, alinhar timestamps, filtrar dados, gerar regiões de interesse, realizar pré-processamento de imagens e alimentar um acelerador com latência previsível. A inferência de IA de FPGA também é possível quando um modelo mapeia bem o DSP disponível, a memória e a pilha de aceleração do fornecedor.
A compensação é o esforço de engenharia. O projeto RTL ou HLS, simulação, fechamento de tempo, verificação e estratégia de atualização devem ser planejados. Um FPGA deve ser selecionado porque o comportamento determinístico ou o paralelismo personalizado criam valor no sistema – não simplesmente porque ele pode executar aritmética.
NPU vs FPGA para IA na borda
A decisão NPU vs FPGA costuma ser um binário falso. Uma NPU geralmente é a escolha mais fácil para redes neurais suportadas e forte desempenho por watt. Um FPGA é mais forte quando o sistema precisa de interfaces de sensores personalizadas, pré-processamento determinístico, formatos de dados incomuns ou um pipeline rigidamente controlado antes e depois da inferência.
Uma arquitetura comum usa ambos: FPGA para ingestão e pré-processamento de sensores, NPU para a rede neural e MPU para orquestração Linux. Isso reduz a quantidade de trabalho irregular imposto a qualquer processador.
| Recurso | Cargas de trabalho mais adequadas | Principais restrições |
|---|---|---|
| FPGA | Pipelines determinísticos, E/S customizada, carimbo de data/hora, pré-processamento, aceleração especializada | Esforço RTL/HLS, verificação, recursos do dispositivo |
| NPU | Inferência neural suportada com bom desempenho por watt | Suporte ao operador, compilador/tempo de execução, quantização e movimentação de memória |
| MPU | Aplicativos Linux, rede, armazenamento, segurança cibernética, orquestração | Execução menos determinística; sobrecarga de uso geral |
| Núcleo MCU/RT | Loops de controle, supervisão de segurança, sequenciamento de energia, E/S determinística | Memória limitada e computação de alto nível |
Edge computing
- Comece com prazos: identificar quais sinais têm requisitos de tempo rígido e o atraso máximo do sensor até a ação.
- Taxas de dados do mapa: calcular a taxa de transferência do sensor, tamanhos de tensores intermediários e tráfego de memória de pior caso.
- Mantenha a ingestão determinística próxima à interface: FPGA, motores DMA ou núcleos em tempo real são frequentemente apropriados.
- Coloque modelos neurais suportados na NPU: validar a cobertura da operadora e o desempenho real compilado.
- Use o MPU para o sistema: rede, armazenamento, atualizações, registro, APIs e política de aplicativos pertencem naturalmente ao Linux.
- Reserve controle em tempo real: um MCU ou núcleo determinístico deve supervisionar a atuação crítica em termos de tempo e a integridade da plataforma quando necessário.
A largura de banda da memória costuma ser o gargalo oculto
Muitos projetos de IA na borda concentram-se em picos de computação e descobrem posteriormente que cópias, conversão de cores, reformatação de tensor ou DDR compartilhada dominam a latência. Caminhos de cópia zero ou de cópia baixa, topologia DMA, comportamento do cache e acesso à memória do acelerador devem ser avaliados antecipadamente. A aceleração térmica também pode transformar um benchmark forte em um desempenho sustentado fraco.
Isto é especialmente importante quando múltiplas câmeras, radares, sensores de eventos ou fluxos Ethernet de alta velocidade compartilham o mesmo subsistema de memória.
Exemplos de arquitetura de referência
Pipeline de sensor de visão/evento
Sensor → ingestão e registro de data e hora de FPGA → inferência de NPU → serviços de decisão de MPU → saída CAN-FD ou Ethernet. Este é um padrão forte para percepção de baixa latência e se conecta diretamente ao nosso .
Computador de IA incorporado
E/S de alta velocidade → caminho DMA/acelerador → inferência de NPU ou GPU → serviços de aplicativos Linux → APIs de armazenamento e rede. Nosso módulo de computação incorporado e computador de ponta robusto classes de produtos são construídas em torno desse tipo de particionamento.
Gateway determinístico industrial
Interfaces CAN-FD / serial / Ethernet → carimbo de data / hora FPGA ou MCU e manipulação de protocolo → serviços MPU → análise NPU opcional. Aqui, a E/S determinística e a capacidade de manutenção do software a longo prazo podem ser mais importantes do que o rendimento máximo da IA.
Como escolher entre FPGA, NPU e MPU
Escolha entre a carga de trabalho completa, não o rótulo do processador. Se o problema dominante for a inferência neural, comece pela compatibilidade de NPU. Se a E/S personalizada e o pré-processamento determinístico dominarem, avalie os recursos do FPGA. Se os serviços Linux, redes e software de aplicação dominarem, comece com a capacidade de MPU. A maioria das plataformas de ponta de alto desempenho combinará pelo menos dois desses recursos.
Antes de comprometer o hardware, execute fluxos representativos por meio da pilha de software pretendida e meça a latência, a potência, a largura de banda da memória e as térmicas de ponta a ponta. Essa evidência é mais valiosa do que classificações genéricas de aceleradores.
Exemplo resolvido: quatro câmeras e um orçamento de memória compartilhada
Considere um exemplo de planejamento com quatro fluxos de 1280 × 720 a 30 quadros por segundo, representados como RGB com um byte por canal após a conversão da imagem. Sua carga útil de imagem lógica combinada é 4 × 1280 × 720 × 30 × 3 = 331.776.000 bytes por segundo, aproximadamente 332 MB/s em unidades decimais. Esta não é a taxa de bits do link da câmera ou o desempenho medido de um produto Alvexis.
Uma cópia full-frame adicional lê e grava essa carga útil, adicionando aproximadamente 664 MB/s de tráfego de memória antes de considerar o comportamento do cache ou outras operações. Tensores de modelo, conversão de cores, registro e serviços simultâneos adicionam seu próprio tráfego. Isso explica por que um projeto pode ser restringido pela movimentação de dados mesmo quando a classificação do acelerador principal parece suficiente.
| Trabalhe para colocar | Ponto de partida | Evidências antes de cometer |
|---|---|---|
| Ingestão e sincronização de câmera | Interfaces SoC suportadas, com FPGA ou um dispositivo complementar quando necessário | Captura simultânea de fluxo, comportamento de carimbo de data/hora e perda sob carga |
| Inferência neural | NPU quando o gráfico e a precisão escolhidos são suportados | Precisão de conversão e medições sustentadas de aplicativos no dispositivo |
| Serviços e gravação Linux | Recursos MPU e um caminho de armazenamento explicitamente orçado | Comportamento da CPU, memória e E/S enquanto a inferência está ativa |
| Controle externo crítico em termos de tempo | Um controlador em tempo real adequado ou uma implementação determinística validada | Evidência de tempo de resposta sob a carga de trabalho do pior caso relevante |
O objetivo do particionamento é tornar explícito cada requisito de tempo e recurso. Isso não significa que todo projeto precise de quatro processadores diferentes. Comece com a arquitetura mais simples que atenda aos requisitos e depois adicione recursos onde as medições ou restrições de interface os justificarem.
Um plano de validação para escolher o mix de processadores
- Congelar o contrato de entrada: sensores, formatos de dados, modelo, resolução e condições de operação.
- Verifique o suporte do modelo e a qualidade da saída antes de comparar o rendimento do acelerador.
- Meça a aquisição, o pré-processamento, a inferência e a entrega separadamente e, em seguida, meça o caminho completo.
- Repita sob carga térmica sustentada com gravação, rede e todos os sensores pretendidos ativos.
- Registre a idade da fila, as entradas perdidas e a latência final, para que uma taxa média alta não esconda atrasos intermitentes.
Mantenha a revisão da placa, imagem do software, versões do conjunto de ferramentas e entradas de teste com os resultados. Para uma implementação Rockchip, o Guia de implantação do modelo RK3588 desenvolve esse fluxo de trabalho. Para dados de câmeras de eventos, use o guia de integração de software para definir carimbos de data/hora e representações antes de escolher o caminho de inferência.
Após a carga de trabalho ser caracterizada, compare o Opções de integração SoM e SBC. Essa decisão conecta a arquitetura computacional aos conectores, energia, gabinete e trabalho de produção.
Da seleção do processador a um produto pronto para fabricação
Uma lista restrita de processadores só é útil quando se ajusta ao produto completo. Antes de solicitar uma placa personalizada, transforme a carga de trabalho em um breve resumo de engenharia:
- Entradas: contagem de sensores, interfaces, taxas de amostragem e requisitos de sincronização.
- Carga de trabalho de IA: o modelo real, precisão suportada e qualidade de saída aceitável.
- Restrições físicas: dimensões, fonte de energia, refrigeração e ambiente operacional.
- Entrega: quantidade de protótipos, volume de produção, propriedade de software e testes de aceitação.
Para uma estação de inspeção, conecte a tubulação da câmera ao acionador de linha, ao identificador da peça e à interface de resultados. Nosso solução de visão industrial e controle de qualidade explica como esses requisitos se tornam um piloto.
Perguntas frequentes sobre IA de borda MPU, NPU e FPGA
O que é MPU AI?
MPU AI descreve cargas de trabalho de inteligência artificial implantadas em uma plataforma de microprocessador embarcado, geralmente com Linux e muitas vezes com aceleração integrada ou complementar, como NPU, GPU ou FPGA. A MPU normalmente gerencia aplicativos, redes, armazenamento, segurança e orquestração em torno do pipeline de inferência.
Uma MPU pode executar aprendizado de máquina?
Sim. As cargas de trabalho de aprendizado de máquina da MPU podem ser executadas em núcleos de CPU ou usar aceleradores integrados. Para sistemas de produção, o suporte ao modelo, a largura de banda da memória, as térmicas sustentadas e a latência ponta a ponta são mais importantes do que apenas os TOPS principais.
NPU vs FPGA: o que é melhor para IA na borda?
Uma NPU geralmente é a escolha mais simples para inferência de rede neural suportada com forte desempenho por watt. Um FPGA é preferível quando interfaces de sensores personalizadas, pré-processamento determinístico, formatos de dados incomuns ou pipelines especializados são fundamentais para o projeto. Muitos sistemas usam ambos.
Você pode executar uma carga de trabalho NPU em um FPGA?
Um FPGA pode implementar aceleradores de redes neurais ou pipelines de inferência, mas não é automaticamente equivalente a um NPU dedicado. A negociação envolve recursos lógicos programáveis, memória, maturidade do conjunto de ferramentas, suporte de modelo, esforço de verificação e poder.
Quando a inferência de IA do FPGA faz sentido?
A inferência de IA em FPGA é atraente quando a inferência deve ser fortemente acoplada ao pré-processamento determinístico, interfaces personalizadas ou movimentação de dados especializada. É especialmente útil quando um tempo de execução NPU padrão não se ajusta ao caminho do sensor ou às restrições de latência.
Referências técnicas
- Rockchip: componentes de software RKNN e ferramentas de implantação
- Rockchip: exemplos de conversão e inferência de modelos
- Gallego et al.: Visão Baseada em Eventos — Uma Pesquisa
O exemplo da largura de banda é um cálculo explícito, não um benchmark de produto. Valide a arquitetura selecionada na carga de trabalho pretendida.
Particione sua carga de trabalho de IA na borda real.
Envie as interfaces do sensor, tipo de modelo, taxas de dados, envelope de energia e restrições de implantação. Podemos mapeá-los para uma arquitetura MPU/NPU/FPGA e uma classe de módulo de computação adequada.
