Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    informazioni su differenze fra 2 pc 64bit e 32bit

    ciao a tutti, questa è una domanda che non riguarda dei pc che devo comprare ma è solo per pura curiosità:
    io ho due pc, due quadcore a 3ghz, entrambi 3giga di ram,schede video uguali e tutto uguale, unica differenza l'architettura dei processori, uno a 32bit e uno a 64bit.
    quale dei due computer si comporterebbe meglio?? stabilità, velocità ecc....
    il senso di questo esempio porta a questa domanda:
    un processore a 64bit serve solo a sfruttare più di 4 giga di ram oppure a parità di risorse hardware con un 32bit è più veloce e più affidabile??
    spero di aver azzeccato la sezione, grazie a tutti per le eventuali risposte
    Notebook Toshiba: Windows 8.1, Windows 10

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il processore a 64bit, se adeguatamente utilizzato dal software, garantisce prestazioni migliori.
    Per capirne il perché bisognerebbe saperne un po' di come sono fatte e come vengono eseguite le istruzioni.

    Le istruzioni che arrivano alla CPU sono una sequenza di 0 e 1 e la lunghezza varia a seconda dell'istruzione.
    Molto superficialmente per esempio, un'istruzione che richiede di accedere alla RAM sarà generalmente più lunga di una che non lo richiede, perché dovrà anche contenere l'indirizzo della posizione a cui accedere (ma ci sono anche istruzioni comunque lunghe anche se non richiedono accesso alla RAM).
    Ammettiamo che si debbano eseguire istruzioni da 32bit o 16bit (in questo secondo caso arriveranno comunque 32bit, ma 16 saranno quelli usati, gli altri si ignorano), entrambe le CPU possono leggerla in un colpo di clock (un ciclo macchina), se arriva invece un'istruzione che richiede 64bit per contenere tutti i dati necessari per essere eseguita, una CPU da 32bit avrà bisogno di 2 cicli macchina per leggerla, ad una CPU a 64bit ne basta uno solo.

    Attenzione però che questo non vuol dire che un processore a 64bit è veloce il doppio di un processore a 32bit, questa definizione si avvicinerebbe all'essere vera se tutte le istruzioni fossero a 64bit, ma così non è, ci sono istruzioni più corte che entrambi i processori eseguono nello stesso tempo (a parità di clock).

    Ripeto, tutto questo molto superficialmente, ma rende l'idea.

  3. #3
    La principale differenza tra un processore a 32 bit e uno a 64 bit è che un processore a 64 bit ha interi a 64 bit come word nativa, il che significa che può fare i conti con interi a 64 bit in maniera più veloce.

    Questo per il 90% delle applicazioni è sostanzialmente irrilevante, visto che normalmente gli interi a 32 bit bastano e avanzano.

    Il motivo per cui si è passati ad un'architettura a 64 bit è per questioni di spazio di indirizzi virtuale; un processore a 32 bit può indirizzare uno spazio di indirizzi di 4 GB, il che significa che ogni processo non può "vedere" più di 4 GB di dati in memoria nello stesso momento (il fatto poi che lo spazio di indirizzi di ogni programma è diviso tra una metà usato in user mode e l'altra metà per il kernel di fatto dimezza o comunque riduce lo spazio di indirizzi direttamente disponibile per le applicazioni). Tangenzialmente, questo consente anche di indirizzare più memoria fisica (RAM), cosa che comunque era possibile fare tramite PAE, ma in maniera più complicata (la questione è spiegata per bene nella mia pillola in rilievo in questa sezione).
    (Incidentalmente, nel passaggio a 64 bit anche i programmi a 32 bit possono avere qualche vantaggio - nello specifico, il kernel non si mangia più metà dello spazio di indirizzi a 32 bit, per cui i programmi che sono in grado di sfruttarlo possono tenersi tutto lo spazio d'indirizzi a 32 bit per dati utente)

    I vantaggi veri in termini di prestazioni di un processore x86 a 64 bit rispetto ad uno a 32 bit sta in realtà in questioni "accessorie".

    Il primo grande vantaggio sta nel fatto che l'architettura x86_64 raddoppia il numero di registri general purpose; l'architettura x86 "classica" è un'architettura "register starved" (ovvero, il processore dispone di pochi registri), il che in alcuni casi costringe i compilatori ad emettere codice che continua a scrivere e leggere dallo stack (e quindi di fatto tipicamente dalla cache) invece che dai registri (molto più veloci e con meno problemi di serializzazione). Aumentare il numero e le dimensioni dei registri semplifica il lavoro ai compilatori e in genere consente di emettere codice più veloce (anche se va detto che le tecniche di register renaming già in uso riducevano in parte l'impatto del problema).

    Secondariamente, su x86_64 è garantita la presenza dei set di istruzioni SSE e SSE2, per cui i compilatori possono impiegarle (al posto, ad esempio, delle istruzioni x87) senza problemi di compatibilità con vecchi processori; anche questo consente di generare codice più veloce.

    Tra i contro del passaggio a 64 bit, c'è il fatto che determinati programmi possono usare più memoria, dato che raddoppiano le dimensioni dei puntatori; in casi patologici (tipicamente programmi che internamente lavorano con strutture dati piene di puntatori) il working set del processo può anche arrivare a raddoppiare in dimensioni.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    ragazzi, siete stati gentilissimi e mi avete spiegato tutto al minimo dettaglio, qualcosa l'ho capito e qualcosa no,ricapitolando quindi se a questi due ipotetici computer creo due diversi sistemi operativi ottimizzati al massimo per i 32 e 64 bit, applicazioni tipo i giochi girano meglio sui 64 bit??
    e se invece ho due computer uguali a quelli di prima solo con 512 di ram??
    io pensavo che hanno creato i 64 bit per gestire più ram...
    Ultima modifica di dario2588; 17-11-2013 a 02:50
    Notebook Toshiba: Windows 8.1, Windows 10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.