Perché il mio Intel i7-920 visualizza 8 core anziché 4 core?


Risposte:


39

Hyperthreading .

L'hyper-threading elimina il passaggio delle attività dai sistemi operativi. Normalmente un sistema operativo deve gestire i processi di pianificazione su diverse CPU, oltre a garantire che ogni attività eseguita sul sistema abbia la sua giusta quota, ma non troppo (se qualcos'altro lo vuole) della CPU.

L'hyper-threading è un modo per allontanare quel secondo processo di condivisione delle attività dal sistema operativo, almeno per un po '. Il motivo è che il processore può cambiare task molto più velocemente di quanto il sistema operativo possa dirgli. Quindi, presentando due processori logici quando in realtà ce n'è solo uno, il sistema operativo deve fare solo la metà delle operazioni di commutazione delle attività, ma una maggiore pianificazione della CPU. Ma il risultato netto è presumibilmente una macchina più veloce nelle operazioni multi-tasking.

I benefici effettivi di questo variano notevolmente a seconda del carico di lavoro che stai facendo. Per la maggior parte delle persone, non c'è nulla di male nel lasciarlo acceso o spegnerlo. 4 vs 8 thread è come scegliere tra una Ferrari o una Lamborghini per gli utenti domestici.

Tuttavia, in scenari server, può fare una grande differenza. Ad esempio, gli hypervisor possono spesso ottenere un grande aumento della velocità attraverso l'uso dell'hyperthreading, in quanto hanno requisiti di pianificazione della CPU molto rigidi.

Tuttavia, i server SQL spesso non ottengono questo aumento, perché spesso è meglio avere quattro thread "grandi" rispetto a 8 thread "medi".


3
Come utente super apprezzato, ti consiglio di rivisitare questa risposta e aggiungere ulteriori dettagli . Il link non aiuta a spiegare nulla su cosa sia Hyperthreading o cosa faccia.
James Mertz,

11

Che il mio amico è hyper-threading .

L'hyperthreading è una forma di multi-threading simultaneo che sfrutta l'architettura super scalare. Istruzioni multiple che operano su dati separati in parallelo. Appaiono al sistema operativo come due processori, quindi il sistema operativo può pianificare due processi contemporaneamente . Inoltre, due o più processi possono utilizzare le stesse risorse. Se un processo fallisce, le risorse possono essere prontamente riassegnate. Il sistema operativo deve supportare il multi-threading simultaneo (SMT).


1
"Beauty" è discutibile. In alcuni casi l'hyperthreading distrugge le prestazioni.
MDMarra,

Dipende tutto da quello che stai facendo
prestomation

Ragazzi felici adesso? : D (Non

1
"Questo, amico mio, è hyper-threading in tutta la sua bellezza!" :)

Andrò con la versione di bellezza. Mentre in alcune circostanze ho sentito segnalazioni di impatti negativi sulle prestazioni, non sono riuscito a duplicare. L'hyperthreading è sempre stato più veloce per me. Anche nelle sue forme più vecchie.
Brian Knoblauch,

6

La famiglia i7 è un processore quad-core con 8 thread. I quad core normali hanno 4 thread e, poiché l'hyper-threading è abilitato, il computer riconosce quegli 8 thread come processori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.