guide,pc,modifiche

Pro e contro


Un errore comune è che architetture a 64 bit non sono migliori di architetture a 32 bit a meno che il computer dispone di più di 4 GB di memoria ad accesso casuale . [ 20 ] Questo non è del tutto vero:Alcuni sistemi operativi e configurazioni hardware certo limite lo spazio fisico di memoria a 3 GB su IA-32 sistemi, a causa di gran parte della regione 3-4 GB siano riservati per l'hardware di indirizzamento; vedere barriera 3 GB . Questo non è presente in architetture a 64 bit, che possono utilizzare 4 GB di memoria e altro ancora. Tuttavia, IA-32 processori dal Pentium II in poi permettere una 36-bit fisica spazio di indirizzamento di memoria, utilizzando Physical Address Extension (PAE), che fornisce un intervallo di indirizzi fisici 64 GB, di cui fino a 62 GB possono essere utilizzati dai principali memoria, sistemi operativi che supportano PAE non può essere limitato a 4 GB di memoria fisica, anche su IA-32 processori.Alcuni sistemi operativi riservano porzioni di processo spazio di indirizzamento per l'utilizzo del sistema operativo, riducendo così lo spazio totale di indirizzi disponibili per la mappatura della memoria per i programmi utente. Per esempio, le DLL di Windows XP e altri componenti del sistema operativo in modalità utente vengono mappati nello spazio di indirizzi di ogni processo, lasciando solo 2 o 3 GB (a seconda delle impostazioni) lo spazio di indirizzi disponibili. Questo limite è attualmente molto più alto a 64 bit dei sistemi operativi e non è realistico limitare l'utilizzo della memoria ancora.File mappati in memoria stanno diventando sempre più difficili da implementare in architetture a 32 bit. [ citazione necessaria ] A 4 GB file non è più raro, e tale file di grandi dimensioni non possono essere mappati in memoria facilmente ad architetture a 32 bit, ma solo una regione del file possono essere mappati nello spazio di indirizzi, e per accedere a un file di mappatura della memoria, le regioni dovranno essere mappati dentro e fuori dello spazio di indirizzamento, se necessario. Questo è un problema, come la mappatura della memoria rimane uno dei più efficienti da disco a memoria i metodi, se correttamente implementato dal sistema operativo.Alcuni programmi come encoder, decoder e software di crittografia può trarre grandi vantaggi da registri a 64 bit (se il software è a 64-bit compilato), mentre le prestazioni di altri programmi, come ad esempio grafica 3D-oriented, rimane invariato quando si passa da un ambiente a 32-bit a 64-bit. E 'inusuale per un programma a 64 bit per prestazioni peggiori rispetto al suo equivalente a 32-bit e di solito succede solo a causa di un bug. [ 21 ]Alcune architetture a 64 bit, come x86-64 , permetterebbe una maggiore uso generale rispetto ai loro registri a 32 bit. Si tratta di un incremento significativo della velocità per cicli stretti poiché il processore non ha bisogno di recuperare i dati dalla cache o la memoria principale se i dati possono essere inserite nello registri disponibili.Ad esempio in C :int uno , b , c , d , e , per ( uno = 0 ; uno < 100 ; uno + + ) { b = uno ; c = b , d = c , e = d ; }Se un processore ha solo la capacità di tenere due o tre valori / variabili nei registri sarebbe necessario spostare alcuni valori tra memoria e registri di essere in grado di variabili di processo d ed e così, questo è un processo che prende un sacco di CPU cicli. Un processore che è in grado di contenere tutti i valori / variabili nei registri può semplicemente attraverso questo ciclo senza bisogno di spostare i dati tra i registri e la memoria per ogni iterazione. Questo comportamento può essere facilmente confrontato con la memoria virtuale, anche se gli effetti sono condizionati al compilatore.Lo svantaggio principale di architetture a 64 bit è quello relativo a 32-bit architetture, gli stessi dati occupa più spazio in memoria (a causa di puntatori gonfia ed eventualmente altri tipi di allineamento e imbottitura). Questo aumenta i requisiti di memoria di un dato processo e può avere implicazioni per l'utilizzo efficiente della cache del processore. Il mantenimento di un parziale a 32-bit modello è un modo per gestire questa situazione ed è in generale abbastanza efficaci. Per esempio, la z / OS il sistema operativo prende questo approccio al momento, richiedendo il codice di programma di risiedere in 31-bit spazi di indirizzi (il bit di ordine alto non viene utilizzato nel calcolo indirizzo sulla piattaforma hardware sottostante), mentre gli oggetti dati possono opzionalmente risiedere in 64 bit regioni.A partire dal giugno 2011 , la maggior parte di proprietà x86 software è compilato in codice a 32 bit, con meno di essere anche compilate in codice a 64 bit (anche se il trend è in rapida equalizzazione[ citazione necessaria ] ), tanto non approfitta dei 64 più grandi bit spazio di indirizzamento più ampio o 64-bit registri e percorsi dati su processori x86, o registri aggiuntivi in modalità a 64 bit. Tuttavia, gli utenti della maggior parte delle piattaforme RISC, e gli utenti di libero o open source, sistemi operativi (dove il codice sorgente è disponibile per la ricompilazione con un 64-bit del compilatore) sono riusciti ad uso esclusivo a 64-bit ambienti informatici per anni. Non tutte le applicazioni richiedono un grande spazio di indirizzo, né manipolare a 64-bit elementi dati, in modo che non trarrebbe beneficio da spazio di indirizzamento più grande o più ampi registri e percorsi dati. Il vantaggio principale per versioni a 64 bit di tali applicazioni è la possibilità di accedere a più registri in x86-64architettura.