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

AMD64

AMD64 — это 64-битная архитектура набора команд (ISA) и соответствующая микроархитектура процессоров, разработанная компанией Advanced Micro Devices (AMD). Она представляет собой расширение классической 32-битной архитектуры x86 (IA-32) и обеспечивает совместимость с существующим 32-битным программным обеспечением, одновременно предоставляя возможности для работы с 64-битными адресами и данными. Архитектура AMD64 была впервые представлена в 2003 году с выходом процессоров Opteron и Athlon 64, и впоследствии стала основой для всех современных процессоров для настольных компьютеров, серверов и ноутбуков от Intel (под названием Intel 64, ранее EM64T) и AMD.

История

Предпосылки и конкуренция

К началу 2000-х годов 32-битная архитектура x86, доминировавшая на рынке персональных компьютеров, достигла своих фундаментальных ограничений. Основным из них был лимит адресуемой оперативной памяти — 4 гигабайта (2³² байт). Для серверных и научных приложений, а также для работы с большими базами данных и обработки видео, этого объёма становилось недостаточно. Компания Intel, лидер рынка процессоров, сделала ставку на принципиально новую, несовместимую с x86 архитектуру IA-64 (Itanium), ориентированную на высокопроизводительные серверы. Однако IA-64 требовала полной перекомпиляции существующего программного обеспечения и не получила широкого распространения на массовом рынке.

AMD, в то время занимавшая второстепенную позицию на рынке, выбрала другой путь: эволюционное расширение x86, сохраняющее полную обратную совместимость. Разработка велась под кодовым названием x86-64. Инженеры AMD, в частности, группа под руководством Джима Келлера, создали спецификацию, которая добавляла 64-битные регистры, 64-битные адреса и новые режимы работы, не нарушая работу старых 32-битных программ.

Выход на рынок

Первыми процессорами, реализовавшими архитектуру AMD64, стали серверные Opteron (апрель 2003 года) и настольные Athlon 64 (сентябрь 2003 года). Рынок встретил новинку с энтузиазмом: пользователи могли без проблем запускать все свои старые приложения, а при необходимости — использовать 64-битные операционные системы (например, Windows XP Professional x64 Edition, выпущенную в 2005 году, и 64-битные версии Linux) для работы с большими объёмами памяти.

Успех AMD64 заставил Intel отказаться от продвижения IA-64 на массовом рынке и в 2004 году лицензировать архитектуру AMD64. Intel выпустила собственную реализацию, первоначально названную EM64T (Extended Memory 64 Technology), а затем Intel 64. С этого момента обе компании — AMD и Intel — производят процессоры, совместимые с единым набором команд x86-64, который в обиходе часто называют AMD64, x64 или просто 64-битный x86.

Архитектура и ключевые особенности

Режимы работы

Архитектура AMD64 поддерживает три основных режима работы, обеспечивающих совместимость:

  1. Long Mode (64-битный режим): Основной режим для 64-битных операционных систем. Процессор использует 64-битные регистры общего назначения (RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8-R15), 64-битный указатель инструкций (RIP) и 64-битные адреса. Адресуемое виртуальное пространство составляет 2⁶⁴ байт, хотя на практике современные процессоры реализуют только 48 или 52 бита для адресации (что даёт 256 ТБ или 4 ПБ соответственно). В этом режиме доступны новые 64-битные инструкции.
  2. Compatibility Mode (32-битный режим совместимости): Позволяет запускать 32-битные приложения под управлением 64-битной операционной системы. Процессор работает с 32-битными регистрами и адресами, но использует 64-битную систему управления памятью. Это обеспечивает плавный переход без необходимости эмуляции.
  3. Legacy Mode (16-битный и 32-битный режимы): Полностью соответствует классической архитектуре x86 (IA-32). Процессор работает как обычный 32-битный процессор, поддерживая все старые операционные системы (например, MS-DOS, Windows 9x, 32-битные версии Windows и Linux) и приложения.

Расширение регистров

Ключевым изменением стало расширение существующих 32-битных регистров (EAX, EBX и т.д.) до 64 бит (RAX, RBX и т.д.) и добавление восьми новых 64-битных регистров общего назначения (R8-R15). Это значительно увеличило производительность вычислений, особенно в задачах, требующих интенсивной работы с целыми числами и адресами.

64-битная адресация

Главным преимуществом AMD64 является возможность адресации более 4 ГБ оперативной памяти. В 64-битном режиме процессор может напрямую обращаться к огромным объёмам памяти, что критически важно для современных серверов, баз данных, научных расчётов, обработки видео и 3D-моделирования.

Улучшенная система команд

AMD64 добавила несколько новых инструкций и расширила существующие. Среди них:

  • Условные инструкции для 64-битных данных.
  • Инструкции для работы с 64-битной арифметикой.
  • Поддержка технологии NX-бита (No-Execute), которая предотвращает выполнение кода из областей памяти, помеченных как данные. Это повышает безопасность системы, затрудняя эксплуатацию уязвимостей типа «переполнение буфера».

Микроархитектура и реализация

Процессоры AMD

Первые процессоры на архитектуре AMD64 (K8) использовали микроархитектуру Hammer. Она отличалась интегрированным контроллером памяти (впервые в x86-процессорах), что снижало задержки при обращении к ОЗУ, и высокоскоростной шиной HyperTransport для связи между процессорами в многопроцессорных системах. Последующие поколения микроархитектур (K10, Bulldozer, Zen) развивали и совершенствовали эти принципы, добавляя поддержку новых наборов инструкций (SSE, AVX, AES-NI) и повышая энергоэффективность. Процессоры AMD Ryzen, основанные на микроархитектуре Zen (2017 год), стали прямым продолжением линии AMD64 и вновь сделали AMD конкурентоспособной на рынке высокопроизводительных настольных и серверных процессоров.

Процессоры Intel

Реализация Intel 64 (EM64T) впервые появилась в процессорах Xeon (Nocona) в 2004 году и затем в настольных Pentium 4 (Prescott). Хотя набор команд совместим с AMD64, существуют незначительные различия в поведении некоторых инструкций и в реализации системных вызовов (например, Intel использует механизм SYSCALL/SYSRET, в то время как AMD исторически использовала SYSENTER/SYSEXIT, хотя в современных процессорах поддерживаются оба). Микроархитектуры Intel (Core, Nehalem, Sandy Bridge, Skylake, Alder Lake) постоянно совершенствовали производительность и энергопотребление, оставаясь в рамках спецификации x86-64.

Применение

Персональные компьютеры

Подавляющее большинство современных настольных компьютеров и ноутбуков работают на 64-битных процессорах архитектуры AMD64. Это позволяет устанавливать 64-битные операционные системы (Windows 10/11, macOS, дистрибутивы Linux) и запускать современные приложения, требующие большого объёма памяти (браузеры с множеством вкладок, игры, программы для редактирования видео и фото).

Серверы и дата-центры

Архитектура AMD64 является доминирующей на рынке серверов. Процессоры AMD EPYC и Intel Xeon, построенные на этой архитектуре, используются в облачных вычислениях, веб-хостинге, базах данных, научных вычислениях и корпоративных приложениях. Возможность адресации сотен гигабайт и терабайт оперативной памяти является ключевым фактором.

Встраиваемые системы

Существуют версии процессоров AMD64 для встраиваемых систем (например, AMD Embedded G-Series), которые используются в промышленных контроллерах, медицинском оборудовании, цифровых вывесках и автомобильных информационно-развлекательных системах.

Критика и альтернативы

Критика

Основная критика архитектуры AMD64 связана с её наследием. Необходимость поддержки 16- и 32-битного режимов работы приводит к усложнению микроархитектуры и увеличению энергопотребления. Наличие большого количества устаревших инструкций и режимов адресации делает процессоры более сложными и дорогими в разработке по сравнению с более современными RISC-архитектурами, такими как ARM (в частности, ARMv8-A, 64-битная версия).

Альтернативы

  • ARM (AArch64): 64-битная архитектура ARM, используемая в подавляющем большинстве мобильных устройств (смартфоны, планшеты) и всё активнее проникающая на рынок ноутбуков (Apple M1/M2/M3, Qualcomm Snapdragon X Elite) и серверов (Amazon Graviton, Ampere Altra). Отличается высокой энергоэффективностью.
  • RISC-V: Открытая архитектура набора команд, которая набирает популярность в академических кругах и встраиваемых системах. Пока не имеет широкого распространения на массовом рынке ПК и серверов.
  • IA-64 (Itanium): Историческая альтернатива от Intel, которая не выдержала конкуренции с AMD64 и в настоящее время практически не используется.

Интересные факты

  • Название «AMD64» изначально было торговой маркой AMD, но стало общеупотребительным для обозначения всей архитектуры x86-64.
  • Первый процессор AMD64 (Opteron 240) был выпущен в 2003 году и работал на частоте 1,4 ГГц.
  • Microsoft первоначально выпустила 64-битную версию Windows XP для архитектуры IA-64 (Itanium), но позже, под давлением рынка, выпустила Windows XP Professional x64 Edition для AMD64.
  • В операционных системах Linux архитектура AMD64 обозначается как x86_64 или amd64.

Источники

  • AMD Corporation. "AMD64 Architecture Programmer's Manual". Volumes 1-3.
  • Intel Corporation. "Intel 64 and IA-32 Architectures Software Developer's Manual". Volumes 1-3.
  • "AMD64 (x86-64) Architecture". OSDev Wiki.
  • "History of the x86-64 Architecture". AnandTech.
  • "The AMD64 Architecture". Wikipedia (английская версия).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →