X86 x64 что это
Десять имён для одной архитектуры
На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.
386-ые, Пентиумы и Коры
На самом деле названий для этого феномена, около сорока лет присутствующего на сцене процессорных технологий, было придумано несколько. Даже больше, чем хотелось бы. Они появились из разных источников и используются в разных контекстах, разными компаниями и разными сообществами. Конечно же, это вносит некоторую неразбериху.
Я постарался здесь собрать все известные мне названия. Не хочу пытаться доказать, что одна группа имён лучше другой, — меньше использовать их не станут.
8086 и семейство
В 1978 году был выпущен 16-битный процессор Intel, который имел «имя» 8086. За ним были 8088, 80186, 80286, 80386 (плюс вариации), 80486 (плюс вариации). Легко заметить, что (почти) все эти числовые имена оканчиваются на две цифры 86, что дало название всей серии x86. Оно укрепилось, его продолжили использовать и после того, как процессорам перестали давать цифровые имена, а появились Intel Pentium, Celeron, Xeon, Core, Atom и т.д. Совместимые продукты других вендоров, таких как IBM, AMD, Cyrix, VIA и т.д., также описываются как x86.
По моим наблюдениям, x86 — самый популярный вариант для имени этой архитектуры в Интернете, статьях и прочей литературе, особенно, когда не стоит задачи точно специфицировать разрядность архитектуры или речь явным образом идёт о 32-битном варианте.
Используются также вариации этого названия для 32-битных вариантов, позволяющие более точно указать минимальный набор поддерживаемых инструкций: i386, i486, i586, i686, — например, для различения вариантов сборок бинарных пакетов дистрибутивов Linux.
Пришествие 64 бит
Своими стараниями Intel расширила машинное слово в описанной ранее серии процессоров с 16 до 32 бит. Достигнуть этой архитектуре 64 бит помогла компания AMD, в 2003 году представившая процессор, поддерживающий новые инструкции и регистры и реализующий AMD64.
Для того, чтобы явно указать повышенную битность процессора/кода/пакета, имя x86 стало получать новый суффикс «64». Вот только через какой знак его приписывать не договорились, и иногда видишь x86_64, а порой x86-64. Например, вывод команды uname в Linux использует подчерк. Наконец, у пакетов можно увидеть и суффикс amd64 строчными буквами.
Intel же обозначала это расширение архитектуры сперва IA-32e, затем EM64T. В настоящее время можно встретить оба варианта в различных именах пакетов, документации и прочем. Тем не менее, есть и третье введённое Intel название…
Как это называет Intel
В официальной документации 32-битная архитектура имеет имя IA-32; её 64-битный вариант получил довольно странное с моей точки зрения имя Intel 64. Почему странное — оно создаёт потенциал для путаницы, как мы увидим ближе к концу статьи.
Компании-поставщики софта
Всё вместе
Ложные имена
Как известно, за свою сорокалетнюю историю Intel выпускала (и выпускает сейчас) не только процессоры IA-32. Были и до сих пор присутствуют продукты других архитектур. Они тоже имеют свои имена, иногда несколько созвучные. При этом происходит путаница, от которой хотелось бы предостеречь.
Intel IA-64. Является полным синонимом термина «Intel Itanium». Используется для обозначения 64-битной архитектуры, несовместимой ни с IA-32, ни с 64-битным её вариантом ни по набору команд, ни по принципам работы. Да, существуют аппаратные и программные прослойки для запуска IA-32 приложений на Итаниуме, но это — тема для отдельного и интересного рассказа. Кстати, и для Itanium есть ещё одно обозначение — IPF, используемое изредка как суффикс.
К сожалению, линейки таких семейств процессоров Intel, как i432, i860, i960 или не дожили до наших дней, или же имеют крайне узкую нишу применения. А то глядишь — пришлось бы для каждого из них запоминать ещё по десятку имён.
Разница между x86 и x64
Содержание:
x86 против x64
Что такое x86?
x86 это архитектура набора команд, представленная Intel со знаменитым процессором 8086. В 1978 году Intel представила процессор 8086, который был 16-разрядным. Позже они представили различные процессоры, такие как 80186, 80286, 80386 и 80486, и все они были обратно совместимы с исходным набором команд, используемым в процессоре 8086. Поскольку все эти процессоры имеют номер 86, архитектура набора команд была обозначена именем x86. С появлением 80386 инструкция x86 была расширена до 32-битной системы. Здесь 32 бита означает, что все регистры, шина памяти и шина данных 32-битные. Затем появились процессоры Pentium как Pentium I, Pentium II, Pentium III, Pentium IV, и все они также следовали 32-битной архитектуре. Но с архитектурой x86 произошли различные другие расширения, такие как добавление таких инструкций, как MMX, SSE и SSE2. Кроме того, было сделано много других улучшений. Затем набор инструкций x86 был расширен до 64-битного набора инструкций, и с этого момента он назывался x64, который мы собираемся обсудить в следующем разделе. В любом случае, в целом, x86 относится к 32-битной архитектуре, которая произошла от 16-битной архитектуры, которая появилась в процессоре 8086.
8086 процессор
Что такое x64?
64-битный процессор
В чем разница между x86 и x64?
• x86 был представлен примерно в 1978 году, а x64 появился совсем недавно, в 2000 году.
• x86 возник на основе известного процессора Intel 8086, и поэтому x86 была представлена Intel. Но x64, который появился как расширение x86, был представлен AMD.
• Таким образом, процессоры с архитектурой набора команд x86 имеют 32-разрядные регистры, 32-разрядную шину памяти и 32-разрядную шину данных. Но x64 имеет 64-битные регистры, 64-битную шину памяти и 64-битную шину данных.
• Значения, которые могут храниться в регистре в системе x64, больше, чем значения, которые могут храниться в регистре на основе x86. Следовательно, x64 может обрабатывать вычисление больших целых чисел намного быстрее, поскольку в этом случае нет необходимости использовать несколько регистров для разделения значения и хранения, как в x86.
• x64 может параллельно передавать данные большего размера по шине данных. То есть 64-битная шина данных может передавать 64 бита параллельно, в то время как архитектура x86 с 32-битной шиной может передавать только 32 бита.
Резюме:
x86 против x64
Изображения любезно предоставлены:
x86 это 32 или 64 битная Windows? — История CPU
Всем доброго времени суток дорогие посетители блога айтишнега… У меня довольно часто интересуются — x86 это 32 или 64 битная Windows? Поддаваясь логике — можно предположить что x86 явно больше чем x64, но на практике оказывается что x86 равно x32… но тогда почему так пишут и кому надо ударить по голове, чтобы такой путаницы не было?
А теперь давайте я просто взорву вам мозг — x86 равно x32, и внимание, равна x64 — вы были к такому готовы? — думаю нет… теперь давайте разбираться что, как и куда! Чтобы ответить на этот не самый простой вопрос нам нужно вернуться на несколько десятилетий назад, именно оттуда и идет вся эта заварушка.
По голове надо настучать авторам, которые пишут в требованиях к компьютеру x86 и x64 в связке. Писать такое — грубая ошибка, но этим грешат все… x86 — это архитектура процессора, которая отлично себя чувствует и на 64 битных процессорах и на 32 битных! Маркировка x86 пошла от названия первого процессора от компании Intel i8086 и более новых моделей. Потом первые цифры менялись и сокращенно их объединяли x86 на конце модели — этакая линейка процессоров. Конечно же это было очень давно и процессоры маркируются совершенно по другому, но x86 прочно засела в документации и частенько вводит людей в путаницу… которые особо то не интересовались архитектурой процессоров и не вникали в историю их создания
x86 это 32 или 64 битная Windows?
x86 — это не разрядность, а архитектура… но как показала практика — x86 приравняли к 32 битной операционной системе. Если пренебречь всеми правилами, то можно сказать да, x86 равна 32 битной системе в большинстве случаев.
Правильный вариант обозначения выглядел бы примерно так для 32 разрядной операционной системы (OS_WINDOWS_x86_32bit) или так для 64 битной (OS_WINDOWS_x86_64bit), но у нас все поперепутали!
Тут еще нюанс в том, что 32 битные процессоры уже очень и очень продолжительное время были единственными на рынке, и они были архитектуры x86… а когда вышли 64 разрядные — их стали обозначать x64, а для 32 биток оставили все как есть!
x32 или x64 — Что лучше?
В плане производительности конечно же 64 разрядная операционная система имеет явное преимущество, а вот 32 разрядная ОС очень ужата в ресурсах оперативной памяти. 32 битка не может адресовать более 4 гигабайт оперативной памяти, но по факту она видит не более 3,25 гигабайт из четырех! Однако некоторые приложения могут не запуститься на 64 битной WIndows — что и является сдерживающим фактором перехода но новую ОС.
x86 это 32 или 64 битная Windows? — теперь вы можете сами ответить на этот вопрос… главное знать что и куда, а применить знания можно уже в конкретном случае — тут правильность вашего видения может оказаться ошибочным…
Разрядность Windows: x64 или x32 (x86). Как её узнать?
Не многие знают, что в Windows есть такое понятие как разрядность — x32 (x86), x64. В этой короткой заметке мы объясним что это такое на пальцах. Тут нет ничего сложного и знать это нужно, потому что это важный момент.
Разрядность операционной системы – грубо и очень приближённо, это количество мельчайших единиц информации (бит), которое процессор способен обработать за один такт (герц). В современном мире существует два варианта разрядности: 32-бит или 64-бит. 32-битные системы называют также x86: это неверное обозначение, зато распространённое. Других вариантов практически нет – разве что доисторические 16-разрядные программы эпохи MS-DOS и Win98.
Чем отличаются Window 32 и 64 на практике? Не скоростью работы – это точно. Грубоватый пример – на задней оси грузовиков бывают и 2 шины, и 4. Наличие 4х шин не делает фуру быстрее или мощнее – но в некоторых случаях многоколёсная конфигурация удобнее: скажем, при перевозке особо тяжёлого груза. Так и с 64-битной версией Windows: быстрее система не станет, но…
Сзади у грузовика 4 колеса, по 2 шины на каждую сторону. Это как в случае с 64-битной ОС: иногда лучше, но точно не быстрее и не медленнее.
Но старые 32-битные Windows способны работать не более чем с 4 гигабайтами ОЗУ, а это мало для современных программ. Даже если физической памяти в компьютер установлено 8 или 16 Гб, ОС способна работать лишь с 3,5-3,8 гигабайтами из них, а остальной объём висит мёртвым грузом. Существуют нестандартные способы заставить «Винду» видеть более 4 гигов, но работают они через раз, да и то, скорее, для косметического эффекта.
64-битная версия Windows уверенно работает с любым объёмом ОЗУ (до 32ГБ).
Различия коротко и понятно:
Есть и другие различия. Но это уже «железные дела» и нам с вами их знать совсем не обязательно, потому что «Меньше знаешь — крепче спишь»…
Разрядность у программ и драйверов
Разрядность может иметь не только система, но и программы, и драйвера. Большинство программ создавалось именно под 32-битные операционки. 32-разрядные приложения отлично работают и в 64-битной среде. Наоборот – не работает никак: истинно 64-битные проги не способны запуститься в 32-разрядой Windows.
Как узнать какая разрядность у вашей Windows?
Если у вас возник такой вопрос, то скорее всего у вас 32-разрядная система — она более популярна и всегда ставиться по умолчанию. 64-разрядную систему как правило устанавливают осознанно и намеренно.
Понять какая разрядность у вашей ОС очень просто.
Windows 8, 10
Нажмите правой кнопкой на Пуск и выберите пункт «Система«. В появившемся окне будет написана разрядность.
Windows 7
Найдите иконку «Мой компьютер» кликните по ней правой кнопкой и выберите «Свойства«.
Windows XP
Пуск > Мой компьютер > Свойства > вкладка «Общие» > Смотрим в раздел Система: если написано 64-битная версия, или 64-bit Edition, 64-бит. Если этого нет но есть что-то вроде Service Pack 3, то 32-разрядная.
Стоит ли переходить на 64-разрядную систему?
Уже, стоооит! Исключения — это пожалуй офисные компьютеры со старыми процами и 1-3 гагами памяти на борту, где не нужны никакие навороты.
Минус: x64 имеет, пожалуй, единственный минуc, из-за которого можно подумать о переходе — не все производители выпустили драйвера для 64-разрядных систем. Но, на сегодня, абсолютно все популярные программы умеют работать с x64, также как и все современные драйвера. Поэтому в 95% случаев это не будет проблемой.
Плюсов куча: более быстрые программы, улучшенная производительность для многоядерных процессоров, поддержка большого объема оперативной памяти.
Технологии развиваются и если пару лет назад никто толком не знал о 64-разрядных системах, то сегодня технологии стремятся полностью перейти на них и это лишь вопрос времени.
Вердикт? В 90% случаев стоит переходить на x64!
X86-64
Это расширение архитектуры x86 с почти полной обратной совместимостью.
Корпорации Microsoft и Oracle используют для обозначения этого набора инструкций термин «x64», однако каталог с файлами для архитектуры в 64-разрядных Microsoft Windows называется «amd64» («i386» для архитектуры x86).
Набор команд x86-64 в настоящее время поддерживается:
Содержание
Название технологии [ ]
Существует несколько вариантов названий этой технологии, которые иногда приводят к путанице.
Режимы работы [ ]
Режимы работы микропроцессоров
Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («унаследованный», режим совместимости с 32-битным x86).
Long Mode [ ]
Этот режим позволяет выполнять 64-битные программы; также (для обратной совместимости) предоставляется поддержка выполнения 32-битного кода, например, 32-битных приложений, хотя 32-битные программы не смогут использовать 64-битные системные библиотеки, и наоборот. Чтобы справиться с этой проблемой, большинство 64-разрядных операционных систем предоставляют два набора необходимых системных файлов: один — для родных 64-битных приложений, и другой — для 32-битных программ. (Этой же методикой пользовались ранние 32-битные системы — например, Windows 95 — для выполнения 16-битных программ.)
Legacy Mode [ ]
Данный «унаследованный» режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Athlon или Pentium III, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры), недоступны. В этом режиме 64-битные программы и операционные системы работать не будут.
Особенности архитектуры [ ]
Разработанный компанией AMD набор инструкций x86-64 (позднее переименованный в AMD64) — расширение архитектуры Intel IA-32 (x86-32). Основной отличительной особенностью AMD64 является поддержка 64-битных регистров общего назначения, 64-битных арифметических и логических операций над целыми числами и 64-битных виртуальных адресов. Для адресации новых регистров для команд введены так называемые «префиксы расширения регистра», для которых был выбран диапазон кодов 40h-4Fh, использующихся для команд INC и DEC в 32-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, двухбайтовой форме.
Архитектура x86-64 имеет:
Сегментная модель организации памяти [ ]
Шаблон:RQ Разрабатывая архитектуру x86-64, инженеры корпорации AMD решили навсегда покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти, которая поддерживалась ещё со времён 8086. Однако из-за этого при разработке новой версии своего продукта для виртуализации программисты компании VMware столкнулись с непреодолимыми трудностями при реализации виртуальной машины для 64-битных гостевых систем. [1] Поскольку для отделения кода монитора от кода «гостя» программой использовался механизм сегментации, эта задача стала практически неразрешимой.
Запуск, установка 64-битных гостевых систем на данный момент (2013 г.) возможна, продукт компании VMware — ESXi (workstation и тд.) — прекрасно поддерживает архитектуру x86-64.
Следует отметить, что первоначально попавшие «под нож» команды LAHF и SAHF, которые также активно используются ПО виртуализации, затем были возвращены в систему команд. С распространением средств аппаратной виртуализации (Intel VT, AMD-V) потребность в сегментации постепенно отпадет.