Разница между загрузкой i386 и amd64?
В чем разница между стандартной загрузкой i386 и загрузкой amd64 Ubuntu 11.04? В настоящее время я использую i386 на машине amd, лучше ли будет работать моя система с загрузкой amd64? (моя машина работала под управлением Windows 7 64bit, но я не обратил на это внимания перед установкой Ubuntu).
5 ответов
i386 относится к 32-разрядной версии, а amd64 (или x86_64) относится к 64-разрядной версии для процессоров Intel и AMD.
Википедия i386 запись:
Intel 80386, также известный как i386 или просто 386, был 32-разрядным микропроцессором, представленным Intel в 1985 году... Это называется x86, IA-32 или архитектура i386, в зависимости от контекста.
Запись в Википедии x86_64:
x86-64 является расширением набора команд x86. Он поддерживает гораздо большие виртуальные и физические адресные пространства, чем это возможно в x86, что позволяет программистам удобно работать с гораздо большими наборами данных... После запуска архитектуры под именем "x86-64" AMD переименовала его в AMD64... x86-64 до сих пор используется многими в отрасли как термин, не зависящий от производителя, в то время как другие, в частности Sun Microsystems (сейчас Oracle Corporation) и Microsoft, используют x64.
Даже если у вас есть процессор Intel, вы должны использовать AMD64 для установки 64-битной версии на свой компьютер (он использует те же наборы инструкций).
Я настоятельно рекомендую использовать его. По большей части вы не заметите разницы, но для больших рабочих нагрузок (таких как редактирование видео, игры и т. Д.) Компьютер будет работать быстрее (у компьютера есть возможность вычислить 2+2+2=6 вместо необходимости делать 2+2=4+2=6 в примере). В мире Windows 32-битная ОС не позволит вам использовать более 3,5 ГБ ОЗУ на вашем компьютере (даже если у вас есть 8!). Вам необходимо использовать 64-битную ОС, чтобы полностью использовать всю оперативную память. Однако для Linux такого ограничения нет (спасибо, Ури).
Несмотря на это, мир изменился с 32-разрядных, и он только там поддерживает старые машины, которые не способны работать на 64-разрядных.
Архитектура названа в честь AMD, потому что AMD изобрела ее с Athlon 64. Аналогично, 32-разрядная архитектура i386 названа в честь процессора Intel 386, поскольку она была первой в своем роде, но i386 также будет работать на процессорах AMD. Так что да, вы можете использовать этот образ ISO.
Источник: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386
Да , вы можете установить amd64 bit на 64-битный процессор Intel. AMD изобрела процессор набора битовых команд x86-64, так что название - это просто дань AMD.
Разница между amd64 и i386 заключается в том, что amd64 является 64-разрядным, а i386 - 32-разрядным. Это ширина (в битах) регистров, доступных в ядре.
По сути, наибольшее число, которое 32-разрядное ядро процессора может обработать за один раз, составляет чуть более 4,29 миллиарда, в то время как 64-разрядное ядро может обрабатывать чуть более 18,44 миллиарда миллиардов.
Ядра современных ПК могут работать как 64-разрядный или 32-разрядный процессор, в зависимости от того, какую версию операционной системы вы установили.
64-разрядный код имеет тенденцию работать быстрее, чем 32-разрядный код, либо потому, что он может работать с большими числами на ходу, либо потому, что 64-разрядные ядра имеют больше регистров, поэтому могут хранить больше вещей без необходимости помещать их во внешнюю память. Хотя нет никакой гарантии, что 64-битный код будет работать быстрее, если код не был написан для использования дополнительных возможностей процессора.
Компиляция в 32-битной системе даст код, отличный от 64-битной системы. Вы можете доказать это, скомпилировав код ассемблера в двух системах. Предполагая, что ваш C-файл - myfile.c gcc -S myfile.c
на обеих системах и сравните myfile.s
Хорошо написанный код для 32-разрядной системы должен компилироваться и выполняться в 64-разрядной системе, но не весь код написан хорошо. Многие программисты делают предположения о системе, которые могут быть неверными: например, ширина регистра или порядок байтов.
Без доступа к исходному коду трудно понять, в чем проблема, кроме segmenation fault
указывает на то, что была сделана попытка получить доступ к памяти, которая не принадлежит программе. Это может, например, указывать на то, что mem_ptr является 32-битным указателем, что хорошо в 32-битной системе, но должно быть 64-битным указателем в 64-битной системе.
Да, вы можете использовать это.ISO. amd64 относится к архитектуре. AMD была первой, кто создал 64-битный процессор, так что я считаю, что он был назван так в то время, и название застряло. Это немного сбивает с толку, но amd64 означает 64-битный.