Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wozu dient Prozessor-Multithreading?

Wozu dient Prozessor-Multithreading?

anonymity
anonymityOriginal
2019-05-06 17:15:4029620Durchsuche

Die Rolle des Prozessor-Multithreadings: Es kann mehr zu verarbeitende Daten für den Hochgeschwindigkeits-Rechenkern vorbereiten und die Leerlaufzeit des Rechenkerns reduzieren. Es löst das Lastausgleichsproblem und nutzt es voll aus CPU-Ressourcen und verbessert die CPU-Auslastung; mehrere Dinge können gleichzeitig erledigt werden, ohne sich gegenseitig zu stören, was die Zeit verkürzt, die für die Bewältigung einer großen Anzahl von E/A-Vorgängen oder -Situationen erforderlich ist.

Wozu dient Prozessor-Multithreading?

Was ist ein Prozessor?

Die Zentraleinheit (CPU) ist als Rechen- und Steuerungskern des Computersystems die letzte Ausführungseinheit für die Informationsverarbeitung und Programmausführung. Seit seiner Gründung hat die CPU große Fortschritte in Bezug auf logische Struktur, Betriebseffizienz und Funktionserweiterung gemacht.

Die Zentraleinheit (CPU) ist eines der Hauptgeräte elektronischer Computer und die Kernkomponente von Computern. Seine Funktion besteht hauptsächlich darin, Computeranweisungen zu interpretieren und Daten in Computersoftware zu verarbeiten. Die CPU ist die Kernkomponente des Computers, die dafür verantwortlich ist, Anweisungen zu lesen, sie zu dekodieren und auszuführen. Die Zentraleinheit besteht im Wesentlichen aus zwei Teilen, nämlich dem Controller und der Recheneinheit, zu denen auch der Cache-Speicher und der Daten- und Steuerbus gehören, der die Verbindung zwischen ihnen herstellt. Die drei Kernkomponenten eines elektronischen Computers sind die CPU, der interne Speicher und die Eingabe-/Ausgabegeräte. Die Hauptfunktionen der Zentraleinheit bestehen darin, Anweisungen zu verarbeiten, Operationen auszuführen, die Zeit zu steuern und Daten zu verarbeiten.

In der Computerarchitektur ist die CPU die Kernhardwareeinheit, die alle Hardwareressourcen des Computers (wie Speicher, Eingabe- und Ausgabeeinheiten) steuert und zuweist und allgemeine Vorgänge ausführt. Die CPU ist der Rechen- und Steuerungskern des Computers. Die Operationen aller Softwareschichten im Computersystem werden schließlich über den Befehlssatz auf CPU-Operationen abgebildet.

Die Zentraleinheit umfasst hauptsächlich Recheneinheiten (Arithmetic Logic Unit, ALU, Arithmetic Logic Unit) und Cache-Speicher (Cache) sowie den Bus (Data), Steuerung und Status, der die Verbindung zwischen ihnen realisiert. . Zusammen mit dem internen Speicher (Memory) und den Eingabe-/Ausgabegeräten (I/O) werden sie zusammen als die drei Kernkomponenten elektronischer Computer bezeichnet.

Wozu dient Prozessor-Multithreading?

Ich hatte schon immer diesen Zweifel. Wie laufen bei heutigen Multi-Core- und Multi-Thread-Computerprozessoren mehrere Threads in einem Prozess ab? (Weisen das System und die JVM eine kleine Menge an Ressourcen zu und wechseln schließlich abwechselnd zur Zeitplanung? Oder werden diese Threads verschiedenen Kernen zugewiesen, damit sie gleichzeitig ausgeführt werden?)

Wie funktioniert der Prozessor? CPU-Handle-Threads?

Die CPU verwendet einen Mechanismus ähnlich der Zeitscheibenrotation. Dies bedeutet, dass andere Prozesse nur auf den Abschluss warten können, bis die CPU andere Anforderungen verarbeitet, wenn ein Prozess gleichzeitig eine Ausführungsanforderung stellt . Andere Prozesse entsprechen dem Warten in der Warteschlange. Um die unbegrenzte Ausführung eines bestimmten Prozesses zu vermeiden, ist die Zeit natürlich begrenzt. Bei einer Zeitüberschreitung wechselt die CPU den Thread gemäß einem bestimmten Thread-Planungsalgorithmus. Man kann sehen, dass viele Threads gleichzeitig ausgeführt werden. Tatsächlich läuft zu einem bestimmten Zeitpunkt nur ein Thread.

Bei Multi-Core hat jeder Kern das gleiche Prinzip. Aber zwei Kerne können Ressourcen über das System zuweisen und gleichzeitig verschiedene Prozesse ausführen, was komplizierter ist.

Jedem Prozess wird von der CPU eine Prozessnummer zugewiesen. Vermeiden Sie Verwirrung.

Welche Vorteile haben mehr CPU-Threads?

Theoretisch kann ein Kern nur einem Thread entsprechen. Die Hyper-Threading-Technologie von Intel nutzt ungenutzte CPU-Ressourcen, um virtuelle Threads zu integrieren. In Bezug auf die Rechenleistung ist sie nicht so gut wie die tatsächlichen Threads des physischen Kerns. Es kann jedoch die Parallelverarbeitungsfähigkeit des Prozessors bis zu einem gewissen Grad verbessern. Wie die Out-of-Order-Ausführung ist auch Hyperthreading eine Lösung zur Verbesserung der Prozessorauslastungseffizienz.

Die Multithreading-Technologie der CPU kann mehr zu verarbeitende Daten für den Hochgeschwindigkeits-Rechenkern vorbereiten, wodurch die Leerlaufzeit des Rechenkerns reduziert wird, das Lastausgleichsproblem gelöst wird und die CPU-Ressourcen voll ausgenutzt werden Verbessert die CPU-Auslastung. Mithilfe von Multithreading können mehrere Dinge gleichzeitig erledigt werden, ohne dass sie sich gegenseitig stören, was die Zeit verkürzt, die für die Bewältigung einer großen Anzahl von E/A-Vorgängen oder -Situationen benötigt wird.

Nehmen Sie einfach das Beispiel, das Sie gegeben haben. Wenn ein Kern Aufgabe A verarbeitet, ist nicht der gesamte Kern an der Arbeit beteiligt, und es sind immer noch große ungenutzte Ressourcen vorhanden, und diese Ressourcen können zur Vorverarbeitung von einem oder mehreren von B, C und D verwendet werden. Ein großes Problem der Hyper-Threading-Technologie ist jedoch die Konkurrenz zum Haupt-Thread. Wenn beispielsweise sowohl der virtuelle Thread als auch der physische tatsächliche Thread eine bestimmte Cache-Einheit aufrufen müssen, unterbricht der virtuelle Thread seine Arbeit.

Wenn die Einheit jedoch vom virtuellen Thread vor dem physischen Thread aufgerufen wird Dann wirkt sich der virtuelle Thread auf die Arbeit des physischen Hauptthreads aus und verringert tatsächlich die Ausführungseffizienz. Die aktuelle Generation der Hyper-Threading-Technologie hat dieses Problem besser verbessert, sodass der Effekt immer noch gut ist, obwohl er nicht mit physischen Threads verglichen werden kann. Ein aktueller Dual-Core-Vier-Thread-Prozessor wie der I3 kann physische Drei-Kern-Prozessoren beim Parallelrechnen übertreffen und mit Vier-Kern-Prozessoren der Einstiegsklasse gleichziehen, was bereits sehr gut ist.

Das obige ist der detaillierte Inhalt vonWozu dient Prozessor-Multithreading?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn