2011-08-30 15:24:34 +0000 2011-08-30 15:24:34 +0000
27
27

Cosa sono i thread e cosa fanno nel processore?

Stavo guardando le statistiche per la CPU Intel Pentium e5700 .

Ha due core e due thread. Cosa fanno i thread per il processore? C'è qualche relazione tra il numero di core e il numero di thread? Quale scopo hanno i thread per il sistema in generale?

Risposte (3)

21
21
21
2011-08-30 15:34:16 +0000

Il numero di core è il numero fisico di core sulla CPU stessa, mentre il numero di thread è il numero di singoli thread dell'applicazione che possono essere eseguiti simultaneamente sulla CPU stessa. Senza alcun hardware aggiuntivo o speciale, questo è uguale al numero di core. Alcuni processori, tuttavia, avranno più thread che core. Alcune CPU Intel hanno una caratteristica chiamata hyperthreading , che permette al sistema operativo di vedere il doppio della quantità di core logici per core fisico. Questo permette al sistema operativo di programmare ed eseguire il doppio dei thread simultaneamente, quindi nel caso della CPU che ho linkato sopra, ci sono quattro core fisici, ma otto logici (quindi si possono eseguire otto thread simultaneamente).

Ogni singola applicazione in esecuzione nel sistema operativo è single-threaded o multi-threaded (pensate ad ogni thread come una “sotto-applicazione”). Le applicazioni single-threaded richiedono un solo thread per funzionare sulla CPU, mentre le applicazioni multi-threaded hanno molti sub-thread in esecuzione simultaneamente. Core aggiuntivi, o hyper-threading, permettono a più thread dell'applicazione di essere eseguiti simultaneamente.

Questo permette alle applicazioni multi-thread (non single-threaded) di girare molto più velocemente, poiché più di un thread può girare contemporaneamente sulla CPU.


Solo una nota finale, l'hyperthreading migliora le prestazioni di alcune applicazioni multithreaded specificamente ottimizzate per esso (poiché c'è ancora solo la metà del numero di core fisici rispetto a quelli logici). In alcuni casi diversi, le applicazioni possono funzionare più velocemente con l'hyperthreading disabilitato (anche se molte applicazioni ne beneficiano). Indipendentemente dall'hyperthreading, un aumento del numero di core fisici gioverà sempre alle applicazioni multithread.

9
9
9
2011-08-30 15:45:22 +0000

Un “core” rappresenta un effettivo sottoinsieme fisico di un processore che può da solo gestire l'elaborazione, mentre un “thread” è quanti processi effettivi il processore può gestire contemporaneamente. Intel ha sviluppato una tecnologia che chiama “hyper-threading”, questa tecnica permette a un core fisico (che normalmente sarebbe in grado di gestire solo un thread alla volta) di essere in grado di gestire due thread contemporaneamente.

Un thread è un compito che il processore deve gestire, per una semplice spiegazione, si può assumere che ogni applicazione aperta (come paint, notepad, media player) ha il proprio thread… ora questo non significa che si possono aprire solo 2 applicazioni contemporaneamente, semplicemente perché il processore e il sistema operativo lavorano così velocemente a ‘cambiare thread’ per gestire le esigenze di ogni applicazione aperta. Sperimenterete semplicemente migliori prestazioni con più core perché ora potete distribuire tutto il lavoro a più processori core.

Per esempio, il mio computer di lavoro ha un i7. L'i7 ha 4 core fisici, ma ogni core può fare ‘hyper-threading’ che permette a questo processore di gestire 8 thread contemporaneamente. Quindi, se apro il task manager, vedrò 8 caselle per la scala delle prestazioni del processore.

Una regola generale è che più core fisici sono meglio di più thread. Quindi se state confrontando un processore che ha 4 core e 4 thread, sarebbe meglio di 2 core e 4 thread. Ma più thread il vostro processore può gestire, meglio si comporterà durante il multitasking e per alcune applicazioni molto intensive (editing video, CAD, CAM, compressione, crittografia, ecc) utilizzerà più di un core alla volta.

-1
-1
-1
2019-07-18 22:54:39 +0000

Cliccando sui link in un articolo in IE o in chrome, ogni volta che si clicca si crea un thread. più si clicca sui link più thread. con una CPU a 4 core si hanno fino a 8 thread si possono aprire 8 link prima di iniziare ad avere un problema. senza considerare la connessione internet. quindi ogni core copre due di quei link (thread) che si hanno aperti. questa è l'idea IMO. se questo ha un senso per qualcuno.