|
|
|
|
Strumenti |
27-02-2008, 13:27 | #1 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Limiti di memoria letta dai sistemi a 32 bit
Ciao a tutti da qualche parte ho letto che i sistemi windows a 32 bit vedono come limite massimo una capacità di memoria pari a 4 gigabyte. Ciò corrisponde a verità?
Se ciò fosse vero significherebbe che su un pc con 4 gigabyte di ram e una scheda video di 512mb il sistema vederebbe max i primi 4 giga? |
27-02-2008, 14:01 | #2 | |
Senior Member
Iscritto dal: Jan 2007
Messaggi: 1439
|
Quote:
quindi se vuoi un sistema operativo desktop che legga 4gb e li utilizzi in modo corretto serve un os a 64-bit.. vista la scarsa scelta by Microsoft l'unica valida alternativa è vista x64 (buona retro-compatibilità e buon parco driver), dato che xp 64 bit professional ha uno scarso parco driver per quantità e qualità, così come ha una scarsa retro-compatibilità (di pregio è che ha il kernel di server 2003 sp2) |
|
27-02-2008, 14:48 | #3 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Ma come mai c'è questo limite per i sistemi a 32 bit? Da cosa dipernde?
|
27-02-2008, 15:03 | #4 |
Senior Member
Iscritto dal: Mar 2006
Città: Roma-salario/montesacro
Messaggi: 1319
|
2**32=4Gb
per definizione 1G=2**30 (** operazione di potenza) |
27-02-2008, 15:16 | #5 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Immagino che quel 2 si riferisca ai due bit 10 giusto?
Qualcosa mi è un pò più chiara, ma a questo punto a voler dare una definizione formale di sistema a 32 bit, quale potrebbe essere? Prima ho riportato il seguente esempio Codice:
un pc con 4 gigabyte di ram e una scheda video di 512Megabyte il sistema vedrebbe max i primi 4 giga? Ultima modifica di ingmotty : 27-02-2008 alle 15:19. |
27-02-2008, 18:34 | #6 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quasi tutti i Windows 32bit sono limitati a 4GB.
Questo valore non e' direttamente correlato al 32 del nome 32bit, sono solo parenti. Ci sono sistemi operativi Windows 32bit che possono indirizzare piu' di 4GB. Quasi tutti i Windows32bit server possono vedere e superare 4GB. Alcuni fino a 64GB. Non c'e' alcun modo di poter vedere tutti i 4GB su WinXP32bit o WinVista32bit. Valori tipici disponibili sono tra 2.7GB a 3.5GB, a seconda della quantita' e tipo di periferiche in memory mapping installate su ciascuna macchina. (Schede video, audio e altre) Gli indirizzi mancanti a completare i 4GB sono infatti utilizzati per il dialogo con queste periferiche. La definizione di un sistema operativo 32bit e': Un sistema operativo in grado di operare su una macchina che ha a disposizione una modalita' di lavoro con registri di dati a 32bit. Nulla infatti si dice sui registri di indirizzo, e quindi sulla memoria indirizzabile, che possono essere anche di altre dimensioni.
__________________
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 18:37. |
27-02-2008, 18:35 | #7 |
Senior Member
Iscritto dal: Apr 2007
Messaggi: 439
|
la ram video comunque non la conteggiare, in quanto viene gestita dalla gpu e non dal processore di sistema..credo...
|
27-02-2008, 18:39 | #8 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Se si usa un Xp32bit, la speranza massima e' di 4GB. (Fatto salvo altri limiti) Da questo valore occorre sotrrarre la dimensione in RAM della scheda video e della scheda sonora, che tipicamente sono indirizzate in memory mapping. Se ho una scheda video da 512MB e una scheda sonora da 512MB, allora il mio indirizzamento disponibile per la RAM scende a 3GB. Altre periferiche partecipano a questa sottrazione, a seconda che siano in memory mapping oppure no. Tipicamente Video e Sonora sono le piu' pesanti.
__________________
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. |
|
27-02-2008, 22:39 | #9 | |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Quote:
Ma cosa si intende per indirizzamento? |
|
27-02-2008, 22:54 | #10 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Ogni byte lo posso leggere e lo posso scrivere. Per farlo devo dire alla RAM quale byte voglio, gli dico quindi qual e' il suo indirizzo. Nella modalita' 32bit dei nostri microprocessori, per comporre ciascuno di questi indirizzi le istruzioni macchina utilizzano 2 registri, un registro chiamato selettore e uno chiamato offest, quest'ultimo della dimensione di 32bit. Sotto WinXP32bit e WinVista32bit, per ragioni tecniche e commerciali non legate al loro nome (32bit), il registro chiamato selettore e' forzato a non dare alcun contributo nella costruzione dell'indirizzo fisico. Resta quindi solo il constributo del registro Offest, 32bit, che ci permette quindi di indirizzare solamente 2^32 = 4GB di memoria, non uno di piu'. Entro questi 4GB deve trovarsi anche spazio per gli indirizzi della memoria delle periferiche gestite in memory mapping (schede video e audio come contributo maggiore), quindi lo spazio dedicabile per la memoria vera e propria si riduce. Valori tipici 2.7GB-3.5GB, a seconda della quantita'/tipo di periferiche installate su ciascuna macchina.
__________________
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. |
|
27-02-2008, 23:02 | #11 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Ma allora che senso ha creare una scheda madre che può ospitare 4 giga di ram se poi a causa di tutte le altre variabili non la si può sfruttare?
|
27-02-2008, 23:07 | #12 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Cosi' almeno a 3.5GB anche in condizioni normali puoi sperare di arrivarci. Se metti una scheda video da 1MB, sempre che riesca a trovarla, non metti scheda audio, disabiliti tutto, magari a 3.9GB ci arrivi...
__________________
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. |
|
27-02-2008, 23:11 | #13 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Capisco quindi il mio amico ha speso dei soldi in più per niente giusto?
Non ho il coraggio di dirglielo. Ma quindi nella fase di post, durante il conteggio della memoria il bios rileverà solo la memoria che max e non quella installata? |
27-02-2008, 23:16 | #14 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
A seconda del BIOS, potrebbe scrivere la quantita' di memoria installata, chiedendolo al Chipset. Potrebbe pero' testare solo la memoria indirizzabile, quando/se fa appunto il test della memoria estesa.
Sprecati no, perche'? Quanti ne vede? C'e' speranza di vederne 2.7GB-3.5GB, se e' vicino a 3GB non e' male no? Quanti GB supporta la scheda madre?
__________________
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. |
28-02-2008, 09:43 | #15 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 922
|
Non so quanti ne supporti, tuttavia so che ha tutti e quattro gli slot occupati da banchi da 1 giga cadauno.
E poi la scheda video con altri 512Mb. Grazie per le varie delucidazioni sei stato preziosissimo. Ora ho più consapevolezza di come funzionino le cose. |
03-03-2008, 16:24 | #16 |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 1360
|
|
03-03-2008, 16:39 | #17 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Quote:
Non è vero. La quantità massima di memoria indirizzabile non dipende dalla scheda madre, ma unicamente dal processore. Se la scheda madre supporta al max 2GB su un sistema operativo a 32 bit vedrai tutti i 2GB (se installati) . I processori a 32 bit hanno registri di indirizzi a 32 bit. Questo significa che al max possono indirizzare 2^32 bytes = 4GB. Il sistema operativo poi utilizza parte di questi "possibili" indirizzi di 4GB per mappare alcune risorse hardware. (come registri di alcune periferiche come la tastiera o la scheda audio ... etc). Questo causa quindi una riduzione del numero degli indirizzi disponibili ai programmi ad, appunto, 3.5 GB. I 512 MB lasciati fuori dal conteggio sono presenti, ma non sono indirizzabili e quindi è come se non ci fossero. La memoria video non viene mai contata nel conteggio. Non c'entra nulla. E' un altro tipo di memoria e non ha niente a che vedre con l'indirizzazione della memoria RAM principale (che è quello di cui stiamo parlando adesso). Ci sono modi per permettere l'indirizzamento di più di 4 GB anche su sistemi a 32 bit usando ad esempio il PAE , che è una funzionalità di alcuni processori , ma i sistemi operativi desktop non lo supportano in genere. Le CPU a 64 bit hanno registri indirizzi a 64 bit che rendono quindi il nuovo limite di memoria indirizzabile 2^64 byte = 17179864184 Gb = 16 Exabyte Questo elimina ogni preoccupazione di finire lo spazio di indirizzamento per i prossimi 100 anni Ciao
__________________
GPU Compiler Engineer |
|
03-03-2008, 20:37 | #18 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Se il tuo chipset avesse permesso di indirizzare solo 2GB sia lato memorie che lato periferiche, allora avresti avuto il problema di cui sopra. Se il tuo Chipset permette solo 8GB, allora avrai solo 8GB a disposizione, anche se la CPU puo' indirizzare 64GB come le nostre. In quegli 8GB dovrai farci stare anche le periferiche in memoriy mapping, e quindi potrai avere solo 6.5GB-7.5GB come moltissimi stanno gia' sperimentando ora. Io ho un processore a 64bit, e posso indirizzare comunque solo 4GB sotto WinXP32bit. Io ho un processore a 64bit, ma posso indirizzare comunque 64GB sotto Win2003Server32bit. Il numero di bit del sistema operativo centra poco. Anche il numero di bit del processore. Quello che conta e' la capacita' di indirizzamento del sistema, che e' un calcolo piu' complesso, dove contano il numero di bit di address bus del processore, il numero di bit di abus chipset, il numero di linee di indirizzamento del chipset, la quantita' di GB montabile sulla scheda madre (che puo' anche essere piu' bassa di quella del chipset). Non ultimo il limite software del sistema operativo. La memoria video centra tutta. E' una delle "risorse" della scheda video che tu accenni come "mappare alcune risorse hardware". Se apri la gestione risorse e guardi gli indirizzi occupati dalla scheda video vedrai, fra gli altri, anche tutta la tua memoria video, che verra' quindi decurtata dai 4GB di cui sopra. Io ho una scheda video 256MB, e proprio 256 sono presi nel blocco principale. Alcuni possono avere piu' blocchi, ma almeno tutta la memoria video sara' in memory mapping. La mia CPU a 64bit e molto probabilmente anche la tua hanno solo 36 linee di indirizzo. Niente 16TB quindi per il momento. Ci accontenteremo di 64GB comunque, anche su sistemi operativi a 64bit che potrebbero permettere un piu' alto limite. Anzi, poiche' il mio chipset permette solo 8GB, solo 8GB potro' indirizzare. Poiche' anche gli indirizzi sono troncati a 33bit=8GB, io non potro' neppure beneficiare di tutti gli 8GB quando mai e se mai li mettero'. Alcuni chipset sono limitati a 8GB come indirizzamento, ma hanno 34bit di di indirizzo. Cio' permettera' loro di spostare le periferiche in zone che non verranno coperte dalla memoria, e pertanto i fortunati potranno beneficiare degli 8GB appieno.
__________________
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. |
|
27-04-2008, 21:54 | #19 | |
Senior Member
Iscritto dal: Apr 2003
Città: just in case..uh
Messaggi: 18918
|
Quote:
win xp home 32bit. la mia mobo non ha il memory mapping. ho una vga da 512 MB e una X-FI con 64 MB di ram dei due banchi da 2 giga montati la ram disponibile al boot era 3,25GB appena ho messo l'agp aperture size a 256 MB la ram è scesa a 3,00GB
__________________
Veyron SS: 4th at 1.16.08 |
|
27-04-2008, 22:13 | #20 | |
Senior Member
Iscritto dal: Feb 2004
Città: Roma
Messaggi: 4576
|
Quote:
__________________
Cooler Master Praetorian , Seasonic X-460 fanless, intel Core 2 E8400 + Scythe Katana 3, Gigabyte GA-EP45C-DS3R, ram 2x2gb Adata Vitesta Extreme Ed. Cas 4 ddr2 800, Asus 9600GT silent 512mb GDDR3, samsung 830 SSD, dvdrw sony-nec optiarc 5240s , monitor DELL U2312hm |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:58.