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


149
2017-07-23 23:57


origine


Correlato (ma non un duplicato): La versione a 64 bit di Ubuntu è compatibile solo con le CPU AMD? - Eliah Kagan
Guarda anche: Quali sono le differenze tra 32-bit e 64-bit e quale dovrei scegliere? - Wilf


risposte:


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


150
2017-07-24 00:00



Quest'ultima parte è ora (in Linux ovviamente) Solo non è vero, è possibile utilizzare più di 3,5 GB di RAM con il kernel PAE a 32 bit. - Uri Herrera
i 3,5 grammi di limitazione della RAM di 32 bit non sarebbero 4GB- <memoria della scheda grafica>? - Chriskin
Per semplicità ho omesso elementi tecnici come la memoria della scheda grafica. Il mio obiettivo era quello di dire "se hai più di 3,5-4 concerti, usa 64 bit".
@Treefroginc Che cosa Tweaks esatto? - Uri Herrera
64 bit è altrettanto utilizzabile e stabile come 32 bit con l'eccezione quasi trascurabile di Flash in determinate circostanze durante un certo periodo della giornata e se i pianeti si allineano emettendo raggi cosmici.


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.

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


40
2018-05-31 21:00





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.


8
2018-05-31 21:23



Grazie per averlo chiarito. So che era una domanda semplice, ma non ho trovato la risposta da nessuna parte. - Dave Wolover


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.


6
2018-05-31 20:59



Non sono stati i primi a creare una CPU a 64 bit. Intel ne aveva una in precedenza, ma non era retrocompatibile, quindi non era stata adottata diffusamente. Il nome amd64 doveva differenziare l'architettura di AMD da Intel IA64, che ora è stata interrotta. - psusi


La differenza tra amd64 e i386 è questo 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. 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 miofile.c provare gcc -S myfile.c su entrambi i sistemi e confrontare i miei file

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 tuo codice sorgente è difficile vedere quale sia il problema tranne a segmenation fault indica che è stato effettuato un tentativo di accedere alla memoria che non appartiene al programma. Questo potrebbe, ad esempio, indicare ciò 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.


6
2018-03-18 13:24



lo controllerò e tornerò su questo ... Grazie - bikram990
Il realloc(mem_ptr, 0) la funzione sta liberando la memoria precedentemente assegnata con malloc, calloc, ecc. Se quel puntatore è stato corrotto in qualche modo, allora stai provando a liberare memoria che non possiedi e questo genera un errore di segmentazione - Warren Hill