Torna indietro   Hardware Upgrade Forum > Componenti Hardware > Motherboard, Chipset & RAM

Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Dal richiamo di Enrico Letta alla necessità di completare il mercato unico entro il 2028 alla visione di Nokia sul ruolo dell’IA e delle reti intelligenti, il Nokia Innovation Day 2025 ha intrecciato geopolitica e tecnologia, mostrando a Vimercate come la ricerca italiana contribuisca alle sfide globali delle telecomunicazioni
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2008, 21:00   #1
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Relazione tra frequenza ram e FSB del processore

Per spremere al massimo una ram DDR2-800 ci vuole un processore con FSB di 800 MHz o non c'è relazione tra le 2 cose?

Un processore Intel Core 2 Duo con FSB 1333 MHz sarà sprecato con questo tipo di ram?
E una DDR2-1066 è sprecata con un processore con FSB 800 MHz?

Vedo che gli Athlon X2 hanno ben volentieri 2000 MHz di FSB!
Ma non mi pare di vedere in commercio moduli "DDR2-2000" (...o come si chiamerebbero).
Questi processori sono sprecati con delle DDR2-800 o DDR2-1066?
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2008, 21:34   #2
fuocoz
Senior Member
 
L'Avatar di fuocoz
 
Iscritto dal: Apr 2007
Messaggi: 1791
le cpu amd funzionano in un modo completamente diverso e anche molto astruso.

Le cpu intel funzionano in modo molto semplice invece:
se l fsb nominale è 800,per via della tecnologia "quad pumped",nella realtà l fsb sarà 200

per le ram,invece,se la frequenza nominale è 800,per via della tecnologia dual channel,nella realtà la frequenza reale sarà 400.

per farti un esempio concreto,i vecchi core2 della serie e6x00 hanno bus a 1066,quindi fsb a 266,quindi lavorano in sincrono con le ram ddr2 533

gli intel e6x50 invece sono 1333,quindi lavorano in sincrono con le ram 667.

Avere le ram in sincrono è obbligatorio per non avere un decadimento delle prestazioni,ma ciò non vieta che la ram possa essere piu alta.
In questo caso avrai un moltiplicatore e non un divisore e va bene lostesso.

Da niubbo a niubbo spero che ci siamo capiti xD
fuocoz è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2008, 21:58   #3
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da fuocoz Guarda i messaggi
Le cpu intel funzionano in modo molto semplice invece:
se l fsb nominale è 800,per via della tecnologia "quad pumped",nella realtà l fsb sarà 200
Le CPU Intel sono tutte quad pumped?

Quote:
Originariamente inviato da fuocoz Guarda i messaggi
per le ram,invece,se la frequenza nominale è 800,per via della tecnologia dual channel,nella realtà la frequenza reale sarà 400.
Forse ti riferisci alla tecnologia DDR (Double Data Rate)? Il dual channel dovrebbe moltiplicare ancora x2 quanto già moltiplicato x2 dal DDR.
Non ho comunque capito perché la DDR2 raddoppia la velocità rispetto alla DDR, e se questo raddoppiamento è dovuto al dual channel (che comunque è presente anche nelle DDR1, quindi tenderei ad escluderlo).

Quote:
Originariamente inviato da fuocoz Guarda i messaggi
Avere le ram in sincrono è obbligatorio per non avere un decadimento delle prestazioni,ma ciò non vieta che la ram possa essere piu alta.
In questo caso avrai un moltiplicatore e non un divisore e va bene lostesso.

Da niubbo a niubbo spero che ci siamo capiti xD
No, specialmente questa non l'ho capita. Come pure non ho capito come faccia un moltiplicatore ad aumentare una determinata velocità.

Quote:
Originariamente inviato da fuocoz Guarda i messaggi
le cpu amd funzionano in un modo completamente diverso e anche molto astruso.
Come?
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 14:21   #4
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
up
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 17:15   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
Per spremere al massimo una ram DDR2-800 ci vuole un processore con FSB di 800 MHz o non c'è relazione tra le 2 cose?
La relazione c'e', ed e' quella che hai scritto tu.
Se poi tieni conto che esiste anche la tecnologia dual channel per le RAM, allora e' sufficiente una DDR-400 oppure DDR2-400 in dual channel, per saturare un FSB da 800MT/s

Quote:
Un processore Intel Core 2 Duo con FSB 1333 MHz sarà sprecato con questo tipo di ram?
No, appunto, se le RAM sono montate in dual channel, le DDR2-800 sono sottoutilizzate fino a FSB da 1600MT/s.

Quote:
E una DDR2-1066 è sprecata con un processore con FSB 800 MHz?
Se le monti in single channel non sfrutti tutta la banda del processore perche' la RAM "ogni tanto (circa 10% delle volte)" fara' da collo di bottiglia nel trasferiemento.
Se sono montate in dual channel non ci sono problemi fino a 1600MT/s
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 19:17   #6
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
La relazione c'e', ed e' quella che hai scritto tu.
Se poi tieni conto che esiste anche la tecnologia dual channel per le RAM, allora e' sufficiente una DDR-400 oppure DDR2-400 in dual channel, per saturare un FSB da 800MT/s

...

No, appunto, se le RAM sono montate in dual channel, le DDR2-800 sono sottoutilizzate fino a FSB da 1600MT/s.
Capisco. Ma MT/s è equivalente a MHz? Cos'è l'MT?

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Quote:
E una DDR2-1066 è sprecata con un processore con FSB 800 MHz?
Se le monti in single channel non sfrutti tutta la banda del processore perche' la RAM "ogni tanto (circa 10% delle volte)" fara' da collo di bottiglia nel trasferiemento.
Se sono montate in dual channel non ci sono problemi fino a 1600MT/s
Forse hai capito ram a 800 e processore a 1066? Altrimenti non mi spiego il ragionamento.
Comunque, in relazione a quanto hai detto prima, la risposta alla mia domanda dovrebbe essere sì (e se messa in dual channel anche parecchio!).
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 19:26   #7
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
Capisco. Ma MT/s è equivalente a MHz? Cos'è l'MT?
MT significa MegaTransfer.
E' scorretto usare MHz in questi casi, perche' p.es. i Megahertz di una DDR2-800 sono solo 400MHz, ma sono 800MT/s
Essendo il Databus delle RAM 64bit=8Byte, ne consegue che hai un trasferimento di 800*8=6400MB/s

Anche per i processori, p.es io ho un E6600, la cui frequenza di bus e' 266MHz. L'FSB Trasferisce 4 volte per ciascun colpo di clock, quindi formalmente e' a 1066MT/s (e non Megahertz, che restano 266)

Quote:
Se le monti in single channel non sfrutti tutta la banda del processore perche' la RAM "ogni tanto (circa 10% delle volte)" fara' da collo di bottiglia nel trasferiemento.
Se sono montate in dual channel non ci sono problemi fino a 1600MT/s


Forse hai capito ram a 800 e processore a 1066? Altrimenti non mi spiego il ragionamento.
Comunque, in relazione a quanto hai detto prima, la risposta alla mia domanda dovrebbe essere sì (e se messa in dual channel anche parecchio!).
Esatto. Avevo letto male.
E' sottosfruttata e anche di parecchio.
In dual channel praticamente dorme.

Ma mentre questo caso non da' problemi di performance complessivi, il caso opposto si'.
La RAM e' il produttore, la CPU e' il consumatore. Fintantoche' produco piu' in fretta di quanto consumo, va bene, al limite produrro' necessariamente di meno.
Il contrario invece e' il collo di bottiglia.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 20:46   #8
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
MT significa MegaTransfer.
E' scorretto usare MHz in questi casi, perche' p.es. i Megahertz di una DDR2-800 sono solo 400MHz, ma sono 800MT/s
Wikipedia dice che DDR-II raddoppia la velocità di clock rispetto a DDR, che a sua volta raddoppiò la velocità della SDRAM, ma non capisco a cosa si riferisce. Perché le DDR2 dovrebbero raddoppiare la velocità rispetto alle DDR? A me pare che il discorso sia ambiguo e che si riferisca solamente al normale aumento della velocità, e non proprio ad un raddoppiamento come avviene col Double Date Rate delle DDR1 rispetto alle SDRAM.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Essendo il Databus delle RAM 64bit=8Byte, ne consegue che hai un trasferimento di 800*8=6400MB/s
Ora ti tocca spiegarmi cos'è il databus, e che significa che è 64 bit.

A proposito, non capisco questo passo preso da Wikipedia:

Poiché i dati sono trasferiti 8 byte per volta (il bus è sempre a 64 bit) una RAM DDR dà una velocità di trasferimento VT di:
VT = BM · 2 · 8

dove BM è la velocità di clock del bus di memoria, 2 è il numero di invii per ciclo di clock, 8 è il numero di byte trasferiti ad ogni invio. Quindi con una frequenza di clock di 100MHz, una DDR SDRAM dà una velocità massima di trasferimento di quasi 1526 MB/s.


http://it.wikipedia.org/wiki/DDR_SDRAM

Perché sono quasi 1526 e non 1600 MB? Eppure ricordo che una volta l'avevo letta proprio questa pagina e l'avevo capita!

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Anche per i processori, p.es io ho un E6600, la cui frequenza di bus e' 266MHz. L'FSB Trasferisce 4 volte per ciascun colpo di clock, quindi formalmente e' a 1066MT/s (e non Megahertz, che restano 266)
Questa l'ho capita. Grazie mille.
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!

Ultima modifica di havanalocobandicoot : 27-02-2008 alle 20:49.
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 21:26   #9
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
Wikipedia dice che DDR-II raddoppia la velocità di clock rispetto a DDR, che a sua volta raddoppiò la velocità della SDRAM
Potresti indicarmi dove starebbe scritto per favore? Detta cosi' fuori dal contesto non significa nulla.
Un modulo di DDR2 e' caratterizzato da 3 valori:
- Frequenza del singolo chip di memoria. P.es Nelle DDR2-800 e' 200MHz
- Frequenza del bus, ovvero frequenza con cui il memory controller dovra' dialogare con il modulo. P.es. nelle DDR2-800 e' 400MHz. Nelle DDR2 tale frequenza e' il doppio della frequenza di ciascun chip, mentre nelle DDR tale frequenza e' esattamente uguale alla frequenza di ciascun chip (Wikipedia si riferisce a questo?)
- Velocita' di trasferimento. Nella DDR2-800 e' 800MT/s. Le DDR2 (e anche le DDR) Trasferiscono i dati sia sul fronte di salita che su quello di discesa di ciascun colpo di clock. Quindi una frequenza di 400MHz corrisponde a 800MT/s (di qui il nome DDR2-800).


Quote:
Ora ti tocca spiegarmi cos'è il databus, e che significa che è 64 bit.
Il Databus e' il numero di fili, dedicati ai dati, che viene tirato tra la memoria e il memory controller.
64 fili, ovvero 64 possibili valori 0 o 1 su ciascun filo.
tali fili vengono raggruppati logicamente in insiemi di 8bit = 1 byte. Vengono quindi trasferiti 64bit/8bit=8byte per volta.
Se prendi quindi 800MT/s del chip DDR2-800 e lo moltiplichi per 8byte ottieni 6400MB/s. Le DDR2-800 sono infatti conosciute anche come PC2-6400

Quote:
A proposito, non capisco questo passo preso da Wikipedia:

Poiché i dati sono trasferiti 8 byte per volta (il bus è sempre a 64 bit) una RAM DDR dà una velocità di trasferimento VT di:
VT = BM · 2 · 8

dove BM è la velocità di clock del bus di memoria, 2 è il numero di invii per ciclo di clock, 8 è il numero di byte trasferiti ad ogni invio. Quindi con una frequenza di clock di 100MHz, una DDR SDRAM dà una velocità massima di trasferimento di quasi 1526 MB/s.


http://it.wikipedia.org/wiki/DDR_SDRAM

Perché sono quasi 1526 e non 1600 MB? Eppure ricordo che una volta l'avevo letta proprio questa pagina e l'avevo capita!
Allora, il valore corretto e' 2 (transfer per colpo di clock)*8 (byte in 64bit di databus)* (100.000.000 colpi di clock al secondo)=1.600.000.000 byte/secondo

poi, a seconda che venga considerato 1KB=1024byte, oppure 1KB=1000byte, allora questo valore scritto in GB puo' cambiare, ma il valore corretto e' quello lungo qui sopra.
La dicitura corretta vorrebbe 1KB=1000byte, 1GB=1000MByte
Corretta perche' il prefisso K significherebbe 1000 dappertutto, e solo in informatica e neanche dappertutto significherebbe 1024.

Neanche dappertutto perche' appunto i 100MHz di cui sopra sono effettivamente
100*1000*1000=100.000.000 colpi di clock al secondo,
e non
100*1024*1024=104.857.600 colpi di clock al secondo...

Resta pero' erroneamente (personalmente io preferisco cosi') che per noi il GB e' 1024MB
Pertanto La dicitura corretta per il trasferimento delle DDR-200 sarebbe quindi
1.600.000.000 / (1024*1024) = 1525.878 MB/s, valore che wikipedia dice,
oppure
1.6GiB/s = 1600MiB/s
La dicitura GiB, leggasi GibiByte al secondo, sarebbe Miliardi di Byte al secondo, mentre MiB/s sarebbe MibiByte al secondo, ovvero Milioni di Byte al secondo.

E il problema analogo a quando vai a comprare gli hard disk, ovvero alla discrepanza nella capacita' tra il valore dichiarato e quanto invece in realta' puoi effettivamente usare.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 27-02-2008 alle 21:31.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 22:29   #10
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Potresti indicarmi dove starebbe scritto per favore? Detta cosi' fuori dal contesto non significa nulla.
Già, scusa, mi sono scordato il link:
http://it.wikipedia.org/wiki/DDR2 a circà metà pagina.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Un modulo di DDR2 e' caratterizzato da 3 valori:
- Frequenza del singolo chip di memoria. P.es Nelle DDR2-800 e' 200MHz
- Frequenza del bus, ovvero frequenza con cui il memory controller dovra' dialogare con il modulo. P.es. nelle DDR2-800 e' 400MHz. Nelle DDR2 tale frequenza e' il doppio della frequenza di ciascun chip, mentre nelle DDR tale frequenza e' esattamente uguale alla frequenza di ciascun chip (Wikipedia si riferisce a questo?)

...
Penso che Wikipedia si riferisse a quanto dici tu, che comunque non ho capito.
Il memory controller sta sulla scheda madre? E' un chip?
Come mai se il chip è ad una determinata velocità, riesce a dialogare al doppio?

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Il Databus e' il numero di fili, dedicati ai dati, che viene tirato tra la memoria e il memory controller.
64 fili, ovvero 64 possibili valori 0 o 1 su ciascun filo.
tali fili vengono raggruppati logicamente in insiemi di 8bit = 1 byte. Vengono quindi trasferiti 64bit/8bit=8byte per volta.
Se prendi quindi 800MT/s del chip DDR2-800 e lo moltiplichi per 8byte ottieni 6400MB/s. Le DDR2-800 sono infatti conosciute anche come PC2-6400
Sei stato chiarissimo.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Pertanto La dicitura corretta per il trasferimento delle DDR-200 sarebbe quindi
1.600.000.000 / (1024*1024) = 1525.878 MB/s, valore che wikipedia dice
Non ci pensavo proprio alla conversione binaria/decimale!
Tu non ci credi se ti dico che prima quel valore era 1562 (derivato probabilmente da un calcolo errato 1.600.000.000 / 1024 / 1000 ), e che sono stato io a correggerlo non so quanto tempo fa!

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
E il problema analogo a quando vai a comprare gli hard disk, ovvero alla discrepanza nella capacita' tra il valore dichiarato e quanto invece in realta' puoi effettivamente usare.
Detto così suona male. "Quanto puoi effettivamente usare" è figlio di un'errata interpretazione del quantitativo reale di Byte da parte dei sistemi operativi. No?
E poi, perché mai 1 kB viene considerato 1024 byte e non 1000? Sarebbe tanto strano se Windows mi chiamasse kilobyte i mille byte? Che senso ha calcolare i byte in sistema binario e non in decimale? Lui calcola in binario? Ok... ma almeno che mi desse i risultati nella mia lingua cioè il decimale...
Lo so, mi sfuggirà qualcosa.
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!

Ultima modifica di havanalocobandicoot : 27-02-2008 alle 22:34.
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2008, 22:44   #11
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
Penso che Wikipedia si riferisse a quanto dici tu, che comunque non ho capito.
Il memory controller sta sulla scheda madre? E' un chip?
Come mai se il chip è ad una determinata velocità, riesce a dialogare al doppio?
Sui PC il memory controller e' un pezzo di un chip che risiede o nel northbridge chip del chipset nei sistemi intel, oppure direttamente sul processore nei sistemi AMD.
Ogni colpo di clock il segnale del clock passa da 0 a X volt (questo X dipende dal modulo di memoria, e puo' essere fissato anche sul BIOS), e poi passa di nuovo da X Volt a 0. Classicamente il trasferimento coincideve con il passaggio del clock da 0 a X, ovvero sul fronte di salita del clock. Quando il clock saliva, allora voleva dire che il memory controller poteva "campionare", ovver leggere i singoli bit dei 64bit del databus, perche' in quel momento era sicuro di leggere dati stabili e quinidi valori corretti.
Sulle DDR invece i valori vengono letti sia sul fronte di salita che su quello di discesa. Per questo i MT/s sono esattamente il doppio dei MHz del bus della memoria.


Quote:
Detto così suona male. "Quanto puoi effettivamente usare" è figlio di un'errata interpretazione del quantitativo reale di Byte da parte dei sistemi operativi. No?
Esatto. non c'e' discrepanza, e' solo un fattore di conversione.

Quote:
E poi, perché mai 1 kB viene considerato 1024 byte e non 1000? Sarebbe tanto strano se Windows mi chiamasse kilobyte i mille byte? Che senso ha calcolare i byte in sistema binario e non in decimale? Lui calcola in binario? Ok... ma almeno che mi desse i risultati nella mia lingua cioè il decimale...
Lo so, mi sfuggirà qualcosa.
No, e' solo una ragione storica. In realta' per ragioni tecnologiche tutti i moduli di RAM sono a potenze di 2, ovvero quanti indirizzi diversi si possono costruire giocando con i bit del AddressBus. Sull'address Bus metto l'indirizzo, sul databus leggo il dato. Se ho 10bit di indirizzo, posso indirizzare 2^10 = 1024 celle.
I primi chip di RAM infatti contenevano esattamente 1024byte. Si andava quindi a comprare "Un Kilo di Byte", come al mercato.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2008, 15:08   #12
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Sulle DDR invece i valori vengono letti sia sul fronte di salita che su quello di discesa. Per questo i MT/s sono esattamente il doppio dei MHz del bus della memoria.
Io mi riferivo a quello che hai scritto sulle DDR2:

Un modulo di DDR2 e' caratterizzato da 3 valori:
- Frequenza del singolo chip di memoria. P.es Nelle DDR2-800 e' 200MHz
- Frequenza del bus, ovvero frequenza con cui il memory controller dovra' dialogare con il modulo. P.es. nelle DDR2-800 e' 400MHz. Nelle DDR2 tale frequenza e' il doppio della frequenza di ciascun chip, mentre nelle DDR tale frequenza e' esattamente uguale alla frequenza di ciascun chip (Wikipedia si riferisce a questo?)


e mi chiedevo come fa una DDR2 a dialogare al doppio di una DDR.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
In realta' per ragioni tecnologiche tutti i moduli di RAM sono a potenze di 2, ovvero quanti indirizzi diversi si possono costruire giocando con i bit del AddressBus. Sull'address Bus metto l'indirizzo, sul databus leggo il dato. Se ho 10bit di indirizzo, posso indirizzare 2^10 = 1024 celle.
Questo discorso degli indirizzi mi è difficile da comprendere. Incognite principali: concetto di indirizzo, addressbus.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
I primi chip di RAM infatti contenevano esattamente 1024byte. Si andava quindi a comprare "Un Kilo di Byte", come al mercato.
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!

Ultima modifica di havanalocobandicoot : 28-02-2008 alle 15:12.
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2008, 15:54   #13
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
Io mi riferivo a quello che hai scritto sulle DDR2:

Un modulo di DDR2 e' caratterizzato da 3 valori:
- Frequenza del singolo chip di memoria. P.es Nelle DDR2-800 e' 200MHz
- Frequenza del bus, ovvero frequenza con cui il memory controller dovra' dialogare con il modulo. P.es. nelle DDR2-800 e' 400MHz. Nelle DDR2 tale frequenza e' il doppio della frequenza di ciascun chip, mentre nelle DDR tale frequenza e' esattamente uguale alla frequenza di ciascun chip (Wikipedia si riferisce a questo?)


e mi chiedevo come fa una DDR2 a dialogare al doppio di una DDR.
Se vuoi provo a spiegartelo, ma secondo me sarebbe meglio che riuscissi a spiegarti prima altri concetti delle RAM, e non questo particolare caso che in realta' non e' legato alle RAM stesse, ma al dialogo in generale dei microprocessori con i loro BUS.

Quote:
Questo discorso degli indirizzi mi è difficile da comprendere. Incognite principali: concetto di indirizzo, addressbus.
Questo sicuramente e' un concetto invece che vale la pena di approfondire e di conoscere.
Cosa e' una RAM? In pratica inizia ad immaginarti una RAM come una fila lunghissima di cassetti. Puoi mettere delle cose dentro ciascun cassetto, oppure puoi andarle e prendere.
Ovviamente non sono cassetti, ma sono celle di memoria, e le cose non sono nient'altro che numeri. Puoi andare a scrivere un numero in una cella di memoria, oppure puoi andare a leggerlo.
Come fai a dire alla RAM su quale cassetto vuoi andare ad operare? Ciascun cassetto e' etichettato con un suo numero particolare. Avrai il cassetto numero 1, il numero 2, il numero 3, e cosi via. Non si sbaglia piu' di tanto se si dice che in una RAM da 1GB c'e' un miliardo di cassetti (molti meno, ma l'ordine di grandezza per il nostro discorso poco cambia). Ciascun cassetto con la sua etichetta e il suo numero dentro contenuto.
Dirai quindi alla RAM: Dammi il contenuto del cassetto 141.546. E lei ti dira' il numero contenuto.
Dammi il contenuto del cassetto 563412. E lei ti dira' il contenuto.
Scrivi nel cassetto 166332 il valore 18. E lei mettera' il valore 18 in quel cassetto, pronto per essere letto successivamente, fermo e fisso fino a quando non lo sovrascriverai oppure fino a quando non spegnerai il computer.

Che cos'e' questo numero, es:166332? Non e' nient'altro che l'indirizzo di quella cella di memoria.

Ora, come vedi in questo dialogo tra me e la ram ci sono 2 numeri. Uno e' questo indirizzo (166332), l'altro e' il numero contenuto (18).
Ebbene, nel dialogo con la RAM se voglio leggere il contenuto di tale cella dovro' dire in qualche modo questo indirizzo.
Ebbene, l'indirizzo lo andro' a mettere sui piedini della RAM che si chiamano Address Bus, il contenuto lo andro' a leggere sui piedini che si chiamano DataBus.

E' chiaro fin qui?

Poi, ciascun piedino puo' assumere solo valori 0 o 1. Pertanto se il mio addressbus avesse un solo piedino, potrei indirizzare solo 2 celle
Il cassetto numero 0
oppure il cassetto numero 1

Se avessi 2 pin, potrei indirizzare 4 celle:
00 - cassetto numero 0
01 - cassetto numero 1
10 - cassetto numero 2
11 - cassetto numero 3

Basta approfondire un minimo il concetto matematico di "base", e soprattutto la base2, per vedere che ogni volta che aggiungo un PIN a questo addressbus
aumenta esponenzialmente, con base appunto 2.
Se avessi 10 piedini di addressbus, potrei indirizzare fino a 2^10 = 1024 cassetti diversi. Un Kilobyte.

e' chiaro fin qui?

Bene. In realta' come hai capito ci sono 2 modalita' di lavoro. O scrivo dentro la RAM, oppure leggo dalla RAM. Una cosa sola per volta.
Quando leggo dovro' indicare l'indirizzo del cassetto che mi interessa, e dopo un pochino di tempo che la ram lo va a cercare, mi trovero' il numero contenuto in questo cassetto sul Databus
se invece voglio leggere, dovro' mettere sia l'indirizzo del cassetto sull'address bus, sia il dato che voglio scriverci dentro sul databus, dovro' dire alla memoria che voglio scrivere e lei si occupera' di cercare il cassetto e sostituire il vecchio valore con quello appena dato.

e' chiaro fin qui?

Bene, perche' c'e' di piu'. In realta' le memorie non sono delle file di cassetti, ma sono delle matrici, come quelle della battaglia navale.
Ogni cassetto ha in realta' un indirizzo di riga, e un indirizzo di colonna.
Come le celle della battaglia navale appunto: Vorrei il contenuto del cassetto H-8, oppure quello del cassetto I-9
E questo per ragioni tecnologiche, perche' e' costoso portare tanti pin di indirizzo fuori dai chip di RAM. Cosa si e' pensato? Semplicemente di spaccare ciascun indirizzo in 2.
Prima dovro' dire alla RAM qual e' la riga che mi interessa, poi sempre sugli stessi piedini dovro' dire qual e' la colonna che mi interessa. Poi aspettero' un po' e sul Databus magicamente mi comparira' il dato che stavo cercando.

E' chiaro fin qui?

Come avrai capito ci sono 3 tempi quindi
TRp - Quanto tempo devo tenere fermo il segnale di riga, ovvero l'indirizzo della riga che contiene il cassetto che mi interessa (occorre lasciare un po' di tempo alla RAM, affinche' legga quello che ho scritto sull'address bus)
TRCD - Quanto tempo devo tenere fermo il segnale di colonna, che serve alla RAM per andare a trovare il cassetto che mi serve, nella riga prima selezionata
CAS (oppure CL) - Dopo quanto tempo mi trovero' il dato che volevo leggere sul Databus. Durante questi cicli il contenuto del databus e' flottante, impredicibile e inaffidabile. Ma dopo il tempo di CAS sono sicuro che la ram stara' scrivendo sul databus proprio il valore del cassetto che mi interessava, pronto per essere da me (microprocessore o periferica) letto e usato come piu' ritengo opportuno.

OK?

Bene, guarda caso le tempistiche delle RAM sono identificabili da 3 numeri fondamentali. Io p.es. ho delle 5-5-5.
Questi numeri non sono altro che i tempi sopra descritti, nell'ordine
CAS - TRCD -TRp

E' piu' chiaro? No, perche' c'e' ancora altro...
No eh
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 28-02-2008 alle 16:01. Motivo: Invertito TRCD e TRp
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2008, 16:27   #14
havanalocobandicoot
Senior Member
 
L'Avatar di havanalocobandicoot
 
Iscritto dal: Jun 2005
Messaggi: 4057
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
E' piu' chiaro? No, perche' c'e' ancora altro...
No eh
E invece sì. Spiegato così è fantastico! Ti voglio come professore di analisi!
Ma si trovano libri scritti in questo modo? Qualcosa tipo "Figlio mio che hai 10 anni, il computer funziona così".

Mi è tutto abbastanza chiaro, tranne qualcosa.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Ebbene, l'indirizzo lo andro' a mettere sui piedini della RAM che si chiamano Address Bus, il contenuto lo andro' a leggere sui piedini che si chiamano DataBus.
I piedini sono per esempio i 184 pin della DDR1 e i 240 della DDR2?
Mi verrebbe da chiedere perché proprio 184 e 240...

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Poi, ciascun piedino puo' assumere solo valori 0 o 1.
In che modo li assume? Tipo se passa corrente è 1, viceversa è zero? E se quando passa corrente passa il dato, quando non passa corrente come fa la ram a capire che sto inviando il dato 0?

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Pertanto se il mio addressbus avesse un solo piedino, potrei indirizzare solo 2 celle
Il cassetto numero 0
oppure il cassetto numero 1
Pur conoscendo le basi del codice binario, non afferro bene il discorso. Semmai avendo un solo piedino potrei comandare solo una cella... dicendole (alla cella) di assumere il valore che le voglio dare (0 oppure 1). Perché con 1 piedino posso controllare 2 celle? Va beh che 2^1 fa 2 (e nei casi successivi 2^2 fa 4 e 2^3 fa 8...) ma che centra?

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Basta approfondire un minimo il concetto matematico di "base", e soprattutto la base2, per vedere che ogni volta che aggiungo un PIN a questo addressbus
aumenta esponenzialmente, con base appunto 2.
Se avessi 10 piedini di addressbus, potrei indirizzare fino a 2^10 = 1024 cassetti diversi. Un Kilobyte.
Quindi per 1 giga (più precisamente 1 giga binario) servono 30 piedini? Anche se non ho capito dove stanno questi piedini e se sono proprio i 184 pin della DDR.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Bene, guarda caso le tempistiche delle RAM sono identificabili da 3 numeri fondamentali. Io p.es. ho delle 5-5-5.
Questi numeri non sono altro che i tempi sopra descritti, nell'ordine
CAS - TRCD -TRp
Io su CPU-Z vedo, oltre a CAS, RAS to CAS, RAS precharge e Tras. Non vedo TRCD e TRp. Forse TRCD sta per RAS to CAS e TRp sta per RAS precharge ma rimane fuori il Tras.

Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Se vuoi provo a spiegartelo, ma secondo me sarebbe meglio che riuscissi a spiegarti prima altri concetti delle RAM, e non questo particolare caso che in realta' non e' legato alle RAM stesse, ma al dialogo in generale dei microprocessori con i loro BUS.
Piano piano facciamo tutto...
No, davvero, ti ringrazio molto per la tua immensa pazienza.
__________________
>>>>> Benchmark di velocità in lettura di tutte le periferiche di memorizzazione <<<<<
OCCHIO A VISTA E A WINDOWS 7! - HANNO DECISO DI NON FIDARSI DI TE! GUARDA IL VIDEO
Uno dei difetti dell'open source è la troppa libertà, e, ad oggi, il decentramento delle energie. El pueblo unido jamás será vencido!
havanalocobandicoot è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2008, 17:24   #15
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da havanalocobandicoot Guarda i messaggi
E invece sì. Spiegato così è fantastico! Ti voglio come professore di analisi!
Ma si trovano libri scritti in questo modo? Qualcosa tipo "Figlio mio che hai 10 anni, il computer funziona così".

Mi è tutto abbastanza chiaro, tranne qualcosa.


I piedini sono per esempio i 184 pin della DDR1 e i 240 della DDR2?
Mi verrebbe da chiedere perché proprio 184 e 240...
Piano, piano. Questo a suo tempo, e' un po' un casino.

Quote:
In che modo li assume? Tipo se passa corrente è 1, viceversa è zero? E se quando passa corrente passa il dato, quando non passa corrente come fa la ram a capire che sto inviando il dato 0?
no, il dato passa sempre. Quando c'e' un voltaggio alto, allora significa 1, quando c'e' un voltaggio basso allora significa 0.
Il fatto che quello che hai scritto abbia o meno un significato, e che quindi la RAM debba o meno fare qualcosa, dipende da altri piedini (se ce ne sono 184 o 240, a qualcosa serviranno...)
Es: immagina altri 2 piedini di modalita'
00 - La RAM non deve fare nulla
01 - La RAM deve operare in scrittura
10 - La RAM deve operare in lettura
11 - La RAM non deve fare nulla

Non e' cosi' proprio cosi', ma e' vicino alla realta' giusto per farti capire.
Immagina una RAM con 256 celle. Per poter indirizzare 256 celle ho bisogno di 8 pin. Immagina che ciascuna cella possa contenere un numero da 0 a 15. Ho bisogno di 4 pin.
Supponi quindi che i piedini siano questi:
2 di modalita, 8 di indirizzo e 4 di dato abbiamo detto
modalita' - AddressBus - Databus
MM - AAAAAAAA - DDDD

Quando voglio leggere cosa c'e' all'indirizzo 17, che in binario si scrive
00010001, allora dovro' pilotare i voltaggi come segue:

10 - 00010001 - XXXX (Dove X sta per non importa, qualunque cosa sia, che sia 0 o 1 la RAM non lo usera'. Per intenderci, non potra' non esserci qualcosa che sia 0 oppure 1, ma alla RAM non interessera')
e dopo un po' (CAS) la RAM mi risponderebbe sui piedini che sono XXXX del Databus, scrivendo il contenuto della cella 17.

Se invece volessi scrivere il numero 6, sempre sull'indirizzo 17, poiche' 6 si scrive 0110 in binario, dovro' pilotare la RAM cosi':
10 - 00010001 - 0110

Se invece non devo fare nulla, bastera' che piloti la RAM cosi':
00 - XXXXXXXX - XXXX
oppure
11 - XXXXXXXX - XXXX
Nel nostro esempio sarebbe lo stesso.

Quote:
Pur conoscendo le basi del codice binario, non afferro bene il discorso. Semmai avendo un solo piedino potrei comandare solo una cella... dicendole (alla cella) di assumere il valore che le voglio dare (0 oppure 1). Perché con 1 piedino posso controllare 2 celle? Va beh che 2^1 fa 2 (e nei casi successivi 2^2 fa 4 e 2^3 fa 8...) ma che centra?
Questo non e' giusto. Come detto, su ciascun PIN puo' passare il valore 0 oppure il valore 1, ma non e' vero che 1 significa che c'e' informazione e 0 che l'informazione non c'e'. L'informazione c'e' sempre. Se capisci bene l'esempio di cui sopra, allora sei messo meglio. anche con 1 solo piedino potro' indirizzare almeno 2 celle. Riducendo l'esempio di prima

MM - A - DDDD

Per leggere il contenuto della cella 0, dovro' mandare
10 - 0 - XXXX
e poi aspettare un CAS di tempo e leggere il databus.

Per scrivere 6 nella cella 1, dovro' mandare
01 - 1 - 0101

Quote:
Quindi per 1 giga (più precisamente 1 giga binario) servono 30 piedini? Anche se non ho capito dove stanno questi piedini e se sono proprio i 184 pin della DDR.
Esatto. 1GB sono 30 piedini per un indirizzo.
Occhio pero' a non confondere, qui stiamo parlando a bassissimo livello, stiamo parlando dei CHIP di memoria, non dei moduli. Il discorso dei moduli e' piu' complesso.
Comunque si', per 1GB di memoria servirebbero 30 piedini. In realta' nelle DDR2 (e nelle DDR e DDR3) per 1GB ne servirebbero solo 27, perche' gli ultimi 3 sono considerati implicitamente sempre a 0.
Potro' infatti leggere e scrivere a botte di 8byte.
E' come se invece che avere 1miliardo di celle, ciascuna delle quali potesse contenere un numero da 0 a 255, ovvero 8 bit=1BYTE, per un totale di 1GB,

io avessi solo 125milioni di celle, ma dentro ciascuna delle quali io potessi scrivere numeri che vanno da 0 a 2^64 = 18446744073709551615, ovvero celle da 64bit.
125.000.000 * 64/8 fa di nuovo 1GB.

In realta', per il discorso fatto prima sulla matrice, potrei averne anche solo 14 di pin.
Spacchiamo l'indirizzo in 2, consideriamo i primi 14 bit come indirizzo di riga, e li passiamo alla RAM
poi passiamo i restanti 13bit, considerati come indirizzo di colonna.
Poi aspettiamo un po' e leggiamo il contenuto sul DataBus.

Quote:
Io su CPU-Z vedo, oltre a CAS, RAS to CAS, RAS precharge e Tras. Non vedo TRCD e TRp. Forse TRCD sta per RAS to CAS e TRp sta per RAS precharge ma rimane fuori il Tras.
RAS to CAS = TRCD
RAS precharge = TRP
TRAS e' in realta' un valore che deve essere almeno la somma degli altri 3. E' la somma degli altri 3 piu' un certo pelino di pausa.
La vogliamo lasciare un po' in pace la RAM? In realta' non stara' senza far nulla.
Cosa deve fare la RAM in quel tempo rimanente?
Purtroppo la storiella che ti avevo detto prima, relativamente al fatto che una cella di RAM rimane stabile da quando la scrivo fino a che il computer non si spegne, non e' proprio vera.
Le celle di ram sono condensatori, e si scaricano. Ogni tanto occorre ricaricarli.
Vengono caricati quando li scrivo (ovviamente) ma vengono rinfrescati anche quando li leggo.
Quel tempo in piu' di differenza tra TRCD+TRP+CAS e TRAS, e' il tempo che bisogna lasciare alla RAM per ricaricare la riga interessata dalla nostra lettura, perche' durante la lettura i condensatori li abbiamo scaricati (per leggere il contenuto della cella, i condensatori elettricamente si scaricano sul DataBus, ed occorre quindi rimpiazzare i valori appena letti)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 28-02-2008 alle 17:30.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 16:45   #16
thegladiator
Senior Member
 
L'Avatar di thegladiator
 
Iscritto dal: Jun 2001
Città: Milano
Messaggi: 3257
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Piano, piano. Questo a suo tempo, e' un po' un casino.



no, il dato passa sempre. Quando c'e' un voltaggio alto, allora significa 1, quando c'e' un voltaggio basso allora significa 0.
Il fatto che quello che hai scritto abbia o meno un significato, e che quindi la RAM debba o meno fare qualcosa, dipende da altri piedini (se ce ne sono 184 o 240, a qualcosa serviranno...)
Es: immagina altri 2 piedini di modalita'
00 - La RAM non deve fare nulla
01 - La RAM deve operare in scrittura
10 - La RAM deve operare in lettura
11 - La RAM non deve fare nulla

Non e' cosi' proprio cosi', ma e' vicino alla realta' giusto per farti capire.
Immagina una RAM con 256 celle. Per poter indirizzare 256 celle ho bisogno di 8 pin. Immagina che ciascuna cella possa contenere un numero da 0 a 15. Ho bisogno di 4 pin.
Supponi quindi che i piedini siano questi:
2 di modalita, 8 di indirizzo e 4 di dato abbiamo detto
modalita' - AddressBus - Databus
MM - AAAAAAAA - DDDD

Quando voglio leggere cosa c'e' all'indirizzo 17, che in binario si scrive
00010001, allora dovro' pilotare i voltaggi come segue:

10 - 00010001 - XXXX (Dove X sta per non importa, qualunque cosa sia, che sia 0 o 1 la RAM non lo usera'. Per intenderci, non potra' non esserci qualcosa che sia 0 oppure 1, ma alla RAM non interessera')
e dopo un po' (CAS) la RAM mi risponderebbe sui piedini che sono XXXX del Databus, scrivendo il contenuto della cella 17.

Se invece volessi scrivere il numero 6, sempre sull'indirizzo 17, poiche' 6 si scrive 0110 in binario, dovro' pilotare la RAM cosi':
10 - 00010001 - 0110

Se invece non devo fare nulla, bastera' che piloti la RAM cosi':
00 - XXXXXXXX - XXXX
oppure
11 - XXXXXXXX - XXXX
Nel nostro esempio sarebbe lo stesso.


Questo non e' giusto. Come detto, su ciascun PIN puo' passare il valore 0 oppure il valore 1, ma non e' vero che 1 significa che c'e' informazione e 0 che l'informazione non c'e'. L'informazione c'e' sempre. Se capisci bene l'esempio di cui sopra, allora sei messo meglio. anche con 1 solo piedino potro' indirizzare almeno 2 celle. Riducendo l'esempio di prima

MM - A - DDDD

Per leggere il contenuto della cella 0, dovro' mandare
10 - 0 - XXXX
e poi aspettare un CAS di tempo e leggere il databus.

Per scrivere 6 nella cella 1, dovro' mandare
01 - 1 - 0101



Esatto. 1GB sono 30 piedini per un indirizzo.
Occhio pero' a non confondere, qui stiamo parlando a bassissimo livello, stiamo parlando dei CHIP di memoria, non dei moduli. Il discorso dei moduli e' piu' complesso.
Comunque si', per 1GB di memoria servirebbero 30 piedini. In realta' nelle DDR2 (e nelle DDR e DDR3) per 1GB ne servirebbero solo 27, perche' gli ultimi 3 sono considerati implicitamente sempre a 0.
Potro' infatti leggere e scrivere a botte di 8byte.
E' come se invece che avere 1miliardo di celle, ciascuna delle quali potesse contenere un numero da 0 a 255, ovvero 8 bit=1BYTE, per un totale di 1GB,

io avessi solo 125milioni di celle, ma dentro ciascuna delle quali io potessi scrivere numeri che vanno da 0 a 2^64 = 18446744073709551615, ovvero celle da 64bit.
125.000.000 * 64/8 fa di nuovo 1GB.

In realta', per il discorso fatto prima sulla matrice, potrei averne anche solo 14 di pin.
Spacchiamo l'indirizzo in 2, consideriamo i primi 14 bit come indirizzo di riga, e li passiamo alla RAM
poi passiamo i restanti 13bit, considerati come indirizzo di colonna.
Poi aspettiamo un po' e leggiamo il contenuto sul DataBus.



RAS to CAS = TRCD
RAS precharge = TRP
TRAS e' in realta' un valore che deve essere almeno la somma degli altri 3. E' la somma degli altri 3 piu' un certo pelino di pausa.
La vogliamo lasciare un po' in pace la RAM? In realta' non stara' senza far nulla.
Cosa deve fare la RAM in quel tempo rimanente?
Purtroppo la storiella che ti avevo detto prima, relativamente al fatto che una cella di RAM rimane stabile da quando la scrivo fino a che il computer non si spegne, non e' proprio vera.
Le celle di ram sono condensatori, e si scaricano. Ogni tanto occorre ricaricarli.
Vengono caricati quando li scrivo (ovviamente) ma vengono rinfrescati anche quando li leggo.
Quel tempo in piu' di differenza tra TRCD+TRP+CAS e TRAS, e' il tempo che bisogna lasciare alla RAM per ricaricare la riga interessata dalla nostra lettura, perche' durante la lettura i condensatori li abbiamo scaricati (per leggere il contenuto della cella, i condensatori elettricamente si scaricano sul DataBus, ed occorre quindi rimpiazzare i valori appena letti)


Ciao, ho ripescato per caso (facendo ricerche su un modello di DDR2...) questo thread....volevo solo farti i complimenti per come hai spiegato, in modo molto semplice e comprensibile, un discorso tecnico complicato......complimenti veramente, ineccepibile la spiegazione!!!! Dovresti insegnare.....
thegladiator è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Caos nei cieli europei: attacco informat...
Volkswagen ferma la produzione di ID.Buz...
Super sconti del weekend Amazon: 5 novit...
Dreame non si ferma più: tra le n...
Samsung Galaxy Buds3 FE a meno di 95€ su...
Praticamente regalate: 135€ per le Squie...
Si rinnovano i coupon nascosti di settem...
Amazon sconta i componenti: occasioni d'...
Vibe coding: esplode la domanda di esper...
Ring Intercom su Amazon: citofono smart ...
Addio regie complicate: un'AI gestir&agr...
Xbox, nuovo aumento dei prezzi negli Sta...
Adesso ci si può laureare in stor...
Impact.com ridefinisce il performance ma...
Nintendo non considera le mod dannose pe...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v