Differenza tra il download di i386 e l'amd64?

147

Qual è la differenza tra il download standard di i386 e il download di amd64 di Ubuntu 11.04? Attualmente sto eseguendo l'i386 su una macchina amd, il mio sistema funzionerebbe meglio con il download di amd64? (la mia macchina utilizzava Windows 7 a 64 bit, ma ho trascurato di guardarlo prima di installare Ubuntu).

    
posta Rob 24.07.2011 - 01:57

5 risposte

148

i386 si riferisce all'edizione a 32 bit e amd64 (o x86_64) si riferisce all'edizione a 64 bit per processori Intel e AMD.

La voce i386 di Wikipedia:

  

L'Intel 80386, noto anche come i386 o solo 386, era un microprocessore a 32 bit introdotto da Intel nel 1985 ... Questo è chiamato x86, IA-32 o l'architettura i386, a seconda del contesto.

La voce x86_64 di Wikipedia:

  

x86-64 è un'estensione del set di istruzioni x86. Supporta spazi di indirizzi virtuali e fisici molto più ampi di quanto sia possibile su x86, consentendo in tal modo ai programmatori di lavorare comodamente con insiemi di dati molto più grandi ... Dopo aver lanciato l'architettura con il nome "x86-64", AMD lo ha rinominato AMD64 ... x86 -64 è ancora usato da molti nel settore come termine neutrale rispetto al venditore, mentre altri, in particolare Sun Microsystems (ora Oracle Corporation) e Microsoft, usano x64.

Anche se hai una CPU Intel, dovresti usare AMD64 per installare 64-bit sul tuo computer (usa gli stessi set di istruzioni).

Consiglio vivamente di usarlo. Per la maggior parte non noterai alcuna differenza, ma per carichi di lavoro di grandi dimensioni (come video editing, giochi, ecc.), Il computer eseguirà più velocemente (il computer ha la capacità di calcolare 2 + 2 + 2 = 6 invece di dover fare 2 + 2 = 4 + 2 = 6 in un esempio). Nel mondo Windows, un sistema operativo a 32 bit non ti consente di utilizzare più di 3,5 GB di RAM sul tuo computer (anche se ne hai 8!). Avresti bisogno di utilizzare un sistema operativo a 64 bit per utilizzare completamente tutta la RAM. Per Linux, tuttavia, non esiste un limite di questo tipo (grazie, Uri).

Indipendentemente da ciò, il mondo è passato da 32 bit ed è lì solo per supportare macchine più datate che non sono in grado di funzionare a 64 bit.

    
risposta data user6658 24.07.2011 - 02:00
40
  

L'architettura prende il nome da AMD perché AMD l'ha inventata, con il   Athlon 64. Allo stesso modo, l'architettura i386 a 32 bit prende il nome   Il processore Intel 386, perché era il primo del suo genere, ma i386   funzionerà anche su processori AMD. Quindi sì, puoi usare quell'immagine ISO.

Origine: link

    
risposta data Mitch 31.05.2012 - 23:00
8

sì, è possibile installare amd64 bit sul processore Intel a 64 bit. AMD ha inventato il processore set di istruzioni x86-64 bit, quindi il nome è solo un tributo a AMD.

    
risposta data Roney Thomas 31.05.2012 - 23:23
6

Sì, puoi usare quello .ISO. amd64 si riferisce all'architettura. AMD è stata la prima a creare una CPU a 64 bit, quindi credo che fosse stata chiamata così all'epoca, e il nome rimase bloccato. Sembra un po 'confuso, ma amd64 significa solo 64-bit.

    
risposta data reverendj1 31.05.2012 - 22:59
6

La differenza tra amd64 e i386 è che amd64 è 64-bit mentre i386 è 32-bit . Questa è la larghezza (in bit) dei registri disponibili nel core.

Fondamentalmente il numero più grande che un core CPU a 32 bit può gestire in un colpo solo è poco più di 4,29 miliardi, mentre un core a 64 bit può gestire un numero di oltre 18,44 miliardi di miliardi.

I core dei PC moderni sono in grado di comportarsi come un processore a 64 bit o 32 bit a seconda della versione del sistema operativo installata.

Il codice a 64 bit tende ad essere più veloce del codice a 32 bit perché può gestire numeri più grandi in uscita o perché i core a 64 bit hanno più registri, quindi possono memorizzare più cose senza dover mettere cose nella memoria esterna . Anche se non è garantito che il codice a 64 bit verrà eseguito più rapidamente se il codice non è stato scritto per sfruttare le funzionalità extra del processore.

La compilazione su un sistema a 32 bit produrrà un codice diverso da un sistema a 64 bit. Puoi dimostrarlo compilando il codice assembly sui due sistemi. Supponendo che il tuo file C sia myfile.c prova gcc -S myfile.c su entrambi i sistemi e confronta myfile.s

Il codice ben scritto per un sistema a 32 bit dovrebbe essere compilato ed eseguito su un sistema a 64 bit, ma non tutto il codice è ben scritto. Molti programmatori fanno supposizioni sul sistema che potrebbero non essere vere: come la larghezza del registro o l'ordine dei byte.

Senza l'accesso al codice sorgente è difficile vedere qual è il problema ma un segmenation fault indica che è stato effettuato un tentativo di accedere alla memoria che non appartiene al programma. Ciò potrebbe, ad esempio, indicare che mem_ptr è un puntatore a 32 bit che va bene su un sistema a 32 bit, ma deve essere un puntatore a 64 bit su un sistema a 64 bit.

    
risposta data Warren Hill 18.03.2013 - 14:24

Leggi altre domande sui tag