Was bedeutet „Field Programmable Array“?
Die vollständige Bezeichnung lautet Field Programmable Gate Array, kurz FPGA. Ein FPGA implementiert konfigurierbare digitale Logik; eine NPU beschleunigt unterstützte Operationen neuronaler Netze. Entscheidend ist der tatsächliche Signalpfad. FPGA-Signalverarbeitung kann für parallele Schnittstellen oder zeitkritische Datenerfassung sinnvoll sein, während eine NPU eine unterstützte Inferenzaufgabe vereinfachen kann.
Vom FPGA-Entwicklungsboard zum kundenspezifischen Produkt
Ein FPGA-Board weist nur einen Teil der Systemfunktion nach. Ein kundenspezifischer Entwurf benötigt außerdem Einschaltsequenzen, Taktversorgung, Speicherschnittstellen, thermische Auslegung und ein wiederholbares Prüfverfahren. Vergleichen Sie den Entwicklungs- und Verifikationsaufwand eines FPGA mit einer MPU oder einer SoC-FPGA-Architektur. Zu den FPGA-Kosten gehören neben dem Baustein auch Engineering, Werkzeuge, Leiterplattenkomplexität und Fertigungsprüfung.
Was ist eine KI-MPU?
Eine KI-fähige MPU-Plattform kombiniert einen Anwendungsmikroprozessor mit der Software und den Beschleunigungsressourcen, die für eine maschinelle Lernarbeitslast erforderlich sind. Identifizieren Sie zunächst, welche Aufgaben zur CPU gehören und welche von einem unterstützten Beschleuniger profitieren.
Eine MPU oder ein Anwendungsmikroprozessor ist normalerweise das Softwarezentrum eines eingebetteten Linux-Systems. Eine „AI MPU“ ist weniger eine separate Prozessorkategorie als vielmehr eine MPU-Plattform, die Beschleunigungsressourcen wie eine NPU, GPU, DSP oder FPGA umfasst oder eng mit diesen zusammenarbeitet. Die MPU hostet Linux, Netzwerk, Speicher, Sicherheitsdienste, Anwendungslogik und die Laufzeit, die KI-Workloads koordiniert.
Beim maschinellen Lernen von MPUs ist die praktische Frage nicht nur die CPU-Geschwindigkeit. Speicherbandbreite, Beschleunigerunterstützung, Kamera und Hochgeschwindigkeits-I/O, Linux-BSP-Qualität, Langzeitverfügbarkeit, thermisches Design und Modell-Toolchain-Reife sind oft wichtiger als ein Schlagzeilen-TOPS-Wert.
Was macht eine MPU zu einer guten Plattform für künstliche Intelligenz?
Die beste MPU für künstliche Intelligenz ist arbeitslastspezifisch. Ein Vision-Gateway kann MIPI CSI, Hardware-Video-Pipelines und eine NPU priorisieren. Ein robuster Missionscomputer benötigt möglicherweise PCIe, mehrere Ethernet-Ports, deterministische Begleitkerne und stärkere Sicherheitsfunktionen. Eine industrielle Plattform kann Wert auf eine lange Produktlebensdauer, TSN, CAN-FD und ein stabiles Linux-Ökosystem legen.
Benchmarken Sie das tatsächliche Modell und die vollständige Vorverarbeitungskette. Eine Plattform mit einer niedrigeren beworbenen Beschleunigerzahl kann gewinnen, wenn sie Speicherkopien vermeidet, die erforderlichen Operatoren unterstützt und den Weg vom Sensor zum Ergebnis effizient hält.
NPU: effiziente neuronale Inferenz am Rand
Eine Edge-NPU beschleunigt neuronale Netzwerkoperatoren wie Faltungen, Matrixoperationen und gängige Aktivierungsfunktionen. Es ist normalerweise der effizienteste Ort für unterstützte Erkennungs-, Klassifizierungs-, Segmentierungs- und Merkmalsextraktionsmodelle, wenn es auf Leistung und anhaltenden Inferenzdurchsatz ankommt.
Die NPU-Leistung hängt von der Kompilierung und der Betreiberabdeckung ab. Nicht unterstützte Schichten können auf die CPU oder einen anderen Beschleuniger zurückgreifen. Quantisierungsanforderungen, Tensor-Layouts, Eingabeauflösung und Speicherbewegung können die Leistung in der Praxis ebenfalls dramatisch verändern. Vergleichen Sie immer die Produktionsgrafik, anstatt sich nur auf theoretische TOPS zu verlassen.
FPGA: Deterministische Pipelines und KI-Inferenz, wo Flexibilität wichtig ist
Ein FPGA zeichnet sich durch deterministische Datenbewegung, benutzerdefinierte Schnittstellen und massiv parallele Pipelines aus. In Edge-Systemen kann es Sensoren deserialisieren, Zeitstempel ausrichten, Daten filtern, interessierende Bereiche generieren, eine Bildvorverarbeitung durchführen und einen Beschleuniger mit vorhersehbarer Latenz versorgen. FPGA-KI-Rückschlüsse sind auch möglich, wenn ein Modell gut auf den verfügbaren DSP, den Speicher und den Beschleunigungsstapel des Anbieters abgestimmt ist.
Der Kompromiss ist der technische Aufwand. RTL- oder HLS-Design, Simulation, Timing-Abschluss, Verifizierung und Aktualisierungsstrategie müssen geplant werden. Ein FPGA sollte ausgewählt werden, weil deterministisches Verhalten oder benutzerdefinierte Parallelität einen Systemwert schaffen – und nicht nur, weil er Arithmetik ausführen kann.
NPU vs. FPGA für Edge-KI
Die Entscheidung zwischen NPU und FPGA ist oft eine falsche Binärdatei. Eine NPU ist im Allgemeinen die einfachere Wahl für unterstützte neuronale Netze und eine starke Leistung pro Watt. Ein FPGA ist stärker, wenn das System benutzerdefinierte Sensorschnittstellen, deterministische Vorverarbeitung, ungewöhnliche Datenformate oder eine streng kontrollierte Pipeline vor und nach der Inferenz benötigt.
Eine gemeinsame Architektur verwendet beides: FPGA für die Sensoraufnahme und -vorverarbeitung, NPU für das neuronale Netzwerk und MPU für die Linux-Orchestrierung. Dies reduziert die Menge an unregelmäßiger Arbeit, die einem Prozessor aufgezwungen wird.
| Ressource | Optimale Workloads | Haupteinschränkungen |
|---|---|---|
| FPGA | Deterministische Pipelines, benutzerdefinierte E/A, Zeitstempel, Vorverarbeitung, spezielle Beschleunigung | RTL/HLS-Aufwand, Verifizierung, Geräteressourcen |
| NPU | Unterstützte neuronale Inferenz mit guter Leistung pro Watt | Operatorunterstützung, Compiler/Laufzeit, Quantisierung und Speicherverschiebung |
| MPU | Linux-Anwendungen, Netzwerk, Speicher, Cybersicherheit, Orchestrierung | Weniger deterministische Ausführung; Allzweck-Overhead |
| MCU/RT-Kern | Regelkreise, Sicherheitsüberwachung, Leistungssequenzierung, deterministische E/A | Begrenzter Speicher und hohe Rechenleistung |
Edge computing
- Beginnen Sie mit Fristen: Identifizieren Sie, welche Signale strenge Timing-Anforderungen und die maximale Sensor-zu-Aktion-Verzögerung haben.
- Kartendatenraten: Berechnen Sie den Sensordurchsatz, die Zwischentensorgrößen und den Speicherverkehr im ungünstigsten Fall.
- Halten Sie die deterministische Aufnahme nah an der Schnittstelle: Oft sind FPGA, DMA-Engines oder Echtzeitkerne geeignet.
- Platzieren Sie unterstützte neuronale Modelle auf der NPU: Validieren Sie die Betreiberabdeckung und die tatsächliche kompilierte Leistung.
- Verwenden Sie die MPU für das System: Netzwerk, Speicher, Updates, Protokollierung, APIs und Anwendungsrichtlinien gehören selbstverständlich zu Linux.
- Echtzeitkontrolle reservieren: Eine MCU oder ein deterministischer Kern sollte bei Bedarf die zeitkritische Betätigung und den Zustand der Plattform überwachen.
Die Speicherbandbreite ist oft der versteckte Engpass
Viele Edge-KI-Designs konzentrieren sich auf Rechenspitzen und stellen später fest, dass Kopien, Farbkonvertierung, Tensor-Neuformatierung oder gemeinsam genutzter DDR die Latenz dominieren. Zero-Copy- oder Low-Copy-Pfade, DMA-Topologie, Cache-Verhalten und Beschleunigerspeicherzugriff sollten frühzeitig bewertet werden. Durch thermische Drosselung kann sich ein starker Benchmark auch in eine schwache Dauerleistung verwandeln.
Dies ist besonders wichtig, wenn mehrere Kameras, Radar, Ereignissensoren oder Hochgeschwindigkeits-Ethernet-Streams dasselbe Speichersubsystem teilen.
Beispiele für Referenzarchitekturen
Vision-/Ereignissensor-Pipeline
Sensor → FPGA-Aufnahme und Zeitstempelung → NPU-Inferenz → MPU-Entscheidungsdienste → CAN-FD- oder Ethernet-Ausgabe. Dies ist ein starkes Muster für die Wahrnehmung mit geringer Latenz und steht in direkter Verbindung zu unserem .
Eingebetteter KI-Computer
Hochgeschwindigkeits-E/A → DMA/Beschleunigerpfad → NPU- oder GPU-Inferenz → Linux-Anwendungsdienste → Speicher- und Netzwerk-APIs. Unser eingebettetes Rechenmodul und Robuster Edge-Computer Produktklassen basieren auf dieser Art der Partitionierung.
Industrielles deterministisches Gateway
CAN-FD-/Seriell-/Ethernet-Schnittstellen → FPGA- oder MCU-Zeitstempelung und Protokollverarbeitung → MPU-Dienste → optionale NPU-Analyse. Hier können deterministische I/O und langfristige Wartbarkeit der Software wichtiger sein als maximaler KI-Durchsatz.
So wählen Sie zwischen FPGA, NPU und MPU
Wählen Sie aus der gesamten Arbeitslast, nicht aus der Prozessorbezeichnung. Wenn das Hauptproblem die neuronale Inferenz ist, beginnen Sie mit der NPU-Kompatibilität. Wenn benutzerdefinierte E/A und deterministische Vorverarbeitung dominieren, bewerten Sie die FPGA-Ressourcen. Wenn Linux-Dienste, Netzwerk- und Anwendungssoftware dominieren, beginnen Sie mit der MPU-Fähigkeit. Die meisten Hochleistungs-Edge-Plattformen kombinieren mindestens zwei dieser Ressourcen.
Führen Sie vor der Bereitstellung von Hardware repräsentative Streams durch den vorgesehenen Software-Stack und messen Sie die End-to-End-Latenz, die Leistung, die Speicherbandbreite und die Thermik. Diese Beweise sind wertvoller als generische Accelerator-Rankings.
Ausgearbeitetes Beispiel: vier Kameras und ein gemeinsames Speicherbudget
Betrachten Sie ein Planungsbeispiel mit vier 1280 × 720-Streams mit 30 Bildern pro Sekunde, dargestellt als RGB mit einem Byte pro Kanal nach der Bildkonvertierung. Ihre kombinierte logische Bildnutzlast beträgt 4 × 1280 × 720 × 30 × 3 = 331.776.000 Bytes pro Sekunde, ungefähr 332 MB/s in Dezimaleinheiten. Hierbei handelt es sich nicht um die Kameraverbindungsbitrate oder die gemessene Leistung eines Alvexis-Produkts.
Eine zusätzliche Vollbildkopie liest und schreibt diese Nutzlast und fügt etwa 664 MB/s Speicherverkehr hinzu, ohne dass Cache-Verhalten oder andere Vorgänge berücksichtigt werden. Modelltensoren, Farbkonvertierung, Protokollierung und gleichzeitige Dienste fügen ihren eigenen Datenverkehr hinzu. Dies erklärt, warum ein Design durch Datenbewegungen eingeschränkt werden kann, selbst wenn seine Hauptbeschleunigerbewertung ausreichend erscheint.
| Arbeit an Ort und Stelle | Ausgangspunkt | Beweise vor dem Begehen |
|---|---|---|
| Kameraaufnahme und -synchronisierung | Unterstützte SoC-Schnittstellen, bei Bedarf mit FPGA oder einem Begleitgerät | Gleichzeitige Stream-Erfassung, Zeitstempelverhalten und Verlust unter Last |
| Neuronale Schlussfolgerung | NPU, wenn das ausgewählte Diagramm und die ausgewählte Genauigkeit unterstützt werden | Konvertierungsgenauigkeit und nachhaltige Anwendungsmessungen auf dem Gerät |
| Linux-Dienste und -Aufzeichnung | MPU-Ressourcen und ein explizit budgetierter Speicherpfad | CPU-, Speicher- und E/A-Verhalten bei aktiver Inferenz |
| Zeitkritische externe Steuerung | Ein geeigneter Echtzeit-Controller oder eine validierte deterministische Implementierung | Nachweis der Reaktionszeit bei entsprechender Worst-Case-Arbeitsbelastung |
Der Zweck der Partitionierung besteht darin, jeden Zeit- und Ressourcenbedarf explizit zu machen. Dies bedeutet nicht, dass jedes Design vier verschiedene Prozessoren benötigt. Beginnen Sie mit der einfachsten Architektur, die die Anforderungen erfüllt, und fügen Sie dann Ressourcen hinzu, wenn Messungen oder Schnittstellenbeschränkungen dies rechtfertigen.
Ein Validierungsplan für die Auswahl des Prozessormixes
- Frieren Sie den Eingabevertrag ein: Sensoren, Datenformate, Modell, Auflösung und Betriebsbedingungen.
- Überprüfen Sie die Modellunterstützung und die Ausgabequalität, bevor Sie den Beschleunigerdurchsatz vergleichen.
- Messen Sie Erfassung, Vorverarbeitung, Inferenz und Lieferung separat und messen Sie dann den gesamten Pfad.
- Wiederholen Sie den Vorgang unter anhaltender thermischer Belastung mit Aufzeichnung, Vernetzung und allen vorgesehenen Sensoren aktiv.
- Zeichnen Sie das Alter der Warteschlange, verlorene Eingaben und die Endlatenz auf, sodass eine hohe Durchschnittsrate intermittierende Verzögerungen nicht verbirgt.
Bewahren Sie die Board-Revision, das Software-Image, die Toolchain-Versionen und die Testeingaben zusammen mit den Ergebnissen auf. Für eine Rockchip-Implementierung ist die Bereitstellungshandbuch für das Modell RK3588 entwickelt diesen Workflow. Für Ereigniskameradaten verwenden Sie die Leitfaden zur Software-Integration um Zeitstempel und Darstellungen zu definieren, bevor Sie den Inferenzpfad auswählen.
Nachdem die Arbeitsbelastung charakterisiert wurde, vergleichen Sie die SoM- und SBC-Integrationsoptionen. Diese Entscheidung verbindet die Rechenarchitektur mit Anschlüssen, Stromversorgung, Gehäuse und Produktionsarbeiten.
Von der Prozessorauswahl bis zum baubaren Produkt
Eine Prozessor-Shortlist ist nur dann sinnvoll, wenn sie zum Gesamtprodukt passt. Bevor Sie eine maßgeschneiderte Platine bestellen, wandeln Sie den Arbeitsaufwand in eine kurze technische Beschreibung um:
- Eingaben: Sensoranzahl, Schnittstellen, Abtastraten und Synchronisationsanforderungen.
- KI-Arbeitsaufwand: das tatsächliche Modell, unterstützte Präzision und akzeptable Ausgabequalität.
- Körperliche Einschränkungen: Abmessungen, Stromquelle, Kühlung und Betriebsumgebung.
- Lieferung: Prototypenmenge, Produktionsvolumen, Softwarebesitz und Abnahmetests.
Verbinden Sie für eine Inspektionsstation die Kamerapipeline mit dem Linientrigger, der Teilekennung und der Ergebnisschnittstelle. Unser Industrielle Bildverarbeitungs- und Qualitätskontrolllösung erklärt, wie aus diesen Anforderungen ein Pilotprojekt wird.
Häufig gestellte Fragen zu MPU, NPU und FPGA Edge AI
Was ist MPU AI?
MPU AI beschreibt Workloads mit künstlicher Intelligenz, die auf einer eingebetteten Mikroprozessorplattform bereitgestellt werden, normalerweise mit Linux und oft mit integrierter oder begleitender Beschleunigung wie einer NPU, GPU oder FPGA. Die MPU verwaltet üblicherweise Anwendungen, Netzwerk, Speicher, Sicherheit und Orchestrierung rund um die Inferenzpipeline.
Kann eine MPU maschinelles Lernen ausführen?
Ja. MPU-Workloads für maschinelles Lernen können auf CPU-Kernen ausgeführt werden oder integrierte Beschleuniger verwenden. Für Produktionssysteme sind Modellunterstützung, Speicherbandbreite, anhaltende Thermik und End-to-End-Latenz wichtiger als nur die Schlagzeilen-TOPS.
NPU vs. FPGA: Was ist besser für Edge AI?
Eine NPU ist in der Regel die einfachere Wahl für unterstützte neuronale Netzwerkinferenzen mit hoher Leistung pro Watt. Ein FPGA ist vorzuziehen, wenn kundenspezifische Sensorschnittstellen, deterministische Vorverarbeitung, ungewöhnliche Datenformate oder spezielle Pipelines im Mittelpunkt des Designs stehen. Viele Systeme nutzen beides.
Können Sie eine NPU-Workload auf einem FPGA ausführen?
Ein FPGA kann Beschleuniger für neuronale Netzwerke oder Inferenzpipelines implementieren, entspricht jedoch nicht automatisch einer dedizierten NPU. Der Handel umfasst programmierbare Logikressourcen, Speicher, Toolchain-Reife, Modellunterstützung, Verifizierungsaufwand und Leistung.
Wann ist die FPGA-KI-Inferenz sinnvoll?
FPGA-KI-Inferenz ist attraktiv, wenn die Inferenz eng mit deterministischer Vorverarbeitung, benutzerdefinierten Schnittstellen oder spezialisierter Datenbewegung verknüpft werden muss. Dies ist besonders nützlich, wenn eine Standard-NPU-Laufzeit nicht den Sensorpfad- oder Latenzbeschränkungen entspricht.
Technische Referenzen
- Rockchip: RKNN-Softwarekomponenten und Bereitstellungstools
- Rockchip: Beispiele für Modellkonvertierung und Inferenz
- Gallego et al.: Event-based Vision – Eine Umfrage
Das Bandbreitenbeispiel ist eine explizite Berechnung, kein Produkt-Benchmark. Validieren Sie die ausgewählte Architektur für die beabsichtigte Arbeitslast.
Partitionieren Sie Ihre echte Edge-KI-Arbeitslast.
Senden Sie die Sensorschnittstellen, den Modelltyp, die Datenraten, den Leistungsumfang und die Einsatzbeschränkungen. Wir können sie einer MPU/NPU/FPGA-Architektur und einer geeigneten Rechenmodulklasse zuordnen.
