# Koprozessor

Ein Koprozessor (auch Co-Prozessor oder Coprozessor) ist ein zusätzlicher Mikroprozessor, der den Hauptprozessor (CPU) bei seiner Arbeit unterstützt. Koprozessoren können bspw. mathematische sowie Gleitkomma-Operationen, Grafikoperationen, Signalverarbeitung, I/O-Verarbeitung oder Kryptographie ausführen. Dazu zählen mathematische Koprozessoren, Grafikprozessoren und I/O-Prozessoren. Koprozessoren sollen den Hauptprozessor entlasten und durch eine speziell auf die Aufgabe abgestimmte Architektur Arbeit abnehmen. Sie können die Leistung des Systems in ihrem Aufgabengebiet erhöhen und zu einer Stromeinsparung führen.

## Mathematische Koprozessoren

Ein mathematischer Koprozessor (oft auch Gleitkommaeinheit) übernimmt die Berechnungen von Gleitkommazahlen für den Hauptprozessor. Moderne Prozessoren benötigen hierfür keinen Koprozessor mehr, da sie eine Gleitkommaeinheit integriert haben. Einer der ersten Arithmetik-Co-Prozessoren war der AMD AM9511, der als peripherer Baustein vom Mikroprozessor angesprochen wurde.
Bekannte Vertreter dieser Gattung waren die mathematischen Gleitkomma-Koprozessoren Intel 8087, Intel 80287 und Intel 80387, da sie in den 1980er Jahren, als sie auf den Markt kamen, als Zubehör erworben werden mussten. Die zugehörigen CPUs hatten noch keine eingebaute Gleitkommaeinheit, so dass Gleitkommaberechnungen durch aufwändige Softwareroutinen durchgeführt werden mussten, was deutlich langsamer war als Gleitkommaberechnungen in Hardware. Viele Programme wurden daher für Festkommaarithmetik entwickelt, da diese durch die Arithmetisch-logische Einheit (ALU) effizient implementiert werden kann. Mit dem i486 wurden x86-CPUs mit einer eingebauten Gleitkommaeinheit ausgestattet, so dass der Koprozessor überflüssig wurde. In der abgespeckten Low-Cost-Version 486SX war die Gleitkommaeinheit zwar auf dem Die vorhanden, jedoch deaktiviert und nicht funktionsfähig.
Koprozessoren für andere Systeme sind Motorolas 68881 oder 68882. Historisch relevante Hersteller sind des Weiteren Cyrix, IIT und Weitek.

## Koprozessoren in der I/O-Verarbeitung

Koprozessoren dienen auch zur I/O-Verarbeitung. Ein I/O-Prozessor; gelegentlich auch E/A-Prozessor (englisch I/O processor, IOP) ist ein Koprozessor, der den zentralen Hauptprozessor darin unterstützt, Ein- und Ausgabeoperationen zu verarbeiten. Dazu werden Daten von Peripheriegeräten wie Drucker, Scanner, Bildschirm, Maus, oder aus Speichermedien wie Magnetbändern, Disketten oder Festplatten ausgelesen und in den Speicher geschrieben (= Speicherdirektzugriff (DMA)). Mithilfe von I/O-Prozessoren besteht ebenfalls die Möglichkeit, die ausgelesenen Daten zu verarbeiten. Beispiele sind die Intel-Prozessoren Intel 8089, IOP 341/342, MCS-48 oder UPI-41 (Universal Peripheral Interface) sowie der Apple M7, der Daten von Bewegungssensoren des Apple iPhone 5s unabhängig von einer Haupt-CPU erfasst, aufbereitet und zwischenspeichert und damit stromsparend wirkt.

## DSP

Als Koprozessoren gelten auch Prozessoren zur digitalen Signalverarbeitung (DSPs) wie der Motorola 56001 oder der AT&T 3210. In jüngerer Zeit machte der PhysX-Koprozessor von Ageia zum schnellen Berechnen von dreidimensionalen physikalischen Effekten auf sich aufmerksam.