CPU-Kern, Multi-Core, Thread, Kern vs. Threads, Hyper-Threading

Was ist Parallelität oder Single Core?

In OperaIn Systemen wird Parallelität als die Fähigkeit eines Systems definiert, zwei oder mehr Programme in überlappenden Zeitphasen auszuführen.

Parallelität oder Single Core
Gleichzeitige Ausführung mit Zeitscheiben

Wie Sie sehen, wird zu jedem Zeitpunkt nur ein Prozess ausgeführt. Daher ist Parallelität nur eine verallgemeinerte Annäherung an die tatsächliche parallele Ausführung. Eine solche Situation kann bei Systemen mit einem Single-Core-Prozessor auftreten.

Was ist Parallelausführung oder (Multi-Core)?

Bei der parallelen Ausführung werden die von einem Prozess auszuführenden Aufgaben in Unterteile zerlegt, und mehrere CPUs (oder mehrere Kerne) verarbeiten jede Unteraufgabe genau gleichzeitig.

Parallele Ausführung
Parallele Ausführung

Wie Sie sehen, sind zu jedem Zeitpunkt alle Prozesse in Ausführung. In Wirklichkeit sind es die Teilaufgaben eines Prozesses, die parallel ausgeführt werden, aber zum besseren Verständnis können Sie sie als Prozesse visualisieren.

Daher ist Parallelität die eigentliche Möglichkeit, mehrere Aufgaben gleichzeitig zu bearbeiten. Eine solche Situation findet sich in Systemen mit Multicore-Prozessoren, zu denen fast alle modernen, kommerziellen Prozessoren gehören.

SCHLÜSSELUNTERSCHIED

  • Kerne erhöhen die Menge der gleichzeitig erledigten Arbeit, während Threads den Durchsatz und die Rechengeschwindigkeit verbessern.
  • Kerne sind eine tatsächliche Hardwarekomponente, während Thread eine virtuelle Komponente ist, die die Aufgaben verwaltet.
  • Kerne verwenden Inhaltsumschaltung, während Threads mehrere CPUs zum Ausführen zahlreicher Prozesse verwenden.
  • Kerne benötigen nur eine Signalverarbeitungseinheit, während Threads mehrere Verarbeitungseinheiten erfordern.

Was ist Thread?

Ein Thread ist eine Ausführungseinheit für die gleichzeitige Programmierung. Multithreading ist eine Technik, die es einer CPU ermöglicht, viele Aufgaben eines Prozesses gleichzeitig auszuführen. Diese Threads können einzeln ausgeführt werden, während sie ihre Ressourcen gemeinsam nutzen.

Was ist Multithreading?

Multithreading bezieht sich auf die allgemeine Aufgabe, bei der mehrere Ausführungsthreads innerhalb eines Betriebssystems ausgeführt werden. Dies kann mehrere Systemprozesse umfassen.

Wie funktioniert Multithreading?

Beispielsweise unterstützen die meisten modernen CPUs Multithreading. Mit einer einfachen App auf Ihrem Smartphone können Sie eine Live-Demo davon erhalten.

Wenn Sie eine App öffnen, für die Daten aus dem Internet abgerufen werden müssen, wird der Inhaltsbereich der App durch einen Spinner ersetzt. Dieser rotiert, bis die Daten abgerufen und angezeigt werden.

Im Hintergrund gibt es zwei Threads:

  • Einer ruft die Daten aus einem Netzwerk ab und
  • Eines rendert die GUI, die den Spinner anzeigt

Beide Threads werden nacheinander ausgeführt, um den Eindruck einer gleichzeitigen Ausführung zu erwecken.

Was ist CPU-Kern?

Ein CPU-Kern ist der Teil von etwas, das für seine Existenz oder seinen Charakter von zentraler Bedeutung ist. Ebenso wird im Computersystem die CPU auch als Kern bezeichnet.

Grundsätzlich gibt es zwei Arten von Kernprozessoren:

  1. Single-Core-Prozessor
  2. Multi-Core-Prozessor

Was ist das Hauptproblem bei Single Core?

Es gibt hauptsächlich zwei Probleme mit Single Core.

  • Um die Aufgaben schneller auszuführen, müssen Sie die Uhrzeit erhöhen.
  • Mit zunehmender Taktzeit steigen der Stromverbrauch und die Wärmeableitung auf ein extrem hohes Niveau, was den Prozessor ineffizient macht.

Die Lösung von Multi-Core:

  • Erstellen Sie zwei oder mehr Kerne auf demselben Chip, um die Rechenleistung zu erhöhen und gleichzeitig die Taktrate auf einem effizienten Niveau zu halten.
  • Ein Prozessor mit zwei Kernen und effizienter Geschwindigkeit kann Anweisungen mit ähnlicher Geschwindigkeit verarbeiten wie ein Einkernprozessor. Seine Taktrate ist doppelt so hoch, dennoch verbraucht das Multicore-Verfahren weniger Energie.

Vorteile des Multi-Core-Prozessors

Hier sind einige Vorteile des Multicore-Prozessors:

  • Mehr Transistor pro Wahl
  • Kürzere Verbindungen
  • Geringere Kapazität
  • Ein kleiner Kreislauf kann mit hoher Geschwindigkeit arbeiten

Unterschied zwischen Core und Threads

Parameter Core Themen
Definition Mit CPU-Kernen ist die eigentliche Hardwarekomponente gemeint. Threads beziehen sich auf die virtuelle Komponente, die die Aufgaben verwaltet.
Prozess Der CPU werden Aufgaben aus einem Thread zugeführt. Daher greift es nur dann auf den zweiten Thread zu, wenn die vom ersten Thread gesendeten Informationen nicht zuverlässig sind. Es gibt viele verschiedene Variationen, wie die CPU mit mehreren Threads interagieren kann.
Implementierung Erreicht durch Interleaving-Operation Durch die Klage mehrerer CPUs durchgeführt
Vorteile Erhöhen Sie den Umfang der gleichzeitig erledigten Arbeit. Verbessern Sie den Durchsatz und die Rechengeschwindigkeit.
Gebrauch machen von Core verwendet Content Switching Verwendet mehrere CPUs zum Ausführen zahlreicher Prozesse.
Verarbeitungseinheiten erforderlich Erfordert nur eine Signalverarbeitungseinheit. Erfordert mehrere Verarbeitungseinheiten.
Beispiel Mehrere Anwendungen gleichzeitig ausführen. Ausführen eines Webcrawlers auf einem Cluster.

Was ist Hyper-Threading?

Hyper-Threading war Intels erster Versuch, parallele Berechnungen auf die PCs von Endbenutzern zu bringen. Es wurde erstmals 4 auf Desktop-CPUs mit dem Pentium 2002 eingesetzt.

Der damalige Pentium 4 verfügte nur über einen einzigen CPU-Kern. Daher führte er nur eine einzige Aufgabe aus und konnte keine Mehrfachoperationen durchführen.

Eine einzelne CPU mit Hyperthreading erscheint für ein Betriebssystem als zwei logische CPUs. In diesem Fall handelt es sich um eine einzelne CPU, das Betriebssystem betrachtet jedoch zwei CPUs für jeden Kern und die CPU-Hardware verfügt über einen einzelnen Satz Ausführungsressourcen für jeden CPU-Kern.

Daher geht die CPU davon aus, dass sie mehrere Kerne hat, und das Betriebssystem geht für jeden einzelnen CPU-Kern von zwei CPUs aus.

Zusammenfassung

  • Ein Thread ist eine Ausführungseinheit für die gleichzeitige Programmierung.
  • Multithreading bezeichnet die gemeinsame Aufgabe, bei der mehrere Ausführungsthreads innerhalb eines Betriebssystems ausgeführt werden.
  • Heutzutage unterstützen viele moderne CPUs Multithreading
  • Hyper-Threading war Intels erster Versuch, parallele Berechnungen auf die PCs von Endbenutzern zu bringen.
  • Ein CPU-Kern ist der Teil von etwas, das für seine Existenz oder seinen Charakter von zentraler Bedeutung ist
  • Im, OperaUnter Systemparallelität versteht man die Fähigkeit eines Systems, zwei oder mehr Programme in überlappenden Zeitphasen auszuführen.
  • Bei der parallelen Ausführung werden die von einem Prozess auszuführenden Aufgaben in Unterteile zerlegt.
  • Das Hauptproblem von Single-Core-Prozessoren besteht darin, dass Sie die Taktzeit erhöhen müssen, um die Aufgaben schneller auszuführen.
  • Multicore löst dieses Problem, indem es zwei oder mehr Kerne auf demselben Chip erstellt, um die Rechenleistung zu erhöhen, und hält außerdem die Taktrate auf einem effizienten Niveau.
  • Der größte Vorteil des Multicore-Systems besteht darin, dass es Ihnen hilft, mehr Transistoren pro Wahl zu erstellen
  • Mit den CPU-Kernen ist die eigentliche Hardwarekomponente gemeint, während sich Threads auf die virtuelle Komponente beziehen, die die Aufgaben verwaltet.