Chiarimento grandezza singola cella RAM
-
[TABLE=class: tborder, width: 100%, align: center]
[TR]
[TD=class: alt1]Ciao a tutti, sto studiando per conto mio il funzionamento del PC e mi sono fermato davanti questo dubbio. Un processore a 32 o 64 bit si differenzia per la sua capacità di allocare 2^32 o 2^64 indirizzi per le celle della RAM. Quello che non capisco è quanto è grande una singola cella. Sono grandi anche loro 32 o 64 bit o non c'entra niente con l'architettura della CPU?
Grazie mille.
[/TD]
[/TR]
[TR]
[/TR]
[/TABLE]
-
[TABLE=class: tborder, width: 100%, align: center]
[TR]
[TD=class: alt1]Ciao a tutti, sto studiando per conto mio il funzionamento del PC e mi sono fermato davanti questo dubbio. Un processore a 32 o 64 bit si differenzia per la sua capacità di allocare 2^32 o 2^64 indirizzi per le celle della RAM. Quello che non capisco è quanto è grande una singola cella. Sono grandi anche loro 32 o 64 bit o non c'entra niente con l'architettura della CPU?
Grazie mille.
[/TD]
[/TR]
[TR]
[/TR]
[/TABLE]
-
passa a presentarti qui http://www.xtremehardware.com/forum/forumdisplay.php?f=46
-
La dimensione di una cella di RAM è di 1bit e puo essere un latch di porte logiche nelle ram statiche o un condensatore (o comunque una giunzione che funziona come condensatore) nelle ram dinamiche.
La differenza tra 32 e 64bit è, tra le altre cose, quanti indirizzi una CPU può raggiungere, tra cui anche le singole celle di RAM. Quindi per un indirizzo c'è una cella... Non tutti i 2^32 o 2^64 indirizzi sono comunque legati alle RAM
-
Devil_Mcry ha scritto:
La dimensione di una cella di RAM è di 1bit e puo essere un latch di porte logiche nelle ram statiche o un condensatore (o comunque una giunzione che funziona come condensatore) nelle ram dinamiche.La differenza tra 32 e 64bit è, tra le altre cose, quanti indirizzi una CPU può raggiungere, tra cui anche le singole celle di RAM. Quindi per un indirizzo c'è una cella... Non tutti i 2^32 o 2^64 indirizzi sono comunque legati alle RAM
Grazie mille, quindi una "word" è formata da più celle di memoria? E ultima dubbio: se la word è la più piccola unità di memoria processabile, come fa un architettura a 32 bit a gestire i dati int in C che occupano solo 16 bit?
Dopo mi presento comunque

-
Non ho capito bene la domanda, comunque si, la WORD è la dimensione nativa di dati che il processore elabora ma c'è il discorso di retrocompatibilità
Tutti gli attuali processori sono x86, questo vuol dire che devono essere in grado di eseguire il codice x86 e quindi anche se la logica vorrebbe una WORD a 32bit (o 64bit) in realtà questa rimane a 16bit.
Questo però vale su x86, Itanium ad esempio non è x86 e la sua WORD è effettivamente a 64bit.
Per la prima parte del discorso in si, ogni cella memorizza un bit, una WORD è composta da 16celle.
Essendo poi le RAM composte a matrice, l'indirizzo di cella è dato da un indirizzo di riga e uno di colonna (due decoder si occupano di far questo) e ad esempio nei timing delle RAM trovi i ritardi che le RAM necessitano tra una richiesta e l'altra.
-
Devil_Mcry ha scritto:
Non ho capito bene la domanda, comunque si, la WORD è la dimensione nativa di dati che il processore elabora ma c'è il discorso di retrocompatibilitàTutti gli attuali processori sono x86, questo vuol dire che devono essere in grado di eseguire il codice x86 e quindi anche se la logica vorrebbe una WORD a 32bit (o 64bit) in realtà questa rimane a 16bit.
Questo però vale su x86, Itanium ad esempio non è x86 e la sua WORD è effettivamente a 64bit.
Per la prima parte del discorso in si, ogni cella memorizza un bit, una WORD è composta da 16celle.
Essendo poi le RAM composte a matrice, l'indirizzo di cella è dato da un indirizzo di riga e uno di colonna (due decoder si occupano di far questo) e ad esempio nei timing delle RAM trovi i ritardi che le RAM necessitano tra una richiesta e l'altra.
Grazie mille. Quindi la definizione che ho trovato su un libro che "la parola di memoria (word) è la più piccola quantità di memoria accessibile." è falsa? Perchè altrimenti non mi spiego come dei tipi di dato necessitano solo di 1 byte per esempio.
-
Tommm ha scritto:
Grazie mille. Quindi la definizione che ho trovato su un libro che "la parola di memoria (word) è la più piccola quantità di memoria accessibile." è falsa? Perchè altrimenti non mi spiego come dei tipi di dato necessitano solo di 1 byte per esempio.Non sono sicuro di saper rispondere in modo completo e chiaro a questa domanda, in ogni caso non è così rigorosa la situazione.
Ad esempio le architetture x86 usano dati che variano da mezza WORD fino a 2-4 WORD (come appunto hai osservato anche tu), ma hanno comunque una risoluzione di memoria a 8bit (quindi 1byte), essendo tra l'altro questa la dimensione di un CHAR. Anche variabili numeriche o le istruzioni stesse possono essere di mezza WORD.
Quindi si tratti semplicemente di caricare in modo diverso i registri del processore. In altre parole quando carichi un intero ad esempio da 8bit con WORD a 16bit, in memoria questo occupa un byte, nel registro della CPU sarà da 16bit, con i primi 8bit a 0.
-
Devil_Mcry ha scritto:
Non sono sicuro di saper rispondere in modo completo e chiaro a questa domanda, in ogni caso non è così rigorosa la situazione.Ad esempio le architetture x86 usano dati che variano da mezza WORD fino a 2-4 WORD (come appunto hai osservato anche tu), ma hanno comunque una risoluzione di memoria a 8bit (quindi 1byte), essendo tra l'altro questa la dimensione di un CHAR. Anche variabili numeriche o le istruzioni stesse possono essere di mezza WORD.
Quindi si tratti semplicemente di caricare in modo diverso i registri del processore. In altre parole quando carichi un intero ad esempio da 8bit con WORD a 16bit, in memoria questo occupa un byte, nel registro della CPU sarà da 16bit, con i primi 8bit a 0.
Ok, credo di avere capito. Quindi riassumendo:
- Una singola cella di memoria è grande 1 bit.
- La più piccola quantità di memoria accessibile è 8 bit (ovvero 1 byte)
- Un sistema a 32 o 64 bit si differenzia per la capacità di poter indirizzare 2^32 o 2^64 indirizzi delle celle della RAM (almeno come semplificazione)
- La word non c'entra con la RAM ed è generalmente grande 16 bit (?) ed è la grandezza dei registri della CPU. Anche se qualcosa non mi torna dato che il registro degli indirizzi può essere anche grande 64 bit.
-
La WORD da 16bit deriva dal fatto che nel 8086 era a 16bit. Dal 386 in poi è a 32 e dopo a 64bit, in realtà è solo una questione di retrocompatibilità, la WORD vera diciamo di una CPU nuova è a 64bit, ma 16bit è per motivi di retrocomatibilità.
Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.
Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.
Con il tuo contributo, questo post potrebbe essere ancora migliore 💗
Registrati Accedi