x86

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск
80486 DX2

x86 (Intel 80x86) — это общее название семейства микропроцессоров, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA, Transmeta, Winchip и т. д.).

Такое имя закрепилось за семейством этих микропроцессоров, так как названия ранних моделей процессоров Intel заканчивались на число 868086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). Более поздние модели стали называть именами собственными, например — Пентиум (Pentium), чтобы иметь возможность зарегистрировать их как торговую марку (для усложнения жизни конкурентам). Другое название для архитектуры этого типа — IA (Intel Architecture) или же IA-32.

История[править]

Основные особенности архитектуры[править]

x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением, тем самым они являются RISC и CISC одновременно.

Реальный режим[править]

Классический режим, использованный в ранних IBM PC. Позволяет адресовать 1 мегабайт памяти и не имеет встроенных средств для защиты памяти и переключения задач, что, впрочем, не мешает реализовать программную многозадачность.

Расширения[править]

16-битный защищённый режим[править]

32-битный защищённый режим[править]

MMX[править]

Дополнительный набор инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио/видео данных действия за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX. Обеспечивает только целочисленные вычисления.

SSE[править]

SSE (англ. Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — это SIMD (англ. Single Instruction, Multiple Data, Одна инструкция — множество данных) набор инструкций, разработанный Intel, и впервые представленный в процессорах серии Pentium III. Поддерживает вычисления с плавающей точкой.

SSE2[править]

Улучшенное расширение SSE. Появилось в процессорах Pentium 4. Производит потоковые вычисления с вещественными числами двойной точности (2 числа в одном регистре SSE). Кроме того, добавлены инструкции аналогичные расширению MMX, работающие с регистрами SSE (16 байт, 8 слов, 4 двойных слова или 2 учетверенных слова в одном регистре).

SSE3[править]

Продолжение SSE и SSE2, появилось в процессорах Prescott

SSSE3[править]

Дополнение к SSE3 для работы с упакованными целыми.

SSE4[править]

3DNow![править]

Набор инструкций для потоковой обработки вещественных чисел одинарной точности. Поддерживается процессорами AMD начиная с K6-2. Процессорами Intel не поддерживается. Инструкции 3DNow! используют регистры MMX в качестве операндов (в один регистр помещается два числа одинарной точности). Поэтому при переключении задач не требуется отдельно сохранять контекст 3DNow! (в отличии от SSE).

64-битный режим[править]

К началу 2000-х годов стало очевидно, что 32-битное адресное пространство архитектуры x86 ограничивает производительность приложений, работающих с большими объёмами данных. 32-разрядное адресное пространство позволяет процессору осуществлять непосредственную адресацию лишь 4 Гб данных, этого может оказаться недостаточным для некоторых приложений, связанных, например, с обработкой видео или обслуживанием баз данных.

Для решения этой проблемы Intel разработала новую архитектуру IA-64 — основу семейства процессоров Itanium. Для обеспечения обратной совместимости со старыми приложениями, использующими 32-х разрядный код, в IA-64 был предусмотрен режим эмуляции. Однако на практике данный режим работы оказался чрезвычайно медленным. Компания AMD предложила альтернативное решение проблемы увеличения разрядности процессора. Вместо того, чтобы изобретать совершенно новую систему команд, было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Первоначально новая архитектура называлась x86-64, позже она была переименована в AMD64. Первоначально новый набор инструкций поддерживался процессорами семейств Opteron, Athlon 64 и Turion 64 компании AMD. Успех процессоров, использующих технологию AMD64, наряду с вялым интересом к архитектуре IA-64, побудили Intel создать посредством обратной разработки набор инструкций, полностью совместимый с AMD64. При этом был добавлен ряд специфических инструкций, не присутствовавших в изначальном наборе AMD64. Новая версия архитектуры получила название EM64T.

В литературе и названиях версий своих продуктов компании Microsoft и Sun используют объединенное именование AMD64/EM64T, когда речь заходит о 64-х разрядных версиях их операционных систем Windows и Solaris соответственно. В то же время, поставщики программ для операционных систем Linux, BSD и Mac OS X используют метки «x86-64» или «amd64», если необходимо подчеркнуть, что данное ПО использует 64-разрядные инструкции.

Виртуализация[править]

Процессоры[править]

Процессоры x86 Intel[править]

8086

16-разрядный процессор i8086 был создан в июне 1978 года, сначала работал на частотах 4,77 МГц, а затем и на 8 и на 10 МГц. Изготавливался по 3 мкм технологии и имел 29000 транзисторов.

8088

Чуть позже, в 1979 году был разработан i8088, который работал на тех же частотах, что и i8086, но использовал 8-разрядную шину данных (внутренняя шина процессора осталась 16-разрядной) для обеспечения большей совместимости с имевшейся в то время в ходу периферией. Благодаря более низкой цене, широко использовался в ранних системах IBM PC вместо 8086.

80186

В 1982 были выпущены 80186 и 80188, которые первоначально не получили широкого распространения из-за того, что IBM не стала использовать их в своих персональных компьютерах. Впрочем, некоторые производители «клонов» сделали это, выпустив ускоренные варианты IBM PC XT. В то же время, эти процессоры оказались чрезвычайно удачными для использования во встроенных системах, и в различных модификациях выпускаются до настоящего времени[Источник?]. В эти процессоры были первоначально добавлено несколько новых команд, повышена тактовая частота. Впоследствии появились модификации, содержащие дополнительные аппаратные средства, такие, как интегрированные контроллеры последовательного порта.

80286

Объявлен в 1982 году. Работал на частотах 6, а затем и на 8, 10 и 12 МГц. Производился по 1,5 мкм техпроцессу и содержал около 134 тысяч транзисторов. С его появлением появилось такое понятие, как защищённый режим (protected mode) и виртуальная память. Производительность процессора по сравнению с 8086 увеличилась в несколько раз (0,99-2,6 млн. операций в секунду).

80386

Первый 32-разрядный процессор (16-33 МГц). Появился в 1985 году. Знаменовал собой революцию в мире процессоров x86. Основные принципы, заложенные в этом чипе, без кардинальных изменений дожили и до наших дней (за всё это время изменения касались, в основном, повышения производительности, расширения набора команд, увеличения разрядности).

i486

Процессор i486 является усовершенствованным 386 процессором. Некоторые модификации имели встроенный FPU (Floating Point Unit — блок вычислений с плавающей запятой) и впервые — встроенную кэш-память (8-16 Кб).

Pentium

Pentium — первый суперскалярный процессор Intel. Суперскалярность — термин, означающий, что процессор имеет более одного вычислительного конвейера. У Pentium их два, что позволяет ему при одинаковых частотах в идеале быть вдвое производительней 486, выполняя сразу 2 инструкции за такт.

Pentium II

Первые Pentium II объявлены в мае 1997 г. как процессоры для настольных high-end компьютеров. Была изменена конструкция корпуса — кремниевая пластина с контактами заменена на картридж, увеличена частота шины и тактовая частота, расширены MMX инструкции.

Celeron

Celeron — упрощённый вариант Pentium II/III/IV для построения недорогих компьютеров. Основные отличия этих процессоров в объёме кэша второго уровня и частоте шины.

Pentium III

Pentium III, изготовленный по 0,18 мкм технологическому процессу, отличается от P2 главным образом, добавлением SSE-инструкций.

Pentium 4

Принципиально новый процессор с гиперконвейеризацией (hyperpipelining) — с конвейером, состоящим из 20 ступеней. Согласно заявлениям Intel, процессоры, основанные на данной технологии, позволяют добиться увеличения частоты примерно на 40 процентов относительно семейства P6 при одинаковом технологическом процессе (при «правильной» загрузке процессора).

На практике же, первые модели работали даже медленнее, чем Pentium III.

Xeon

Семейство процессоров, ориентированных на серверы и многопоточные вычисления.

Процессоры x86 AMD[править]

5x86

Процессоры-аналоги i486. В то время, как Intel остановился на частоте 100 МГц у i486, AMD выпускала процессоры с частотами 120 МГц и 133 МГц. Также они отличались увеличенным объёмом кэша первого уровня (16 Кбайт).

K5

Процессоры — аналоги Pentium. Несмотря на превосходство в целочисленных операциях над аналогами от Intel, производительность блока вычислений с плавающей запятой раза в полтора уступала по производительности процессорам Pentium с аналогичной тактовой частотой. Кроме того, наблюдалась плохая совместимость с ПО некоторых производителей. Недостатки K5 были чрезвычайно преувеличены в различных сетевых и других неформальных обсуждениях и на долгое время способствовали (в целом — несправедливому) ухудшению репутации продукции AMD у пользователей.

K6

Усовершенствование К5. Был значительно переработан блок вычислений с плавающей запятой. Однако в это время Intel уже выпустила процессоры с поддержкой MMX, которой не было у K6. Несмотря на непревзойдённую производительность целочисленного блока и достаточно высокую производительность FPU, которая даже позволяла эмулировать MMX, доверие к этим процессорам, подорванное производительностью К5, возвращалось крайне медленно. Процессор имел 64 Кбайт кэша первого уровня.

K6-2

Маркетинговая претензия на создание аналога Pentium II. В этих процессорах была добавлена поддержка MMX и 3DNow!. Реальная производительность, однако, оказалась существенно ниже, чем у Pentium II, и конкурировать К6-2 смогли лишь с Celeron. Процессор имел 64 Кбайт кэша первого уровня.

K6-III

Более успешная в технологическом плане, чем K6-2, попытка создания аналога Pentium III. Однако маркетингового успеха не имела. Отличается наличием 64 Кбайт кэша первого уровня и 256 Кбайт кэша второго уровня в ядре, что позволяло ему на равной тактовой тактовой частоте обгонять по производительности Intel Celeron и не очень существенно уступать ранним Pentiun III.

K6-III+

Аналог K6-III с технологией энергосбережения PowerNow!. Изначально предназначался для ноутбуков, но устанавливался и в настольные системы.

K6-2+

Аналог К6-III+ с урезанным до 128 Кб кэшем второго уровня.


Athlon

Очень успешный процессор, благодаря которому фирма AMD сумела восстановить почти утраченные позиции на рынке микропроцессоров. Кэш первого уровня — 128 Кб. Первоначально процессор выпускался в картридже, с размещением кэша второго уровня (512 Кб) на плате, и устанавливался в разъём Slot A, механически, но не электрически совместимый с интеловским Slot 1. Затем устанавливался в разъём Socket A и имел кэш второго уровня (256 Кб) в ядре. По быстродействию — примерный аналог Pentium III.

Duron

Конкурент Celeron поколений Pentium III/4. Отличается от Athlon’a объёмом кэша второго уровня (всего 64 Кб). Производительность заметно выше, чем у аналогичного Celeron, и при выполнении многих задач соответствует Pentium III.

Athlon XP

Продолжение развития архитектуры Athlon. По быстродействию — аналог Pentium 4. По сравнению с обычным Athlon’ом, добавлена поддержка SSE инструкций.

Sempron

Более дешёвый (за счёт уменьшенного кэша второго уровня) вариант процессоров Athlon XP и Athlon 64. Первоначально процессоры Sempron представляли из себя перемаркированные чипы Athlon XP на ядре Thorton, имевшим 256 Kb кэша 2-го уровня. Поздние представляют собой урезанные версии Athlon 64 (socket 754, одноканальный режим работы с памятью).

Athlon 64

Первый процессор, поддерживающий архитектуру x86_64.

Athlon 64 X2

Продолжение архитектуры Athlon 64, имеет 2 вычислительных ядра.

Athlon FX

Имеет репутацию «самого быстрого процессора для игрушек». Является, по сути, серверным процессором Opteron 1xx на десктопных сокетах без поддержки Registered-memory. Выпускается малыми партиями. Стоит значительно дороже своих «массовых» собратьев.

Geode

Семейство процессоров, ориентированное на сектор встраиваемых решений, SOC.

Процессоры VIA[править]

NEC[править]

Выпускала серию процессоров, часть из которых (ядро V20/V30) была программно совместима как с Intel x186, так и с Intel 8080. Переключение между режимами работы осуществлялось при помощи 3 дополнительных инструкций. Аппаратно они выглядели как сильно ускоренная версия 8088 или 8086.

Процессоры на основе ядра V33 не имели режима эмуляции 8080, зато поддерживали, при помощи двух дополнительных инструкций, расширенный режим адресации.

Процессоры Transmeta[править]

Процессоры МЦСТ[править]

Компанией ЗАО «МЦСТ» выпущен первый процессор «Эльбрус» и вычислительный комплекс на его базе — «Эльбрус–3М1», позволяющий работать в режиме двоичной совместимости с семейством x86 процессоров.

Производители[править]

x86 и совместимые с ними процессоры выпускаются(выпускались) несколькими компаниями, в том числе:

Ссылки[править]


hu:X86lt:X86

lv:X86