Digitaler Signalprozessor - Digital signal processor

Ein digitaler Signalprozessorchip TMS320 , der in einem Gitarreneffektgerät verwendet wird . Oben ist ein Quarzoszillator zu sehen.
Der NeXTcube von 1990 hatte ein Motorola 68040 (25 MHz) und einen digitalen Signalprozessor Motorola 56001 mit 25 MHz, der über eine Schnittstelle direkt ansprechbar war.

Ein digitaler Signalprozessor ( DSP ) ist ein spezialisierter Mikroprozessorchip , dessen Architektur für die Betriebsanforderungen der digitalen Signalverarbeitung optimiert ist . DSPs sind hergestellt auf MOS integrierten Schaltungschips. Sie werden häufig in der Audiosignalverarbeitung , der Telekommunikation , der digitalen Bildverarbeitung , in Radar- , Sonar- und Spracherkennungssystemen sowie in gängigen Unterhaltungselektronikgeräten wie Mobiltelefonen , Plattenlaufwerken und hochauflösenden Fernsehprodukten (HDTV) verwendet.

Das Ziel eines DSP besteht normalerweise darin, kontinuierliche analoge Signale aus der realen Welt zu messen, zu filtern oder zu komprimieren . Die meisten Allzweck-Mikroprozessoren können auch digitale Signalverarbeitungsalgorithmen erfolgreich ausführen, sind jedoch möglicherweise nicht in der Lage, mit einer solchen Verarbeitung kontinuierlich in Echtzeit Schritt zu halten. Außerdem haben dedizierte DSPs in der Regel eine bessere Energieeffizienz, sodass sie aufgrund von Einschränkungen beim Stromverbrauch besser für tragbare Geräte wie Mobiltelefone geeignet sind . DSPs verwenden oft spezielle Speicherarchitekturen , die mehrere Daten oder Befehle gleichzeitig abrufen können. DSPs implementieren oft auch Datenkomprimierungstechnologie , wobei insbesondere die diskrete Kosinustransformation (DCT) eine weit verbreitete Komprimierungstechnologie in DSPs ist.

Überblick

Ein typisches digitales Verarbeitungssystem

Digitale Signalverarbeitungsalgorithmen erfordern in der Regel eine große Anzahl von mathematischen Operationen schnell und wiederholt auf einer Reihe von Datenproben durchgeführt werden. Signale (vielleicht von Audio- oder Videosensoren) werden ständig von analog in digital umgewandelt, digital manipuliert und dann wieder in analoge Form umgewandelt. Viele DSP-Anwendungen haben Einschränkungen bezüglich der Latenz ; das heißt, damit das System funktioniert, muss die DSP-Operation innerhalb einer bestimmten Zeit abgeschlossen sein, und eine verzögerte (oder Stapel-) Verarbeitung ist nicht möglich.

Die meisten Allzweck-Mikroprozessoren und -Betriebssysteme können DSP-Algorithmen erfolgreich ausführen, sind jedoch aufgrund von Leistungseffizienzbeschränkungen nicht für die Verwendung in tragbaren Geräten wie Mobiltelefonen und PDAs geeignet. Ein spezialisierter DSP bietet jedoch tendenziell eine kostengünstigere Lösung mit besserer Leistung, geringerer Latenz und ohne Anforderungen an eine spezielle Kühlung oder große Batterien.

Solche Leistungsverbesserungen wurden in kommerziellen der Einführung der digitalen Signalverarbeitung geführt Kommunikationssatelliten in denen Hunderte oder sogar Tausende von analogen Filter, Schalter, Frequenzumrichter und so gemeinsam ist zu empfangen und die Verarbeitung uplinked Signale und bereit , sie für downlinking und kann sein durch spezialisierte DSPs ersetzt, die erhebliche Vorteile in Bezug auf Gewicht, Stromverbrauch, Komplexität/Baukosten, Zuverlässigkeit und Betriebsflexibilität der Satelliten bieten. So wurden beispielsweise die 2018 gestarteten Satelliten SES-12 und SES-14 des Betreibers SES beide von Airbus Defence and Space mit 25 % der Kapazität unter Verwendung von DSP gebaut.

Die Architektur eines DSP ist speziell für die digitale Signalverarbeitung optimiert. Die meisten unterstützen auch einige der Funktionen als Anwendungsprozessor oder Mikrocontroller, da die Signalverarbeitung selten die einzige Aufgabe eines Systems ist. Einige nützliche Funktionen zum Optimieren von DSP-Algorithmen werden im Folgenden beschrieben.

Die Architektur

Softwarearchitektur

Nach den Standards von Universalprozessoren sind DSP-Befehlssätze oft sehr unregelmäßig; Während herkömmliche Befehlssätze aus allgemeineren Befehlen bestehen, die es ihnen ermöglichen, eine größere Vielfalt von Operationen durchzuführen, enthalten für die digitale Signalverarbeitung optimierte Befehlssätze Befehle für gängige mathematische Operationen, die häufig bei DSP-Berechnungen vorkommen. Sowohl herkömmliche als auch DSP-optimierte Befehlssätze sind in der Lage, jede beliebige Operation zu berechnen, aber eine Operation, die mehrere ARM- oder x86-Befehle zur Berechnung erfordern könnte, erfordert möglicherweise nur einen Befehl in einem DSP-optimierten Befehlssatz.

Eine Implikation für die Softwarearchitektur besteht darin, dass von Hand optimierte Assembler-Code- Routinen (Assembly-Programme) üblicherweise zur Wiederverwendung in Bibliotheken gepackt werden, anstatt sich auf fortschrittliche Compiler-Technologien zu verlassen, um wesentliche Algorithmen zu handhaben. Selbst mit modernen Compiler-Optimierungen ist handoptimierter Assemblercode effizienter und viele gängige Algorithmen, die an DSP-Berechnungen beteiligt sind, sind handgeschrieben, um die architektonischen Optimierungen voll auszunutzen.

Anleitungssets

  • Multiplizieren–Akkumulieren (MACs, einschließlich fusionierter Multiply–Add , FMA) Operationen
  • zugehörige Anleitung:
  • Spezialisierte Anweisungen für die Modulo- Adressierung in Ringpuffern und den bitumgekehrten Adressierungsmodus für FFT -Querverweise
  • DSPs verwenden manchmal zeitstationäre Codierung, um die Hardware zu vereinfachen und die Codierungseffizienz zu erhöhen.
  • Mehrere arithmetische Einheiten können Speicherarchitekturen erfordern , die mehrere Zugriffe pro Befehlszyklus unterstützen – typischerweise das gleichzeitige Lesen von 2 Datenwerten von 2 separaten Datenbussen und des nächsten Befehls (aus dem Befehlscache oder einem dritten Programmspeicher).
  • Spezielle Schleifensteuerungen, wie beispielsweise Architekturunterstützung zum Ausführen einiger weniger Befehlswörter in einer sehr engen Schleife ohne Overhead für Befehlsabrufe oder Exit-Tests – wie Zero-Overhead-Schleifen und Hardware-Schleifenpuffer.

Datenanweisungen

  • Sättigungsarithmetik , bei der Operationen, die Überläufe erzeugen, sich bei den maximalen (oder minimalen) Werten akkumulieren, die das Register halten kann, anstatt umzulaufen (Maximum + 1 überläuft nicht wie in vielen Allzweck-CPUs auf das Minimum, sondern bleibt bei maximal). Manchmal sind verschiedene Sticky-Bits-Betriebsmodi verfügbar.
  • Festkommaarithmetik wird häufig verwendet, um die arithmetische Verarbeitung zu beschleunigen
  • Ein-Zyklus-Betrieb zur Steigerung der Vorteile des Pipelining

Programmablauf

Hardwarearchitektur

Hardware-Architektur bezieht sich im Engineering auf die Identifizierung der physikalischen Komponenten eines Systems und deren Zusammenhänge. Diese Beschreibung, die oft als Hardware-Design-Modell bezeichnet wird, ermöglicht Hardware-Designern zu verstehen, wie ihre Komponenten in eine Systemarchitektur passen, und liefert den Software-Komponenten-Designern wichtige Informationen, die für die Software-Entwicklung und -Integration benötigt werden. Eine klare Definition einer Hardware-Architektur ermöglicht eine effektivere Zusammenarbeit der verschiedenen traditionellen Ingenieurdisziplinen (zB Elektrotechnik und Maschinenbau) bei der Entwicklung und Herstellung neuer Maschinen, Geräte und Komponenten.

Hardware ist auch ein Begriff, der innerhalb der Computertechnik verwendet wird, um die (elektronische Computer-)Hardware explizit von der darauf laufenden Software zu unterscheiden. Aber Hardware innerhalb der Disziplinen Automatisierung und Software-Engineering muss nicht einfach nur eine Art Computer sein. Auf einem modernen Auto läuft viel mehr Software als auf der Apollo-Sonde. Außerdem können moderne Flugzeuge nicht funktionieren, ohne zig Millionen Computerbefehle auszuführen, die im Flugzeug eingebettet und verteilt sind und sowohl in Standardcomputerhardware als auch in spezialisierten Hardwarekomponenten wie IC-verdrahteten Logikgattern, analogen und hybriden Geräten und anderen digitalen Komponenten resident sind. Die Notwendigkeit, effektiv zu modellieren, wie sich separate physikalische Komponenten zu komplexen Systemen kombinieren, ist für eine Vielzahl von Anwendungen wichtig, darunter Computer, Personal Digital Assistants (PDAs), Mobiltelefone, chirurgische Instrumente, Satelliten und U-Boote.

Speicherarchitektur

DSPs sind in der Regel für das Streaming von Daten optimiert und verwenden spezielle Speicherarchitekturen, die mehrere Daten oder Befehle gleichzeitig abrufen können, wie die Harvard-Architektur oder die Modified- von-Neumann-Architektur , die separate Programm- und Datenspeicher verwenden (manchmal sogar gleichzeitiger Zugriff auf mehrere Datenbusse).

DSPs können sich manchmal auf unterstützenden Code verlassen, um Cache-Hierarchien und die damit verbundenen Verzögerungen zu kennen. Dies ist ein Kompromiss, der eine bessere Leistung ermöglicht. Darüber hinaus wird eine extensive Verwendung von DMA verwendet.

Adressierung und virtueller Speicher

DSPs verwenden häufig Multitasking-Betriebssysteme, bieten jedoch keine Unterstützung für virtuellen Speicher oder Speicherschutz. Betriebssysteme, die virtuellen Speicher verwenden, benötigen mehr Zeit für den Kontextwechsel zwischen Prozessen , was die Latenz erhöht.

Geschichte

Hintergrund

Vor dem Aufkommen von eigenständigen digitalen Signalprozessor-(DSP) -Chips wurden frühe digitale Signalverarbeitungsanwendungen typischerweise unter Verwendung von Bit-Slice- Chips implementiert . Der Bit-Slice-Chip AMD 2901 mit seiner Komponentenfamilie war eine sehr beliebte Wahl. Es gab Referenzdesigns von AMD, aber sehr oft waren die Besonderheiten eines bestimmten Designs anwendungsspezifisch. Diese Bit-Slice-Architekturen enthalten manchmal einen peripheren Multipliziererchip. Beispiele für diese Multiplikatoren waren eine Serie von TRW, einschließlich des TDC1008 und TDC1010, von denen einige einen Akkumulator enthielten, der die erforderliche Multiply-Accumulate (MAC)-Funktion bereitstellte .

Elektronische Signalverarbeitung in den 1970er Jahren durch die breite Einführung des revolutionierte MOSFET (Metall-Oxid-Halbleiter - Feldeffekttransistor, oder MOS - Transistor), MOS - integrierte Schaltungstechnologie war die Grundlage für die ersten Ein-Chip - Mikroprozessoren und Mikrocontrollern im frühen 1970er Jahre und dann die ersten Single-Chip-DSPs in den späten 1970er Jahren.

Eine weitere wichtige Entwicklung in der digitalen Signalverarbeitung war die Datenkompression . Linear Predictive Coding (LPC) wurde zuerst 1966 von Fumitada Itakura von der Nagoya University und Shuzo Saito von Nippon Telegraph and Telephone (NTT) entwickelt und dann von Bishnu S. Atal und Manfred R. Schroeder in den Bell Labs während der frühen Jahre weiterentwickelt. bis Mitte der 1970er Jahre und wurde Ende der 1970er Jahre zur Basis für die ersten DSP-Chips für Sprachsynthesizer . Die diskrete Kosinustransformation (DCT) wurde erstmals in den frühen 1970er Jahren von Nasir Ahmed vorgeschlagen und ist seitdem weit verbreitet in DSP-Chips implementiert, wobei viele Unternehmen DSP-Chips basierend auf der DCT-Technologie entwickeln. DCTs werden häufig zum Codieren , Decodieren, Videocodieren , Audiocodieren , Multiplexen , Steuersignalen, Signalisieren , Analog-Digital-Umwandlung , Formatieren von Luminanz und Farbunterschieden und Farbformaten wie YUV444 und YUV411 verwendet . DCTs werden auch für Codierungsoperationen wie Bewegungsschätzung , Bewegungskompensation , Inter-Frame- Prädiktion, Quantisierung , Wahrnehmungsgewichtung, Entropiecodierung , variable Codierung und Bewegungsvektoren sowie Decodierungsoperationen wie die inverse Operation zwischen verschiedenen Farbformaten ( YIQ , YUV und RGB ) für Anzeigezwecke. DCTs werden auch häufig für Codierer/Decodierer-Chips für hochauflösendes Fernsehen (HDTV) verwendet.

Entwicklung

1976 schlug Richard Wiggins Paul Breedlove, Larry Brantingham und Gene Frantz in der Forschungseinrichtung von Texas Instruments in Dallas das Speak & Spell- Konzept vor . Zwei Jahre später, 1978, produzierten sie den ersten Speak & Spell, wobei das technologische Herzstück der TMS5100 war , der erste digitale Signalprozessor der Branche. Es setzte auch andere Meilensteine, da es der erste Chip war, der lineare prädiktive Codierung verwendet, um Sprachsynthese durchzuführen . Der Chip wurde durch einen 7 µm PMOS- Fertigungsprozess ermöglicht .  

1978 brachte American Microsystems (AMI) den S2811 auf den Markt. Das AMI S2811 "Signal Processing Peripheral" verfügt wie viele spätere DSPs über einen Hardware-Multiplikator, der es ihm ermöglicht, Multiplikations-Akkumulations-Operationen in einem einzigen Befehl auszuführen . Der S2281 war der erste integrierte Schaltungschip, der speziell als DSP entwickelt und mit VMOS (V-Groove MOS) hergestellt wurde, einer Technologie, die zuvor nicht in Massenproduktion hergestellt wurde. Es wurde als Mikroprozessor-Peripheriegerät für das Motorola 6800 entwickelt und musste vom Host initialisiert werden. Der S2811 war auf dem Markt nicht erfolgreich.

1979 brachte Intel den 2920 als "analogen Signalprozessor" auf den Markt. Es hatte einen On-Chip-ADC/DAC mit einem internen Signalprozessor, aber es hatte keinen Hardware-Multiplikator und war auf dem Markt nicht erfolgreich.

Im Jahr 1980 wird die erste eigenständigen, komplett DSPs - Nippon Electric Corporation ist NEC μPD7720 und AT & T 's DSP1 - wurden bei der vorgestellten International Solid-State Circuits Conference '80. Beide Prozessoren wurden von der Forschung im Bereich der Telekommunikation in öffentlichen Telefonnetzen (PSTN) inspiriert . Der für Sprachbandanwendungen eingeführte µPD7720 war einer der kommerziell erfolgreichsten frühen DSPs.

Der Altamira DX-1 war ein weiterer früher DSP, der Quad-Integer-Pipelines mit verzögerten Verzweigungen und Verzweigungsvorhersage verwendet.

Ein weiterer DSP von Texas Instruments (TI), der 1983 vorgestellte TMS32010 , erwies sich als noch größerer Erfolg. Es basierte auf der Harvard-Architektur und hatte daher einen separaten Befehls- und Datenspeicher. Es hatte bereits einen speziellen Befehlssatz mit Befehlen wie Laden-und-Akkumulieren oder Multiplizieren-und-Akkumulieren. Es konnte mit 16-Bit-Zahlen arbeiten und benötigte 390 ns für eine Multiply-Add-Operation. TI ist heute Marktführer bei Allzweck-DSPs.

Ungefähr fünf Jahre später begann sich die zweite Generation von DSPs zu verbreiten. Sie hatten 3 Speicher zum gleichzeitigen Speichern von zwei Operanden und enthalten Hardware zur Beschleunigung enger Schleifen ; sie hatten auch eine Adressierungseinheit, die zur Schleifenadressierung fähig war. Einige von ihnen arbeiteten mit 24-Bit-Variablen und ein typisches Modell benötigte für einen MAC nur etwa 21 ns. Mitglieder dieser Generation waren beispielsweise die AT&T DSP16A oder das Motorola 56000 .

Die wichtigste Verbesserung in der dritten Generation war das Erscheinen von anwendungsspezifischen Einheiten und Anweisungen im Datenpfad oder manchmal als Coprozessoren. Diese Einheiten ermöglichten eine direkte Hardwarebeschleunigung sehr spezifischer, aber komplexer mathematischer Probleme, wie die Fourier-Transformation oder Matrixoperationen. Einige Chips, wie der Motorola MC68356, enthielten sogar mehr als einen Prozessorkern, um parallel zu arbeiten. Andere DSPs von 1995 sind der TI TMS320C541 oder der TMS 320C80.

Die vierte Generation zeichnet sich am besten durch die Änderungen im Befehlssatz und der Befehlscodierung/-decodierung aus. SIMD-Erweiterungen wurden hinzugefügt und VLIW und die superskalare Architektur erschienen. Wie immer haben sich die Taktraten erhöht; ein 3 ns MAC wurde nun möglich.

Moderne DSPs

Moderne Signalprozessoren bieten eine höhere Leistung; dies liegt zum Teil an technologischen und architektonischen Fortschritten wie niedrigeren Designregeln, schnell zugreifendem Zwei-Level-Cache, (E) DMA- Schaltung und einem breiteren Bussystem. Nicht alle DSPs bieten die gleiche Geschwindigkeit, und es gibt viele Arten von Signalprozessoren, von denen jeder für eine bestimmte Aufgabe besser geeignet ist, und der Preis liegt zwischen etwa 1,50 US-Dollar und 300 US-Dollar.

Texas Instruments produziert die DSPs der C6000- Serie, die Taktraten von 1,2 GHz haben und separate Befehls- und Daten-Caches implementieren. Sie verfügen außerdem über einen 8 MiB 2nd Level Cache und 64 EDMA-Kanäle. Die Top-Modelle sind in der Lage bis zu 8000 MIPS ( Millionen von Befehlen pro Sekunde ), verwenden VLIW ( sehr langes Befehlswort ), führen acht Operationen pro Taktzyklus durch und sind kompatibel mit einer breiten Palette externer Peripheriegeräte und verschiedenen Bussen (PCI /seriell/etc). TMS320C6474-Chips verfügen jeweils über drei solcher DSPs, und die C6000-Chips der neuesten Generation unterstützen sowohl Gleitkomma- als auch Festkomma-Verarbeitung.

Freescale produziert eine Multicore-DSP-Familie, den MSC81xx. Der MSC81xx basiert auf StarCore Architecture-Prozessoren und der neueste MSC8144 DSP kombiniert vier programmierbare SC3400 StarCore DSP-Kerne. Jeder SC3400 StarCore DSP-Kern hat eine Taktfrequenz von 1 GHz.

XMOS produziert eine Multi-Core-Multi-Threaded-Prozessorlinie, die sich gut für DSP-Operationen eignet. Sie sind in verschiedenen Geschwindigkeiten von 400 bis 1600 MIPS erhältlich. Die Prozessoren verfügen über eine Multi-Thread-Architektur, die bis zu 8 Echtzeit-Threads pro Kern ermöglicht, was bedeutet, dass ein 4-Kern-Gerät bis zu 32 Echtzeit-Threads unterstützen würde. Threads kommunizieren untereinander über gepufferte Kanäle, die bis zu 80 Mbit/s erreichen können. Die Bausteine ​​sind einfach in C programmierbar und sollen die Lücke zwischen herkömmlichen Mikrocontrollern und FPGAs schließen

CEVA, Inc. produziert und lizenziert drei verschiedene DSP-Familien. Die vielleicht bekannteste und am weitesten verbreitete ist die CEVA-TeakLite DSP-Familie, eine klassische speicherbasierte Architektur mit 16-Bit- oder 32-Bit-Wortbreiten und Single- oder Dual- MACs . Die CEVA-X DSP-Familie bietet eine Kombination aus VLIW- und SIMD-Architekturen, wobei verschiedene Mitglieder der Familie Dual- oder Quad-16-Bit-MACs anbieten. Die CEVA-XC DSP-Familie zielt auf Software-Defined Radio (SDR) -Modemdesigns ab und nutzt eine einzigartige Kombination von VLIW- und Vector-Architekturen mit 32 16-Bit-MACs.

Analog Devices produziert den SHARC- basierten DSP und reicht im Leistungsbereich von 66 MHz/198 MFLOPS (Millionen Gleitkommaoperationen pro Sekunde) bis 400 MHz/2400 MFLOPS. Einige Modelle unterstützen mehrere Multiplikatoren und ALUs , SIMD- Befehle und Audioverarbeitungs-spezifische Komponenten und Peripheriegeräte. Die Blackfin- Familie eingebetteter digitaler Signalprozessoren kombiniert die Funktionen eines DSP mit denen eines Allzweckprozessors. Als Ergebnis können diese Prozessoren einfache Betriebssysteme wie μCLinux , Velocity und Nucleus RTOS ausführen , während sie mit Echtzeitdaten arbeiten.

NXP Semiconductors produziert DSPs basierend auf der TriMedia VLIW- Technologie, optimiert für die Audio- und Videoverarbeitung. In einigen Produkten ist der DSP-Kern als fester Funktionsblock in einem SoC versteckt , aber NXP bietet auch eine Reihe flexibler Single-Core-Medienprozessoren. Die TriMedia-Medienprozessoren unterstützen sowohl Festkommaarithmetik als auch Gleitkommaarithmetik und verfügen über spezifische Anweisungen zum Umgang mit komplexen Filtern und Entropiecodierung.

CSR produziert die Quatro-Familie von SoCs, die einen oder mehrere benutzerdefinierte Imaging-DSPs enthalten, die für die Verarbeitung von Dokumentbilddaten für Scanner- und Kopieranwendungen optimiert sind.

Microchip Technology produziert die PIC24-basierte dsPIC-Reihe von DSPs. Der dsPIC wurde 2004 eingeführt und wurde für Anwendungen entwickelt, die einen echten DSP sowie einen echten Mikrocontroller benötigen , z. B. in der Motorsteuerung und in Netzteilen. Der dsPIC läuft mit bis zu 40 MIPS und unterstützt 16-Bit-Festkomma-MAC, Bit-Reverse- und Modulo-Adressierung sowie DMA.

Die meisten DSPs verwenden Festkomma-Arithmetik, da in der realen Signalverarbeitung der durch Gleitkomma bereitgestellte zusätzliche Bereich nicht benötigt wird und aufgrund der reduzierten Hardwarekomplexität ein großer Geschwindigkeits- und Kostenvorteil besteht. Gleitkomma-DSPs können in Anwendungen von unschätzbarem Wert sein, bei denen ein großer Dynamikbereich erforderlich ist. Produktentwickler können auch Gleitkomma-DSPs verwenden, um die Kosten und die Komplexität der Softwareentwicklung im Austausch für teurere Hardware zu reduzieren, da es im Allgemeinen einfacher ist, Algorithmen in Gleitkomma zu implementieren.

Im Allgemeinen sind DSPs dedizierte integrierte Schaltkreise; DSP-Funktionalität kann jedoch auch unter Verwendung von feldprogrammierbaren Gate-Array- Chips (FPGAs) erzeugt werden.

Eingebettete Allzweck-RISC-Prozessoren werden in der Funktionalität zunehmend DSP-ähnlich. Zu den OMAP3- Prozessoren gehören beispielsweise ein ARM Cortex-A8 und ein C6000 DSP.

In der Kommunikation findet eine neue Generation von DSPs, die die Fusion von DSP-Funktionen und H/W-Beschleunigungsfunktion bietet, ihren Weg in den Mainstream. Solche Modemprozessoren umfassen ASOCS ModemX und CEVAs XC4000.

Im Mai 2018 wurde Huarui-2, das vom Nanjing Research Institute of Electronics Technology der China Electronics Technology Group entworfen wurde , akzeptiert. Mit einer Verarbeitungsgeschwindigkeit von 0,4 TFLOPS kann der Chip eine bessere Leistung erzielen als aktuelle Mainstream-DSP-Chips. Das Designteam hat mit der Entwicklung von Huarui-3 begonnen, das eine Verarbeitungsgeschwindigkeit auf TFLOPS-Niveau und eine Unterstützung für künstliche Intelligenz hat .

Siehe auch

Verweise

Externe Links