Was ist ein Coprozessor?

click fraud protection

Im Herzen jedes Computers finden Sie die Zentralprozessor. Das Zentraleinheit ist kritische Hardware. Es führt das Betriebssystem und alle Programme auf Ihrem Computer aus. CPUs sind als Mehrzweckprozessoren konzipiert. Von Natur aus sollen sie alles können.

CPUs sind jedoch bei einigen Arten von Arbeitslasten nicht sehr gut, da ihre Allzweckhardware nicht für bestimmte Aufgaben optimiert werden kann, ohne ihre Allzwecknatur zu verlieren. Oder hoffnungslos groß, komplex und teuer werden. Außerdem kann jede CPU nur so viele Daten und Verarbeitung auf einmal verarbeiten. Ein Coprozessor ist eine zweite Verarbeitungseinheit, die explizit dafür ausgelegt ist, eines oder beide dieser Szenarien zu übernehmen.

Ein Coprozessor ist einfach eine zweite Verarbeitungseinheit innerhalb eines Computers. In manchen Szenarien kann es sich um eine zweifache physische CPU auf demselben Motherboard wie bei manchen Servern handeln. In High-Performance-Computing- und Supercomputing-Szenarien sind diese Allzweck-Coprozessoren auch auf PCIe-Zusatzkarten zu finden. Der Coprozessor konzentriert sich häufig eher auf eine bestimmte Aufgabe als auf einen Prozessor für allgemeine Zwecke. Diese aufgabenspezifischen Prozessoren können direkt an das Motherboard angeschlossen oder auf einem separaten Tochterboard wie einer PCIe-Zusatzkarte integriert werden.

Die ersten Coprozessoren

Die ersten Coprozessoren waren relativ einfach. Sie wurden entwickelt, um die E/A oder Eingabe und Ausgabe für Mainframe-Computer zu handhaben. Das Problem war, dass die I/O-Verarbeitung eine sehr zeitaufwändige Aufgabe für die CPU war. Die eigentliche Verarbeitungsaufgabe war jedoch relativ einfach. Es war also billig genug, einen Prozessor zu bauen, der damit umgehen kann. Während der Coprozessor die E/A effizient übernahm, musste die CPU einfache E/A-Parameter ausgeben, Prozessorzeit freigeben und die Systemleistung steigern.

Der ursprüngliche IBM-PC enthielt einen optionalen Gleitkomma-Arithmetik-Coprozessor. CPUs des Tages führten diese Art von Mathematik in Software durch, die langsam, aber funktional genug für die seltenen Fälle war, die von den meisten Benutzern benötigt wurden. Computergestütztes Design oder CAD-Systeme verwendeten diese Art von Mathematik jedoch ständig. Durch die Trennung der Fließkomma-Arithmetik auf einen Koprozessor wurde nicht nur die Geschwindigkeit bei Bedarf erhöht, danke zur Hardwarebeschleunigung, aber Benutzer, die sie nicht benötigten, konnten Geld sparen, indem sie ein System ohne die Koprozessor.

Letztendlich hatten diese einfachen Coprozessoren ihre Funktionen in die CPU-Architektur integriert. Dies ist teilweise ein natürliches Ergebnis der kontinuierlichen CPU-Entwicklung, hängt aber auch mit Schwierigkeiten bei der Fortsetzung der einfachen Synchronisierung bei steigenden CPU-Taktraten zusammen. Während diese CPUs und Coprozessoren bei 75 MHz gut genug liefen, würde es bei den heutigen GHz-Frequenzen zu einer massiven Zeitverzögerung, einem Stromverbrauch und Problemen mit Hochfrequenzstörungen kommen. Diese Probleme erforderten komplexere Signalisierungssysteme zwischen CPUs und modernen Coprozessoren.

Grafikkarte

Die GPU oder Graphics Processing Unit ist wahrscheinlich die bekannteste Form des Coprozessors. Sie sind so konzipiert, dass sie für die stark parallelisierbare Arbeitslast des Grafik-Renderings optimiert sind. CPUs können diese Aufgabe in Software oder mit integriertem Grafikchip übernehmen. Um die hohe Leistung moderner GPUs zu bieten, müssten sie jedoch den gesamten GPU-Die in den CPU-Die integrieren.

Dies würde die Kosten und die Komplexität einer CPU massiv erhöhen und auch die Wärmeproduktion erheblich erhöhen. Integrierte Grafikchips nehmen bereits eine beträchtliche Menge an CPU-Die-Platz ein. Sie können aufgrund ihrer Wärmeabgabe die Gesamtgeschwindigkeit der CPU reduzieren.

Soundkarte

Historisch gesehen konnten CPUs Audiosignale verarbeiten, waren aber nicht fantastisch darin. Die daraus resultierenden Audioartefakte und statischen Störungen führten zur Entwicklung von Soundkarten. Diese würden Audioeingangs- und Ausgangsports bereitstellen und die eigentliche Audioverarbeitung auf der Soundkarte selbst durchführen. Dadurch wurde die Signalisolation und die Qualität der Tonausgabe deutlich erhöht. Während einige Soundkarten immer noch im Umlauf sind, sind sie in modernen Computern als integrierte Soundverarbeitung direkt auf Motherboards völlig unnötig. CPUs sind viel besser als in der Blütezeit der Soundkarten.

NPU

Ein relativ neuer Coprozessortyp ist die NPU oder Neural Processing Unit. Diese sind darauf ausgelegt, KI-Arbeitslasten auszuführen oder zu beschleunigen. NPUs auf hohem Niveau sind GPUs ziemlich ähnlich, nur mit Optimierungen, die für KI-Workloads spezifisch sind. Da die KI-Workload-Leistung immer mehr zu einer Sache wird, die normale Benutzer auf Smartphones und Computern verwenden, werden diese wahrscheinlich häufiger vorkommen.

Integrierte Coprozessoren

Moderne CPUs integrieren viele Arten von Coprozessoren direkt in den gesamten CPU-Chip oder die Architektur. Dies ist leicht an integrierten Grafikchips zu erkennen, die in dasselbe Silizium wie der Rest der CPU geätzt sind. Die eigentliche Verarbeitung wird jedoch nicht von den CPU-Kernen durchgeführt. In AMDs Ryzen-CPUs gibt es auch einen separaten I/O-Chip, der die Kommunikation zwischen Chiplets und dem Rest des Computers übernimmt. Einige moderne mobile Geräte sind auch mit NPUs für die KI-Verarbeitung ausgestattet.

Fazit

Ein Coprozessor ist ein sekundärer, tertiärer, quaternärer usw. Prozessor in einem Computergerät, bei dem die CPU der primäre Prozessor ist. Die Anzahl der Coprozessoren in einem System ist unbegrenzt. Allerdings spielen Software-/Hardwareunterstützung, Wärmeableitung, physischer Platz und Kosten eine Rolle.

Ein Coprozessor übernimmt Aufgaben für die CPU, die die Gesamtleistung sowohl bei der spezifischen Aufgabe steigern, indem er sie in einer optimierten Weise ausführt Mode und in anderen Aufgaben, indem die Notwendigkeit für die CPU negiert wird, ihre Verarbeitungsleistung zu verschwenden, um die Aufgabe in einer nicht optimierten Weise auszuführen Mode. Im Laufe der Zeit werden viele Coprozessoren mit fortschreitender Technologie in CPUs integriert. Leistungs- und thermische Grenzen schränken dies jedoch in einigen Szenarien ein.