Indirizzamento a 32 bit.

Pubblicità

fan89

Nuovo Utente
Messaggi
56
Reazioni
1
Punteggio
26
Salve, un processore a 32 bti può accedere direttemente a 2^32 locazioni di memoria, che corrispondono a 4 GB di memoria RAM. Per cui ciascuna delle 2^32 righe della memoria RAM ha una capacità di 1 Byte, giusto?

- - - Updated - - -

Scusate, Una memoria RAM di 4 GB non ha una riga di 1 Byte ma bensi di 4 Byte. Ma questo è valido anche se prendo un processore di 64 bit che però continua ad gestire una RAM di 4 GB?
 
Ultima modifica:
Salve, un processore a 32 bti può accedere direttemente a 2^32 locazioni di memoria, che corrispondono a 4 GB di memoria RAM. Per cui ciascuna delle 2^32 righe della memoria RAM ha una capacità di 1 Byte, giusto?

- - - Updated - - -

Scusate, Una memoria RAM di 4 GB non ha una riga di 1 Byte ma bensi di 4 Byte. Ma questo è valido anche se prendo un processore di 64 bit che però continua ad gestire una RAM di 4 GB?

Stai confondendo lo spazio d'indirizzamento con la struttura fisica delle memorie. Una memoria può essere organizzata fisicamente e logicamente nei modi più disparati possibili. Inoltre può avere un numero di linee di trasferimento a piacere ( bisogna mettersi d'accordo col chipset ovviamente ). Ad esempio, le memorie che usiamo nei pc trasferiscono 64 bit alla volta.

Relativamente all'indirizzamento, le memorie da "1 byte per riga" che dici tu, sono definite byte addressable. Ma esistono pure memorie word addressable ( la dimensione di una locazione è pari a quella della word del processore ).

Da quello che hai scritto nelle ultime righe, mi pare di capire che ti stavi riferendo all'allineamento, che è ancora un'altra cosa.
 
Ciao Pabloski, quando dici che le memorie che usiamo nel calcolatore trasferiscono 64 bit alla volta è perchè hanno un processore che gli gestisce a 64 bit. Inoltre, quando dici che, la dimensione di una locazione è pari a quella della word del processore, intendi con word del proceccsore la capienza del suo registro di 1lv?
 
Ciao Pabloski, quando dici che le memorie che usiamo nel calcolatore trasferiscono 64 bit alla volta è perchè hanno un processore che gli gestisce a 64 bit.

No, è solo una coincidenza. I 64 bit di cui parlo io sono relativi alla quantità di bit trasferiti dai moduli dram in un ciclo di clock. I 64 bit del processore sono riferiti a varie altre grandezze, la prima delle quali è la dimensione dello spazio d'indirizzamento.

64 bit cpu --> dimensione del bus indirizzi, implica quanti indirizzi si possono specificare ( 2^64 in questo caso )
64 bit ram --> quantità di dati trasferiti per ciclo di clock ( dipende dai moduli dram e dal controller della memoria )

Inoltre, quando dici che, la dimensione di una locazione è pari a quella della word del processore, intendi con word del proceccsore la capienza del suo registro di 1lv?

La word del processore è la dimensione dei suoi registri generali. Una cpu a 64 bit, ad esempio, ha almeno registri generali e indice a 64 bit. In questo modo può manipolare numeri a 64 bit e puntatori a 64 bit ( questi ultimi servono per l'indirizzamento e quindi specificano la dimensione dello spazio d'indirizzamento ).
 
Ciao pabloski, quindi un processore a 64 bit può indirizzare un massimo di 2^64 celle di memoria; inoltre queste celle di memoria hanno una capacità che dipende daI modulI della RAM, vero?
 
Ciao pabloski, quindi un processore a 64 bit può indirizzare un massimo di 2^64 celle di memoria; inoltre queste celle di memoria hanno una capacità che dipende daI modulI della RAM, vero?

In teoria il numero massimo è 2^64, in pratica si usano meno bit ( 58 per i moderni processori x86 ). Ma è una scelta costruttiva, non un limite teorico. Altri processori possono usare tutti i 64 bit, se vogliono.

Ovviamente parliamo di 2^64 locazioni, ed è qui che finisce la responsabilità del processore. Come queste locazioni vengano tradotte in posizioni dei byte in memoria, dipende dal controller della memoria. I moduli di memoria fisica devono ovviamente essere costruttivi per essere compatibili col controller.

E' in questo caso che si può decidere di creare memorie byte addressable ( 1 locazione = 1 byte in memoria ), word addressable ( 1 locazione = xx bit di dati in memoria, in genere multipli di 8 bit ) o implementate secondo uno schema a piacere.
 
Pubblicità
Pubblicità
Indietro
Top