Открыть сервисСервис

x64 и x86 — архитектуры процессоров

x86 — семейство архитектур центральных процессоров, начавшееся с Intel 8086 (1978 год), а x64 (также AMD64, x86-64) — расширение этой архитектуры с 64-битной адресацией памяти, представленное в 2003 году. Термин «x86» в разговорной речи обычно обозначает 32-битный набор команд IA-32, а «x64» — 64-битный. Оба используются в персональных компьютерах, серверах и ноутбуках.

Происхождение названий

x86

Семейство получило название по первому процессору — Intel 8086. За ним последовали 80186, 80286, 80386, 80486, что и закрепило приставку «8x86». Начиная с Pentium Intel отказалась от числовой нумерации моделей, но архитектура осталась той же. 32-битный набор команд, введённый с 80386 (1985), называют IA-32 (Intel Architecture 32-bit).

x64

В 2003 году компания AMD представила расширение 64-битной адресации для архитектуры x86 — AMD64 (известное также как x86-64). Intel изначально развивала несовместимый 64-битный вариант Itanium (IA-64), но позже приняла AMD64 под названием EM64T, затем Intel 64. Microsoft и другие разработчики ПО используют обозначение x64.

Ключевые отличия

Параметрx86 (32-бит)x64 (64-бит)
Разрядность адресации32 бита64 бита
Максимум адресуемой памяти4 ГБ (теоретически)16 ЭБ (теоретически)
Регистры общего назначения8 (EAX, EBX…)16 (RAX, RBX…, R8–R15)
Поддержка ОСWindows XP/7 32-bit и др.Windows 7/10/11 64-bit и др.

Главное практическое отличие — объём оперативной памяти. 32-битная ОС физически не может адресовать более 4 ГБ ОЗУ (часть диапазона отводится под аппаратные нужды, поэтому реально доступно около 3,2–3,5 ГБ). 64-битная ОС работает с памятью практически без ограничений — в реальности предел определяется разрядностью контроллера памяти и версией ОС (например, Windows 10 Home поддерживает до 128 ГБ, Pro — до 2 ТБ).

Совместимость

x64-процессоры полностью поддерживают 32-битный код — запуск 32-битных программ на 64-битной ОС работает через слой WOW64. Обратная совместимость невозможна: 64-битные приложения на 32-битной ОС не запускаются. Большинство современных дистрибутивов Linux и Windows поставляются только в 64-битном варианте; 32-битные сборки встречаются только для устаревшего оборудования.

Как определить разрядность системы

В Windows: Параметры → Система → О системе, раздел «Тип системы». В Linux: команда uname -m (вывод x86_64 означает 64-битную систему, i686 — 32-битную). В macOS: Информация о системе → Архитектура.

Что выбрать

Для современных задач рекомендуется x64: поддержка более чем 4 ГБ ОЗУ, лучшая производительность в 64-битных приложениях, доступ к расширенным регистрам. 32-битная архитектура сохраняет значение только для устаревшего оборудования, встраиваемых систем и специализированного ПО без 64-битных версий. Большинство современных программ распространяется в 64-битном варианте, а браузеры (Chrome, Firefox) отказались от 32-битных сборок для настольных ОС.

Другие 64-битные архитектуры

Необходимо отличать x64 от ARM64 (AArch64) — 64-битной архитектуры ARM, используемой в смартфонах, планшетах, Apple Silicon и серверах Graviton. ARM64 и x64 несовместимы на уровне машинного кода, хотя обе поддерживают 64-битную адресацию. В Apple macOS с 2020 года x64 постепенно заменяется ARM64 через трансляцию Rosetta 2.

Источники:

  • Intel 64 and IA-32 Architectures Software Developer's Manual
  • AMD64 Architecture Programmer's Manual
  • Microsoft Docs: Windows on x64
  • «Inside the Machine» — Jon Stokes
  • «Computer Architecture: A Quantitative Approach» — John L. Hennessy, David A. Patterson
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru