Onestamente non seguivo più di tanto tempo fa, praticamente gli fx me li sono saltati, nemmeno li conoscevo. Come IPC erano assolutamente fuori mercato, e a quanto ho capito cercavano di compensare la mancanza di IPC con i core, frequenze con conseguente "effetto fornetto" :asd: anche se c'è gente che li usa o li ha usati e si trovava bene, i numeri non sono assolutamente a loro favore, nella maniera più assoluta...
Invece i Ryzen per dire sono estremamente competitivi da questo punto di vista, sono solo leggermente indietro rispetto a kaby.
Spesso leggo che i Ryzen hanno un "IPC basso" attribuendo ad esso la causa del fatto che stiano leggermente indietro in gaming (e in altri software), non è proprio vero :asd:
I fattori limitanti sono, grosso modo, tre:
1) frequenze, il muro dei 4ghz limita un po' nel generare framerate alti in gaming e lo fa apparire indietro nei bench.
2) Comunicazione cross-ccx. I processori ryzen sono sviluppati secondo un approccio modulare. i moduli (ccx) sono connessi secondo una tecnologia (Infinity fabric) che consente di mettere su facilmente un sacco di core ma possono nascere alcune latenze nella comunicazione fra essi.
3) cosa più importante: ottimizzazione, problemi del genere si possono arginare abbastanza bene scrivendo software ad hoc :)
Un i7 7700k non ha limiti di frequenze, non ha problemi di comunicazione inter-core, ed ha ricevuto tutta l'ottimizzazione possibile essendo praticamente lo stesso processore migliorato ad oltranza ormai da anni senza cambiamenti drastici.
poi a "complicare" la situazione odierna è che tantissime cpu hanno tecnologie ben funzionanti di simultaneous multi threading (Intel HT e AMD SMT) che anch'esse scalano in maniera rispetta in base al programma, un po' come se fosse una specie di versione multithread del concetto di IPC. Come si formalizza qualcosa del genere? Non so se mi spiego...
Per fare esempio tieni conto che il 1500X (quad con SMT) a 4.2ghz in cinebench R15 ST fa 168 contro i (mi pare) 177 del 6700k a 4ghz, in CBr15 MT fanno lo stesso punteggio (circa 940). Bisogna o non bisogna tenerne conto di come viene gestito un doppio thread dal singolo core? Quando formalizzarono l'IPC non esistevano tecnologie del genere...
Tutto questo per dire che i tempi stanno cambiando, ci sono dei limiti fisici che impongono limitazioni sulla potenza dell'uncore che cresce in maniera sempre più lenta. E' evidente che si cerca di contrastare (ma non da ieri...) il problema attraverso il calcolo parallelo, sia da parte di gpu che di cpu. Pensa tu se fossimo costretti a stare ancora con dei single core quanto sarebbe arretrato il software :asd: Insomma l'IPC è importante ma non è tutto. In termini logici direi che è condizione necessaria ma non sufficiente per fare un buon processore. :)
Comunque è un bell'argomento ;)