64bits Vs 32bits processors [consumo di memoria] [chiuso]


-1

Un processore a 64 bit consuma più memoria (RAM) di uno a 32 bit?


bene .. ho chiesto perché avevo un Linux Mint 10 32 bit che non utilizzava più di 400Mo di memoria. E ora il mio Linux Mint 11 a 64 bit mangia 800Mo + e fa impazzire il fan del laptop. Quindi mi chiedevo se il motivo fosse 64 bit: p
lisa17

Risposte:


7

Un processore da solo non consuma memoria. Accede alla memoria utilizzando indirizzi di varie dimensioni. Di conseguenza, un processore a 64 bit può indirizzare fino a 17,17 miliardi di gigabyte di memoria, mentre un processore a 32 bit può indirizzare solo 4,29 gigabyte.

Se intendevi "Un'applicazione a 64 bit consuma più memoria di un'applicazione a 32 bit?" allora sì lo fa. Gli indirizzi di memoria in un processo a 64 bit sono lunghi 8 byte anziché 4 byte. Quindi, mentre non vedrai un raddoppio dell'utilizzo della memoria, quelle migliaia di puntatori utilizzati in tutta l'applicazione consumeranno il doppio della memoria che normalmente farebbero.

Gli indirizzi a 32 bit non sono stati sufficienti per un po 'di tempo ormai e molti computer sono ora standard con 4 gigabyte di memoria che i processi a 32 bit non possono effettivamente affrontare completamente a causa del sovraccarico di mappatura della memoria hardware e del sistema operativo. Gli indirizzi a 64 bit ci faranno andare avanti per molto, molto tempo.

Tuttavia, molte persone non creano il codice a 64 bit corretto e GNU / Linux è ottimizzato per supportare questi errori. Quindi, in molti casi, le applicazioni a 64 bit funzionano come quelle a 32 bit (mmap tweak): http://marc.info/?l=openbsd-misc&m=130683944229077&w=2 . Lo sviluppo di un vero codice a 64 bit è qualcosa su cui le persone dovrebbero lavorare.

La maggior parte dei processori consumer a 32 bit non è più in produzione. Anche con l'utilizzo di memoria aggiuntiva a causa di puntatori a 8 byte e altri aspetti, i moderni processori a 64 bit sono per definizione, più recenti e in genere più efficienti rispetto ai processori nei tempi a 32 bit.

Quindi, in sintesi, l'utilizzo di memoria extra è un problema per lo più irrilevante dato l'aumento delle dimensioni della memoria standard nei computer di oggi e la velocità con cui i processori operano.


1
Nota: l'applicazione a 64 bit potrebbe essere eseguita più lentamente poiché richiede più tempo per scrivere un puntatore a 64 bit sullo stack che per scriverne uno a 32 bit. Quindi, se si tratta di scambiare, i programmi a 64 bit saranno più lenti. Se si scambia è necessaria comunque più RAM in modo che 32 bit non sia di aiuto;). Naturalmente se hai abbastanza memoria per scrivere un puntatore a 64 bit nello stack sarà veloce quanto scrivere uno a 32 bit (è necessaria una singola istruzione e si accede alla memoria in parallelo). Ancora una volta, se il programma diventa swapper in seguito, 64 bit sarà più lento.
lhjjlhklh,

1
"La CPU a 32 bit può consumare meno energia, poiché sono più vecchi e meno sofisticati." - Direi che "A parità di condizioni, le piattaforme a 32 bit possono intrinsecamente consumare meno energia rispetto a quelle a 64 bit in quanto vi sono molti meno transistor per commutare lo stato, il che costa energia". Vorrei anche sostenere che ci sono "nuove" CPU là fuori che implementano architetture a 16 bit e CPU a 64 bit esistono da molto tempo - a condizione che in questi giorni vengano adottate molto più spesso nelle macchine di largo consumo.
James T Snell,

2

Sì.

Ma devo scrivere di più per inviare ... Sigh ..

Il programma A compilato come applicazione a 32 bit ha un footprint di memoria inferiore rispetto allo stesso programma, B, che è stato compilato come programma a 64 bit. Questo perché ogni blocco di memoria ha un indirizzo più grande ..

Esempio: supponiamo che la tua rubrica fosse composta da numeri di telefono molto locali, probabilmente avrebbero semplicemente stampato i numeri senza i prefissi .. Ma per inserirsi in più numeri / indirizzi, la stampa dei prefissi occupa più spazio / inchiostro / massa, ecc. .


2
La questione non è di circa 64 bit programmi però, ma circa 64-bit processori . Non hai spiegato come consumano memoria. ☺ Vedi anche la nota in calce a questa risposta, che costituisce un punto molto importante e che ha ottenuto molti commenti positivi.
JdeBP,

2
Sono abbastanza sicuro che colui che chiede, con "processore a 64 bit", in realtà significa "sistema a 64 bit", quindi alla fine questa domanda riguarda il software.
jcrawfordor,

1
@JdeBP bene nessun processore "consuma" memoria. Voglio dire, forse un robot da cucina con moduli DIMM inseriti. E mentre questa è un'immagine fantastica, sta andando fuori tema. Sono contento della mia risposta. Mentre jcrawfordor sembra essere d'accordo, l'intento della domanda si riduce alle implicazioni del software. Anche se sto iniziando a sperare che dopotutto fosse in mente un robot da cucina.
James T Snell,

bene .. ho chiesto perché avevo un Linux Mint 10 32 bit che non utilizzava più di 400Mo di memoria. E ora il mio Linux Mint 11 a 64 bit mangia 800Mo + e fa impazzire il fan del laptop. Quindi mi chiedevo se il motivo fosse 64 bit: p
lisa17

@brahims - wow, sembra eccessivo. Mi aspetto che, a parità di condizioni, la versione a 64 bit comporti generalmente un sovraccarico maggiore. Tuttavia, sembra che stia succedendo di più.
James T Snell,

0

I programmi a 64 bit hanno usi di memoria leggermente più elevati a causa di problemi di ottimizzazione, ma l'effetto non è significativo nella pratica. I vantaggi di un'architettura a 64 bit con software a 64 bit, come una capacità di indirizzamento della memoria molto più elevata, superano di gran lunga l'aumento dell'utilizzo della memoria in quasi tutte le situazioni.


2
Non sono d'accordo. Come afferma la mia risposta, lo stesso programma ma compilato come un'applicazione a 32 bit (anziché 64) richiede meno memoria. Se non hai bisogno dello spazio di indirizzi completo da 4 GB assegnato a 32 bit E non devi eseguire calcoli matematici di alta precisione, le CPU a 32 bit saranno più veloci, consumeranno meno energia e utilizzeranno la memoria in modo più efficiente. Un esempio di tale applicazione è un web server medio. Gestisco molti server Web su VM e in effetti è qui che ho capito che c'è un posto e un tempo per 32 bit, nel mondo moderno.
James T Snell,

È vero che le applicazioni a 64 bit occuperanno più memoria (ho visto aumenti nell'intervallo del 50%!), Ma il cieling di memoria per 32 bit è in realtà molto più basso di quanto ci si aspetti, con 2 GB di memoria dell'applicazione con estensione a Solo 3 GB con supporto speciale e molte avvertenze. Penso che praticamente tutti gli utenti desktop in futuro trarranno vantaggio dall'aumento della disponibilità di memoria e, naturalmente, gli utenti desktop sono ciò di cui tratta questo sito Web.
jcrawfordor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.