Domenica 24 Novembre 2013
La corsa alla velocità
Per la serie il-computer-è-lento-devo-cambiare-processore, oggi parlo un po' di processori, tendenze e controtendenze.
La gente, fondamentalmente, ha paura della tecnologia! Non paura di usarla, ma paura che sia inadeguata e vecchia, quindi da cambiare! Dei tempi che corrono, poi, spendere una cifra come 500 euro ogni 2 anni solo per avere un pc da ufficio perchè "quello che avevo era lento e mi hanno suggerito di cambiarlo", mi pare veramente un raggiro!

Queste mie affermazioni vanno un po' in controtendenza a ciò che si è abbituati a leggere di norma, sia dai siti di benchmark (a cui sono affezionatissimo, ma sono davvero da malattia!) che dai siti di hi-tech, news e aggiornamenti dal mondo della tecnologia e da ogni buon lettore di riviste all'avanguardia!

In questi giorni mi sono tolto una curiosità personale e, preso un sito di benchmark che propone una buona lista di processori (dal "buon" vecchio Pentium 4 fino ad adesso), ho deciso di stilare una lista dei vari top di gamma Intel e AMD(1) nei vari trimestri dal fine 2001 fino ad adesso.(2)

E come per magia non ho scoperto nulla di nuovo!



Ovvero, ho solo "trovato" l'andamento temporale delle prestazioni dei vari processori e confrontati con la nostra cara e amata curva esponenziale.

Chi di CPU se ne intende questo quadro è l'ennesimo grafico prestazionale che dimostra:
a) la tendenza è sempre stata costante nell'aumentare le prestazioni ad ogni generazione;
b) negli ultimi anni le CPU non tengono più il passo con l'andamento più che esponenziale degli "anni d'oro".

Ma il grafico letto così non da le informazioni reali a proposito delle prestazioni, fornisce solo la potenza nell'eseguire il benchmark prestabilito che, oltre che essere soggettivo e quindi discutibile, non riflette minimamente le prestazioni che in fin dei conti possono interessare la vita dell'utente comune.
Per fare un esempio pratico, se intendo guardare un film in FullHD a me interessa sapere qual'è il processore che mi permette di farlo senza scatti, piuttosto di sapere che il processore migliore riesce a farne girare 10 contemporaneamente! (in fin dei conti io riesco a stare attento ad uno solo, e nemmeno tanto bene!!)

Ora concentriamoci su fattori "secondari" che illustra questo grafico!

Nelle due linee rappresentanti i processori troviamo 2 grossi balzi iniziali:
-all'inizio del 2005 (passaggio da Athlon 64/Pentium 4 a Athlon 64 X2/ Pentium D, ovvero il primo raddoppio dei core);
-con la metà del 2006 per Intel (passaggio da Core 2 Duo a Core 2 Quad, nuovo raddoppio di core);
-verso la fine del 2007 per AMD (da Athlon 64 X2 a Phenom II X4, raddoppio di core);
-grosso balzo di intel nel 2009 (in corrispondenza della seconda generazione di i7 e degli i7 1st gen a 6 core)
-AMD prosegue linearmente senza grossi sbalzi pur aumentando i core fino a 8 e migliorando le prestazioni.

Tutte queste grosse "accelerazioni" sono date fondamentalmente dall'aumento dei core di elaborazione!

Si può dire, quindi, che il grosso della potenza di calcolo sia frutto dell'aumento dei core di elaborazione? La risposta è: NI!

Tre sono i principali fattori che determinano la potenza di un processore: la quantità di core di elaborazione reali (non core logici per intenderci, anche se quelli aumentano di un 15-20% le prestazioni), la massima capacità di elaborazione per fronte di clock e la frequenza di clock; la potenza massima si può stimare moltiplicando questi 3 fattori:

core * clock_massimo * operazioni_per_ciclo_di_clock = potenza_cpu

La realtà è ben più complessa (core logici, overhead di comunicazioni tra i vari core per la sincronizzazione, dimensione della cache, ecc.), ma con questo metodo si ottiene una stima indicativa delle potenzialità di una CPU.

Ma perchè tutto questo discorso "accademico"?

Facciamo un salto indietro all'introduzione: si parlava di computer da ufficio e utilizzo medio da parte di utenti medi.
Vediamo adesso alcune osservazioni:
-l'utente medio opera in ambienti che elaborano un programma per volta o per lo meno non vede un film, mentre scrive un documento di testo, edita un'immagine, comprime un file e gioca a COD (l'utente NON è multitasking o multithreading!)
-la maggior parte dei programmi più comuni (lettori audio/video, programmi di produttività come LibreOffice o MS Office, programmi per modificare le foto, file explorer, utility di compressione, programmi di messaggistica, ecc.) sono progettati per un funzionamento a singolo thread (altri thread che possono utilizzare sono del tutto secondari).(3)
-i browser web sono gli unici programmi di utilizzo globale che implementano soluzioni a più thread (anche se il grosso del lavoro è svolto dalle schede grafiche per il rendering della pagina e non dalle CPU!) anche se a livello di prestazione non richiedono grossi sforzi al processore e potrebbero quindi rientrare nella categoria dei programmi a singolo thread con la clausola del poco sfruttamento della CPU anche se utilizzano di fatto più thread

Detto ciò, per un utente MEDIO che fa uso di programmi MEDI su di un PC, ha la necessità di aggiornare così frequentemente un processore?

Se la risposta non fosse ancora chiara, vi illustro ora un grafico che rappresenta le prestazioni delle stesse CPU prese in considerazione nel grafico precedente, ma con l'utilizzo del benchmark con un solo thread (quindi i processori hanno elaborato un solo core per volta), che, per quanto riguarda il lavoro che svolge un processore per i programmi sopraelencati(4), risulta una situazione più realistica dell'uso quotidiano del PC:



Balza subito all'occhio che la crescita della velocità dei processori nei calcoli a singolo core è tutt'altro che esponenziale, anzi segue fedelmente l'andamento lineare. Notiamo anche che a parità di tecnologia c'è un incremento prestazionale che è dato principalmente dall'aumento del clock (prodotto dei fattori clock * operazioni_per_ciclo_di_clock).
Il raddoppio prestazionale notato prima, che avveniva circa ogni cambio generazionale, in questo scenario avviene con molta più lentezza con una cadenza di circa 2-3 generazioni.
Lampante è il passaggio generazionale tra la prima e la seconda generazione di i7: i Core i7 970 e 980 che nel complesso raggiungevano il livello prestazionale dei Core i7 di seconda generazione (avendo 6 core anzichè 4), scendono alla pari della prima generazione effettuando calcoli a singolo core!

Ovviamente questo grafico non è linearmente riconducibile al grafico precedente, in quanto tutti quei fattori e le soluzioni che determinano il punteggio nei vari benchmark vanno ben oltre alla semplice linearità e semplicità!
Tuttavia, se prendete in considerazione i dati relativi a AMD o a Intel, separatamente, in questo grafico e li moltiplicate per il numero di core, notate un andamento analogo a quello descritto dal primo grafico, anche se a livello numerico non ci siamo per nulla!

Per la mia personale esperienza di utilizzatore medio di computer, posso assicurarvi che un Core 2 Duo (o l'analogo AMD) o un Core 2 Quad è più che sufficiente per un'ottima esperienza di utilizzo di un computer con i moderni sistemi operativi e per le normali modalità di utilizzo da utente medio! Potete spingervi anche molto oltre senza nessun problema (tipo gaming non troppo pretenziosi anche se degni di tale nome) senza che la CPU diventi il collo di bottiglia!
Se il computer con un processore di questo tipo vi risulta lento allora il problema va ricercato prima di tutto in un altro componente del PC (poca RAM, scheda video troppo vecchia o lenta, hard disk poco performante, ecc.).

è molto meglio migliorare di poco l'elemento più lento di un sistema, piuttosto che quadruplicare l'elemento più veloce (tanto più vero se questi elementi sono centrali nel funzionamento del dispositivo).




Note:
1) Nei top di gamma ho volutamente ignorato le versioni Extreme Edition di Intel e le precedenti versioni FX di AMD che erano tutte studiate per la fascia extreme gaming e sono soluzioni vendute a costi esorbitanti (quindi rare), con uscite meno frequenti rispetto agli altri processori e che possono saltare qualche nodo tecnologico (a parità di tecnologia escono con qualche trimestre/anno di ritardo e non sono versioni basate su tutte le tecnologie uscite). Uniche pseudo-eccezioni sono i Core i7 970 e 980 (che sono delle versioni Intel a 6 core) e l'FX-9370 di AMD che è una via di mezzo tra top di gamma e extreme gaming.

2) il benchmark preso in cosiderazione non è il migliore o quello più realistico nella rappresentazione di un processore. è stato scelto in quanto contenente una notevole mole di dati riguardo a diversi processori e che quindi, mediamente, risulta realistico (anche se non si scende nel dettaglio con test mirati sulle varie tecnologie implementate nelle CPU).

3) si fa riferimento a programmi comunemente reperibili nei vari pc, quali l'utility di compressione integrata in Windows, l'explorer di default ecc. Non si menzionano soluzioni proprietarie o ricercate.

4) uso quotidiano è inteso come uso per l'intrattenimento multimediale (musica, film, navigare in internet con 3-4 schede, download di vario genere, utilizzo di Java e Flash player, giochi per PC datati o che richiedono poche risorse) lavoro di produttività e d'ufficio (scrivere file di testo, fogli di calcolo, inviare e ricevere mail, messaggistica istantanea, sincronizzazione di rubriche/file&cartelle/programmi), utility del pc (deframmentazione, scandisk, pulizia del registro di sistema e del disco, antivirus/antispyware, file explorer, compressione e decompressione di file di piccola e media dimensione).



Torna indietro


Commenti: 2

Nome:
Messaggio:
Riscrivi il codice:

Tameo89 scrive:
Ciao Pietro, sono contento che il mio articolo sia stato di tuo gradimento! Io sono un appassionato di computer e mi informo sempre sulle ultime tecnologie, ma sono ben consapevole che per un normale utente (me compreso il 99% del tempo) le tecnologie di qualche anno fa sono le migliori in assoluto nel rapporto qualità/prezzo! Mi son messo a scrivere questo articolo perché ho notato che la maggior parte delle persone che conosco e che non hanno dimestichezza con l'hardware ignorano che le nuove tecnologie (in fatto di processori) non aggiungono nulla in più di quelle vecchie dal punto di vista prestazionale ad un PC (e parlo di chi come me lo usa per le operazioni di routine, non per calcolo scientifico!)
2014-01-24 - 22:03:14 IP: Logged
pietro scrive:
Ottimo articolo, di quelli che servono! Io in effetti, lavorando in ambito informatico, sono abbastanza conscio dell'inutilita' alla rincorsa dell'ultimo processore uscito, ma avere questa spiegazione chiara e documentata mi ha fatto molto piacere.
2014-01-24 - 11:22:51 IP: Logged

Filtra per Tag:

-Windows (9)
-HowTo (7)
-Server (6)
-Linux (4)
-Hardware (4)
-e-commerce (3)
-Programmazione (2)
-Wireless (2)
-eMule (2)
-nVidia (2)
-PDF (1)
-Arduino (1)
-Elettronica (1)
-WEB (1)
-Trashware (1)
-IRC (1)
-Puttanate (1)