Differenza tra il download di i386 e l’amd64?

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).

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.

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 ansible 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 disponi di una CPU Intel, devi utilizzare AMD64 per installare 64-bit sul tuo computer (utilizza 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.

L’architettura prende il nome da AMD perché AMD l’ha inventata, con Athlon 64. Analogamente, l’architettura i386 a 32 bit prende il nome dal processore Intel 386, perché era la prima del suo genere, ma i386 funzionerà anche su processori AMD. Quindi sì, puoi usare quell’immagine ISO.

Fonte: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386

sì, è ansible 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.

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.

La differenza tra amd64 e i386 è che amd64 è a 64 bit mentre i386 è a 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. Sebbene non vi è alcuna garanzia 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 rispetto a 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.