Die Anzahl der Prozesse, die eine CPU * wirklich * gleichzeitig ausführen kann es hat.
Hier ist eine Aufschlüsselung:
* physische Kerne: Ein physischer Kern ist eine vollständige Verarbeitungseinheit innerhalb der CPU. Wenn Sie eine CPU mit 4 physikalischen Kernen haben, kann sie aufrichtig 4 verschiedene Anweisungen (oder Teile von 4 verschiedenen Prozessen) *zur gleichen Zeit *ausführen.
* Threads (logische Kerne): Moderne CPUs verwenden häufig eine Technologie namens gleichzeitiger Multithreading (SMT) mit Intel-Implementierung namens Hyper-Threading . Auf diese Weise kann ein einzelner physischer Kern als zwei logische Kerne (Threads) zum Betriebssystem angezeigt werden. Obwohl es die Leistung nicht * verdoppelt * * doppelt * doppelt *, ermöglicht es dem Kern jedoch effizienter in Leerlaufteilen von sich selbst. Betrachten Sie es als einen einzelnen Koch (physischen Kern), der gleichzeitig an mehreren Gerichten (Fäden) arbeiten kann, indem Sie zwischen ihnen wechseln, wenn eine Aufgabe wartet (z. B. auf das Kochen auf das Wasser). Eine 4-Kern-CPU mit Hyper-Threading wird als 8 logische Kerne erscheinen.
* Betriebssystem und Prozesse: Das Betriebssystem verwaltet alle auf dem Computer ausgeführten Prozesse und Threads. Es wechselt schnell zwischen ihnen und verleiht jeweils ein kleines Stück CPU-Zeit (dies wird als Time-Sharing oder Multitasking bezeichnet). Dies schafft die * Illusion *, viele Prozesse gleichzeitig auszuführen, obwohl die CPU zu einem bestimmten Zeitpunkt nur aktiv an einer begrenzten Zahl arbeitet.
Zusammenfassend:
* Eine CPU kann wirklich eine Reihe von Prozessen ausführen, die ihrer Anzahl von * physikalischen Kernen * gleichzeitig entspricht.
* Hyper-Threading (oder SMT) * verbessert * die Fähigkeit jedes physischen Kerns, mehr Arbeit zu erledigen, indem mehrere * Threads * gleichzeitig ausgeführt werden.
* Das Betriebssystem verwaltet eine viel größere Anzahl von Prozessen und Threads als die CPU -Kerne und erzeugt das Erscheinungsbild der echten Gleichzeitigkeit durch schnelle Kontextschaltung.
Beispiel:
Eine CPU mit 8 physikalischen Kernen und Hyper-Threading (16 logische Kerne) kann:
* * Wirklich * Führen Sie genau gleichzeitig 8 verschiedene Anweisungen aus (eine in jedem physischen Kern).
* * Effektiv * bis zu 16 Threads gleichzeitig behandeln und die Ressourcen jedes Kerns besser nutzen.
* * Erscheinen *, um Hunderte oder Tausende von Prozessen gleichzeitig auszuführen, da das Betriebssystem schnell zwischen ihnen wechselt.
Wichtige Überlegungen:
* Engpässe: Andere Faktoren wie RAM, Festplatten -E/A und Netzwerkgeschwindigkeit können auch die Gesamtleistung eines Systems einschränken, auch wenn die CPU leistungsfähig ist.
* Arbeitsbelastung: Einige Prozesse sind CPU-intensiver als andere. Ein System kann in der Lage sein, viele leichte Prozesse gleichzeitig zu "bewältigen", aber mit einigen sehr anspruchsvollen Problemen zu kämpfen.
Daher ist die Antwort technisch gesehen die Anzahl der *physikalischen Kerne *, aber es ist wichtig, die Rolle von Threads und des Betriebssystems bei der Erstellung der Wahrnehmung der gleichzeitigen Ausführung vieler Prozesse zu verstehen.