Современные десктопные процессоры архитектуры x86. Почему пишут x86, а не x32? Вся правда о x32 x64 x86! Устройства работающие на x86 и x64

Дата публикации: 23.02.2012

В данной статье мы узнаем, что такое 32 и 64-битные системы и программы, и что означает x86, x64, x32. А также решим, какую систему устанавливать на ваш компьютер или ноутбук.

Что «это» такое?

Разделение на 32 и 64 бит связано, прежде всего, с типом процессоров в вашем компьютере или ноутбуке. Раньше (много лет назад) все процессоры в компьютерах были 32-битными. А ещё раньше они были 8 битными. Т.е. чем больше «битность» вашего процессора, тем он быстрее и лучше решает все системные задачи и быстрее проводит операции. Таким образом 64 битные процессоры работают быстрее, чем 32-битные.

На современных компьютерах установлены, в основном, 64-битные процессоры. Лет через 5 появятся и 128-битные процессоры. Как никак, наука и технологии не стоят на месте.

Операционные системы

Помимо того, что ОС Windows бывают разных видов (ХР, 7 и т.д.), они также подразделяются на версии x86 и х64. Соответственно, если у вас 64-битный процессор, то и систему нужно устанавливать x64.

Кстати, х86 означает 32-битную систему. Почему называется х86, а не х32? Этого почти никто не знает. Раньше 32-битные системы так и писались х32. А затем их стали называть х86, хотя сути это не поменяло - это всё та же 32-битная система. На мой взгляд, такое переименовывание - это, ни что иное, чем хитрый маркетинговый ход, чтобы выдать старое за нечто новое.

Если вы установите на компьютер с 64-битной архитектурой 32-битную ОС, то компьютер всё равно будет работать нормально. И наоборот, если установить х64 на 32-битный компьютер, то всё тоже будет работать нормально.

В чём различия?

Одно из главных отличий между системами х86 и х64 заключается в использовании оперативной памяти вашего компьютера. Предел использования оперативной памяти для 32-битных систем составляет 3 ГБ. А потому, если на вашем компьютере или ноутбуке оперативная память превышает 3 ГБ, то система не будет использовать оставшуюся часть. Т.е. На компьютере с 8гб оперативной памяти, 5 ГБ просто не будет использоваться. Конечно, есть специальные утилиты, помогающие это исправить, но всё же...

А потому отсюда следует главное правило: Если у вашего компьютера больше 3 ГБ оперативной памяти, то устанавливайте на него ОС х64 (64-битную).

Ещё одно отличие заключается в том, что компьютерные программы тоже подразделяются на 32 и 64-битные. Если хотите максимума производительности, то устанавливайте на свой компьютер соответствующие программы. Особенно это касается современных графических редакторов.

Что же лучше: х86 или х64?

Прочитав вышеперечисленное, у вас, вероятно, сложилось впечатление, что 64-битные системы намного лучше и быстрее, а потому на все компьютеры и ноутбуки лучше устанавливать именно х64. А вот и нет!

Главный минус состоит в том, что 64-битные программы используют для своей работы гораздо больше оперативной памяти. А потому, если у вас мало оперативной памяти, то устанавливать х64 будет глупо. К тому же, нужно учесть, что и сама ОС тоже использует часть оперативной памяти.

Например:
У вас есть компьютер или ноутбук с 2 ГБ оперативной памяти и с процессором 32 бита. Вы устанавливаете на него Windows 7 x64. Многие школьники любят на все компьютеры подряд устанавливать 64-битную Windows 7 (юношеский максимализм). А теперь давайте считать: 768 МБ использует Windows 7, плюс 64-битные программы, которые тоже используют больше оперативной памяти. Таким образом, получается, что вы сводите мощность своего «железа» к минимуму. А потому лучше на такой компьютер или ноутбук установить 32-битную Windows XP.

Кстати, некоторые 64-битные приложения работают нестабильно. Но таких программ становится всё меньше и меньше.

Вывод

Если у вас мощный и современный компьютер с процессором 64-бита и ОЗУ больше 3 ГБ, то смело устанавливайте Windows 7 x64. На слабые же компьютеры можно установить ХР. Кстати, есть 64-битные версии Windows ХР, что очень удобно, если у вас ноутбук с 2-3 ГБ ОЗУ и 64-битным процессором.


Последние статьи раздела «Компьютеры & Интернет»:


Комментарии статьи:

Великолепная передача мысли - абсолютно всё понятно, о чем говорит автор. И вопрос затронут важнейший: ставить ПО - не ставить?! Но как это обосновать или опровергнуть?! С удовольствием бы поверил и принял как руководство! Но противники тоже, кажется, складно звонят?!

Очень полезная статья

Эта статья сильно устарела и, будем честны, полна недостатков. Скоро ей исполнится 6 лет)) Скоро я её перепишу и актуализирую. Имейте терпение. А пока можете почитать описание технологии в википедии.

Очень хорошо! Мне понравилось.

Спасибо! Всё просто и понятно)

Че за ламер написал эту статью? Верхушек по нахватался и возомнил себя гуру!!! "Почему называется х86, а не х32? Этого почти никто не знает" Изначально процессоры компании Intel имели 86 команд. По этому x86 относится только к процессорам Intel и их клонам имеющим в основе 86 команд. К разрядности это число не имеет никакого отношения поскольку и x64 процессоры содержат эти команды. Все остальное тоже отсебятина и вранье. Windows x32 прекрасно работает с оперативкой больше 4г и даже больше 8г и с 16г тоже. Возмите к примеру windows server x32. Ограничение поставили мелкомягкие чтобы расширить рынок.

Статья очень информативная, спасибо.

Спасибо за работу!!! Очень информативная и полезная статья!!!+++

Спасибо большое всё стало понятно! Очень полезная статья!

Понятно что всё не понятно!

А вот если я скачиваю программу, а мне пишут, что та только для 64-битных систем. Что это значит и что делать?

какую устанавливать винду х86 или х64 надо смотреть на железо.процессор и материнская плата и соответственно операционная система.все должно поддерживать только одну архитектуру.или х86 или х64 ибо они между собой НЕ СОВМЕСТИМЫ...

У меня раньше была Windows7 32бит,установил другую win8 когда устанавливал понечайности выбрал 64бит и нормально работает)

Х86 как таковой не существует, есть х32, есть х64, есть i860 - номер первого совместимого процессора. Вообще номиналом (Х) в элетронике обозначаются контакты на разъёмах, соответственно х32 - 32 входных контакта, 64 - 64 контакта. Но мы живём в России полюбопытствуйте в какое понятие превратилось знаменитое ИМХО. Привыкайте!

уточнение к строке текста "И наоборот, если установить х64 на 32-битный компьютер, то всё тоже будет работать нормально." - или компьютер откажется запускаться на стадии первой перезагрузки при установке Windows

Артем спасибо все конкретно изложено и понятно

Спасибо за статью.

Неплохой обзор. Вообще, с поддержкой 32-битных приложений на 64-разрядных есть ряд специфики. Например, wow64 хоть и позволяет запускать 32-бита, но не позволяет инъекции кода. Именно по этой причине большинство программ модифицирующих проводник Windows, не запускаются.

Скажите на 64 bit процессор с 3гб оперативы все таки какую ОС луше повесить 86 или 64

На самом деле можно установить 64битную систему на 32 битный проц, т.к. 64битные ос могу работать в режиме 32

Когда-то я очень путался, увидев в описании программ x86 или x64 и не мог понять, почему если для 64-битной указывают x64, то для 32-битной x86, а не x32. Последнее должно быть намного привычнее и логичнее, а x86 не то что бы не запомнить, логике эта цифра не поддаётся: математически 86 больше чем 64, а на деле оказывается меньше в два раза. Из чисел "x86 x64 x32" таким образом можно даже загадку сделать. А ведь на самом деле...

x86 равна x32, а также равна и x64

При всей этой путанице на деле оказывается всё просто и как всегда ошибка идет за теми авторами, кто пишет вместе связку x86 и x64. Это попросту неправильно, несмотря на то, что так пишут практически все.

Дело в том, что x86 - это архитектура микропроцессора и аппаратная платформа, которая применима к тридцати двух битным и к шестидесяти четырех битным программам. Название x86 получено от наименования первого процессора intel i8086 и ряда последующих, в которых в конце всегда приписывалась 86. Через какое-то время цифровые обозначения новых процессоров стали заменяться именами, так публика узнала о Pentium и Celeron, но платформа x86 не изменилась до наших дней.

Значения два, а обозначения три? x86, x32 и x64 - как правильно писать?

И если x86 это архитектура процессора, то x32 и x64 это его разрядность – адресное пространство, а также количество информации, которую процессор в силах обработать за один такт.

Когда же пишут о совместимости программ указывая разрядность x86, подразумевая 32-битную платформу, это неправильно и только вводит в заблуждение. Правильно указывать х86_32bit или х86_64bit. Либо сокращенно интуитивно понятные x32 или x64.

Так что можно подытожить: сейчас x86 указывают по старинке (даже Майкрософт этим грешит), когда эта платформа была в единственном числе и 64-битных еще никто не знал. При появлении платформы x64 её стали указывать как есть, а прежняя 32-битная так и осталась в большинстве случаев как x86. И сейчас это не актуально, ошибочно и сбивает с толку тех, кто не понимает суть. А вы её теперь понимаете. :)

x32 или x64? Что выбрать? Что лучше?

Очень часто возникает вопрос, выбрать операционную систему x32 или x64? То есть тридцати двух битную или шестидесяти четырех битную?
Это вопрос риторический, теоретический и спорный. Очевидно, что x64 лучше, но не всегда и не в случае, если вы пользуетесь Windows. Нет, любая Windows x64 работает чуть шустрее чем Windows x32, но только если есть все программы и все драйвера под 64-битную систему. Очень часто, если компьютер современный, все системные драйвера к комплектующим у него обычно есть. Но проблема кроется тогда в программах и особенно видео и аудио кодеках. Обязательно чего-то да не будет. И если тридцати двух битные программы могут работать в системе x64, то драйвера и кодеки к ней обязательно нужны тоже x64. Год от года эта проблема исчезает, но до сих пор она не развеяна полностью. С системами x32 таких проблем нет и для дома лучше выбирать именно такую.
p.s. до 2010 года действительно существовала дилемма выбора 32-битной или 64-битной операционной системы. Причины описаны абзацем выше. Прошло с тех пор пять лет и такой проблемы уже не наблюдается. Безусловно, лучше поставить 64-битную даже не задумываясь, если, конечно же, не существует каких-то особых важных причин в пользу 32-битности.

x86-64 (x64/AMD64/Intel64/EM64T) — аппаратная платформа. Автором технологии является компания AMD. Платформа создана для выполнения 64-разрядных приложений.

Представляет собой расширение x86-архитектуры, обладает практически полной обратной совместимостью.

Компании Microsoft и Oracle применяют для индикации данного набора инструкций термин «x64», хотя каталог с файлами в дистрибутивах Linux имеет название «amd64» (в случае с архитектурой x86, именуется как «i386»).

На сегодняшний день, платформу x86-64 поддерживают следующие компании:

  • AMD : процессоры Z-серии, C-серии, G-серии, E-серии, E1, E2, A4, A6, A8, A10, FX, Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon II, Phenom, Phenom II, Turion 64, Turion 64 X2, Turion II, Opteron, последние модели Sempron;
  • Intel : реализует данную платформу, используя название «Intel 64» EM64T » и «IA-32e») . Поздние модели процессоров Pentium 4, серии Pentium D, Pentium Extreme Edition, Celeron D, Celeron G-серии, Celeron B-серии, Pentium Dual-Core, Pentium T-серии, Pentium P-серии, Pentium G-серии, Pentium B-серии, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom и Xeon;
  • VIA : Nano, Eden, QuadCore.


Название

Есть несколько вариаций названия данной технологии. Порой, противоречия в именовании платформы в каждой отдельной компании создают общую путаницу. Попробуем разобраться в терминологии:

  • x86-64 — изначальный вариант названия, под которым компания AMD опубликовала первую предварительную спецификацию.
  • x64 — название версий ОС Windows и Solaris. Используется в качестве названия для архитектуры компаний Microsoft и Sun Microsystems.
  • AA-64 (AMD Architecture 64) — название архитектуры, автором которого стал известный неофициальный справочник sandpile.org, по аналогии с IA-64.
  • Hammer Architecture — название основывается на первых ядрах процессоров, поддерживавших данную архитектуру — Clawhammer и Sledgehammer.
  • AMD64 — название технологии, данное фирмой-разработчиком - компанией AMD. Появилось после выпуска первых Clawhammer и Sledgehammer процессоров. На данный момент, является официальным названием для реализации от AMD.
  • Yamhill Tehnology — первичное название аналогичной технологии от Intel. Порой также встречалось название CT (Clackamas Technology).
  • EM64T (Extended Memory 64 Technology) — первое официальное название реализации Intel.
  • IA-32e — название порой употреблялось вместе с EM64T. В основном, использовалось для обозначения "длинного" режима (в документации Intel именуется «режимом IA-32e»).
  • Intel 64 — новое официальное название архитектуры Intel, использующееся в настоящее время. Intel потихоньку отходит от названий IA-32, IA-32e и EM64T, используя это. Теперь оно является единственным официальным названием данной архитектуры со стороны компании Intel.

В настоящее время, самыми распространенными названиями выступают: «x64», «x86-64» и «AMD64». Порой это путает AMD-пользователей - вплоть до отказа использования родных дистрибутивов ОС: пользователь не уверен, будет ли работать выбранная версия на AMD процессоре. На самом же деле, распространители программного обеспечения применяют название amd64 лишь для того, чтобы подчеркнуть, что именно компания AMD является новатором в разработке данной технологии.

Зачастую, пользователи сами путают архитектуру Intel 64 с IA-64. Важно помнить, что Intel 64 и IA-64 — совершенно разные, несовместимые между собой платформы:

  • Представители Intel 64 : последние версии Pentium 4, некоторые модели Celeron D, линейка Core 2, Core i3, Core i5, Core i7, некоторые модели Intel Atom;
  • Представители IA-64 : семейства Itanium и Itanium 2.


Режимы

Имеется два режима работы данной архитектуры:

  • Long mode («длинный» режим);
  • Legacy mode («наследственный» режим).

«Long Mode»

«Длинный» режим, будучи родным для AMD64, позволяет воспользоваться всеми дополнительными преимуществами архитектуры. Для активации данного режима требуется 64-битная ОС. К примеру, Windows 7 x64 или 64-битные версии UNIX-подобных систем (GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X - от версии 10.4.7 и выше).

Данный режим дает возможность работать 64-битным программам, кроме того, доступна и обратная совместимость: имеется поддержка 32-битного кода для работы 32-битных приложений. Но 32-битные программы не имеют возможности читать 64-битные системные библиотеки, а также - наоборот. Для того, чтобы побороть эти ограничения, большая часть 64-разрядных операционных систем предоставляет два набора необходимых системных файлов (для родных 64-битных приложений и для их 32-битных версий). Такая же методика применялась в ранних 32-битных системах (Windows 95) для запуска 16-битных программ.

«Длинный» режим не содержит в себе некоторые «рудименты» x86-архитектуры. Например, режим виртуального 8086, сегментированную модель памяти, аппаратную мультизадачность, и прочее.

«Длинный» режим имеет одну яркую особенность: его активация производится посредством установки флага CR0.PG. Он применяется для включения страничного MMU (если это переключение разрешено (EFER.LME=1). Если переключение недопустимо, включение MMU происходит в «наследственном» режиме.

Так, исполнение 64-битного кода с запрещенным страничным преобразованием невозможно, что приводит к определенным сложностям в программировании, ведь при переключении из «длинного» в «наследственный» режим (и обратно) необходим двойной сброс MMU. Для этого код переключения должен быть в тождественно отображенной странице.

«Legacy Mode»

Этот режим зовется «наследственным» по той причине, что дает возможность процессору AMD64 работать с инструкциями, которые рассчитаны для x86-процессоров. Кроме того, в рамках активации данного режима, осуществляется полная совместимость с 32-битным кодом и соответствующими ОС.

Процессор в «наследственном» режиме работает точно так же, как стандартный x86-процессор. Дополнительные функции, доступные под архитектурой AMD64, становятся неактивны.

При активации данного режима, 64-битные программы и соответствующие операционные системы функционировать не будут.

Особенности

Набор инструкций x86-64 (позже - AMD64), выпущенный компанией AMD — это расширение Intel IA-32 (x86-32). Ключевая отличительная черта AMD64 кроется в поддержке 64-битных регистров общего назначения, а также 64-битных арифметических/логических операций над целыми числами и 64-битных виртуальных адресов.

Чтобы осуществить адресацию регистров, для команд введены специальные «префиксы расширения регистра». Специально для них был выбран диапазон кодов 40h-4Fh, использующихся для команд INC и DEC в 32-битных режимах. Команды INC и DEC в 64-битном режиме кодируются в общей двухбайтовой форме.

Платформа x86-64 включает в себя:

  • Шестнадцать целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15);
  • Восемь 80-битных регистров с плавающей точкой (ST0 — ST7);
  • Восемь 64-битных регистров Multimedia Extensions (MM0 — MM7, общее пространство с регистрами ST0 — ST7);
  • Шестнадцать 128-битных регистров SSE (XMM0 — XMM15);
  • 64-битный указатель RIP и 64-битный регистр флагов RFLAGS.


Сегментирование

В ходе создания архитектуры x86-64, специалисты компании AMD пришли к решению окончательно покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти. Она поддерживалась еще во времена 8086/80286.

При создании новой версии продукта виртуализации, программисты VMware обнаружили ряд непреодолимых трудностей. Загвоздки возникали в процессе реализации виртуальной машины для 64-битных систем. Чтобы отделить код монитора от кода «гостя», программа применяла механизм сегментации, но данная задача так и не была реализована на практике.

После ряда неудачных экспериментов, компания AMD возобновила ограниченный вариант сегментной организации памяти (начиная с ревизии D архитектуры AMD64). Это дало возможность запускать 64-битные операционные системы в виртуальных машинах. Компания Intel не стала следовать такому примеру. Чтобы осуществить проверку процессора на предмет возможности запуска 64-битных гостевых операционных систем, VMware снабжает продукты специальной утилитой.

Команды LAHF и SAHF , вырезанные изначально, были возвращены в систему команд из-за их активного использования в программном обеспечении виртуализации.

По мере развития средств аппаратной виртуализации (Intel VT, AMD-V), необходимость в сегментации постепенно утрачивается.

x86 или x64: Что это значит?

Наверняка многих эти обозначения заводят в тупик, и сегодня из него мы и будем выбираться.

На самом деле x86, x64 – всего лишь обозначения разрядности операционной системы, измеряемой в битах (32 и 64 бита соответственно). Есть, к слову, и 16 бит – но встретить процессоры, понимающие только эту разрядность уже довольно сложно. Для этого надо вернуться лет на 10 назад. В любом случае “познакомить” их с x86 или x64 системами не получится.

Для чего это всё ?

Всё это позволяет определить разрядность чисел с которыми процессор вашего ПК будет иметь дело. И по этой причине под x86 или x64 системы имеются свои версии программ, драйверов и тому подобного.

Более высокая разрядность (x64) позволяет, помимо прочих моментов, позволяет заметно повысить точность вычислений. Но такой нужды у рядового пользователя нет и единственный момент, ради которого ему стоит использовать 64-разрядную систему – если оперативной памяти в компьютере свыше 4-х гигабайт.

Дело в том, что 32-разрядные системы не “видят” более 4-х гигабайт оперативки.

Так что в итоге: x86 или x64 ?

Если у вас имеется 4 Gb оперативной памяти или меньше – 32-х битной (x86) системы вам будет достаточно. В ином случае используйте x64.