x86
x86 — это архитектура системы команд (ISA) микропроцессоров, разработанная корпорацией Intel и впоследствии реализованная в процессорах Intel, AMD, а также других производителей. Архитектура получила название от моделей процессоров Intel 8086, 80186, 80286, 80386 и 80486, которые легли в её основу. x86 является доминирующей архитектурой для настольных компьютеров, ноутбуков и серверов на протяжении нескольких десятилетий, начиная с 1980-х годов. Она относится к классу CISC (Complex Instruction Set Computer — компьютеры с полным набором команд), что подразумевает наличие большого количества сложных машинных инструкций, способных выполнять многошаговые операции за один такт.
История
Происхождение (1978—1985)
Первым процессором архитектуры x86 стал Intel 8086, выпущенный в 1978 году. Он имел 16-разрядную шину данных и 20-разрядную адресную шину, что позволяло адресовать до 1 Мбайт памяти. В 1979 году появился Intel 8088 — упрощённая версия с 8-разрядной шиной данных, которая была выбрана компанией IBM для первого персонального компьютера IBM PC (1981 год). Этот выбор обеспечил массовое распространение архитектуры. В 1982 году Intel выпустила 80286, который поддерживал защищённый режим работы с многозадачностью и виртуальной памятью.
32-битная эра (1985—2000)
В 1985 году Intel представила процессор 80386, ставший первым 32-битным процессором в семействе x86. Он поддерживал 32-битную адресацию (до 4 Гбайт памяти) и виртуальный режим 8086. В 1989 году появился 80486, который интегрировал кэш-память первого уровня и математический сопроцессор на кристалл. В 1993 году Intel выпустила Pentium — первый суперскалярный процессор x86, способный выполнять несколько инструкций за такт. В 1995 году вышла версия Pentium Pro, оптимизированная для 32-битного кода и серверных приложений.
64-битная эра (2000—2010)
В 2000 году Intel представила архитектуру IA-64 (Itanium), которая не была совместима с x86, но не получила широкого распространения. В ответ на это компания AMD в 2003 году выпустила процессоры Opteron и Athlon 64 с архитектурой AMD64 (x86-64), которая расширяла x86 до 64-битной адресации и регистров, сохраняя полную обратную совместимость с 32-битным кодом. Intel была вынуждена внедрить аналогичную поддержку в свои процессоры начиная с 2004 года (технология EM64T, позже Intel 64). С этого момента все современные процессоры x86 являются 64-битными.
Современный этап (2010 — настоящее время)
С 2010-х годов развитие x86 сосредоточено на повышении энергоэффективности, многопоточности и интеграции графических ядер. Intel выпускает процессоры Core (i3, i5, i7, i9) и Xeon, AMD — Ryzen и EPYC. В 2020-х годах обе компании перешли на гибридные архитектуры (например, Intel Alder Lake с большими и малыми ядрами) и чиплетные компоновки (AMD Zen). Несмотря на рост конкуренции со стороны ARM и RISC-V, x86 сохраняет лидерство в сегментах ПК и серверов.
Классификация
По разрядности
- 16-битные (8086, 80286) — исторически устаревшие, используются только в эмуляторах или встроенных системах.
- 32-битные (80386, 80486, Pentium, Core 2 Duo) — поддерживают до 4 Гбайт ОЗУ, работают в защищённом режиме. Обозначаются как x86-32 или IA-32.
- 64-битные (Athlon 64, Intel Core i-series, AMD Ryzen) — поддерживают более 4 Гбайт ОЗУ (теоретически до 16 Эбайт), работают в long mode. Обозначаются как x86-64, AMD64 или Intel 64.
По производителю
- Intel — оригинальный разработчик архитектуры, выпускает процессоры Core, Xeon, Atom, Celeron, Pentium.
- AMD — второй крупнейший производитель, выпускает процессоры Ryzen, Athlon, EPYC, Threadripper.
- VIA Technologies — тайваньская компания, выпускала процессоры C3, C7, Nano (в основном для встраиваемых систем).
- Zhaoxin — китайский производитель, выпускает процессоры на базе лицензированных технологий x86 (например, KX-6000).
- DM&P (Vortex86) — производитель низкопроизводительных встраиваемых процессоров.
По назначению
- Настольные (Desktop) — для персональных компьютеров, оптимизированы для однопоточной производительности.
- Серверные (Server) — для дата-центров, поддерживают многопроцессорные конфигурации, большие объёмы кэша и памяти (Intel Xeon, AMD EPYC).
- Мобильные (Mobile) — для ноутбуков, отличаются низким энергопотреблением (Intel Core U-series, AMD Ryzen U-series).
- Встраиваемые (Embedded) — для промышленных систем, автомобилей, терминалов (Intel Atom, AMD Geode).
Устройство и характеристики
Регистры
Процессоры x86 содержат набор регистров общего назначения (RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP) и специальных регистров (например, RIP — указатель инструкции, RFLAGS — регистр флагов). В 64-битном режиме регистры расширены до 64 бит, добавлены 8 дополнительных регистров (R8–R15).
Режимы работы
- Реальный режим (Real Mode) — 16-битный режим, совместимый с 8086, используется при загрузке системы.
- Защищённый режим (Protected Mode) — 32-битный режим с поддержкой многозадачности, виртуальной памяти и защиты памяти.
- Длинный режим (Long Mode) — 64-битный режим, поддерживает 64-битную адресацию и регистры, а также 32-битную совместимость (подрежим Compatibility Mode).
- Системный режим управления (SMM) — привилегированный режим для управления питанием и аппаратными функциями.
Система команд
Архитектура x86 включает более 1000 инструкций, разделённых на группы:
- Арифметические и логические (ADD, SUB, MUL, DIV, AND, OR, XOR).
- Пересылки данных (MOV, PUSH, POP, LEA).
- Управляющие (JMP, CALL, RET, INT).
- Работы с памятью (LOAD, STORE, SCAS, MOVS).
- Строковые (REP, CMPS).
- SIMD-инструкции (MMX, SSE, SSE2, SSE3, SSE4, AVX, AVX2, AVX-512) — для векторных вычислений.
Микроархитектура
Современные процессоры x86 используют сложную микроархитектуру, включающую:
- Конвейер команд (pipeline) — до 20 и более стадий.
- Суперскалярность — выполнение нескольких инструкций за такт.
- Внеочередное исполнение (out-of-order execution) — переупорядочивание инструкций для повышения производительности.
- Спекулятивное исполнение (speculative execution) — предсказание ветвлений и выполнение инструкций до проверки условия.
- Кэш-память — многоуровневая (L1, L2, L3, иногда L4), объёмом от нескольких десятков килобайт до десятков мегабайт.
Применение
Персональные компьютеры
Архитектура x86 является стандартом для настольных ПК и ноутбуков на операционных системах Windows, macOS (до перехода на Apple Silicon в 2020 году) и Linux. Подавляющее большинство программного обеспечения для этих платформ скомпилировано под x86.
Серверы и дата-центры
Процессоры Intel Xeon и AMD EPYC доминируют в серверном сегменте, обеспечивая работу облачных вычислений, баз данных, веб-серверов и высокопроизводительных вычислений (HPC). По оценкам, на x86 приходится более 90 % серверного рынка (по состоянию на 2023 год).
Встраиваемые системы
Процессоры x86 используются в промышленных контроллерах, банкоматах, кассовых терминалах, медицинском оборудовании, автомобильных информационно-развлекательных системах и тонких клиентах. Благодаря обратной совместимости, они позволяют запускать унаследованное программное обеспечение.
Игровые консоли
Некоторые игровые консоли используют процессоры x86: Xbox One (2013) и Xbox Series X/S (2020) — на базе AMD Jaguar и Zen 2 соответственно, PlayStation 4 (2013) и PlayStation 5 (2020) — также на базе процессоров AMD x86-64.
Критика и ограничения
Энергопотребление и тепловыделение
Архитектура CISC, лежащая в основе x86, исторически менее энергоэффективна по сравнению с RISC-архитектурами (например, ARM). Это ограничивает применение x86 в мобильных устройствах с батарейным питанием (смартфоны, планшеты), где доминирует ARM.
Сложность и наследие
x86 сохраняет обратную совместимость с 16-битным кодом 8086, что приводит к значительному усложнению микроархитектуры. Многие инструкции и режимы работы устарели, но их поддержка увеличивает площадь кристалла и энергопотребление. Критики отмечают, что это создаёт «балласт» в виде тысяч редко используемых инструкций.
Уязвимости
В 2018 году были обнаружены аппаратные уязвимости Spectre и Meltdown, затрагивающие практически все процессоры x86, выпущенные с 1995 года. Они основаны на спекулятивном исполнении и позволяют злоумышленникам получать доступ к защищённой памяти. Исправления (микрокоды, обновления ОС) привели к снижению производительности на 5–30 % в зависимости от нагрузки.
Конкуренция
С 2010-х годов архитектура ARM активно вытесняет x86 в сегменте мобильных устройств, а с 2020 года — в серверном сегменте (например, процессоры AWS Graviton, Ampere Altra). В 2020 году Apple перевела свои компьютеры Mac на процессоры ARM (Apple Silicon), что стало серьёзным вызовом для x86. Кроме того, развивается открытая архитектура RISC-V, которая может составить конкуренцию в встраиваемых и низкопроизводительных системах.
Интересные факты
- Название «x86» происходит от того, что процессоры Intel 8086, 80186, 80286, 80386 и 80486 заканчивались на «86». После 80486 Intel перешла на торговую марку Pentium, но термин «x86» закрепился.
- Процессор Intel 8086 был разработан за 18 месяцев командой из 30 инженеров под руководством Стивена Морзе.
- В 2021 году Intel объявила о планах производства процессоров по заказу сторонних компаний (Intel Foundry Services), что может привести к появлению x86-процессоров от новых производителей.
- Архитектура x86 поддерживает до 2^64 байт адресного пространства, что составляет 16 эксабайт (16 миллиардов гигабайт), хотя на практике современные процессоры ограничены 48- или 52-битной адресацией.
- В 2022 году AMD выпустила процессоры Ryzen 7000 с поддержкой AVX-512, что стало первым случаем реализации этого набора инструкций в настольных процессорах AMD.
Источники
- Intel 64 and IA-32 Architectures Software Developer’s Manual (Intel Corporation, 2023).
- AMD64 Architecture Programmer’s Manual (Advanced Micro Devices, 2023).
- Patterson, D. A., Hennessy, J. L. Computer Organization and Design: The Hardware/Software Interface (5th edition, Morgan Kaufmann, 2013).
- «The x86 Architecture: A Historical Perspective» (IEEE Computer Society, 2020).
- «Spectre and Meltdown: A Comprehensive Analysis» (Google Project Zero, 2018).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →