S
Stuntmp02
Gast
Hallo zusammen,
ich habe mal eine kleine Theoriefrage zum HyperThreading von Intel.
Jedem phsikalischen CPU auf dem DIE werden zwei logische Prozessoren zugewiesen und dem Betriebssystem weitergegeben.
1; Welche CPU-Kerne sind eigentlich virtuell, und welche "echt"? (Ist z.B. immer CPU-0 "echt", CPU-1 "virtuell", CPU-2 "echt", CPU-3 "virtuell" usw? oder ist es so, dass CPU 0-3 "echt" ist und 4-7 "virtuell"?)
2; Was ist eigentlich, wenn eine Anwendung nun nur zwei Kerne nutzt und hier genau die zwei Kerne eines einzigen physikalischen CPUs erwischt? (1x echt und 1x virtuell) - Also wenn praktisch beide Threats der Anwendung nur auf einem echten Kern bearbeitet werden. Dann ist die Performance doch eigentlich deutlich niedriger, als ohne HT (wo beide Threats auf verschiedenen physikalischen Threats abgearbeitet werden) oder?
Oder ist es so, dass der CPU automatisch erkennt, dass hier nur 2 Threats benötigt werden und deshalb die Anwendung auf zwei echte Kerne verteilt?
ich habe mal eine kleine Theoriefrage zum HyperThreading von Intel.
Jedem phsikalischen CPU auf dem DIE werden zwei logische Prozessoren zugewiesen und dem Betriebssystem weitergegeben.
1; Welche CPU-Kerne sind eigentlich virtuell, und welche "echt"? (Ist z.B. immer CPU-0 "echt", CPU-1 "virtuell", CPU-2 "echt", CPU-3 "virtuell" usw? oder ist es so, dass CPU 0-3 "echt" ist und 4-7 "virtuell"?)
2; Was ist eigentlich, wenn eine Anwendung nun nur zwei Kerne nutzt und hier genau die zwei Kerne eines einzigen physikalischen CPUs erwischt? (1x echt und 1x virtuell) - Also wenn praktisch beide Threats der Anwendung nur auf einem echten Kern bearbeitet werden. Dann ist die Performance doch eigentlich deutlich niedriger, als ohne HT (wo beide Threats auf verschiedenen physikalischen Threats abgearbeitet werden) oder?
Oder ist es so, dass der CPU automatisch erkennt, dass hier nur 2 Threats benötigt werden und deshalb die Anwendung auf zwei echte Kerne verteilt?