View Full Version : Core fisici VS HT
Brave_Mercenary
28-09-2018, 13:02
Ciao,
non ho intenzione di cambiare cpu ora, aspetterò un anno, un anno e mezzo per i 10nm Intel o la prossima gen Ryzen.
Ho una domanda però generale che credo mi potrà aiutare.
Considerando un utilizzo del pc 25% editing + altro e un 75% gaming, quanto contano core fisici VS HT ?
Per esempio, vedo adesso, che differenza potrebbe esserci tra un i7 8700k (6/12) e un futuro i7 9700k (8/8) ?
Grazie
macchiaiolo
28-09-2018, 13:33
Il core virtuale nn fa altro che ottimizzare l'uso del core fisico, io preferisco un 6/12 al posto del 8/8
Inviato dal mio HUAWEI VNS-L31 utilizzando Tapatalk
sgrinfia
28-09-2018, 15:35
Il core virtuale nn fa altro che ottimizzare l'uso del core fisico, io preferisco un 6/12 al posto del 8/8
Inviato dal mio HUAWEI VNS-L31 utilizzando Tapatalk
Io il contrario...
Brave_Mercenary
28-09-2018, 18:50
In generale, sul fatto che i core fisici siano meglio dei virtuali siamo d'accordo. In questo caso lo domandavo per capire se 12 core (6 fisici + 6 virtuali) siano inferiori o superiori a "solo" 8 core fisici
sgrinfia
28-09-2018, 20:51
In generale, sul fatto che i core fisici siano meglio dei virtuali siamo d'accordo. In questo caso lo domandavo per capire se 12 core (6 fisici + 6 virtuali) siano inferiori o superiori a "solo" 8 core fisici
Nell caso di uno scenario di utilizzo dei core al 100 % gli otto core dovrebbero essere superiori, però in gioco entrano diverse variabili tipo di architettura ecc... Che potrebbero dare risultati discordanti, ma a parità di architettura gli otto core potrebbero essere superiori, visto che che si tra altro nel caso dei 12(6+6)core in caso di lavoro al100 % quelli virtuali non sarebbero attivi non avendo più risorse (teoricamente), in poche parole diventerebbe un 8core contro un 6 ore.
newtechnology
28-09-2018, 21:06
In generale, sul fatto che i core fisici siano meglio dei virtuali siamo d'accordo. In questo caso lo domandavo per capire se 12 core (6 fisici + 6 virtuali) siano inferiori o superiori a "solo" 8 core fisici
Difficile da rispondere , a livello di potenza bruta un 6+6 va più di un 8 ,in cinebench il Ryzen 1700x con smt disabilitato fa 1100 circa , mentre il 1600x fa 1250 circa.
Io preferirei un 6/6 che un 8 , a pari di clock hai più potenza e flessibilità avendo a disposizione un numero maggiore di thread.
In teoria windows 10 e quasi tutte le app/games riconoscono i core fisici dai logici , convergendo la maggior parte del carico , nelle cpu provviste di HT o SMT , sui core fisici , utilizzando i logici quando sono richieste tutte le risorse che la cpu offre.
L'unico modo per aver vantaggi in game da una cpu 8 core pura , è che il gioco supporti massimo 8 thread , che su una cpu senza HT/SMT con 8 core fisici vorrebbe dire l'utilizzo di 8 core reali , nel caso del 6+6 verrebbero utilizzati i 6 core fisici e 2 logici con una leggere perdita dato che i 2 logici non hanno le stesse performance dei fisici
newtechnology
28-09-2018, 21:09
Nell caso di uno scenario di utilizzo dei core al 100 % gli otto core dovrebbero essere superiori, però in gioco entrano diverse variabili tipo di architettura ecc... Che potrebbero dare risultati discordanti, ma a parità di architettura gli otto core potrebbero essere superiori, visto che che si tra altro nel caso dei 12(6+6)core in caso di lavoro al100 % quelli virtuali non sarebbero attivi non avendo più risorse (teoricamente), in poche parole diventerebbe un 8core contro un 6 ore.
Non ho capito , come fanno a non essere attivi , anche se i core sono al 100% HT o SMT elabora sempre una seconda istanza con un incremento prestazionale fino al 30%
Se con la prima istanza saturo l'Execution Thread #1 , l'Execution Thread #2 resterà sempre libero e in attesa.
Stai citando uno scenario che è teorico e francamente credo impossibile , ovvero che tutte le unita di elaborazione siano occupate e sature , cioè si dovrebbe eseguire un'operazione che sfrutti tutta l'area di elaborazione del core, ma sarebbe impossibile perchè causerebbe il blocco di windows.
Un 6/12 a pari di architettura avrà sempre più potenza di un 8 puro.
https://images.anandtech.com/doci/10578/s4%20SMT.png
sgrinfia
30-09-2018, 11:41
Non ho capito , come fanno a non essere attivi , anche se i core sono al 100% HT o SMT elabora sempre una seconda istanza con un incremento prestazionale fino al 30%
Se con la prima istanza saturo l'Execution Thread #1 , l'Execution Thread #2 resterà sempre libero e in attesa.
Stai citando uno scenario che è teorico e francamente credo impossibile , ovvero che tutte le unita di elaborazione siano occupate e sature , cioè si dovrebbe eseguire un'operazione che sfrutti tutta l'area di elaborazione del core, ma sarebbe impossibile perchè causerebbe il blocco di windows.
Un 6/12 a pari di architettura avrà sempre più potenza di un 8 puro.
https://images.anandtech.com/doci/10578/s4%20SMT.png
Ma se i core virtuali sono la conseguenza delle risorse avanzate dai core fisici , mi spieghi dove prenderebbe le risorse un 6/12 per creare la potenza di elaborazione di addiritura 30% con i core al 100% ho in prossimità di esso ?.
Poi io ho detto (leggi bene) "TEORICAMENTE" , perchè molti fattori possono influenzare le prestazioni ...esempio quelle da te scritte (giochi e programmi che non sfruttano tutti i core )architettura non efficiente ecc....
Poi per quanto riguarda i giochi il famoso HT o SMT e più delle volte dannoso proprio per la sua lentezza , visto che nei videogiochi la cpu deve elaborare in tempo reale e veloce , quindi il HT o SMT sono causa di rallentamenti essendo lenti...molto lenti nei confronti dei core "fisici" causando spesso problemi in game , invece nei programmi di utilità dove non c è una trafila di elaborazione e conta solo il risultato finale ci sono i suoi indiscussi vantaggi.
a parità di tread è ovvio che sono meglio i core fisici,esempio classico dei vecchi i3 e i5 intel :
gli i3 erano 2 core 4 tread e gli i5 4 core 4 tread e gli i5 mediamente vanno meglio.
quando invece c'è un processore con più tread dipende dall'uso che se ne fa,un esempio può essere un i5 8600k ed un ryzen 2600x:
l'intel è un 6 core puro e tende ad andare meglio nei game mentre il ryzen che è un 6/12 tende ad andare meglio nella produttività.
quindi per me nn esiste un processore meglio di un altro,dipende tutto da ciò che si fa col pc e dalle proprie esigenze e finanze.
sgrinfia
30-09-2018, 16:56
a parità di tread è ovvio che sono meglio i core fisici,esempio classico dei vecchi i3 e i5 intel :
gli i3 erano 2 core 4 tread e gli i5 4 core 4 tread e gli i5 mediamente vanno meglio.
quando invece c'è un processore con più tread dipende dall'uso che se ne fa,un esempio può essere un i5 8600k ed un ryzen 2600x:
l'intel è un 6 core puro e tende ad andare meglio nei game mentre il ryzen che è un 6/12 tende ad andare meglio nella produttività.
quindi per me nn esiste un processore meglio di un altro,dipende tutto da ciò che si fa col pc e dalle proprie esigenze e finanze.
Si infatti ci sono molte variabili, l'unica risposta e l'uso e destinazione dell pc.;)
newtechnology
30-09-2018, 21:05
Ma se i core virtuali sono la conseguenza delle risorse avanzate dai core fisici
I core virtuali non sono solo la conseguenza delle risorse avanzate dei core fisici , un processore dotato di tecnologia HT/SMT ha una superficie maggiore di un 5-7% rispetto ad un processore tradizionale , perchè al suo interno vengono replicate alcune aree , inerenti alle unita di elaborazione ,per l'esecuzione del secondo thread, di fatto c'è qualcosa di più in termini di GFLOP.
Il diagramma qui sotto indica la differenza tra una cpu con HT e non , c'è una parte in più per la gestione del secondo Thread , ci sono 2 Register invece che uno.
https://preview.ibb.co/b8WLuK/single_core_hyperthreading_cpu_diagram.png (https://ibb.co/gQtpoe)
Schema core i7 7700k , il fratello minore i5 non è altro che un i7 con le registers fallate che vengono cosi disabilitate per avere 4 core 4 Thread e viene inserita meno cache per abbassare i costi dato che con solo 4 Thread necessita di meno spazio e banda.
https://preview.ibb.co/iGpLTe/core_i7.png (https://ibb.co/mhRdEK)
Le prime versioni di HT avevano un'incremento nell'ordine del 10% le ultime possono arrivare al 30% ovviamente ridimensionando TLB e cache (esempio lampante i5 8600k 9mb cache , i7 8700k 12mb cache)e aumentando il throughput che è sempre maggiore in una cpu dotata di HT/SMT
Tornando alla domanda , sopra è stato chiesto se tra un 6/12 e un 8 puro a parità di architettura e non di thread, cosa sia meglio , e chiaro che tra un 4/8 e un 8 sia meglio quest'ultimo , ma tra un 6/12 e un 8 è meglio il 6/12 (a pari di clock e architettura) perchè hai , seppur logici , il 50% in più di thread.
L'unico handicap e che se un gioco e scritto per gestire in parallelo fino a 8 Thread la cpu provvista di 8 core fisici avrà la meglio , perchè nella versione 6/12 , 2 dei core che serviranno per elaborare gli 8 thread saranno logici (6+2) , con una perdità minima in termini di frame (perchè i 2 virtuali non hanno le stesse performance dei 2 puri) ma un sistema decisamente più reattivo perchè restano ancora il 50% dei thread liberi.
BF1 per esempio riconosce i core fisici dai logici , utilizzando prima tutte le risorse fisiche e poi le restanti , ottenendo un netto miglioramento soprattutto nei frame minimi.
https://www.gamersnexus.net/images/media/2016/game-bench/battlefield/cpu/bf1-cpu-benchmark-dx11.png
E chiaro che se prendete i giochi di un paio di anni fa lo scenario era l'opposto , ma non per saturazione dell'hardware ,ma per una programmazione non ottimizzata per cpu con SMT/HT (non si distinguevano i core fisici dai logici) ,cosi se un gioco usava 4 thread nel caso di un core i5 7xxx veniva utilizzato tutti e 4 i core fisici , nel caso di un i7 7700k venivano usati i 2 fisici e i 2 logici che , come gia detto, hanno ovviamente prestazioni inferiori ai fisici , ottenendo cosi prestazioni in gaming inferiori e avendo meta processore che si fa le pippe.
Comunque , Amd non produce nessuna cpu se non quelle entry senza SMT , e Intel gioca le sue ultime carte su un prodotto più economico in modo da tirare ancora qualche gamers convito che sia meglio senza HT , ma sono destinati a sparire , nel settore HEDT non esistono cpu senza SMT/HT da anni , idem negli i7/i9 o Ryzen 5/7 perchè con un 5% un più di silicio si hanno performance fino al 30% maggiori.
mi spieghi dove prenderebbe le risorse un 6/12 per creare la potenza di elaborazione di addiritura 30% con i core al 100% ho in prossimità di esso ?.
Non lo dico mica io , AMD dichiara prestazioni fino al 41% con SMT , comunque dimentichi che per funzionare l'SMT ha bisogno di una parte dedicata all'interno della cpu , non è il residuo della potenza disponibile del singolo core.
http://hexus.net/media/uploaded/2017/3/7a3c02da-e6ef-4016-948b-ca51b790aa74.png
Brave_Mercenary
01-10-2018, 11:06
Grazie mi avete dato un po' di info utili!
amon.akira
01-10-2018, 14:23
è come dice newtechnology
i logici hanno anche una parte fisica e intel dichiara fino a +30% se sfruttati adeguamente. un 8core ha il 33% in piu rispetto al 6core, quindi sono pari o può avere un leggero vantaggio il 6+6 sulla parallelizzazione dei thread o perdere se si usa software limitato a 8 thread.
cmq non conviene passare dall 8700k al 9700k, converrebbe con il 9900k o le next 10nm.
matte91snake
13-10-2018, 13:52
il concetto è che ci sono 2 thread per unità elaborativa.
2 core virtuali con le rispettive code di istruzioni per ogni alu.
non che c'è un core fisico con una sua controparte virtuale.
immaginate un piccolo imbuto in cui la parte grande sono le istruzioni pronte da eseguire e la parte stretta è l'unità di elaborazione. ora ci sono 2 contagocce, entrambi possono fare cadere massimo 50 gocce al minuto ma l'imbuto può arrivare a gestirne 60. va da se che l'imbuto con i 2 contagocce si riempie e gestisce 60 gocce al minuto.
ora i problemi possono essere due:
- gocce troppo grandi o troppo diverse tra loro (istruzioni poco parallelizzabili)
- in presenza di più imbuti qualcuno cerca di usare 2 contagocce dello stesso imbuto con gli altri liberi. (non c'è ottimizzazione del software)
questi sono i motivi per cui nelle slide ti scrivono "fino al 30% di performance in più", perchè nell'uso comune all'atto pratico le condizioni migliori non ci sono quasi mai e il risultato è che imho per un uso generico, gaming e multitasking di un certo calibro meglio un 8/8 che un 6/12.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.