In einem Einzelprozessorsystem können „Prozessor und Gerät“, „Prozessor und Kanal“ und „Gerät und Gerät“ parallelisiert werden. Die Bildung moderner Betriebssysteme ist das Ergebnis von Kanälen, die unabhängig von der CPU Eingaben und Ausgaben steuern können. Daher kann der Kanal gleichzeitig E/A-Operationen ausführen und Kanal sind parallel; Wenn der Prozessor in Betrieb ist, können die Peripheriegeräte gleichzeitig Eingabe-/Ausgabevorgänge ausführen, sodass der Prozessor und das Gerät parallelisiert werden können.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
Ein Computersystem, das nur einen Rechenprozessor enthält, wird als Einprozessorsystem bezeichnet.
In einem Einzelprozessor-Computersystem gibt es höchstens 1 Laufzustand und mindestens 0; es gibt höchstens N Wartezustände und mindestens N-1 und höchstens N-1 und mindestens 0 Bereitschaftszustände.
Das Einprozessorsystem verfügt nur über eine Befehlspipeline und eine multifunktionale Betriebskomponente, die pro Taktzyklus einen Befehl „abruft“ und „analysiert“. Bei vielen Pipeline-Prozessoren beträgt die Anzahl der Pipeline-Stufen in der Befehlspipeline k=4; sie zerlegt den Ausführungsprozess eines Befehls hauptsächlich in vier Phasen: „Anweisungen abrufen“, „Analysieren“, „Ausführen“ und „Ergebnisse schreiben“. Die von der Anweisung auszuführende Funktion wird hauptsächlich in der multifunktionalen Bedienkomponente ausgeführt und im Abschnitt „Ausführung“ abgeschlossen. Die multifunktionalen Betriebskomponenten der meisten Pipeline-Prozessoren nehmen eine Pipeline-Struktur an. Einige einfache Anweisungen können im Pipeline-Segment „Ausführung“ in nur einem Taktzyklus abgeschlossen werden, während komplexere Anweisungen häufig mehrere Taktzyklen erfordern. Darüber hinaus gibt es auch die Auswirkungen der bedingten Übertragung usw. Daher beträgt die durchschnittliche Anzahl der von einem allgemeinen Pipeline-Skalarprozessor pro Taktzyklus ausgeführten Befehle weniger als 1, d. h. seine Befehlsebenenparallelität ILP < 1.
In einem Einzelprozessorsystem können Folgendes parallelisiert werden: Prozessor und Gerät, Prozessor und Kanal, Gerät und Gerät; Prozesse können jedoch nicht parallelisiert werden,
In einem Einzelprozessorsystem zur Verbesserung Systemeffizienz: Mehrere Prozesse in unterschiedlichen Zuständen werden im Speicher gehalten (dies wird als gleichzeitige Ausführung von Prozessen bezeichnet), aber nur ein Prozess belegt gleichzeitig den Prozessor, sodass die Prozesse nicht parallel sind Betriebssysteme sind das Ergebnis von Kanälen, die Ein- und Ausgänge unabhängig von der CPU steuern können. Daher können beide Vorgänge gleichzeitig ausgeführt werden. ;
Wenn der Prozessor in Betrieb ist, können die Peripheriegeräte gleichzeitig Ein-/Ausgabevorgänge ausführen, sodass auch Parallelität erzeugt wird;
Natürlich können Geräte auch parallelisiert werden.
Frühe Computersysteme waren sequentielle Verarbeitungsmaschinen, die auf einem einzelnen Prozessor basierten. Programmierer schreiben Code für die serielle Ausführung und lassen ihn seriell auf der CPU ausführen. Sogar die Ausführung jeder Anweisung erfolgt seriell (Anweisungen abrufen, Operanden abrufen, Operationen ausführen und Ergebnisse speichern). Um die Geschwindigkeit der Computerverarbeitung zu verbessern, wurden zunächst das Lenovo-Speichersystem und das Pipeline-System entwickelt. Ersteres schlug die Idee der datengesteuerten Ausführung vor, und letzteres löste das Problem der seriellen Ausführung von Anweisungen die anfängliche Entwicklung der Computerparallelität. Mit der Weiterentwicklung der Hardwaretechnologie hat sich die Parallelverarbeitungstechnologie rasant weiterentwickelt. Computersysteme sind nicht mehr auf einzelne Prozessoren und einzelne Datenströme beschränkt, und es wurden verschiedene parallele Strukturen angewendet. Derzeit lassen sich Computersysteme in die folgenden 4 Kategorien einteilen.
(1) Single Instruction Stream Single Data Stream (SISD). Ein Prozessor führt einen einzelnen Befehlsstrom für Daten im Speicher aus.
(2) Single Instruction Multiple Data Stream (SIMD). Ein einzelner Befehlsfluss steuert die gleichzeitige Ausführung mehrerer Verarbeitungseinheiten. Jede Verarbeitungseinheit umfasst einen Prozessor und einen zugehörigen Datenspeicher. Ein Befehl steuert tatsächlich verschiedene Prozessoren, um unterschiedliche Daten zu verarbeiten. Vektormaschinen und Array-Maschinen sind Vertreter dieser Art von Computersystemen.
(3) Multiple Instruction Stream Single Data Stream (MISD). Ein Datenstrom wird an eine Gruppe von Prozessoren übertragen und die Verarbeitungsergebnisse werden schließlich durch verschiedene Befehlsoperationen dieser Gruppe von Prozessoren erhalten. Die Forschung an einem solchen Computersystem befindet sich noch im Laborstadium.
(4) Multiple Instruction Stream Multiple Data Stream (MIMD). Mehrere Prozessoren führen gleichzeitig unterschiedliche Befehlsströme für unterschiedliche Datensätze aus. MIMD-Systeme können in zwei Kategorien unterteilt werden: eng gekoppelte MIMD-Systeme mit gemeinsam genutztem Speicher und lose gekoppelte MIMD-Systeme mit verteiltem Speicher.
Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ
“!Das obige ist der detaillierte Inhalt vonWas kann in einem Einprozessorsystem parallelisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!