Viki 86: Simple English Wikipedia, the free encyclopedia

Содержание

x86 — Национальная библиотека им. Н. Э. Баумана

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:30, 12 января 2019.

x86
Дизайнер Intel, AMD
Биты 16-bit, 32-bit and 64-bit
Представлен 1978 (16-bit), 1985 (32-bit), 2003 (64-bit)
Дизайн CISC
Тип Register-memory
Кодирование Variable (1 to 15 bytes)
Разветвление Status register
Порядок байтов Little
Размер страницы 8086–i286: None
i386, i486: 4 KB pages
P5 Pentium: added 4 MB pages
(Legacy PAE: 4 KB→2 MB)
x86-64: added 1 GB pages
Расширения x87, IA-32, MMX, SSE, SSE2, x86-64, SSE3, SSSE3, SSE4, SSE5, AVX
Открыто Partly. For some advanced features, x86 may require license from Intel; x86-64 may require an additional license from AMD. The 80486 processor has been on the market for more than 20 years[1] and so cannot be subject to patent claims. The pre-586 subset of the x86 architecture is therefore fully open.
Регистры
Общее назначение
  • 16-bit: six semi-dedicated registers, BP and SP are not general-purpose
  • 32-bit: eight GPRs, including EBP and ESP
  • 64-bit: 16 GPRs, including RBP and RSP
FPU (Floating Point Unit)
  • 16-bit: optional separate x87 FPU
  • 32-bit: optional separate or integrated x87 FPU, integrated SSE2 units in later processors
  • 64-bit: integrated x87 and SSE2 units

x86 (англ. Intel 80×86) — архитектура процессора c одноимённым набором команд, впервые реализованная в процессорах компании Intel. Название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). За время своего существования набор команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями. Помимо Intel архитектура также была реализована в процессорах других производителей: AMD, VIA, Transmeta, IDT и др.

История

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

Архитектура x86 в 1978 году с первым 16-разрядным процессором Intel, 8086, представила старые 8-разрядные процессоры 8080 и 8085 предназначенные для замены. Хотя 8086 не был изначально очень успешен, была поставлена IBM в 1981 году на первый компьютер. Из-за огромного успеха IBM PC и его многочисленных клонов, называемых IBM совместимыми персональными компьютерами, архитектура x86 была в течение нескольких лет одной из самых успешных архитектур процессоров в мире, и осталась таковой и в наши дни.

Процессоры

Процессоры Intel

Поколение Первый процессор Преемник Год запуска
1. Intel 8086 1978
1a. Обновление первого поколения, Intel 80186 1982
2. Intel 80286 1982
3. Intel 80386 1985
4. Intel 80486 1989
5. Pentium Nx586, Cyrix 5×86, WinChip, mP6, AMD K5 1993
6. Pentium Pro Pentium II, Celeron (PII), Xeon (PII), Pentium III, Pentium M, Intel Core) Cyrix 6×86, AMD K6, K6-2, K6-III, VIA C3, Transmeta Crusoe 1995
7. Athlon (K7) Pentium 4 , C7, Efficeon 1999
8. Opteron (K8) Athlon 64) Xeon (Core) Core 2 2003
9. Intel Core i-Serie 2008

Рис. 2. Intel 8086 в корпусе DIP 40.

8086

16-разрядный процессор Intel 8086, был создан в июне 1978 года. Сначала работал на частотах 4,77 МГц, затем на 8 и 10 МГц. Изготавливался по технологии 3 мкм и имел 29 000 транзисторов. (см. Рис 2)

8088

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

80386 (i386)

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

Также выпускались более дешевые процессоры i386SX с урезанной до 16 бит внешней шиной данных и 24-битной шиной адреса.
Для встроенного применения выпускался и выпускается процессор i386EX. Он имеет на кристалле последовательные порты, программируемые таймеры (совместимые с Intel 8254), контроллеры приоритетных прерываний (совместимые с Intel 8259A) и контроллеры прямого доступа к памяти (совместимые с Intel 8237A).
i386 — первый процессор, который мог использовать кэш-память (расположенную на внешнем чипе).

Рис. 4. Intel 80486 (i486) DX2.

80486 (i486)

Процессор i486 (1989 год) является усовершенствованным 386 процессором и первым скалярным процессором Intel (ряд операций выполнялись за один такт). Имел встроенный FPU (Floating Point Unit — блок вычислений с плавающей запятой) и впервые — встроенную кэш-память (8 Кбайт). 80486 — первый процессор Intel, для которого была применена технология умножения частоты шины FSB (в моделях DX2-50, DX2-66, DX4-75 и DX4-100). (см. Рис. 4)
Для ноутбуков и встраиваемых систем в начале 1990-х была выпущена «облегченная» модификация i486SX без встроенного блока FPU.
Существовала также модификация для встроенных применений — i486GX. Она представляла собой низковольтный 486SX с шиной данных, урезанной до 16-ти бит. Корпусировка i486GX — TQFP-176, частоты — от 16 МГц при Vcore = 2,0 В до 33 МГц при 2,7 В.

Pentium (i586)

Pentium (1993 год. Intel отказалась от номерных названий типа 8086, 80286 и др., потому что не могла запатентовать числа) — первый суперскалярный и суперконвейерный процессор Intel. Суперскалярность — означает, что процессор позволяет выполнять более одной операции за один такт. Суперконвейерность означает, что процессор имеет несколько вычислительных конвейеров. У Pentium их два, что позволяет ему при одинаковых частотах в идеале быть вдвое производительней 486, выполняя сразу 2 инструкции за такт. Кроме того, особенностью процессора Pentium являлся полностью переработанный и очень мощный на то время блок FPU, производительность которого оставалась недостижимой для конкурентов вплоть до конца 1990-х годов.

Pentium II (i686)

Pentium II (май 1997 года) — модификация ядра Pentium Pro с целью сделать его более доступным. Интегрированный кэш и тег кэша были вынесены на отдельные микросхемы с пониженной в два раза частотой. Это упростило и удешевило процессор, хотя и сделало его более медленным, чем Pentium Pro.
Первые процессоры Pentium II выпускались с кэш-памятью второго уровня емкостью 256 Кбайт, затем её объём был увеличен до 512 Кбайт.
Новая конструкция процессора потребовала размещения элементов на печатной плате, что, в свою очередь, привело к изменению конструктива процессора. Данные ЦПУ выпускались в виде картриджей SECC, устанавливающихся в специальный разъём на плате (Slot 1).
Кроме того, в ядро Pentium II был добавлен блок MMX.

Рис. 5. Intel Celeron.

Celeron

Celeron — упрощённая модификация процессоров Pentium II / III / IV / Core / Core 2 для построения недорогих компьютеров. Первый Celeron (ядро Covington, частоты 266/300 МГц) представлял собой Pentium II, лишенный кеша второго уровня и пластикового картриджа. Печатная плата также была упрощена. Такая упаковка получила название SEPP (Single Edge Processor Package). В результате эти процессоры демонстрировали удручающе низкую производительность, хотя стоили очень недорого и легко прибавляли до 50 % частоты при разгоне. Все последующие варианты этого процессора имели интегрированный полночастотный кеш второго уровня. Основные отличия процессоров Celeron в объёме этого кэша и частоте шины, а также часто в увеличенной латентности доступа к кэш-памяти по отношению к оригинальному процессору (см. Рис 5).

Вторая модификация Celeron (ядро Mendocino, частоты 300…533 МГц) на многих задачах демонстрировала более высокую производительность, чем равночастотный Pentium II. Это объяснялось тем, что маленький (128 Кбайт) кеш Mendocino располагался на одном кристалле с ядром и работал на частоте ядра, в то время как большой (512 Кбайт) кеш Pentium II находился достаточно далеко от ядра и работал на половинной частоте. Больше таких промашек фирма Intel не допускала, и все последующие Celeron гарантированно медленнее полноценных процессоров того же поколения.

Pentium III (i686)

Pentium III, изготовленный изначально по технологическому процессу 0,18 мкм, отличается от P2 главным образом добавлением инструкций SSE. Поздние процессоры этой серии изготавливались по технологическому процессу 0,13 мкм, получили интегрированную в кристалл ядра полночастотную кэш-память (сначала 256 Кбайт, затем — 512 Кбайт) и послужили прообразом процессоров архитектуры Pentium M. Выпускались в конструктивах как SECC/SECC2 (Slot 1), так и FCPGA-370 (PGA-370).

Рис. 6. Intel Pentium 4.

Pentium 4

Pentium 4 — принципиально новый процессор с гиперконвейеризацией (hyperpipelining) — с конвейером, состоящим из 20 ступеней. Согласно заявлениям Intel, процессоры, основанные на данной технологии, позволяют добиться увеличения частоты примерно на 40 % относительно семейства P6 при одинаковом технологическом процессе (при «правильной» загрузке процессора). На практике же, первое поколение процессоров работало даже медленнее, чем Pentium III.
Позже были дополнены поддержкой Hyper-threading и 64-битного кода (см. Рис. 6).

Рис. 7. Intel Core 2 Duo.

Core / Core 2

После провала последнего поколения процессоров Pentium 4 на ядре Tejas, было решено обратиться к другой ветви продукции. В основе новых процессоров лежит переработанное ядро Pentium M. Таким образом, ядро P6, использованное ещё в процессорах Pentium Pro, продолжило свою эволюцию, нарастив частоту со 150 МГц до 3,2 ГГц и обзаведясь новой системной шиной, поддержкой многоядерности, мультимедийных инструкций (см. Рис. 7). Процессоры Core — решение для ноутбуков, одно- и двухъядерное, исполняющее 32-битный код. Процессоры Core 2 — выпускаются как в настольном, так и мобильном исполнении, включают ряд микроархитектурных улучшений и способны исполнять 64-битный код. Количество ядер варьируется от одного до четырёх.

Core i7/Core i5/Core i3

Дальнейшее развитие идей, заложенных в процессорах Core 2. Сохранив основную конструкцию процессорных ядер, появившийся первым Core i7 получил модульную структуру, позволяющую легко варьировать их количество, встроенный контроллер памяти (трёхканальной DDR3 в высшем сегменте и двухканальной DDR3 в массовом) и новую шину, соединяющую процессор с чипсетом. Микроархитектурные улучшения позволяют Core i7 показывать повышенную производительность в сравнении с Core 2 на равных частотах. Большое внимание было уделено вопросу энергоэффективности нового процессора. Позже появились более дешевые Core i5/i7 с двухканальным контроллером памяти и четырьмя ядрами, затем — Core i3/i5 с двумя ядрами и встроенным видеоядром. В секторе наиболее производительных решений выпускаются также процессоры Core i7 с трехканальным контроллером памяти и шестью ядрами. Благодаря использованию технологии Hyper-threading эти процессоры способны одновременно исполнять до 12 потоков команд. Также в ассортименте компании Intel есть особо производительные процессоры для домашних ПК: Core i7 с трехканальным контроллером памяти и восемью ядрами. Количество потоков возросло до 16.

Xeon

Семейство процессоров, ориентированных на серверы и многопоточные вычисления.
Первый представитель этого семейства базировался на архитектуре Pentium II, представлял собой картдридж с печатной платой, на которой монтировались ядро, кэш-память второго уровня и тег кэша. Монтировался в гнездо Slot 2.
Современные Xeon базируются на архитектуре Core 2/Core i7.

Процессоры AMD

Am8086 / Am8088 / Am186 / Am286 / Am386 / Am486

Клоны соответствующих процессоров от Intel. Обычно выпускались с максимальной частотой на ступеньку выше, чем у оригинала. Так, Am386DX выпускался с максимальной частотой 40 МГц, тогда как i386DX — 33 МГц. Вплоть до 486DX2-66 других различий между процессорами не было. Программно отличить эти процессоры было невозможно.
5×86
Клон i486. В то время, как Intel для i486 остановился на частоте 100 МГц, AMD выпускала процессоры с частотами до 133 МГц. Также они отличались увеличенным объёмом кэша первого уровня (16 Кбайт) и множителем (×4). (см. Рис. 8)

K6

Принципиально новый процессор AMD (апрель 1997 года), основанный на ядре, приобретённом у NexGen. Данный процессор имел конструктив пятого поколения, однако относился к шестому поколению и позиционировался как конкурент Pentium II. Включал в себя блок MMX и несколько переработанный блок FPU. Однако данные блоки всё равно работали на 15-20 % медленнее, чем у аналогичных по частоте процессоров Intel. Процессор имел 64 Кбайт кэша первого уровня.
В целом, сравнимая с Pentium II производительность, совместимость со старыми материнскими платами и более ранний старт (AMD представила К6 на месяц раньше, чем Intel представила P-II) и более низкая цена сделали его достаточно популярным, однако проблемы с производством у AMD значительно испортили репутацию данного процессора.

Athlon

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

Athlon 64

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

Рис. 9. Amd Athlon 64 X2.

Athlon 64 X2

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

Phenom

Дальнейшее развитие архитектуры Athlon 64, выпускается в вариантах с двумя (Athlon 64 X2 Kuma), тремя (Phenom X3 Toliman) и четырьмя (Phenom X4 Agena) ядрами.

Phenom II

Модификация Phenom. Небольшие архитектурные изменения, переход на более тонкий технологический процесс и добавление кэша L3 объёмом от 4 до 6 Мбайт позволили нарастить производительность этих процессоров на 10-20 % по сравнению с предшественниками. Выпускаются в конструктивах Socket AM2+ и Socket AM3. При этом первые могут работать только с памятью DDR2, а вторые — как с DDR2, так и с DDR3. Максимальное число ядер выросло до шести.

Athlon II

Phenom II без кеша L3 и количеством ядер не более четырёх.

Рис. 10. МЦСТ R1000.

Процессоры, выпускавшиеся в СССР и России

КР1810ВМ86

КР1834ВМ86/ЭКР1834ВМ86 — аналог 8086.
К1810ВМ88 — аналог 8088.
КФ1847ВМ286 (позднее ЭКФ1847ВМ2) — аналог 80286. Опытные образцы выпускались заводом имени Дзержинского (разработчик НТЦ «Белмикросистемы») НПО «Интеграл».

Процессоры МЦСТ

Компанией ЗАО МЦСТ выпущена серия микропроцессоров «Эльбрус», позволяющих работать в режиме двоичной совместимости с архитектурой x86. Совместимость обеспечивается за счёт программной динамической трансляции x86-кодов с использованием аппаратной поддержки, заложенной в архитектуру микропроцессора «Эльбрус». (см. Рис. 10)

Сведения общего характера

Понятие архитектуры

Архитектура как совместимость с кодом

Наверняка вы часто встречались с термином «x86», или «Intel-совместимый процессор» (или «IBM PC compatible» — но это уже по отношению к компьютеру). Иногда также встречается термин «Pentium-совместимый» (почему именно Pentium — вы поймете сами чуть позже). Что за всеми этими названиями скрывается на самом деле? На данный момент наиболее корректно с точки зрения автора выглядит следующая простая формулировка: современный x86-процессор — это процессор, способный корректно исполнять машинный код архитектуры IA32 (архитектура 32-битных процессоров Intel). В первом приближении это код, исполняемый процессором i80386 (известным в народе как «386-й»), окончательно же основной набор команд IA32 сформировался с выходом процессора Intel Pentium Pro. Что означает «основной набор» и какие есть еще? Для начала ответим на первую часть вопроса. «Основной» в данном случае означает то, что с помощью исключительно этого набора команд, может быть написана любая программа, которая вообще может быть написана для процессора архитектуры x86 (или IA32, если вам так больше нравится).

Кроме того, у архитектуры IA32 существуют «официальные» расширения (дополнительные наборы команд) от разработчика самой архитектуры, компании Intel: MMX, SSE, SSE2 и SSE3. Также существуют «неофициальные» (не от Intel) расширенные наборы команд: EMMX, 3DNow! и Extended 3DNow! — их разработала компания AMD. Впрочем, «официальность» и «неофициальность» в данном случае понятие относительное — де-факто все сводится к тому, что некоторые расширения набора команд Intel как разработчик изначального набора признает, а некоторые — нет, разработчики же программного обеспечения используют то, что им лучше всего подходит. В отношении расширенных наборов команд существует одно простое правило хорошего тона: прежде чем их использовать, программа должна проверить, поддерживает ли их процессор. Иногда отступления от этого правила встречаются (и могут приводить к неправильному функционированию программ), но объективно это является проблемой некорректно написанного программного обеспечения, а не процессора.

Для чего предназначены дополнительные наборы команд? В первую очередь — для увеличения быстродействия при выполнении некоторых операций. Одна команда из дополнительного набора, как правило, выполняет действие, для которого понадобилась бы небольшая программа, состоящая из команд основного набора. Опять-таки, как правило, одна команда выполняется процессором быстрее, чем заменяющая ее последовательность. Однако в 99% случаев, ничего такого, чего нельзя было бы сделать с помощью основных команд, с помощью команд из дополнительного набора сделать нельзя.

Таким образом, упомянутая выше проверка программой поддержки дополнительных наборов команд процессором, должна выполнять очень простую функцию: если, например, процессор поддерживает SSE — значит, считать будем быстро и с помощью команд из набора SSE. Если нет — будем считать медленнее, с помощью команд из основного набора. Корректно написанная программа обязана действовать именно так. Впрочем, сейчас практически никто не проверяет у процессора наличие поддержки MMX, так как все CPU, вышедшие за последние 5 лет, этот набор поддерживают гарантированно. Для справки приведем табличку, на которой обобщена информация о поддержке различных расширенных наборов команд различными десктопными (предназначенными для настольных ПК) процессорами.

Различия между ядрами одной микроархитектуры

«Процессорное ядро» (как правило, для краткости его называют просто «ядро») — это конкретное воплощение [микро]архитектуры (т.е. «архитектуры в аппаратном смысле этого слова»), являющееся стандартом для целой серии процессоров. Например, NetBurst — это микроархитектура, которая лежит в основе многих сегодняшних процессоров Intel: Celeron, Pentium 4, Xeon. Микроархитектура задает общие принципы: длинный конвейер, использование определенной разновидности кэша кода первого уровня (Trace cache), прочие «глобальные» особенности. Ядро — более конкретное воплощение. Например, процессоры микроархитектуры NetBurst с шиной 400 МГц, кэшем второго уровня 256 килобайт, и без поддержки Hyper-Threading — это более-менее полное описание ядра Willamette. А вот ядро Northwood имеет кэш второго уровня уже 512 килобайт, хотя также основано на NetBurst. Ядро AMD Thunderbird основано на микроархитектуре K7, но не поддерживает набор команд SSE, а вот ядро Palomino — уже поддерживает.
Таким образом, можно сказать что «ядро» – это конкретное воплощение определенной микроархитектуры «в кремнии», обладающее (в отличие от самой микроархитектуры) определенным набором строго обусловленных характеристик. Микроархитектура — аморфна, она описывает общие принципы построения процессора. Ядро — конкретно, это микроархитектура, «обросшая» всевозможными параметрами и характеристиками. Чрезвычайно редки случаи, когда процессоры сменяли микроархитектуру, сохраняя название. И, наоборот, практически любое наименование процессора хотя бы несколько раз за время своего существования «меняло» ядро. Например, общее название серии процессоров AMD — «Athlon XP» — это одна микроархитектура (K7), но целых четыре ядра (Palomino, Thoroughbred, Barton, Thorton). Разные ядра, построенные на одной микроархитектуре, могут иметь, в том числе разное быстродействие.

Частота работы ядра

Как правило, именно этот параметр в просторечии именуют «частотой процессора». Хотя в общем случае определение «частота работы ядра» всё же более корректно, так как совершенно не обязательно все составляющие CPU функционируют на той же частоте, что и ядро (наиболее частым примером обратного являлись старые «слотовые» x86 CPU — Intel Pentium II и Pentium III для Slot 1, AMD Athlon для Slot A — у них L2-кэш функционировал на 1/2, и даже иногда на 1/3 частоты работы ядра). Ещё одним распространённым заблуждением является уверенность в том, что частота работы ядра однозначным образом определяет производительность. На самом деле это дважды не так: во-первых, каждое конкретное процессорное ядро (в зависимости от того, как оно спроектировано, сколько содержит исполняющих блоков различных типов, и т.д. и т.п.) может исполнять различное количество команд за один такт, частота же — это всего лишь количество таких тактов в секунду. Таким образом (приведенное далее сравнение, разумеется, очень сильно упрощено и поэтому весьма условно) процессор, ядро которого исполняет 3 инструкции за такт, может иметь на треть меньшую частоту, чем процессор, исполняющий 2 инструкции за такт — и при этом обладать полностью аналогичным быстродействием.

Во-вторых, даже в рамках одного и того же ядра, увеличение частоты вовсе не всегда приводит к пропорциональному увеличению быстродействия.. Дело в том, что скорость исполнения команд ядром процессора — это вовсе не единственный показатель, влияющий на скорость выполнения программы. Не менее важна скорость поступления команд и данных на CPU. Представим себе чисто теоретически такую систему: быстродействие процессора — 10’000 команд в секунду, скорость работы памяти — 1000 байт в секунду. Таким образом, следует понимать: невозможно непрерывно наращивать одну только частоту ядра, не ускоряя одновременно подсистему памяти, так как в этом случае начиная с определённого этапа, увеличение частоты CPU перестанет сказываться на увеличении быстродействия системы в целом.

Кодирование инструкций

Префиксы (каждый из них опционален):

  • Однобайтовый префикс смены режима адресации AddressSize (значение 67h (положим, что h — это обозначение шестнадцатиричной записи, здесь и далее)).
  • Однобайтовый префикс изменения сегмента Segment (значения 26h, 2Eh, 36h, 3Eh, 64h и 65h).
  • Однобайтовый префикс BranchHint для указания предпочтительной ветки перехода (значения 2Eh и 3Eh).
  • Двухбайтовый или трёхбайтовый сложноструктурированный префикс Vex (первый байт всегда имеет значение C4h для двухбайтового варианта или C5h для трёхбайтового).
  • Однобайтовый префикс Lock для запрета модификации памяти другими процессорами или ядрами (значение F0h).
  • Однобайтовый префикс OperandsSize для изменения размера операнда (значение 66h).
  • Однобайтовый префикс Mandatory для уточнения инструкции (значения F2h и F3h).
  • Однобайтовый префикс Repeat означает повторение (значения F2h и F3h).
  • Однобайтовый структурированный префикс Rex нужен для указания 64-битных или расширенных регистров (имеет значения 40h..4Fh).
  • Префикс Escape. Всегда состоит как минимум из одного байта 0Fh. За этим байтом опционально идёт байт 38h или 3Ah. Предназначен для уточнения инструкции.

Встроенные в инструкцию данные (опциональны):

  • Смещение или адрес в памяти (Displacement). Целое число со знаком размером 8, 16, 32 или 64 бита.
  • Первый или единственный непосредственный операнд (Immediate). Может быть размером 8, 16, 32 или 64 бита.
  • Второй непосредственный операнд (Immediate2). Если присутствует, то обычно имеет размер в 8 бит.

В списке выше и далее для технических имён принято наименование «только латиница, арабские цифры» и знак минуса «-» со знаком подчёкивания «_», а регистр — CamelCase (любое слово начинается с прописной, а далее только строчные даже если аббревиатура: «UTF-8» → «Utf8» — все слова вместе). Префиксы AddressSize, Segment, BranchHint, Lock, OperandsSize и Repeat могут перемешаны между собой. Остальные элементы должны идти именно в указанном порядке. И видно что байтовые значения некоторых префиксов совпадают. Их назначение и наличие определяет уже сама инструкция. Префиксы переопределения сегмента могут применяться с большинством инструкций, а префиксы BranchHint применяются только с инструкциями условного перехода. Аналогичная ситуация с префиксами Mandatory и Repeat — где-то они уточняют инструкцию, а где-то указывают на повторение. Префикс OperandSize вместе в префиксами Mandatory ещё относят к префиксам SIMD-инструкции. Отдельно следует сказать про префикс Vex. Он заменяет префиксы Rex, Mandatory, Escape и OperandsSize, компактизируя их в себе. С ним не допустимо использование префикса Lock. Сам же префикс Lock может добавляться когда приёмником является операнд в памяти.

Обзорный список всех интересующих режимов с точки зрения кодирования инструкций:

  • 16-битный («Real Mode», реальный режим с сегментной адресацией).
  • 32-битный («Protected Mode», защищённый режим с плоской моделью памяти).
  • 64-битный («Long Mode», как 32-битный защищённый с плоской моделью памяти, но адреса уже 64-битные).

В скобках английские названия режимов соответствуют официальным. Ещё есть синтетические режимы на вроде нереального (Unreal x86 Mode), но они все вытекают из этих трёх (по сути это гибриды, которые отличаются лишь размером адреса, операндов и прочим). В каждом из них используется «родной» режим адресации, но его можно сменить на альтернативный префиксом OperandsSize. В 16-битном режиме включится 32-битный режим адресации, в 32-битном режиме — 16-битный, а в 64-битном — 32-битный. Но если это делать, то адрес расширяется с дополнением нулями (если он меньше) или же его старшие биты сбрасываются (если он больше).

Дизайн

Архитектура x86 использует CISC набор команд с переменной длиной инструкции. Доступ к памяти по размеру слова также могут не выровнено по границе слова адреса памяти. Слова в Little Endian хранящегося направлении. Easy портативность Intel 8085 на ассемблере код был движущей силой развития архитектуры. Это вызвало некоторые неоптимальные и проблематичные в ретроспективе проектных решений.

Современные x86 процессоры гибридные процессоры CISC/RISC, так как они переводят инструкции x86 установить первый в RISC — инструкции -Mikro постоянной длины, могут быть применены к современным микроархитектуры оптимизаций. Передача изначально к так называемым резервировании, то есть для малых буферов, выше по потоку от различных вычислительных устройств. Первый гибридный процессор x86 был Pentium Pro.

64 бита

Примерно в 2002 году, расширение памяти современных x86 машин достиг вызвано 32-битного адресного ограничения размера адресации в инструкции x86 архитектуру набора 4 Гб. Хотя Intel имел Pentium Pro представила способ решения более 4 Гб оперативной памяти, но ее использование программно трудоемким и процесс в доступной памяти остался так до сих пор ограничен до 4 Гб.

Intel изначально хотел сделать скачок до 64 бит с новой архитектурой процессора под названием IA-64, однако, удалось установить их только в качестве продукта ниши в сегменте рынка серверов и рабочих станций. AMD, с другой стороны продлили 32-битную архитектуру процессора до 64 бит и назвал это расширение AMD64 . Позже Intel взяла на себя большую часть этого расширения под названием EM64T, а затем, наконец, под широко используется сегодня в продуктах Intel название Intel 64 .

Для 64-разрядных процессоров, которые основаны на архитектуре x86, термин x86-64 или вскоре x64 используется.

Виртуализация

Несмотря на то, виртуализации процессоров x86 усложняется из — за полной архитектуры, есть несколько продуктов, которые обеспечивают виртуальный процессор x86 доступны, в том числе VMware, Hyper-V и Virtual PC или с открытым исходным кодом программного обеспечения, таких как Xen или VirtualBox. Виртуализация аппаратная сторона также доступна в качестве расширения, он будет на Intel » Intel VT » (для технологии виртуализации), с AMD » AMD Virtualization».

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

Реальный режим

В реальном режиме при вычислении линейного адреса, по которому процессор собирается читать содержимое памяти или писать в неё, сегментная часть адреса умножается на 16 (или, то же самое, что и сдвиг влево на 4 бита) и суммируется со смещением (если процессору передаётся не полный адрес из двух 16-битных значений — сегмента и смещения, — а только 16-битное смещение, то сегмент берётся из одного из сегментных регистров). Таким образом, адреса 0400h:0001h и 0000h:4001h ссылаются на один и тот же физический адрес, так как 400h×16+1 = 0×16+4001h.

Такой способ вычисления физического адреса позволяет адресовать 1 Мб + 64 Кб − 16 байт памяти (диапазон адресов 0000h…10FFEFh). Однако в процессорах 8086/8088 всего 20 адресных линий, поэтому реально доступен только 1 мегабайт (диапазон адресов 0000h…FFFFFh), а при адресации выше (в диапазоне 100000h…10FFEFh) происходит «заворот» — старший единичный бит адреса игнорируется и происходит обращение к 64 килобайтам в начальных адресах (0000h…FFEFh).

Процессор 80286 имеет 24-битную адресную шину (возможна адресация 224 = 16 Мб памяти), поэтому в них переполнения не происходит. Компьютеры IBM PC/AT построены на процессоре Intel 80286, но, из соображений совместимости с IBM PC и IBM PC/XT, построенных на Intel 808x, в них был введён логический элемент (вентиль), управляющий работой 21-го адресного провода (A20). Этот логический элемент, получивший название «Gate A20», по умолчанию отключен, что соответствует режиму совместимости, но управляется через контроллер клавиатуры (микросхема Intel 8042).

Рис. 11. Схема образования линейного адресного пространства

Линейная адресация памяти

Линейная адресация памяти — схема адресации памяти компьютера в защищённом режиме (начиная с Intel 80386 и других совместимых x86-процессорах). Используется большинством современных многозадачных ОС. (см. Рис. 11)

Благодаря механизму линейной адресации можно создавать любое (ограниченное только размерами оперативной памяти) количество независимых виртуальных адресных пространств. Причём каждая страница линейного адресного пространства может находиться по любому физическому адресу или даже быть выгруженной на диск.

При использовании линейной адресации 32-битный логический адрес делится на три части:

  • Номер записи в каталоге страниц (номер таблицы страниц) — биты 31-22 (10 бит). Одна запись из каталога страниц определяет отображение 4 МБайт адресного пространства.
  • Номер записи в таблице страниц (номер страницы в таблице страниц) — биты 21-12 (10 бит). Одна запись из таблицы страниц определяет отображение 4 КБайт адресного пространства.
  • Смещение в рамках страницы — биты 11-0 (12 бит).
Защищенный режим

В дополнение к реальному режиме Intel 80286 поддерживает защищенный режим, расширение адресацией физической памяти до 16 МБ и адресуемой виртуальной памяти до 1 Гб, а также предоставление защищенной памяти, которая предотвращает программы от разлагающего друг от друга. Это делается с помощью сегментных регистров только для хранения индекса в таблице дескрипторов, которая хранится в памяти. Есть две такие таблицы, тем Глобальная таблица дескрипторов (GDT) и таблица дескрипторов Local (LDT), каждая из которых содержит до 8192 дескрипторов сегментов, каждый сегмент дает доступ к 64 Кбайт памяти. В 80286, дескриптор сегмента обеспечивает 24-битную в базовый адрес , и этот базовый адрес добавляется к 16-битным смещением , чтобы создать абсолютный адрес. Базовый адрес из таблицы выполняет ту же роль , что буквальное значение регистра сегмента выполняет в режиме реального времени; сегментные регистры были преобразованы из прямых регистров косвенных регистров. Каждый сегмент может быть назначен один из четырех кольцевых уровней , используемых для аппаратной компьютерной безопасности . Каждый дескриптор сегмента содержит также предельное поле сегмента, который определяет максимальное смещение , которое может быть использовано с сегментом. Поскольку Смещения 16 бит, сегменты по — прежнему ограничены до 64 Кбайт каждый в 80286 защищенном режиме.

Суть защищённого режима в следующем: программист и разрабатываемые им программы используют логическое адресное пространство, размер которого может составлять 1 гигабайт. Логический адрес преобразуется в физический адрес автоматически с помощью схемы управления памятью (MMU). При этом содержимое сегментного регистра не связано напрямую с физическим адресом, а является номером сегмента в соответствующей таблице. Благодаря защищённому режиму, в памяти может храниться только та часть программы, которая необходима в данный момент, а остальная часть может храниться во внешней памяти (например, на жёстком диске). В случае обращения к той части программы, которой нет в памяти в данный момент, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объёма имеющейся памяти, и пользователю кажется, что он работает с большей памятью, чем на самом деле.

Физический адрес формируется следующим образом. В сегментных регистрах хранится селектор, содержащий индекс дескриптора в таблице дескрипторов (13 бит), 1 бит, определяющий к какой таблице дескрипторов будет производиться обращение (к локальной или к глобальной) и 2 бита запрашиваемого уровня привилегий. Далее происходит обращение к соответствующей таблице дескрипторов и соответствующему дескриптору, который содержит начальный 24-битный адрес сегмента, размер сегмента и права доступа, после чего вычисляется необходимый физический адрес путём сложения адреса сегмента со смещением из 16-разрядного регистра.

Режим виртуального 8086

Существует также суб-режим работы в защищенном режиме 32-бит (так называемый 80386 защищенный режим) называется виртуальный режим 8086 , также известный как режим V86. Это в основном специальный гибрид рабочий режим, позволяющий программам реального режима и операционные системы для запуска в то время как под контролем супервизора операционной системы защищенном режиме. Это позволяет большую гибкость в управлении как программы для защищенного режима и программ реального режима одновременно. Этот режим предназначен исключительно для 32-разрядной версии защищенного режима; она не существует в 16-битной версии защищенного режима, или в длительном режиме.

Примечания

  1. Pryce, Dave (May 11, 1989). «80486 32-bit CPU breaks new ground in chip density and operating performance. (Intel Corp.) (product announcement) EDN» (Press release). 

Источники

  1. Intel Architecture Software Developer’s Manual, Volume 1: Basic Architecture
  2. AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions
  3. http://www.x86-guide.com/
  4. http://www.intel.com/content/www/us/en/history/historic-timeline.html

Десять имён для одной архитектуры / Блог компании Intel / Хабр

На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.

386-ые, Пентиумы и Коры

На самом деле названий для этого феномена, около сорока лет присутствующего на сцене процессорных технологий, было придумано несколько. Даже больше, чем хотелось бы. Они появились из разных источников и используются в разных контекстах, разными компаниями и разными сообществами. Конечно же, это вносит некоторую неразбериху.
Я постарался здесь собрать все известные мне названия. Не хочу пытаться доказать, что одна группа имён лучше другой, — меньше использовать их не станут.

8086 и семейство

В 1978 году был выпущен 16-битный процессор Intel, который имел «имя» 8086. За ним были 8088, 80186, 80286, 80386 (плюс вариации), 80486 (плюс вариации). Легко заметить, что (почти) все эти числовые имена оканчиваются на две цифры 86, что дало название всей серии x86. Оно укрепилось, его продолжили использовать и после того, как процессорам перестали давать цифровые имена, а появились Intel Pentium, Celeron, Xeon, Core, Atom и т.д. Совместимые продукты других вендоров, таких как IBM, AMD, Cyrix, VIA и т.д., также описываются как x86.
По моим наблюдениям, x86 — самый популярный вариант для имени этой архитектуры в Интернете, статьях и прочей литературе, особенно, когда не стоит задачи точно специфицировать разрядность архитектуры или речь явным образом идёт о 32-битном варианте.
Используются также вариации этого названия для 32-битных вариантов, позволяющие более точно указать минимальный набор поддерживаемых инструкций: i386, i486, i586, i686, — например, для различения вариантов сборок бинарных пакетов дистрибутивов Linux.

Пришествие 64 бит

Своими стараниями Intel расширила машинное слово в описанной ранее серии процессоров с 16 до 32 бит. Достигнуть этой архитектуре 64 бит помогла компания AMD, в 2003 году представившая процессор, поддерживающий новые инструкции и регистры и реализующий AMD64.
Для того, чтобы явно указать повышенную битность процессора/кода/пакета, имя x86 стало получать новый суффикс «64». Вот только через какой знак его приписывать не договорились, и иногда видишь x86_64, а порой x86-64. Например, вывод команды uname в Linux использует подчерк. Наконец, у пакетов можно увидеть и суффикс amd64 строчными буквами.
Intel же обозначала это расширение архитектуры сперва IA-32e, затем EM64T. В настоящее время можно встретить оба варианта в различных именах пакетов, документации и прочем. Тем не менее, есть и третье введённое Intel название…

Как это называет Intel

В официальной документации 32-битная архитектура имеет имя IA-32; её 64-битный вариант получил довольно странное с моей точки зрения имя Intel 64. Почему странное — оно создаёт потенциал для путаницы, как мы увидим ближе к концу статьи.

Компании-поставщики софта

Если кому-то показалось, что у этой несчастной архитектуры как-то мало имён и суффиксов, то сейчас я обозначу ещё одно известное мне. Происходит оно от поставщиков программного обеспечения, которым как-то надо различать варианты поставляемых пакетов для 32 и 64 бит. Тут их мнения разделились примерно вот таким образом (подробнее — в Википедии).

  • Дистибутивы Linux: x86 и x86_64, иногда x86 и amd64.
  • Apple: x86 и x86_64.
  • Microsoft и Oracle: x86 и x64.

Итак, ещё одно имя — x64.

Всё вместе

Подведу предварительный итог упомянутых в моей заметке обозначений вариантов архитектуры Intel.

  • Для 32-битного варианта: IA-32, x86, i386, i486, i586, i686.
  • Для 64-битного варианта: Intel 64, AMD64, amd64, EM64T, IA-32e, x86_64, x86-64, x64.

Итого четырнадцать. Если отбросить i386 — i686 как несущественные вариации, то десять.

Ложные имена

Как известно, за свою сорокалетнюю историю Intel выпускала (и выпускает сейчас) не только процессоры IA-32. Были и до сих пор присутствуют продукты других архитектур. Они тоже имеют свои имена, иногда несколько созвучные. При этом происходит путаница, от которой хотелось бы предостеречь.

Intel IA-64. Является полным синонимом термина «Intel Itanium». Используется для обозначения 64-битной архитектуры, несовместимой ни с IA-32, ни с 64-битным её вариантом ни по набору команд, ни по принципам работы. Да, существуют аппаратные и программные прослойки для запуска IA-32 приложений на Итаниуме, но это — тема для отдельного и интересного рассказа. Кстати, и для Itanium есть ещё одно обозначение — IPF, используемое изредка как суффикс.

К сожалению, линейки таких семейств процессоров Intel, как i432, i860, i960 или не дожили до наших дней, или же имеют крайне узкую нишу применения. А то глядишь — пришлось бы для каждого из них запоминать ещё по десятку имён.

Сообщение на почту от Вики victorypav8: что значит

Сообщение от вики: почта [email protected], кто это?

Привет! Меня зовут Егор Летов. Вы находитесь в моем блоге, где я рассказываю познавательные истории о финансовой грамотности. Сегодня разберем тему СПАМА и когда его нужно бояться.

Что значит этот спам

Недавно на мейл пришло несколько сообщений от некого персонажа Вики.

  1. Первое сообщение — приветик. как дела?) 
  2. Второе сообщение — привет еще раз. почему не отвечаешь?

Для рассылки задействованы <и>две почты:</и>

Если читаете эту заметку, значит и Вам пришли эти письма счастья. Наверняка, интересно узнать: кто это, что за рассылка и почему пришло именно Вам.

Почта [email protected]

Не пугайтесь, это стандартная спам рассылка. У подобных рассылок есть несколько целей:

  1. Проверка базы мейлом на ликвидность (на продвинутом языке — чекнуть).
  2. Определить самых заинтересованных.

Что значит определить самых заинтересованных? Если Вы ответите на письмо, то попадете в отдельных список СПАМА.

Люди, которые отвечают на такие письма — это лакомый кусочек для мошенников. Ведь если заинтересовались подобным, то и на другие мошеннические сообщения среагируете.

Таким образом, собираются базы самых ликвидных мейлов. А затем базы продают мошенникам всех мастей.

После чего на почту будут приходить мошеннические письма разной направленности.

Набирает обороты развод на трейдинге. Аферисты заманивают к левым брокерам и кидают на деньги.

Что будет, если ответить Вике

В лучшем случае ничего не будет. Сообщение просто отправится, а Ваша почта зафиксируется базе аферистов.

В худшем случае в ответном сообщении придет заманчивое рекламное предложение.

Никогда не отвечайте на спам, дороже выйдет. Особенно впечатлительным людям.

Почему пришло именно Вам

Никакой эзотерики тут нет. Просто Ваша почта давно находится в базе мошенников и вот очередь дошла проверить эту базу на ликвидность. Поэтому такой поток писем разным людям.

Я Вас расстрою, но все ваши мейлы уже давно в базах аферистов и ждут своего часа.

Почему ссылка ведет на сайт neighbor-worry.ru

Внимательные люди обратили внимание, что при запросе почты [email protected]  или [email protected] В поиске выпадает одноименный сайт.

Вполне возможно, что ребята таким образом захотели прорекламировать сайт. Хотя более вероятно, что просто рассылка идет с адреса данного ресурса

Заключение

Ничего серьезного этот спам не несет. Главное не отвечайте на письмо.

Друзья, спасибо за прочтение! Все больше людей начинает докапываться до сути, а не верить на слово мошенникам. Это не может не радовать!


С каждым днем в интернете все больше мошенников. Именно поэтому я создал рубрику, где подробно разбираю все схемы мошенничества в интернете. Обязательно заходите и будьте во всеоружии.

Рейтинг каналов YouTube — Топ-100

подписчики

просмотры

# Канал Подписчики Просмотры
1 ✿ Kids Diana Show 68.2 млн 43.9 млрд
2 Like Nastya 63.9 млн 46.3 млрд
3 Get Movies 33 млн 24.2 млрд
4 Маша и Медведь 31.4 млн 25.7 млрд
5 A4 25.4 млн 4.8 млрд
6 Mister Max 19.6 млн 10.9 млрд
7 Miss Katy 19 млн 10.3 млрд
8 Masha and The Bear 18.8 млн 8.8 млрд
9 SlivkiShow 17.7 млн 3.5 млрд
10 EeOneGuy 17.1 млн 3.6 млрд
11 Like Nastya Vlog 16.2 млн 6.1 млрд
12 Мирошка ТВ 15.5 млн 3.7 млрд
13 HiMan 15.2 млн 1.5 млрд
14 Marmok 14.5 млн 2.4 млрд
15 TheBrianMaps 14.5 млн 3.3 млрд
16 Познаватель 14 млн 6.1 млрд
17 AdMe.ru — Сайт о творчестве 13.5 млн 3 млрд
18 Super Polina 13.1 млн 4.1 млрд
19 Мастерская Настроения 12.9 млн 3 млрд
20 Трум Трум 12 млн 4.8 млрд
21 ★ Kids Roma Show 11.8 млн 3.2 млрд
22 MrGear 11.5 млн 3 млрд
23 Eva Bravo Play 11.3 млн 5.4 млрд
24 Ya — Alisa 11.2 млн 1.9 млрд
25 It’s Mamix 11.1 млн 1 млрд
26 Vania Mania Kids 10.9 млн 2.3 млрд
27 AdamThomasMoran 10.5 млн 2.3 млрд
28 Super Senya 10.5 млн 2.8 млрд
29 НТВ 10.3 млн 10.9 млрд
30 Давай поиграем в игрушки 10.1 млн 3.4 млрд
31 Маша та Ведмідь 10 млн 4.1 млрд
32 Wylsacom 9.7 млн 2.2 млрд
33 Поззи 9.5 млн 4.8 млрд
34 Kuplinov ► Play 9.5 млн 3.9 млрд
35 FROST 9 млн 3.3 млрд
36 Lady Diana 8.8 млн 4.3 млрд
37 Дима Масленников 8.7 млн 1.1 млрд
38 Аид [VyacheslavOO] 8.7 млн 3.5 млрд
39 БЕРИ И ДЕЛАЙ 8.6 млн 1.8 млрд
40 Mamix? 8.4 млн 174.8 млн
41 TheBrainDit 8.3 млн 2.9 млрд
42 MORGENSHTERN 8.3 млн 910.5 млн
43

Simple English Wikipedia, бесплатная энциклопедия

Эта статья не имеет источников . Вы можете помочь Википедии, найдя хорошие источники и добавив их. (июль 2010 г.)

x86 — это термин, используемый для описания набора команд ЦП, совместимого с Intel 8086 и его преемниками, включая Pentium и другие, произведенные Intel и другими компаниями. Это архитектура ЦП, используемая в большинстве настольных и портативных компьютеров.Многие рабочие станции и серверы 21 века также используют процессоры x86. В 1985 году первоначальная 16-разрядная архитектура x86 была расширена до 32-разрядной с появлением процессора i386. Он был снова расширен до 64 бит в 2003 году с появлением процессора AMD Opteron.

Intel приняла 64-битную вычислительную битовую архитектуру в 2004 году с более поздними версиями Prescott Pentium 4. Различные версии обратно совместимы, что означает, что 32-битный процессор x86 может работать в 32-битной или 16-битной среде. система, а 64-разрядный процессор x86 может работать с 16-, 32- или 64-разрядной операционной системой.Все процессоры x86 (за редким исключением некоторых процессоров Intel, используемых во встроенных системах) запускаются в 16-битном реальном режиме. Современная операционная система (а иногда и загрузчик) переключает ЦП в 32-битный защищенный режим или 64-битный длинный режим перед загрузкой ядра.

16 бит [изменить | изменить источник]

32-битный Intel [изменить | изменить источник]

  • i386 (80386)
  • i486 (80486)
  • Pentium
  • Pentium Pro
  • Pentium 2 (или II)
  • Pentium 3 (или III)
  • Старые версии Pentium 4
  • Pentium M
  • Ядро
  • Старый Xeon
  • Мобильные версии Intel Atom
  • Старый Celeron

64-битный Intel [изменение | изменить источник]

  • Более новые Prescott Pentium 4
  • Pentium D
  • Ядро 2
  • Core i3, i5, i7 и i9
  • Более новый Atom
  • Двухъядерный Pentium
  • Более новые Celeron
  • Более новый Xeon

32-битный AMD [изменение | изменить источник]

  • драм 386
  • драм 486
  • драм586
  • Am5x86-P75 (фактически 486 CPU)
  • К5
  • K6 / K6-II / K6-III
  • Athlon
  • Athlon XP
  • Duron
  • Sempron
  • Geode

64-бит AMD [изменить | изменить источник]

  • Оптерон
  • Athlon 64
  • Phenom
  • Phenom 2
  • FX
  • Sempron
  • ВСУ A4 / A6 / A8 / A10 / A12
  • APU Athlon
  • ВСУ Sempron
  • Ryzen

Другое [изменить | изменить источник]

  • Cyrix 386 / 486S / DLC, 5×86, 6×86, MII, MIII (32-разрядная версия)
  • IDT Winchip (32-разрядная версия)
  • Rise (32-бит)
  • NxGen (32-разрядная версия)
  • через C3 и C7 (32-бит)
  • Via Nano (64-разрядная версия)

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

x86 — WikiChip

Полупроводники и вычислительная техника