Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Dialogo tra RAM, CPU e altri "pezzi" del pc: dubbi

Il tuo Sistema Operativo non vuole riconoscerti una periferica? I nuovi Driver della scheda video ti danno problemi? La tastiera ti parla in una lingua incomprensibile? Posta e cercheremo di aiutarti.
Per problemi legati strettamente all'Hardware utilizzate "Hardware, Modding & Overclock"

Dialogo tra RAM, CPU e altri "pezzi" del pc: dubbi

Messaggioda Jaadre » dom gen 06, 2008 5:34 pm

Heilá gente,

vorrei sapere se qualcuno é in grado di far luce su alcuni miei dubbi "tecnici" riguardanti la CPU e la memoria RAM, in particolare sul funzionamento del memory controller degli Athlon64, lo scambio di dati CPU-RAM (principalmente con DDR e DDR2), e il dialogo tra memorie RAM e altri "pezzi" del calcolatore.

Cerco di arrivare ai miei dubbi partendo da lontano.

Mi pare di aver capito che, con i vecchi AthlonXP, lo scambio di dati CPU-RAM avvenisse attraverso il NorthBridge, ad una frequenza pari a quella dell'FSB, o Front Side Bus, a sua volta pari alla frequenza di clock "base" del processore moltiplicata per due; questa frequenza dell'FSB (che poi una frequenza vera e propria non era, bensí si trattava di un "data transfer" in MT/s, pari -in valore- al doppio della frequenza di clock, perché veniva giá sfruttato il doppio trasferimento di dati per ciclo di clock -cioé la tecnologia Double Data Rate) coincideva esattamente con quella della memoria ram (tutti i nuovi AthlonXP supportavano giá le DDR), con "data transfer" pari -sempre in valore- al doppio della frequenza del buffer I/O (che conicideva con la frequenza di lavoro del chip di memoria).
La frequenza "di lavoro" del FSB era anche sfruttata in molti altri canali di "dialogo" come l'AGP, quello delle porte PCI, e via dicendo.

Con l'avvento degli Athlon64 le cose si sono complicate, per via dell'introduzione, all'interno del processore stesso, del memory controller integrato (che prima era solitamente presente nel NorthBridge; questo dispositivo serve a mettere in comunicazione diretta la CPU con la memoria RAM), e dell'Hyper Transport (canale diretto di interfaccia CPU-NorthBridge).

Per finire, da pochi anni sono arrivati i dual core, che hanno permesso l'implementazione (o -per meglio dire- il pieno sfruttamento) delle DDR2, che, a fronte di frequenze di chip praticamente pari a quelle delle DDR, grazie ad alcuni espedienti elettronici, sono peró arrivate ad avere un clock del buffer I/O doppio rispetto alle sorelle minori, e pertanto anche un "data transfer" raddoppiato.
Ora nella mia mente c'é solo grande confusione.

Ecco le domande:
  1. Affinché ci sia comunicazione tra due entitá separate, é necessario che queste due entitá "parlino" la stessa lingua: se consideriamo CPU e RAM, immagino che la stessa lingua significhi contemporaneamente stessa frequenza di scambio di dati e stessa banda passante. E' corretto o sbagliato?
    Chiedo questo perché, essendo totalmente ignorante riguardo all'architettura dei pc, immagino che una unitá che lavori a 2400MHz di frequenza non possa dialogare granché bene con un'altra funzionante a 400MHz (il caso, ad esempio, di un Athlon64 e di un modulo di memoria DDR), e che, altresí, se la prima unitá mettesse a disposizione una banda passante di 2400*8=19200 MB/s, chiaramente la quasi totalitá della banda sarebbe inutilizzata, costituendo i 3200 MB/s (400*8) di banda dell'altra unitá un vero e proprio collo di bottiglia (parliamo sempre di BUS a 64 bit).
    Dunque é corretto dire che, in generale, le memorie ram (indipendentemente dalla quantitá di moduli) sfruttano un canale di comunicazione per il quale devono corrispondere sia la frequenza di funzionamento, sia la banda passante?
    • Se sí, é giusto dire che, sia le DDR1, quanto le cpu Athlon64 single core, utilizzano la tecnologia Double Data Rate in modo tale da incrementare il "transfer rate", e far comunque coincidere oltre alla frequenza di clock (200MHz per gli Athlon64, e 200MHz per le DDR400), anche la quantitá di dati scambiati (con un'eguale ampiezza del BUS a 64bit)?
    • Sempre se sí, nel caso delle cpu AMD dual core e delle memorie DDR2, come si coniugherebbe il discorso di prima con il fatto che la cpu funziona sempre a 200MHz, ma sono due i core presenti, e le memorie DDR2-800 funzionano ad una frequenza di clock di 400MHz (e dunque non vi é coincidenza di frequenza, bensí solo di banda passante*)???
  2. Ancora:é corretto affermare che l'utilizzo del dual channel non comporta miglioramenti nello scambio di dati tra CPU e RAM, quando la banda passante coincide perfettamente (come nel caso di Athlon64 single core e DDR400, oppure di Athlon64 dual core e DDR2-800)?
    Cioé: é corretto dire che la maggiore ampiezza di banda messa a disposizione dalle DDR/DDR2, per via dei 128 bit del dual channel, viene sfruttata in questi casi solo da altri canali di dialogo (se ne esistono), come ad esempio quello tra memorie e AGP/PCI-E, oppure tra memoria e dischi rigidi?
    • Se sí, é corretto dire che le memorie ram su piattaforme 939 e AM2, attraverso il collegamento diretto con la CPU e poi attraverso il NorthBridge, usufruiscono anche di altri canali di "comunicazione" con differenti dispositivi, come per l'appunto l'hard disk, la scheda video e cosí via?
      Oppure tutti i dati in ingresso ed in uscita dalle memorie RAM, passando necessariamente attraverso il memory controller, cioé attraverso il processore, devono sottostare alla larghezza di banda in comune con quest'ultimo?
Perdonate la lungaggine espositiva... spero almeno di essere stato chiaro nella mia ignoranza.
Grazie a chiunque avrá la pazienza di rispondere.

Note
*: perché due core a 200MHz implicano un "transfer rate" di 400MT/s l'uno, per un totale di 800MT/s, perfettamente pari a quello delle DDR2 (si noti che 800MT/s * 64 bit * 1/8 Byte/bit = 6400 MByte/s, esattamente la banda passante delle DDR2-800).
Avatar utente
Jaadre
Senior Member
Senior Member
 
Messaggi: 424
Iscritto il: ven apr 27, 2007 3:23 am

Messaggioda Jaadre » gio gen 10, 2008 3:05 pm

Giusto un piccolo "uppetto"; chissá che per qualcuno in grado di rispondere la discussione sia passata inosservata... [std]
Avatar utente
Jaadre
Senior Member
Senior Member
 
Messaggi: 424
Iscritto il: ven apr 27, 2007 3:23 am

Messaggioda The King of GnG » gio gen 10, 2008 4:21 pm

Jaadre ha scritto:Giusto un piccolo "uppetto"; chissá che per qualcuno in grado di rispondere la discussione sia passata inosservata... [std]


No, è passata non letta, almeno da me. Sorry, troppo lunga....
People should just buy a cd and rip it. You are legal then" - William Henry Gates III (detto "Bill")
Avatar utente
The King of GnG
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 11144
Iscritto il: mer mar 02, 2005 8:24 pm
Località: La Biblioteca di Babele


Messaggioda danibaan » gio gen 10, 2008 10:03 pm

...Spero qualcuno risponda... E che lo faccia in maniera comprensibile!!!
perché è interessante... Ma... Complicatissimissimo!!! Ecco, per intenderci.

Good luck!!! [std]
Tutte le cose belle della vita sono illegali, immorali o fanno ingrassare!!!
Avatar utente
danibaan
Silver Member
Silver Member
 
Messaggi: 1072
Iscritto il: sab mar 03, 2007 10:31 pm

Messaggioda ste_95 » sab gen 12, 2008 9:49 pm

Più che inosservata, è passata... pochi eletti sapranno rispondere.

E' davvero molto interessante, non mi ero mai posto dubbi del genere... [std]
«A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio.» Oscar Wilde
Avatar utente
ste_95
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 17271
Iscritto il: lun ago 06, 2007 11:19 am

Messaggioda ninjabionico » gio gen 17, 2008 1:18 am

Jaadre ha scritto:...
Mi pare di aver capito che, con i vecchi AthlonXP, lo scambio di dati CPU-RAM avvenisse attraverso il NorthBridge, ad una frequenza pari a quella dell'FSB, o Front Side Bus


Più o meno è così... [^]
... dipende anche dai banchi di memoria, potresti essere costretto a farla lavorare in asincrono rispetto al bus FSB, nel BIOS delle schede madri spesso c'è una voce per il bus della memoria e si regola come FSB, FSB+33MHz e FSB-33MHz. In alcuni casi al posto di FSB troviamo la dicitura HOST.

Jaadre ha scritto:... a sua volta pari alla frequenza di clock "base" del processore moltiplicata per due


Solo per le DDR (Double Data Rate) moltiplicano per 2 la frequenza dell'FSB, per le normali SDRAM PC 66/100/133 la frequenza era la stessa dell'FSB, come visto prima in alcuni casi modificata con un + o - 33 MHz.

Il processore invece ha il suo moltiplicatore interno che è indipendente da quello delle Ram, di qualunque tipo siano.

Jaadre ha scritto:questa frequenza dell'FSB (che poi una frequenza vera e propria non era...


Invece è una frequenza vera e propria, infatti è quella utilizzata come frequenza di base dal chipset della scheda madre, usata per ricavare le altre frequenze di funzionamento (Pci, Agp, Isa, ecc...) mediante l'uso di opportuni divisori.
Il processore invece la utilizza come base con i moltiplicatori per ricavarne la propria frequenza di funzionamento.

Questo fa capire l'importanza di questa frequenza, infatti si può agire su di essa per overclocckare l'intero sistema (non solo il processore).

Jaadre ha scritto:Con l'avvento degli Athlon64 le cose si sono complicate, per via dell'introduzione, all'interno del processore stesso, del memory controller integrato (che prima era solitamente presente nel NorthBridge; questo dispositivo serve a mettere in comunicazione diretta la CPU con la memoria RAM), e dell'Hyper Transport (canale diretto di interfaccia CPU-NorthBridge).


Con l'Athlon 64 le cose si sono semplificate, il controller della memoria non è più localizzato nel north-bridge ma nel processore stesso.
Questa scelta permette di semplificare la progettazione della scheda madre, nel quale saranno presenti solo le piste che dal processore vanno ai banchi di memoria, ottimizzando i tempi di accesso... le latenze.
Quindi il controller, letta la memoria, manda i dati al processore utilizzando la sua stessa frequenza di clock... una bella trovata, non c'è che dire, complimenti per AMD.
Quindi, se con l'Athlon XP che decideva il supporto alla memoria era il chipset, con gli Athlon64/Sempron/AthlonFx/Opteron è il processore.

Jaadre ha scritto:Per finire, da pochi anni sono arrivati i dual core, che hanno permesso l'implementazione (o -per meglio dire- il pieno sfruttamento) delle DDR2, che, a fronte di frequenze di chip praticamente pari a quelle delle DDR, grazie ad alcuni espedienti elettronici, sono peró arrivate ad avere un clock del buffer I/O doppio rispetto alle sorelle minori, e pertanto anche un "data transfer" raddoppiato.
Ora nella mia mente c'é solo grande confusione.


Purtroppo sulle DDR2 so solo che le latenze sono più o meno quelle delle DDR, mentre la banda è praticamente raddoppiata...

Jaadre ha scritto:Ecco le domande:[list=1][*]Affinché ci sia comunicazione tra due entitá separate, é necessario che queste due entitá "parlino" la stessa lingua: se consideriamo CPU e RAM, immagino che la stessa lingua significhi contemporaneamente stessa frequenza di scambio di dati e stessa banda passante. E' corretto o sbagliato?


Come ho detto prima, l'FSB è sincronizzato con il clock del processore... mentre per la Ram (Sdram, Sdram DDR e DDR2) non è detto che sia così, infatti la memoria può lavorare in asincrono, solo che naturalmente perdono un po' in prestazioni e non sempre il gioco vale la candela.

C'è da ricordare inoltre che fra il processore vero e proprio e la Ram, oltre al controller ci sta un altro componente, un buffer noto con il nome di Cache di 1° e 2° livello.
Nella cache vengono memorizzati dati e istruzioni in attesa di essere elaborate. La cache è una memoria piccola (se paragonata alla Ram di sistema) ma ancora più veloce.

Scusami Jaadre, ma sono cotto.
Al resto darò un'occhiata domani o alla prossima occasione.

Ciao.
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd

Messaggioda Jaadre » gio gen 17, 2008 2:48 am

No, no! Ma che, scherzi?! Non ti preoccupare proprio: già disperavo che qualcuno rispondesse a questa discussione! [:D]

ninjabionico ha scritto:
Jaadre ha scritto:...
Mi pare di aver capito che, con i vecchi AthlonXP, lo scambio di dati CPU-RAM avvenisse attraverso il NorthBridge, ad una frequenza pari a quella dell'FSB, o Front Side Bus

Più o meno è così... [^]
... dipende anche dai banchi di memoria, potresti essere costretto a farla lavorare in asincrono rispetto al bus FSB, nel BIOS delle schede madri spesso c'è una voce per il bus della memoria e si regola come FSB, FSB+33MHz e FSB-33MHz. In alcuni casi al posto di FSB troviamo la dicitura HOST.
Jaadre ha scritto:... a sua volta pari alla frequenza di clock "base" del processore moltiplicata per due

Solo per le DDR (Double Data Rate) moltiplicano per 2 la frequenza dell'FSB, per le normali SDRAM PC 66/100/133 la frequenza era la stessa dell'FSB, come visto prima in alcuni casi modificata con un + o - 33 MHz.

Il processore invece ha il suo moltiplicatore interno che è indipendente da quello delle Ram, di qualunque tipo siano.

Non mi trovo d'accordo su varie cose: il FSB ed il BUS (forse meglio chiamarlo CLOCK) del processore credo siano due cose nettamente distinte, e sia qui, che su Wikipedia, ho letto chiaramente che la tecnologia DDR veniva utilizzata già negli FSB dei processori AMD K7...

Leggendo attentamente si conclude che quella dell'FSB non è una vera e propria frequenza, perché la frequenza del segnale è sempre pari a quella del generatore di CLOCK, mentre è il data transfer che è raddoppiato (ATHLON, con FSB DDR), oppure anche quadruplicato (PENTIUM4, con FSB NetBurst).

Comunque facciamo un esempio, così ci capiamo meglio.
AMD AthlonXP Core Palomino 1800+: BUS (frequenza "base", determinata dal generatore di CLOCK) pari a 133MHz, FSB ("frequenza" di dialogo con la memoria ram e il northbridge, ma meglio dire "data transfer") pari a 266MHz (meglio sarebbe dire 266MT/s), frequenza effettiva di funzionamento pari a 1533MHz (= BUS x 11,5).

Inoltre, sempre in riposta al tuo "post", la frequenza molto importante di cui parli, cioè quella intervenendo sulla quale si modifica l'intero sistema, non è quella dell'FSB (che -ripeto- è chiamata solo impropriamente frequenza perché trattasi di un "data transfer per second"), bensì quella di CLOCK.

Con le ram SDR, le prestazioni erano inferiori per il fatto -immagino- che il "data transfer" del FSB era DDR, mentre quello delle memorie no (e quindi avevano metà banda passante rispetto al processore e rispetto alle concorrenti DDR).
Avatar utente
Jaadre
Senior Member
Senior Member
 
Messaggi: 424
Iscritto il: ven apr 27, 2007 3:23 am

Messaggioda alb » gio gen 17, 2008 11:27 am

AMD AthlonXP Core Palomino 1800+: BUS (frequenza "base", determinata dal generatore di CLOCK) pari a 133MHz, FSB ("frequenza" di dialogo con la memoria ram e il northbridge, ma meglio dire "data transfer") pari a 266MHz (meglio sarebbe dire 266MT/s), frequenza effettiva di funzionamento pari a 1533MHz (= BUS x 11,5).

L'FSB funziona a 133Mhz è il fatto che la memoria sia DDR che ci fa dire che che lavora a 266Mhz (quando invece appunto dovremmo dire 266MT/s).
BUS (frequenza "base", determinata dal generatore di CLOCK)

Forse fai un po' confusione qui, il bus non è la frequenza, il bus è l'insieme di conduttori su cui passano i dati. Quando si scrive FSB=133Mhz, non vuol dire che FSB è una frequenza, ma significa che lavora a quella frequenza.
frequenza effettiva di funzionamento pari a 1533MHz (= BUS x 11,5).

In questo caso al posto di BUS ci devi mettere "frequenza di lavoro dell'FSB"[/quote]
L'ignoranza tiene vuota la panza
Avatar utente
alb
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2237
Iscritto il: mar feb 24, 2004 11:26 am
Località: Maiano

Messaggioda Jaadre » gio gen 17, 2008 12:42 pm

Ok, arrivano le prime delucidazioni: grazie! [^]

Dunque, per correttezza, dovremmo dire che il BUS di un processore ha una frequenza di funzionamento ed un data transfer (nell'esempio precedente pari rispettivamente a 133MHz e 266MT/s), oppure ancora si dovrebbe specificare, assieme alla frequenza, che tipo di frequenza sia (sempre nel caso di sopra, sarebbe 133MHz double data rate, in modo che si capisca che il data transfer sia doppio rispetto alla frequenza di funzionamento).

Fin qui, almeno, è giusto?

Ora, però, questo BUS di cui parliamo, che hai detto essere un insieme di conduttori su cui passano i dati, nel caso degli AthlonXP era o non era un unico canale che metteva in collegamento processore e chipset NorthBridge?

E nel caso degli Athlon64, se parliamo sempre di BUS del memory controller (frequenza di funzionamento 200MHz DDR, cioè con 400MT/s di data transfer), questo è o non è l'insieme di conduttori che permettono il dialogo tra processore e memoria ram?

Se è così -e qui mi ricollego ad una delle mie domande del primo post- devono o non devono coincidere frequenza di funzionamento e data transfer (dunque banda passante) per entrambi gli interlocutori, e cioè CPU e RAM?
Avatar utente
Jaadre
Senior Member
Senior Member
 
Messaggi: 424
Iscritto il: ven apr 27, 2007 3:23 am

Messaggioda alb » gio gen 17, 2008 1:49 pm

Ora, però, questo BUS di cui parliamo, che hai detto essere un insieme di conduttori su cui passano i dati, nel caso degli AthlonXP era o non era un unico canale che metteva in collegamento processore e chipset NorthBridge?


E nel caso degli Athlon64, se parliamo sempre di BUS del memory controller (frequenza di funzionamento 200MHz DDR, cioè con 400MT/s di data transfer), questo è o non è l'insieme di conduttori che permettono il dialogo tra processore e memoria ram?

In pratica lo schema generale dovrebbe essere questo.

CPU<------------------------->Northbridge<----------------------------->RAM
xxxxxxxxx FSB xxxxxxxxxxxxxxxxxxxxxxxxxx BUS memoria

Nel northbridge c'era il memory controller che negli atholn è integrato nel processore. Praticamente mi pare che il northbridge non ci sia proprio più, in parte sta nel processore in parte nel southbridge, che oramai si chiama chipset e basta. Tra l'altro se ho ben capito negli athlon per la comunicazione tra cpu e memory controller si usa il bus hypertransport quindi il concetto stesso di FSB è obsoleto. Fatto sta che la frequenza dell'FSB è sempre stata una frequenza fondamentale perché bene o male tutte le altre frequenze in gioco si ottengono come multiplo di questa, per cui si continua a sentire "questo ha l'FBS a 800, blablabla".
Se è così -e qui mi ricollego ad una delle mie domande del primo post- devono o non devono coincidere frequenza di funzionamento e data transfer (dunque banda passante) per entrambi gli interlocutori, e cioè CPU e RAM?

Considera che la CPU ha al suo interno moltissimi registri (celle di memoria) e la memoria cache (memoria ultraveloce ma di piccole dimensioni). Quindi ogni operazione della cpu non necessità di accessi alla RAM e non ci deve essere coincidenza tra frequenza di lavoro della cpu e funzionamento delle memorie. E' vero però che a seconda del programma in esecuzione può essere o meno richiesto un accesso continuo dei dati in memoria, in questo caso il fatto che le memorie lavorino a frequenze molto inferiori del processore funge da collo di bottiglia, la cpu è costretta a "perdere tempo" o a cercar di eseguire altre operazioni tanto che aspetta.

P.S. se comincio a rispondere solo ora è perché alcune cose mi son messo a riguardale solo ora (mitico wikipedia!) e perché dal tuo primo post avevo capito poco e non sapevo da dove cominciare.
L'ignoranza tiene vuota la panza
Avatar utente
alb
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2237
Iscritto il: mar feb 24, 2004 11:26 am
Località: Maiano


Torna a Driver, Riconoscimento e Gestione Periferiche

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising