Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was ist der Unterschied zwischen Hyper-Threading und Multi-Threading?

Was ist der Unterschied zwischen Hyper-Threading und Multi-Threading?

零下一度
零下一度Original
2017-07-19 15:42:265524Durchsuche

Was ist der Unterschied zwischen Hyper-Threading und Multi-Threading?

超线程从硬件层面理解,即一个CPU的部件(可以理解为核)同时执行多条指令,表现就是同时执行多个线程。
多线程是软件层面的概念,比如CPU只有一个核,通过线程调度可以在一个时间段内运行多个程序或任务,但实际任何时刻只执行一个线程。

Wie kann man im Linux-System die CPU-Informationen im Detail kennen? Natürlich wird es über cat /proc/cpuinfo überprüft, aber wie viele physische CPUs/Kerne/Threads gibt es beispielsweise?

Nach der Überprüfung verfügt meine Entwicklungsmaschine über 1 physische CPU, 4 Kerne und 8 Threads, Intel(R) Core(TM) i7 CPU 860 bei 2,80 GHz www.2cto.com
Nehmen Sie es auf und beurteilen Sie den Prozess und Wissen.
Beurteilungsgrundlage:
1. CPUs mit derselben Kern-ID werden von demselben Kern hyper-threaded.
2. CPUs mit derselben physischen ID sind Threads oder Kerne, die von derselben CPU gekapselt sind.
Englische Version:
1.Physische ID und Kern-ID sind nicht unbedingt aufeinanderfolgend, aber sie sind eindeutig. Jede CPU mit derselben Kern-ID ist ein Hyperthread im selben Kern.
2.Jede CPU mit derselben physischen id sind Threads oder Kerne im selben physischen Sockel.
echo „logische CPU-Nummer:“
#Anzahl der logischen CPUs
cat /proc/cpuinfo |. grep „Prozessor“ | 🎜>
echo "physische CPU-Nummer:"
#Physische CPU-Nummer:
grep "physische ID" |. wc -l
echo " Kernnummer in einer physischen CPU:"
#Die Anzahl der Kerne in jeder physischen CPU:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
# Überprüfen Sie die Anzahl der Kern-IDs auf jeder physischen CPU. Dies ist die Anzahl der Kerne auf jeder physischen CPU.
cat /proc/cpuinfo |.
#Ob es sich um Hyper-Threading handelt ?
#Wenn zwei logische CPUs mit derselben „Kern-ID“ vorhanden sind, ist Hyperthreading aktiviert.
#Die Anzahl der logischen CPUs (kann Kern, Threads oder beides sein) in jeder physischen CPU:
cat /proc/cpuinfo | Die Datei enthält Datenabschnitte für jeden Prozessor im System. Es gibt 6 Einträge in der /proc/cpuinfo-Beschreibung, die für Multicore- und Hyper-Threading (HT)-Technologieprüfungen gelten: Prozessor, Anbieter-ID, physische ID, Geschwister, Kern-ID und CPU-Kerne. Der
Prozessoreintrag enthält die eindeutige Kennung dieses logischen Prozessors.
Der physische ID-Eintrag enthält eine eindeutige Kennung für jedes physische Paket.
Der Kern-ID-Eintrag enthält eine eindeutige Kennung für jeden Kern. Der Eintrag
Geschwister listet die Anzahl der logischen Prozessoren auf, die sich im selben physischen Paket befinden.
Der Eintrag „CPU-Kerne“ enthält die Anzahl der Kerne, die sich im selben physischen Paket befinden.
Wenn es sich bei dem Prozessor um einen Intel-Prozessor handelt, lautet die Zeichenfolge im Anbieter-ID-Eintrag GenuineIntel.
1. Alle logischen Prozessoren mit derselben physischen ID teilen sich denselben physischen Sockel. Jede physische ID stellt ein einzigartiges physisches Paket dar.
2.Siblings stellt die Anzahl der logischen Prozessoren dar, die sich auf diesem physischen Paket befinden. Sie unterstützen möglicherweise die Hyper-Threading-Technologie (HT) oder auch nicht.
3. Jede Kern-ID repräsentiert einen eindeutigen Prozessorkern. Alle logischen Prozessoren mit derselben Kern-ID befinden sich auf demselben Prozessorkern.
4. Wenn es mehr als einen logischen Prozessor mit derselben Kern-ID und physischen ID gibt, bedeutet dies, dass das System die Hyper-Threading-Technologie (HT) unterstützt.
5. Wenn es zwei oder mehr logische Prozessoren mit derselben physischen ID, aber unterschiedlichen Kern-IDs gibt, handelt es sich um einen Mehrkernprozessor. Der Eintrag „CPU-Kerne“ kann auch angeben, ob mehrere Kerne unterstützt werden.
Um festzustellen, ob die CPU 64-Bit ist, überprüfen Sie den Flags-Abschnitt in cpuinfo, um zu sehen, ob eine LM-Markierung vorhanden ist.
Sind die Prozessoren 64-Bit?
Ein 64-Bit-Prozessor verfügt über lm („Langmodus“) im Flags-Bereich von cpuinfo.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Hyper-Threading und Multi-Threading?. 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