Newsgroup: it.comp.hardware.cpu
Titolo: Indirizzi di memoria

I registri di un pentium si compongono di 32 bit, pertanto il valore
massimo che essi possono esprimere č quello del long, cioč 4294967295
(esadecimale FFFFFFFF): il max offset gestibile dalla CPU permette dunque
di indirizzare una sequenza di 4294967295, corrispondenti a 4096 Kb (non č
poi poco), comunque.
Configurazioni di RAM superiori (praticamente tutte) devono essere
indirizzate con uno stratagemma: in pratica si utilizzano due registri,
rispettivamente detti registro di segmento (segment register) e registro di
offset (offset register);
Domanda:
I due registri seg:off sono due registri fisicamente separati a livello di
hardware, oppure con i famosi 32 bit di un registro esiste il sistema per
rappresentare entrambi?
Se con i 32 bit si rappresentano seg:off in che modo avviene tale
rappresentazione?
Fatemi sapere se sto fuori con il raggionamento e se conoscete un libro
(anche universitario) che tratti dell'argomento, che se non sbaglio
dovrebbe essere "aritmetica binaria".
Grazie!

poi poco), comunque.  
ehm .... 4096 Mb aka 4Gb !
( c'e' un modo semplice : ogni 10 bit moltiplichi per 1k (chee'circa1000):
32 bit = 10+10+10 +2 bit = 1k*1k*1k*4 = 4Gb

Ok scusate è stato un errore di distrazione, ma le domande poste erano
altre. Mi dite qualcos'altro, per favore :-(
Grazie!

I registri di un pentium si compongono di 32 bit, pertanto il valore
massimo che essi possono esprimere č quello del long, cioč 4294967295
(esadecimale FFFFFFFF): il max offset gestibile dalla CPU permette dunque
di indirizzare una sequenza di 4294967295, corrispondenti a 4096 MB (non č


Configurazioni di RAM superiori (praticamente tutte) devono essere
                                  ^^^^^^^^^^^^^^^^^^ ???!!
hai piu' di 4Gb di ram e li utilizzi????? 
forse non ho capito bene la domanda ...
un maurizio perplesso
ciao,ciao
Nebbia (unMaurizio che si fa chiamare come il suo cane...)
maum...@tin.basta.it
togliete basta. per rispondere
please remove basta. to reply

rappresentare entrambi?
ehm ... se abbiamo appena detto che con 32 bit arriviamo al massimo a 4Gb
....
in breve , negli x86 ci sono registri di segmento a 16 bit
(CS,SS,ES,DS,FS,GS) e gli altri sono a 32 ( o , volendo, 16).
in modo reale funziona (quasi ... >:) ) tutto come un 8086/88 : al
registro di segmento spostato di quattro bit a sinistra ( cioe '
moltiplicato x 16 ) viene sommato l'offset a 16 bit , per un totale di 20
bit, cioe ' .... :P
dal 286 c'e' la segmentazione : in memoria vengono tenute tabelle
particolari e il registro di segmento e' un indice a tale tabella ; il
limite per il 286 e' di 8192 segmenti da 64 k , ma il limite fisico e'
16Mb
nel 386 l'offset di inizio del segmento diventa di 32 bit ; in piu' il
limite del segmento puo' essere espresso in bytes o in pagine da 4kb , per
un totale di memoria (virtuale) superiore a 4gb
libri ... 
prova con data sheet dell'intel o altri , che forse trovi in rete ;
altrimenti c'e' un libro (oltre le 100klire ...) in inglese di cui ora non
mi ricordo il titolo, che descrive praticamente tutto l'HW dei pc,
processori compresi ; magari faccio un giro alla CLUP ( libreria del poli
di Milano) e tiro giu' un po' di nomi ...

Grazie per le info.. che mi hai fornito, mi sono state di aiuto.
Effettivamente ci sono degli errori nelle domande poste, dovevo fare un
esempio prendendo in considerazione indirizzi a 16 bit di un ipotetico
8086. Comunque fortunatamente hai capito dove mi bloccavo.
Ciao! 

Effettivamente ho fatto male i conti l'esempio doveva essere fatto
considerando un processore 8086 intel con registri a 16 bit, così i conti
quadravano.
La prossima volta sarò più chiaro! OK...? se no vi si attacca il cervello
:-) Ciao!