Info Il processore e la velocità

Champ

Nuovo utente
Autore del topic
15 Settembre 2010
39
0
Miglior risposta
0
Premesso che solo io posso essere così pazzo da postare a quest'ora ma vabbè...

Spesso sento dire dalle persone "Wow io ho un super mega ultra computer con processore a 7 core e velocità 4.3 GHz, l'ho pagato solo 3000 euro!!" (<-- ironia)
Bè io di solito quando sento queste cose rispondo "O sei un idiota o mangi sassi".

Prima di spiegare il perchè faccio una sintesi veloce sui componenti di un processore.
Il processore è composto principalmente da:
-ALU (unità che si occupa dei calcoli quali addizione, moltiplicazione, divisione)
-FPU (affiancata alla ALU, fa calcoli in virgola mobile (float))
-Registro istruzioni (tiene memoria le istruzioni da eseguire, è composto da 2 parti, ma non voglio andare troppo nello specifico)
-Decoder istruzioni (da in pasto le istruzioni alla ALU)
-Program counter (diciamo chè è come una lista della spesa delle cose da fare)
-Stack pointer (discorso davvero molto ampio, vi basta sapere che ci finiscono le istruzioni in "attesa", detto proprio banalmente)
-Le memorie (dati e programmi)
-I flag (di solito sono 16, o almeno, ora dovrebbero essere 16, poi può cambiare da processore a processore, svolgono vari funzioni, in linea di massima memorizzano qualcosa che è di "supporto" a un altro componente)

Tutto ciò è collegato dai vari bus (dati, indirizzi, controllo).

Ora, i core cosa sono? Cosa si intende quando si dice che un computer ha 5 core?
Vi siete mai chiesti un processore quante cose alla volta sa fare? 1. E perchè? Perchè la ALU (cuore del processore) è una sola e sa fare solo una cosa alla volta.
Ora però abbiamo processori a 2,3,5,7,8,12,16 core e così via, ma quante cose sanno fare alla volta?

Detto banalmente: 1 core = 1 ALU | 2 core = 2 ALU ... etc.

Ma quindi un computer con 7 core a rigor di logica dovrebbe fare 7 cose alla volta e quindi andare 7 volte più veloce, ma di fatto non è così. E perchè?
Semplice, tutto ciò che ho detto fin'ora è legato all'hardware e quindi alla parte fisica. Dipende tutto da come si fanno collaborare le varie parti a livello software.

Prima un programma in asm veniva scritto come noi siamo abituati a vedere scritto un qualsiasi programma. Una istruzione per volta. E adesso? Adesso che io al programma gli posso far far 2 o 3 o 4 o 7 o 16 e così via cose per volta, è cambiato qualcosa nel modo di programmare? La risposta è NO.
Ed è QUA il problema! Il problema è che bisogna iniziare a usare tecniche di programmazione più avanzate, non siamo più allo Z80 che sapeva fare solo somma e sottrazione da solo!
Quella che si dovrebbe usare oggi è la cosiddetta "programmazione parallela". Cioè i processori dovrebbero lavorare insieme, collaborando e non indipendentemente. Solo così sfrutterei a pieno le potenzialità del mio processore.

E questa è una cosa molto importante secondo me da sottolineare, diffondere, ma soprattutto, da applicare.

Altra cosa su cui volevo far chiarezza è la velocità dei processori.
Secondo voi un processore con potenza a 4.3 GHz, va davvero a 4.3 GHz?
No. E il motivo è molto semplice. Il processore lavora a stretto contatto con la RAM, la GPU e tutti gli altri componenti del computer.

Memoria Standard Clock Frequenza I/O
DDR2 667 PC2-5300 166 MHz 333 MHz
DDR2 800 PC2-6400 200 MHz 400 MHz
DDR3 800 PC3-6400 100 MHz 400 MHz
DDR2 1066 PC2-8500 266 MHz 533 MHz
DDR3 1066 PC3-8500 133 MHz 533 MHz
DDR3 1333 PC3-10600 166 MHz 667 MHz
DDR3 1600 PC3-12800 200 MHz 800 MHz

Queste sono el velocità delle RAM riportate su wikipedia, le ultime sono le DDR3. Ora ditemi, secondo voi può il processore lavorare realmente a 4 GHz se la volocità della RAM è 4 volte inferiore?
Lascio a voi le conclusioni.
Per qualsiasi domanda o chiarimento, chiedete pure.
Scusate eventuali errori, sono pur sempre le 2 e 30!!
 
Riferimento: Il processore e la velocità

Questo è un VERO thread.

Nessuna frase copiata, tutto scritto di testa tua.

Complimenti. ;)

Solo una cosa:

2,3,5,7,8,12,16 core
E' errato.
Non esiste un processore con 5, 7 core....
Ma esistono processori con: 1, 2, 3 ( Di solito un processore con 3 core in realtà ha 4 core, però uno è castrato ), 4, 6, 8, 12 core e così via.
 
Riferimento: Il processore e la velocità

Programmi che sfruttano il multicore ce ne sono (non molti per la verità) e comunque il sistema è in grado di "dirottare" le elaborazioni sui vari core. Dunque mentre uno è impegnato a fare un cosa, l'altro ne fa un altra, quindi è innegabile che un incremento prestazionale ci sia.
Queste sono el velocità delle RAM riportate su wikipedia, le ultime sono le DDR3. Ora ditemi, secondo voi può il processore lavorare realmente a 4 GHz se la volocità della RAM è 4 volte inferiore?
RAM e CPU sono due componenti diversi e, per quanto possano collaborare, non svolgono assolutamente le stesse operazioni. Al massimo è corretto dire che la frequenza non è tutto perchè conta anche l'architettura del processore, ma collegarlo ad un discorso di frequenza di RAM non ha senso.
 
Riferimento: Il processore e la velocità

RAM e CPU sono due componenti diversi e, per quanto possano collaborare, non svolgono assolutamente le stesse operazioni.

Su questo ti do assolutamente ragione. ;)

Ps. Esistono ram con frequenza superiore ai 2 GHz. ( DDr3, ovviamente :emoji_smiley: )
 
Riferimento: Il processore e la velocità

@Mirko Per prima cosa: grazie mille per i complimenti. Poi.. Si lo so, ma alle 2 di notte ero un po' fuso e ho sparato numeri a caso solo per far capire il concetto xD

@ptm Scusa forse mi sono spiegato male. Io intendevo dire che la CPU e la RAM lavorano a stretto contatto (e non solo loro, anche scheda video, audio, etc.) il che significa che una elevata differenza di velocità tra le due rappresenta comunque un limite fisico. Se non mi sono spiegato meglio ho trovato ora questo mini articolo sulla wiki inglese:
Perfavore, Entra oppure Registrati per vedere i Link!

Leggere le informazioni sotto il titolo "Memory wall".
Comunque generalmente è necessario che il processore vada ad almeno 300-500 MHz in più della velocità della RAM.. Ma che mi vada a 2 GHz in più non ha molto senso.. Cioè per esempio.. La RAM va a 800 MHz e il processore a 3.7 GHz.. Il che vuol dire che... Il processoro non andrà MAI pienamente a 3.7 GHz.. e oltre la RAM velocità di scheda video, audio..

Ovvio che tutto ciò dipende anche da come si è pensata l'architettura della scheda madre (chissà perchè la asus straccia schede di altri produttori, magari ha ingenieri intelligenti ::emoji_relieved:)


Comunque non volevo dire che avere 3 core è uguale ad averne solo 1, solo che le potenzialità non sono sfruttate al meglio, e l'ottica del modo di programmare dovrebbe spostarsi sulla programmazione parallela.. Il succo voleva essere questo :ragione:
 
Riferimento: Il processore e la velocità

Ammetto la mia ignoranza xD Anche se più che un discorso di frequenza è un discorso di latenza...comunque complimenti ;)
 
Riferimento: Il processore e la velocità

Complimenti, bravo, un ottimo thread, bravo utile per i meno esperti anche se è un pò scocciante a leggere tutto ::emoji_relieved:
 
Riferimento: Il processore e la velocità

Complimenti, bravo, un ottimo thread, bravo utile
:°°:

scocciante a leggere tutto
Scusa ma...Questo thread non è molto lungo...
Hai visto il tuo copia-incolla di prima? ::emoji_relieved:si:

Vabè, non andiamo in off.