SpracheEnglishDeutsch
Industrieelektronik

Koprozessor

Englisch: coprocessor

Zusätzlicher Mikroprozessor zur Ergänzung der Funktionalität der Zentral-Prozessoreinheit, der Aufgaben wie Fließkommaarithmetik (Floating-Point Unit) oder Grafikberechnungen (Graphics Processing Unit) durchführt.

Koprozessor: spezialisierte CPU für rechenintensive Aufgaben

Ein Koprozessor ist ein sekundärer Mikroprozessor, der zusammen mit der Haupt-CPU arbeitet und spezifische Rechenlast übernimmt, die der Hauptprozessor entweder nicht effizient oder gar nicht verarbeiten kann. In industriellen Steuerungssystemen und eingebetteter Elektronik wurden Koprozessoren unverzichtbar für Echtzetvorgänge, bei denen eine einzelne CPU zum Engpass würde. Die häufigsten Typen sind Gleitkommaeinheiten (FPU) für mathematische Berechnungen und Grafikprozessoren (GPU) für Bildverarbeitung, wobei es auch spezialisierte Koprozessoren für Signalverarbeitung, Kryptographie und Bewegungssteuerung gibt.

Historisch entstanden Koprozessoren, weil frühe Mikroprozessoren keine spezialisierten Schaltkreise für andere Operationen als ganzzahlige Arithmetik hatten. Ein 16-Bit-Industrie-Controller, der Sensordaten verarbeitet, könnte für eine einzelne Gleitkomma-Division 200 oder mehr Taktzyklen benötigen; eine FPU-Koprozessor-Einheit konnte dieselbe Operation in 10 bis 40 Zyklen durchführen. Der Intel 8087, 1980 freigegeben, war wohl der einflussreichste FPU-Koprozessor und wurde in Fabrikautomation und Messsystemen zusammen mit der 8086-CPU eingesetzt. Daten wurden zwischen der Haupt-CPU und dem Koprozessor über dedizierte Busse oder gemeinsamer Speicher übertragen, wobei die CPU als Koordinator fungierte und der Koprozessor warteschlangen-gesteuerte Befehle parallel ausführte.

Integration und moderne Formen

Heute sind Koprozessoren häufig direkt in denselben Silizium-Chip wie die Haupt-CPU integriert, was die physikalische Unterscheidung verwischt, aber die funktionale Trennung beibehält. Eine moderne Industrie-SPS kann sowohl einen universellen CPU-Kern als auch einen dedizierten Echtzeitreaktion-Bewegungssteuerungs-Koprozessor enthalten; beide arbeiten unabhängig, nutzen aber gemeinsamen Cache und Speicher. Externe Koprozessoren erscheinen noch in Spezialanwendungen: Bildverarbeitungssysteme verwenden Steckkarten-GPU-Beschleuniger; kryptographische Hardware-Sicherheitsmodule fungieren als Koprozessoren in vernetzten Industriegeräten, die Schlüsselgenerierung oder digitale Signierung in großem Maßstab erfordern.

Die Hauptherausforderung beim Koprozessor-Design ist der Kommunikationsaufwand. Wenn die CPU mehr Zeit mit Datenvorbereitung für und von dem Koprozessor verbringt als sie durch die Auslagern der Aufgabe spart, verschlechtert sich die Leistung tatsächlich. Deshalb funktionieren Koprozessoren am besten bei großen Mengen homogener Daten wie der Verarbeitung eines kompletten Bildrahmens oder der Ausführung iterativer Berechnungen auf Zahlenfeldern. Sporradische Einzelberechnungen laufen dagegen möglicherweise schneller allein auf der Haupt-CPU.

Ausfallmuster von Koprozessoren unterscheiden sich von CPU-Ausfallmustern, weil sie halbunabhängig arbeiten. Eine blockierte FPU kann über Monate falsche Ergebnisse liefern und Sollwertberechnungen in einem Temperaturregler verfälschen; anders als ein vollständiger CPU-Lockup läuft das System weiter. Industriesysteme enthalten daher oft Koprozessor-Selbsttests beim Hochfahren und periodische Laufzeitprüfung kritischer Berechnungen, besonders in sicherheitskritischen Anwendungen wie Verbrennungssteuerung oder Bewegungssicherungssystemen, wo numerische Fehler physische Folgen haben können.

Mehr aus Industrial electronics

Alle ansehen

Get the Word of the Day

One industrial term every day, with the trade it belongs to and why it is worth knowing. No advertising.