Coprozessor: Architektur, Arbeitsweise, Typen und Anwendungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In einem Mikroprozessor Chip, neue Schaltkreise werden hinzugefügt, um spezielle Aufgaben zu erfüllen, und auch Operationen mit Zahlen, um die CPU-Kernarbeit zu entlasten, so dass die CPU sehr schnell arbeiten kann. Ein zusätzlicher Prozessor wie ein Coprozessor wird hauptsächlich in Computern verwendet, um spezielle Aufgaben wie grafische Anzeigeverarbeitung und umfangreiche arithmetische Berechnungen zu erfüllen. Dieser Prozessor ist so konzipiert, dass er solche Aufgaben im Vergleich zur CPU sehr effizient ausführt, wodurch die Gesamtgeschwindigkeit des Computers erhöht werden kann. Dieser Artikel beschreibt einen Überblick über a Koprozessor –Architektur, Arbeiten & ihre Anwendungen.


Was ist Coprozessor?

Ein Prozessor, der mit dem Hauptprozessor eines Computers wie der CPU Seite an Seite arbeitet, wird als Coprozessor bezeichnet. Dieser Prozessor wird auch als zusätzlicher Computerprozessor bezeichnet. Durch die Verwendung dieses Prozessors können einige schwierige mathematische Berechnungen durchgeführt werden, wie z. B. die auf dem Bildschirm angezeigten Grafiken, Signalverarbeitung, Zeichenfolgenverarbeitung, Gleitkommaarithmetik, Eingabe-Ausgabe-Schnittstellen usw.



  Coprozessor
Coprozessor

Coprozessor-Architektur

Die Coprozessor-ähnliche 8087-Architektur ist unten gezeigt. Im Allgemeinen arbeitet dieser Coprozessor parallel mit dem Mikroprozessor. Dieser Coprozessor wurde von Intel entwickelt und mit 16-Bit-Mikroprozessoren der 8086-Familie verwendet. Wenn der Prozessor in Kombination mit dem Mikroprozessor arbeitet, wird der Berechnungsteil einfach durch den Prozessor gehandhabt und dies ermöglicht der CPU, die Ressourcen zu nutzen, um verschiedene andere Aktivitäten auszuführen.

Die folgende Abbildung zeigt die Architektur des 8087-Coprozessors. Diese Architektur umfasst zwei Haupteinheiten wie eine Steuereinheit und eine numerische Ausführungseinheit, die auch als NEU bezeichnet wird.



  8087-Coprozessor-Architektur
8087-Coprozessor-Architektur

In der Steuereinheit gibt es verschiedene Einheiten wie Datenpuffer, Steuer- und Statuswortregister, gemeinsame Operandenwarteschlange, Ausnahmezeiger und Adressierungs- und Busverfolgungseinheit. Die Numeric Execution Unit oder NEU umfasst hauptsächlich eine Mikrocode-Steuereinheit, einen Registerstapel, einen programmierbaren Schieber, temporär registriert , Arithmetikmodul, Exponentenmodul und gemeinsam genutzte Operandenwarteschlange.

Die Steuereinheit im Coprozessor soll die Befehlsausführung (IE) steuern, wofür die Numeric Execution Unit zuständig ist. Meistens erhält die Mikrocode-Steuereinheit (CU) der numerischen Ausführungseinheit die numerischen Anweisungen von der Steuereinheit des Coprozessors. Dieser Koprozessor hat vollständige 8 Register mit 80 Bits, und jedes davon wird im LIFO-Stapel verwendet. Die Operanden, über die die Coprozessorbefehle auftreten werden, existieren im Registerstapel.

  PCBWeg

Der vorhandene Stapel wird durch den 3-Bit-SP (Stapelzeiger) gezeigt, der die Binärwerte enthält, die von 000 bis 111 reichen, um die 8 Stapelregister anzuzeigen. Es arbeitet im LIFO-Modus innerhalb eines kreisförmigen Stapels. Aber sobald die Reset-Aktion auftritt, kann der Zeiger durch den Binärwert „000“ initialisiert werden.

Die drei Klassifikationen der numerischen Daten, auf denen die Coprozessorfunktionen basieren, sind gepackte Dezimalzahlen, reelle Zahlen und binäre ganze Zahlen. Die binären Ganzzahlen sind drei Typen: 16-Bit-Wort-Ganzzahl, 32-Bit-Kurzzahl und 64-Bit-Langzahl. Das 80-Bit-BCD-Format bezeichnet die gepackten Dezimalzahlen, während reelle Zahlen 3 Typen sind; 32-Bit-Short-Real, 64-Bit-Long-Real und 80-Bit-Temporary-Real.

Zur Übertragung der numerischen Daten im Coprozessor entweder a Es wird ein 16-Bit-Exponentenbus oder ein 64-Bit-Mantissenbus verwendet . Der Coprozessor enthält ein 16-Bit-Steuerwort und ein 16-Bit-Statuswort.

Das Steuerwort wird in das Steuerregister geschrieben und dies geschieht so, dass der Coprozessor zunächst das Steuerwort in die Speicherstelle schreibt. Danach liest der Coprozessor einfach das Steuerwort unter Verwendung der Speicherstelle und speichert es im Steuerregister.

In ähnlicher Weise wird das Statuswort so gelesen, dass der Prozessor die Daten im Statusregister zu einer Speicherstelle sendet. Außerdem liest dieser Coprozessor das Statusregister aus dieser spezifischen Speicherstelle. Das bedeutet also, dass der Prozessor und der Mikroprozessor über den Hauptspeicher miteinander kommunizieren.

Wie funktioniert Coprozessor?

Der Coprozessor ist hauptsächlich dafür ausgelegt, sowohl mit dem 8086- als auch mit dem 8088-Prozessor zu arbeiten. Der Coprozessor wird verwendet, um dem System zu helfen, leistungsfähiger zu laufen, indem bestimmte CPU-Aufgaben entlastet werden. Sobald dieser Prozessor in Kombination mit dem Mikroprozessor arbeitet, werden die Anweisungen sowohl des Mikroprozessors als auch des Coprozessors integriert, während das Programm geschrieben wird. Der Anfang von Anweisungen im Assemblersprachenprogramm hat ein „F“, das die Anweisungen des Coprozessors darstellt, während die Anweisungen ohne ein „F“-Präfix die Anweisungen des Mikroprozessors zeigen.

Zuerst werden die Befehle vom Mikroprozessor aus der Speicherposition abgerufen und nacheinander in die Warteschlange geladen. Gleichzeitig liest und speichert der 8087-Coprozessor auch die Befehle in einer internen Warteschlange. Das bedeutet also, dass jede einzelne Anweisung sowohl durch den Coprozessor als auch durch den Prozessor gelesen werden kann, aber zur Ausführungszeit können sowohl der Coprozessor als auch der Mikroprozessor die Ausführung ihrer jeweiligen Anweisungen ausführen. Das bedeutet, dass die Anweisung gelesen und dekodiert wird. Wenn der Mikroprozessor prüft, ob ein Befehl des Coprozessors vorhanden ist, wird dieser Befehl dann als Nicht-Operation behandelt. Wenn sich dieser Coprozessor über irgendeinen Befehl des Mikroprozessors nähert, wird dies in ähnlicher Weise als keine Operation behandelt.

Arten von Coprozessoren

Je nach Hersteller sind verschiedene Coprozessoren wie die folgenden verfügbar.

Intel 8087 Coprozessor

Intel 8087 ist ein speziell entwickelter Co-Prozessor, der verwendet wird, um mathematische Berechnungen durchzuführen, die Fließkomma- und Ganzzahlwerte enthalten. Manchmal wird es auch als numerischer Datenprozessor und mathematischer Prozessor bezeichnet. Dies ist ein numerischer Co-Prozessor für Intel 80188-, 8086-, 80186- und 8088-Prozessoren. Der 8087-Coprozessor enthält acht allgemeine 80-Bit-Register, die als Stapel ausgeführt werden. Alle Gleitkommaoperationen werden also einfach mit Daten aus dem Stack und aus dem externen Speicher durchgeführt.

  Intel 8087 Coprozessor
Intel 8087 Coprozessor

Der Intel 8087 Co-Prozessor unterstützt einfach BCD, Integer, Gleitkommazahlen mit einfacher und doppelter Genauigkeit sowie Gleitkommazahlen mit erweiterter Genauigkeit. Sobald der 8087-Prozessor Daten aus dem Speicher lädt, konvertiert er intern, um die Genauigkeitszahl zu erweitern, und außerdem werden alle Berechnungen über diese Zahl durchgeführt.

Wechseln Sie also von einer Zahl mit doppelter Genauigkeit zu einer Zahl mit einfacher Genauigkeit, ansonsten von 64-Bit-Ganzzahlen – 32-Bit/16-Bit-Ganzzahlen geben keine signifikante Leistungssteigerung. 8087-Koprozessoren wurden nicht nur von Intel hergestellt, sondern auch AMD, Cyrix und IBM stellen diese Koprozessoren her.

Motorola 68881

Motorola 68881 ist ein Koprozessor, der hauptsächlich mit der 2. Generation von Motorola 68K verwendet wird Mikroprozessoren wie Motorola 68030 & 68020. Theoretisch wird dieser Coprozessor mit früheren 68000- oder 68010-CPUs als Peripheriegerät verwendet.

  Motorola 68881
Motorola 68881

Der Motorola 68881 Co-Prozessor funktioniert einfach wie ein speicherabgebildetes Gerät. Sobald die Haupt-CPU die Anweisung des Coprozessors lädt, schreibt sie den Anweisungscode in CIR (Coprozessor-Schnittstellenregister), die im Adressraum der CPU abgebildet sind, und liest danach die Antwort der Koprozessor von einem der CIR-Register.

Die Motorola 68881/68882-Coprozessoren wurden in den IBM RT-PC-Workstations, Sun Microsystems Sun-3-Workstations, NeXT Computer, der Apple Computer Macintosh II-Familie, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE und Falcon verwendet. Diese Prozessoren werden auch in einigen Atari- und Amiga-Produkten von Drittanbietern verwendet, z. B. in einem speicherabgebildeten Gerät für den 68000.

Apple Motion Coprozessoren

Die Coprozessoren der M-Serie von Apple sind als Bewegungscoprozessoren bekannt, die in Apple-Mobilgeräten verwendet werden. Der erste Coprozessor wurde 2013 entworfen und verwendet, um Sensordaten von integrierten Gyroskopen, Beschleunigungsmessern und Kompassen zu sammeln und die gesammelten Sensordaten mithilfe der Haupt-CPU abzuladen.

  Apple Motion Coprozessoren
Apple Motion Coprozessoren

Die Apple-Coprozessoren der M-Serie erfassen, verarbeiten und speichern einfach die Daten des Sensors, selbst wenn das Gerät im Ruhezustand ist, und Anwendungen können Daten wiederherstellen, sobald das Gerät wieder eingeschaltet wird. Dadurch wird die vom Gerät gezogene Leistung verringert und die Lebensdauer der Batterie verlängert.

Unterschied zwischen Prozessor und Coprozessor

Der Unterschied zwischen Prozessor und Coprozessor umfasst Folgendes.

Prozessor

Coprozessor

Der Prozessor ist die Hauptverarbeitungseinheit im Computer, die verschiedene arithmetische, logische und Steueroperationen basierend auf den Anweisungen ausführt. Der Coprozessor ist ein spezieller Prozessor, der den Hauptprozessor unterstützt.

Der Prozessor kümmert sich um alle Hauptarbeiten

Der Koprozessor kümmert sich nur um einige andere Dinge wie Grafiken und arithmetische Berechnungen.
Es verarbeitet logische Operationen und mathematische Berechnungen und generiert Steuersignale an andere Komponenten zur Synchronisierung der Aufgaben. Es führt Signalverarbeitung, mathematische Operationen, Vernetzung und Kryptografie basierend auf dem Typ durch.
Der Prozessor hält die ordnungsgemäße Funktion des gesamten Computers aufrecht. Dieser Prozessor trägt zur Leistungssteigerung des Systems bei und entlastet die CPU von schweren Aufgaben.

Vorteile

Zu den Vorteilen eines Coprozessors gehören die folgenden.

  • Der Co-Prozessor erledigt einfach spezialisiertere Aufgaben schneller als die Kern-CPU
  • Diese Prozessoren sind einfach zu bedienen und am beliebtesten.
  • Es verringert die Belastung des Mikroprozessors, indem es spezielle Verarbeitungsaufgaben von der CPU übernimmt, sodass es mit einer höheren Geschwindigkeit läuft.
  • Dieser Prozessor ist hilfreich bei der Erweiterung der Verarbeitungsfunktionen der CPU, indem der Befehlssatz erweitert oder Konfigurationsregister angeboten werden.

Nachteile

Zu den Nachteilen von Coprozessoren gehören die folgenden.

  • Der Coprozessor ist nicht in der Lage, Anweisungen aus dem Speicher wiederherzustellen, Anweisungen direkt auszuführen, Speicher zu verwalten, I/O-Operationen durchzuführen
  • Es hängt vom Hauptprozessor ab, Coprozessoranweisungen wiederzuerlangen und sich um alle anderen Operationen zu kümmern, die nicht mit dem Coprozessor zusammenhängen.
  • Dies ist nicht der Hauptprozessor des Systems.
  • Der Coprozessor kann nicht ohne den Hauptmikroprozessor arbeiten.

Anwendungen

Die Anwendungen von Coprozessoren umfassen die folgenden.

  • Der Co-Prozessor wird verwendet, um einige der spezialisierteren Aufgaben auszuführen, wie beispielsweise die grafische Anzeigeverarbeitung oder komplexe mathematische Berechnungen.
  • Ein Co-Prozessor wird einfach verwendet, um die CPU eines Computers zu entlasten.
  • Dieser Prozessor arbeitet mit der CPU des Computers Seite an Seite.
  • Dieser Prozessor führt mathematische Operationen auf hoher Ebene im Vergleich zum Hauptprozessor viel schneller aus, wie Wurzeln, Logarithmen, Trigonometriefunktionen usw.
  • Ein Coprozessor erweitert die Funktionen des Primärprozessors.
  • Der Coprozessor führt verschiedene Operationen aus, wie Signalverarbeitung, Gleitkommaarithmetik, Zeichenfolgenverarbeitung, Grafik, I/O-Schnittstellen durch Peripheriegeräte, Kryptografie usw.
  • Diese Prozessoren sind eigenständige Chips in früheren Desktop-Computern, die mit der Hauptplatine verbunden waren.
  • Ein Coprozessor übernimmt die CPU-Aufgaben zur Steigerung der Gesamtleistung.

Das ist also eine Übersicht über einen Coprozessor – Arbeiten und seine Anwendungen. Dieser Prozessor wird auch als mathematischer Prozessor bezeichnet. Ein Coprozessor führt verschiedene Aufgaben im Vergleich zur Kern-CPU sehr viel schneller aus. Somit erhöht sich die Gesamtgeschwindigkeit des Computersystems. Dieser Prozessor kann an einen ARM-Prozessor angeschlossen werden. Sobald es hinzugefügt ist, müssen wir den Befehlssatz der Core-CPU erhöhen oder konfigurierbare Register zur Erhöhung der Verarbeitungsleistung hinzufügen. Hier ist eine Frage an Sie, was ist ein Mikroprozessor?