Pagina 1 di 1

E' vero che XP non regge + di 2Gb di RAM ?

MessaggioInviato: ven lug 11, 2008 11:42 pm
da Edward
Salve a tutti, divini cultori del verbo informatico, a cui voglio rivolgere un accorato appello: [crylol] [:D]
A parte gli scherzi: oggi mi è stato detto che XP a 32 bit non è in grado di reggere più di 2 Gb di RAM. Secondo me è una fesseria: io ho una scheda madre vecchia di 4 anni, progettata per XP, che però può alloggiare fino a 3 Gb di ram....
Secondo voi, è vero che xp è così limitato? Sarebbe corretto allora parlare di memory leak come per win 98 che non poteva reggere più di 512 mb di ram? Grazie anticipatamente per eventuali risoluzioni al mio quesito... [uhm]

MessaggioInviato: ven lug 11, 2008 11:54 pm
da bluesummer
il problema mette in risalto i limiti delle architetture a 32bit. lo spazio di indirizzi generabili è 2^32,ovvero 4gb,ma si devono tener conto di tutti gli indirizzi hw che si devono a loro volta mappare. ne consegue che la memoria ram gestibile scende a poco più di 3 giga.
avendo a disposizione un'architettura a 64 bit il problema nn si pone a patto però di utilizzare un sistema operativo che li sfrutti.un s.o. a 32 bit su architettura a 64 ripropone il problema.
si parla di una particolare funzionalità,detta pae,che permette di indirizzare a più di 4gb con sistemi a 32bit.le voci sono discordanti,c'e chi dice che funziona,chi il contrario.io penso che non sia né più né meno della stessa tecnica che permetteva ai 286 di indirizzare memoria fino a 1mb pur essendo 16bit:in soldoni l'indirizzo viene spezzato in 2 parti.se così fosse,il pae genererebbe un deciso crollo prestazionale...

MessaggioInviato: sab lug 12, 2008 12:05 am
da Edward
Quindi mi stai dicendo praticamente che questo tipo aveva ragione: xp non può andare sopra i 2 gb di ram ? O meglio; potrebbe, ma ci sarebbe anche qualche possibilità che non li regga...

MessaggioInviato: sab lug 12, 2008 12:29 am
da Mandrake
ne abbiamo parlato a lungo ed in più di una discussione... prova a fare una ricerca sul forum che troverai molte informazioni! [^] Cerca anche con PAE

MessaggioInviato: sab lug 12, 2008 12:34 am
da bluesummer
a 3gb ci arriva sicuro. il limite è 3.3-3.5, oltre è difficile.
e pensare che il buon vecchio bill una volta disse: "640kb dovrebbero essere sufficienti a far girare ogni applicazione" !
il problema difatti è sorto solo in tempi recenti,quando il costo della memoria ram è sceso repentinamente...ricordo ancora quando ho venduto 4 banchi di ram da 1mb ciascuno a 140.000 lire...2 mesi fa ho comprato 2gb a 34 euro, LOL!

MessaggioInviato: sab lug 12, 2008 9:17 am
da Edward
bluesummer ha scritto:il problema mette in risalto i limiti delle architetture a 32bit. lo spazio di indirizzi generabili è 2^32,ovvero 4gb,ma si devono tener conto di tutti gli indirizzi hw che si devono a loro volta mappare. ne consegue che la memoria ram gestibile scende a poco più di 3 giga.


Scusa, perché 2^32? 2 sono i bit (0,1) e 32 l'architettura? perché elevi a potenza i bit per l'architettura? Non ti stò contraddicendo, solo che non mi è chiara questa cosa...

MessaggioInviato: sab lug 12, 2008 9:18 am
da Edward
Mandrake ha scritto:ne abbiamo parlato a lungo ed in più di una discussione... prova a fare una ricerca sul forum che troverai molte informazioni! [^] Cerca anche con PAE


Si, è vero, non sapevo esattamente cosa cercare........

MessaggioInviato: sab lug 12, 2008 10:28 am
da bluesummer
Edward ha scritto:Scusa, perché 2^32? 2 sono i bit (0,1) e 32 l'architettura? perché elevi a potenza i bit per l'architettura? Non ti stò contraddicendo, solo che non mi è chiara questa cosa...

Per trovare il numero massimo di valori generabili da un registro a X bit si deve elevare x come potenza di 2.
8 bit -> 2^8 = 256
16 bit -> 2^16 = 65536
32 bit -> 2^32 = 4294967296
64 bit -> 2^64 = 18446744073709551616

Nei processori esistono particolari registri atti a indirizzare porzioni di memoria. Se il registro è a 32 bit non può fisicamente rappresentare più di 4 gb.
Come già accennato esistono trucchi per oltrepassare tale soglia ma, parafrasando, è come voler passare contemporaneamente in 2 in un corridoio che è largo a sufficienza per una persona. Impossibile passare? No, si passa uno alla volta ma di conseguenza ci si mette più tempo.

MessaggioInviato: sab lug 12, 2008 9:05 pm
da Edward
bluesummer ha scritto:
Edward ha scritto:
Per trovare il numero massimo di valori generabili da un registro a X bit si deve elevare x come potenza di 2.


Questi valori di cui parli sono gli indirizzi della ram?

MessaggioInviato: sab lug 19, 2008 6:18 pm
da Edward
bluesummer ha scritto:
Edward ha scritto:Scusa, perché 2^32? 2 sono i bit (0,1) e 32 l'architettura? perché elevi a potenza i bit per l'architettura? Non ti stò contraddicendo, solo che non mi è chiara questa cosa...

Per trovare il numero massimo di valori generabili da un registro a X bit si deve elevare x come potenza di 2.
8 bit -> 2^8 = 256
16 bit -> 2^16 = 65536
32 bit -> 2^32 = 4294967296
64 bit -> 2^64 = 18446744073709551616

Nei processori esistono particolari registri atti a indirizzare porzioni di memoria. Se il registro è a 32 bit non può fisicamente rappresentare più di 4 gb.
Come già accennato esistono trucchi per oltrepassare tale soglia ma, parafrasando, è come voler passare contemporaneamente in 2 in un corridoio che è largo a sufficienza per una persona. Impossibile passare? No, si passa uno alla volta ma di conseguenza ci si mette più tempo.


Se è come dici tu, perché con una cpu a 32 bit, che tu dici essere in grado di generare 32 bit -> 2^32 = 4294967296, non si riconoscono allora i 4 giga?
Secondo il tuo calcolo (32 bit -> 2^32 = 4294967296) si andrebbe anche oltre i 4 giga........

MessaggioInviato: sab lug 19, 2008 8:53 pm
da Andy94
Da quanto ne so, oltre quattro non va. Già con quattro ha molti problemi. Due li supporta perfettamente, anche perché io ne ho 3...

MessaggioInviato: dom lug 20, 2008 12:28 pm
da bluesummer
Edward ha scritto:Se è come dici tu, perché con una cpu a 32 bit, che tu dici essere in grado di generare 32 bit -> 2^32 = 4294967296, non si riconoscono allora i 4 giga?
Secondo il tuo calcolo (32 bit -> 2^32 = 4294967296) si andrebbe anche oltre i 4 giga........


perché, come ho già accennato nel mio primo post, alcune periferiche installate nei pc vengono mappate su ram e posso occupare fino a svariati mb, senza contare il fatto che in alcuni s.o. a 32bit la memoria totale viene suddivisa tra memoria kernel/driver e memoria applicazioni.

Per quanto riguarda il 2^32 invece, ricordando che, in informatica, 1K = 1024:
2^32 = 4294967296 bytes = 4194304 Kbytes = 4096 Mbytes = 4Gbyte tondi tondi.

MessaggioInviato: lun lug 21, 2008 9:25 am
da Edward
bluesummer ha scritto:perché, come ho già accennato nel mio primo post, alcune periferiche installate nei pc vengono mappate su ram e posso occupare fino a svariati mb, senza contare il fatto che in alcuni s.o. a 32bit la memoria totale viene suddivisa tra memoria kernel/driver e memoria applicazioni.


D'accordo, allora perché questa mappatura di alcune periferiche viene fatta solo quando win ha 4 gb o + di ram? Se lo facesse sempre, allora ogni volta che accederemo a risose del computer>sistema, vedremo sempre la quantità di ram inferiore a quella reale... Questo mi fa pensare che la mappatura degli indirizzi non sia sempre la stessa, o almeno, non è lo stesso algoritmo che viene usato per mappare gli indirizzi nella ram. Io adesso sul mio pc ho 2 gb di ram, e win li riconosce tutti... Se dovesse dipendere dall'architettura a 32 bit, come spieghi il fatto che con una quantità minore di ram questo problema non c'è? [...] O mi sfugge qualche cosa (probabilmente qualche conoscenza di carattere tecnico.... se volessi farmelo notare te ne sarei grato...) oppure c'è qualcosa che non torna..... Ciao [uhm]

MessaggioInviato: lun lug 21, 2008 9:36 am
da Robby78
Il fatto che le periferiche siano mappate su RAM non vuol dire che "usino" RAM. Usano soltanto un indirizzo. Perciò se lo spazio taotale di indirizzamento è di 4GB, e tu ne occupi 2 con la ram, gli altri 2Gb sono liberi per l'indirizzamento delle periferiche (che logicamente inizierà ad essere allocato dalla fine all'indietro); ecco perché ti accorgi del limite solo se hai installati 4GB di RAM.

Nei server windows questo problema si aggira aggiungendo l'opzione /PAE (Phisical Address Extension) alla riga di boot del sistema operativo nel boot.ini. Non so se si può applicare anche a XP però.

MessaggioInviato: lun lug 21, 2008 9:48 am
da Mandrake
Robby78 ha scritto:Nei server windows questo problema si aggira aggiungendo l'opzione /PAE (Phisical Address Extension) alla riga di boot del sistema operativo nel boot.ini. Non so se si può applicare anche a XP però.

il PAE si può attivare anche su XP, ma so che rende il sistema più instabile e si a volte si verificano problemi coi driver.
Comunque ripeto che ne abbiamo parlato a lungo ed in più discussioni! [search]

MessaggioInviato: lun lug 21, 2008 5:42 pm
da Edward
Robby78 ha scritto:Il fatto che le periferiche siano mappate su RAM non vuol dire che "usino" RAM. Usano soltanto un indirizzo. Perciò se lo spazio taotale di indirizzamento è di 4GB, e tu ne occupi 2 con la ram, gli altri 2Gb sono liberi per l'indirizzamento delle periferiche (che logicamente inizierà ad essere allocato dalla fine all'indietro); ecco perché ti accorgi del limite solo se hai installati 4GB di RAM.


Quindi PRATICAMENTE è totalmente inutile montare più di 2 gb di ram su win xp 32 bit, a meno che non si usi questa opzione PAE ? [acc2]

MessaggioInviato: lun lug 21, 2008 5:54 pm
da Edward
Comunque, la domanda con cui ho aperto la discussione non riguardava il PAE, ma la modalità di indirizzamento della memoria. Mi spiego meglio: l'effetto dell'opzione PAE è chiaro, ma ancora non si era capito bene il perché non venisse "vista" tutta la ram e come mai ciò avvenisse con una quantità superiore o uguale a 4 gb....