Десять имён для одной архитектуры
На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 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. Почему странное — оно создаёт потенциал для путаницы, как мы увидим ближе к концу статьи.
Компании-поставщики софта
- Дистибутивы Linux: x86 и x86_64, иногда x86 и amd64.
- Apple: x86 и x86_64.
- Microsoft и Oracle: x86 и x64.
Всё вместе
- Для 32-битного варианта: IA-32, x86, i386, i486, i586, i686.
- Для 64-битного варианта: Intel 64, AMD64, amd64, EM64T, IA-32e, x86_64, x86-64, x64.
Ложные имена
Как известно, за свою сорокалетнюю историю Intel выпускала (и выпускает сейчас) не только процессоры IA-32. Были и до сих пор присутствуют продукты других архитектур. Они тоже имеют свои имена, иногда несколько созвучные. При этом происходит путаница, от которой хотелось бы предостеречь.
Intel IA-64. Является полным синонимом термина «Intel Itanium». Используется для обозначения 64-битной архитектуры, несовместимой ни с IA-32, ни с 64-битным её вариантом ни по набору команд, ни по принципам работы. Да, существуют аппаратные и программные прослойки для запуска IA-32 приложений на Итаниуме, но это — тема для отдельного и интересного рассказа. Кстати, и для Itanium есть ещё одно обозначение — IPF, используемое изредка как суффикс.
К сожалению, линейки таких семейств процессоров Intel, как i432, i860, i960 или не дожили до наших дней, или же имеют крайне узкую нишу применения. А то глядишь — пришлось бы для каждого из них запоминать ещё по десятку имён.
Разница между Windows x86 и x32
Разрядность операционных систем — вечная головная боль для тех, кто предпочитает компьютером уверенно пользоваться, а не уверенно его разбирать. Версии Windows с обозначениями x64 или x32 внешне друг от друга не отличаются, коробочки у них одинаковые, а если сборки систем подправлены и выложены в общий доступ, то и в этом случае внешней разницы между ними нет. А когда появляется еще и обозначение x86, да еще когда о нем ничего не говорится в любимых справочниках — головная боль переходит куда-то ниже, особенно если времени на разбирательство нет. Что ставить — Windows x86 или x32 — на такую, этакую или растакую конфигурацию? Откровение гарантировано.
Определение
Windows x32 — обозначение 32-битной операционной системы от Microsoft независимо от ее версии или релиза.
Windows x86 — обозначение 32-битной операционной системы от Microsoft независимо от ее версии или релиза.
Сравнение
Разницы между операционными системами Windows x86 и x32 просто нет — обозначают они 32-битную систему. Допустимо использовать и тот, и другой вариант, однако официальные релизы от Microsoft демонстрируют нам все же цифры 32, видимо, желая придти к единому и избежать путаницы. Однако указание на разрядность на официальных дисках теряет букву x — мы видим чаще всего либо 32 bit, либо 64 bit.
Обозначение x86 заимствовано операционными системами из обозначений разрядности процессоров. Поначалу 32-битные процессоры от Интел так и назывались, однако с приходом 64 бит стала возникать путаница, ибо последние получили обозначение x86-64 — и это был оправданный шаг: прямое указание на совместимость с 32-битным софтом и операционными системами. Чуть позже именование сократили до x64, и в таком виде оно перешло к операционным системам, поддерживающим процессоры с такой архитектурой. Соответственно, в наследство 32-битным операционным системам досталось x86.
Все это вносит серьезный элемент путаницы. Если вопрос как-то вас коснулся, стоит запомнить, что разрядность операционных систем может быть только 32 или 64 бит, а x86 это абсолютно то же самое, что и x32. Это же касается и софта.
Почему 32 битная система называется x86
x86 (Intel 80×86) — аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA, Transmeta, WinChip и т. д.).
Такое имя закрепилось за семейством этих микропроцессоров, так как названия ранних моделей процессоров Intel заканчивались на число 86 — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). Более поздние модели стали называть именами собственными (например, Pentium), чтобы иметь возможность зарегистрировать их как торговую марку.
Другое название для архитектуры этого типа — IA (Intel Architecture) или же IA-32.
Содержание
История
Основные особенности архитектуры
x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением.
Сегментная организация памяти
Реальный режим (real mode)
Классический режим адресации, использованный в первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1MiB разбивается на 16-байтовые блоки, называемые параграфами. Всего параграфов в 1 MiB — 65536, что позволяет пронумеровать их 16-разрядными числами. Сегменты памяти имеют размер 65536 байт, и всегда начинаются на границе параграфа. Адрес ячейки памяти состоит их двух частей: номера параграфа, с которого начинается сегмент и смещения внутри сегмента и обычно записывается как SSSS:OOOO, где S и O — шестнадцатеричные цифры. SSSS называется сегментной компонентой адреса, а OOOO — смещением. Адрес ячейки, выдаваемый на шину, представляет собой сегментную компоненту умноженную на 16 плюс смещение. Сегментная компонента помещается в специальный регистр, называемый сегментным, а смещение в регистр IP(регистр инструкций). Микропроцессоры 8086/8088, 80186/80188 и 80286 имели четыре сегментных регистра, т.е могли работать одновременно с четырьмя сегментами памяти, имеющими определенное назначение. В 80386 добавили еще два, не имеющих специального назначения.
- Сегментные регистры и их назначение:
- CS — Сегмент кода. Используется для выборки команд программы;
- DS — Сегмент данных. Используется по умолчанию для доступа к данным;
- ES — Дополнительный сегмент. Является получателем данных в командах обработки строк;
- SS — Сегмент стека. Используется для размещения программного стека;
- FS — Дополнительный сегментный регистр. Специального назначения не имеет. Появился в процессоре 80386;
- GS — Аналогично предыдущему, но в новых процессорах с 64-битной архитектурой имеет особый статус: может использоваться для быстрого переключения контекстов.
Несмотря на то, что сегментные регистры имеют специальные назначения, архитектура допускает при обращении к данным заменить один сегмент на любой другой. Сегменты кода, стека и получателя строк всегда используют регистры CS, SS и ES и не могут быть изменены. Общий объем памяти, адресуемый в реальном режиме составляет 1048576 байт (0000:0000-F000:FFFF(00000-FFFFF)-логический адрес(физический адрес) в шестнадцатеричной системе счисления). Сегментный подход позволяет разделить всю память на 16 сегментов, начинающихся с адресов, кратных 64 Кбайт. Эти 16 сегментов называют страницами памяти. Обычно деление на страницы используется для совместного функционирования устройств, интерфейсы которых отображены на адресное пространство памяти; тогда каждое такое устройство использует одну страницу памяти, и адрес ячейки в адресном пространстве устройства будет совпадать со смещением в сегменте памяти компьютера. Так в компьютерах IBM PC страницы c 11 по 15 используются как «видеопамять»(адресное пространство видеоадаптера), а шестнадцатая страница(размещающаяся в адресах FFFF:0000 — FFFF:FFFF) получила название «области верхней памяти» (High Memory Area), которую впоследствии MS-DOS использовала для размещения своего ядра и буферов ввода-вывода, оставив больше «обычной» памяти прикладным программам. Таким образом реально доступная пользователю память составляет 640 Кбайт(первые 10 страниц).
Также в реальном режиме отсутствует защита памяти и разграничение прав доступа, поэтому он уже практически вышел из употребления. Является режимом по умолчанию для всех моделей процессоров семейства x86.
Защищённый режим (protected mode)
Более совершенный режим, первые появившийся в процессоре 80286 и в дальнейшем многократно улучшавшийся. Имеет большое количество подрежимов, по которым можно проследить эволюцию семейства ЦП. В этом режиме поддерживается защита памяти, контексты задач и средства для организации виртуальной памяти. Аналогично реальному режиму, тут также используется сегментированная модель памяти, однако уже организованная по другому принципу: деление на параграфы отсутствует, а расположение сегментов описывается специальными структурами (таблицами дескрипторов), расположенными в оперативной памяти. Помимо базового адреса сегмента дескрипторы содержат размер сегмента (точнее, максимально доступное смещение) и различные атрибуты сегментов, использующиеся для защиты памяти и определения прав доступа к сегменту для различных программных модулей. Существует два типа дескрипторных таблиц: глобальная и локальная. Глобальная таблица описывает сегменты операционной системы и разделяемых структур данных. Локальная таблица может быть определена для каждой конкретной задачи (процесса). Сегменты памяти также выбираются все теми же сегментными регистрами; однако вместо номера параграфа сегментный регистр содержит специальную структуру (селектор), содержащую индекс дескриптора в таблице. Сам же дескриптор загружается из памяти во внутренний программно недоступный регистр (кеш), привязанный к каждому сегментному регистру и автоматически загружаемый в момент его модификации.
Каждый программный модуль, выполняемый в защищенном режиме определяется его сегментом кода, опысываемым регистром CS, который и определяет его привилегии по доступу к данным и другим модулям. Существует 4 уровня привилегий 0,1,2 и 3, называемых кольцами защиты. Кольцо 0 наиболее привилегированное. Оно предназначено для модулей ядра операционной системы. Кольцо 3 — наименее привилегированное, и предназначено для пользовательских программ. Кольца 1 и 2 используются лишь некоторыми операционными системами. Сегменты данных также имеют атрибуты прав доступа, дающие доступ только коду, имеющему такие же или более высокие привилегии. Система колец позволяет гибко распределять доступ к коду и данным.
Процессор 80386, появившийся в 1985 году, в отличие от своих предшественников стал 32-битным. В нем появилась возможность адресовать до 4GiB памяти, что позволило создавать сегменты памяти размером во все адресное пространство. Поэтому новые операционные системы использовали вырожденную модель организации памяти, когда все сегменты начинаются с нулевого адреса. Такая модель получила название плоской (flat memory model), и адрес задается одним целым 32-разрядным числом (хотя по сути он является смещением внутри вырожденного сегмента), а сами сегменты используются исключительно для организации защиты по кольцам привилегий.
Режим виртуального 8086 (virtual 8086 mode, V86)
Является подрежимом защищенного, но использует адресную модель, аналогичную реальному режиму. Применяется для запуска старых программ 8086 в среде современных операционных систем. В отличие от реального режима, где все программы имеют доступ ко всей памяти (кольцо 0), в режиме V86 программа выполняется в кольце 3 (наименее привилегированном), а особые ситуации и прерывания обрабатываются обычными процедурами защищенного режима.
Смешанные режимы
Сегментное MMU современных процессоров, несмотря на кардинальные различия двух его основных режимов, в обоих работает схожим образом. Это позволяет организовывать нестандартные режимы не описанные в официальной документации, но иногда очень полезные при написании программ. Поскольку известно, что внутренние кэши дескрипторов используются во всех режимах, и именно они используются для адресации памяти, при понимании логики их работы возможна загрузка в них нестандартных значений для текущего режима. В частности, можно создать дескрипторную таблицу в реальном режиме, установить флаг PE, загрузить сегментные регистры уже в защищенном режиме, а потом тут же сбросить флаг PE. До следующей перезагрузки сегментного регистра его кеш дескриптора будет содержать значение, соответствующее защищенному режиму, и если он был загружен должным образом, появится возможность адресации до 4GiB памяти. Подобные нестандартные режимы получили общее название Unreal mode и активно используются BIOS’ами персональных компьютеров. Следует отметить, что в процессоре 80286 также была возможность загрузки нестандартных значений дескрипторного кеша при помощи недокументированной команды LOADALL; что было особенно актуально, поскольку процессор 80286 не позволял сбрасывать флаг PE (из защищенного режима выходили с помощью сброса процессора, что сказывалось на производительности).
Страничная организация памяти
В процессорах начиная с 80386 появилось мощное MMU, позволяющее организовать отображение страниц памяти, что было еще одним поводом перехода на плоскую модель с приходом 32-разрядных вычислений. Используя трансляцию страниц операционная система может создать собственное линейное адресное пространство для каждого процесса; также каждая страница имеет атрибуты прав доступа. Только в отличие от сегментов, таких уровней существует только 2: пользователь и супервизор. Но для большинства современных операционных систем этого вполне достаточно. Следует отметить, что страничное MMU доступно только в защищенном режиме.
Расширения
В более поздних 32-разрядных процессорах (начиная с Pentium Pro) появилось PAE (Physical Address Extension) — расширение адресов физической памяти до 36 бит (возможность адресации 64 Гбайт ОЗУ). Это изменение не затронуло разрядности задач — они остались 32-битными.
Дополнительный «мультимедийный» (англ. Multi-Media eXtensions ) набор инструкций, выполняющих по несколько характерных для процессов кодирования/декодирования потоковых аудио/видеоданных действий за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX. Обеспечивает только целочисленные вычисления.
SSE (англ. Streaming SIMD Extensions — потоковое SIMD-расширение) — это SIMD (англ. Single Instruction, Multiple Data — «одна инструкция — множество данных») набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium III. Поддерживает вычисления с плавающей точкой. SSE состоит из восьми 128-битных регистров (с xmm0 до xmm7). Каждый регистр определяет 4 последовательных значения с плавающей точкой одинарной точности. SSE включает в себя инструкции, которые производят операции со скалярными и упакованными типами данных.
Улучшенное расширение SSE. Появилось в процессорах Pentium 4. Производит потоковые вычисления с вещественными числами двойной точности (2 числа по 64 бита в одном регистре SSE). Кроме того, добавлены инструкции, аналогичные расширению MMX, работающие с регистрами SSE (16 байт, 8 слов, 4 двойных слова или 2 учетверённых слова в одном регистре). SSE2 включает в себя ряд команд управления кэшем, предназначенных для минимизации загрязнения кэша при обработке неопределенных потоков информации.
Продолжение SSE и SSE2, появилось в процессорах Prescott. Набор SSE3 содержит 13 инструкций: FISTTP (x87), MOVSLDUP (SSE), MOVSHDUP (SSE), MOVDDUP (SSE2), LDDQU (SSE/SSE2), ADDSUBPD (SSE), ADDSUBPD (SSE2), HADDPS (SSE), HSUBPS (SSE), HADDPD (SSE2), HSUBPD (SSE2), MONITOR (нет аналога в SSE3 для AMD), MWAIT (нет аналога в SSE3 для AMD). Наиболее заметное изменение — возможность горизонтальной работы с регистрами. Если говорить более конкретно, добавлены команды сложения и вычитания нескольких значений, хранящихся в одном регистре. Эти команды упростили ряд DSP и 3D-операций. Существует также новая команда для преобразования значений с плавающей точкой в целые без необходимости вносить изменения в глобальном режиме округления.
SSSE3
Дополнение к SSE3 для работы с упакованными целыми. Новыми в SSSE3, по сравнению с SSE3, являются 16 уникальных команд, работающих с упакованными целыми. Каждая из них может работать как с 64-х битными (MMX), так и с 128-ми битными (XMM) регистрами, поэтому Intel в своих материалах ссылается на 32 новые команды. Категории новых инструкций: работа со знаком, сдвиги, перемешивание байт, умножения, горизонтальные сложения и вычитания целых.
Новый набор команд Intel, впервые реализованный в процессорах серии Penryn.
SSE4 состоит из 54 инструкций, 47 из них относят к SSE4.1 (они есть только в процессорах Penryn). Ожидается, что полный набор команд (SSE4.1 и SSE4.2, то есть 47 + оставшиеся 7 команд) будет доступен в процессорах Nehalem. Ни одна из SSE4 инструкций не работает с 64-битными mmx регистрами, только со 128-битными xmm0-15. Может оказаться, что не будет выпущено 32-битных процессоров с SSE4, только 64-битные — с EM64T. Добавлены инструкции, ускоряющие компенсацию движения в видеокодеках, быстрое чтение из USWC памяти, множество инструкций для упрощения векторизации программ компиляторами. Кроме того, в SSE4.2 добавлены инструкции обработки строк 8/16 битных символов, вычисления CRC32, popcnt. Впервые в SSE4 регистр xmm0 стал использоваться как неявный аргумент для некоторых инструкций. Новые инструкции SSE4.1 включают ускорение видео, работу с векторными примитивами, вставки/извлечения, скалярное умножение векторов, смешивания, проверки бит, округления, чтение WC-памяти. Новые инструкции SSE4.2 включают обработку строк, подсчёт CRC32, подсчет популяции единичных бит, работу с векторными примитивами.
Новое расширение x86 инструкций от AMD, названное SSE5. Этот абсолютно новый набор SSE инструкций, созданный специалистами AMD, станет поддерживаться перспективными CPU компании, начиная с 2009 года. SSE5 привносят в классическую x86 архитектуру некоторые возможности, доступные ранее исключительно в RISC процессорах. Набор инструкций SSE5 определяет 47 новых базисных команд, призванных ускорить однопоточные вычисления благодаря увеличению «плотности» обрабатываемых данных. Среди новых инструкций выделяется две основные группы. В первую входят инструкции, аккумулирующие результаты умножения. Инструкции такого типа могут быть полезны для организации итерационных вычислительных процессов при рендеринге изображений или при создании трёхмерных аудио эффектов. Вторая группа новых команд включает инструкции, оперирующие с двумя регистрами и сохраняющие результат в третьем. Это нововведение может позволить разработчикам обойтись без лишних пересылок данных между регистрами в вычислительных алгоритмах. Также, SSE5 содержит и несколько новых инструкций для сравнения векторов, для перестановки и перемещения данных, а также для изменения точности и округления. Основными применениями для SSE5 AMD видит расчётные задачи, обработку мультимедиа контента и средства шифрования. Ожидается, что в счётных приложениях, использующих матричные операции, использование SSE5 может дать 30-процентрый прирост производительности. Мультимедийные задачи, требующие выполнения дискретного косинусного преобразования, могут получить 20-процентное ускорение. А алгоритмы шифрования благодаря SSE5 способны получить пятикратный выигрыш в скорости обработки данных.
Следующий набор расширений от Intel.
3DNow!
Набор инструкций для потоковой обработки вещественных чисел одинарной точности. Поддерживается процессорами AMD начиная с K6-2. Процессорами Intel не поддерживается.
Инструкции 3DNow! используют регистры MMX в качестве операндов (в один регистр помещается два числа одинарной точности), поэтому, в отличие от SSE, при переключении задач не требуется отдельно сохранять контекст 3DNow!.
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 соответственно. В то же время, поставщики программ для операционных систем GNU/Linux, BSD используют метки «x86-64» или «amd64», Mac OS X использует метку «x86_64», если необходимо подчеркнуть, что данное ПО использует 64-разрядные инструкции.
Виртуализация
Процессоры
Процессоры Intel
16-разрядный процессор i8086, был создан в июне 1978 года. Сначала работал на частотах 4,77 МГц, затем на 8 и 10 МГц. Изготавливался по технологии 3 мкм и имел 29 000 транзисторов.
Чуть позже, в 1979 году, был разработан i8088, который работал на тех же частотах, что и i8086, но использовал 8-разрядную шину данных (внутренняя шина процессора осталась 16-разрядной) для обеспечения большей совместимости с имевшейся в то время в ходу периферией. Благодаря более низкой цене, широко использовался в ранних системах IBM PC вместо 8086.
В 1982 году были выпущены 80186 и 80188, которые первоначально не получили широкого распространения из-за того, что IBM не стала использовать их в своих персональных компьютерах. Впрочем, некоторые производители «клонов» сделали это, выпустив ускоренные варианты IBM PC/XT. В то же время, эти процессоры оказались чрезвычайно удачными для использования во встроенных системах и в различных модификациях выпускаются до настоящего времени [1] . В эти процессоры были первоначально добавлено несколько новых команд, повышена тактовая частота. Впоследствии появились модификации, содержащие дополнительные аппаратные средства, такие, как интегрированные контроллеры последовательного порта.
Объявлен в 1982 году. Работал на частотах 6, а затем 8, 10, 12, 16, 20 МГц. Производился по техпроцессу 1,5 мкм и содержал около 134 тысяч транзисторов. С его появлением появилось такое понятие, как защищённый режим (protected mode) и виртуальная память. Производительность процессора по сравнению с 8086 увеличилась в несколько раз (0,99-2,6 млн операций в секунду).
Первый 32-разрядный процессор, работал на частотах 16-40 МГц. Появился в 1985 году. Знаменовал собой революцию в мире процессоров x86. Основные принципы, заложенные в этом чипе, без кардинальных изменений дожили и до наших дней (за всё это время изменения касались, в основном, повышения производительности, расширения набора команд, увеличения разрядности). Первые 386 процессоры содержали серьезную ошибку, приводящую к невозможности функционирования в защищенном режиме. Исправленная версия называлась 386DX. Так же выпускались более дешевые процессоры i386SX с урезанной до 16 бит внешней шиной данных и 24 бит шиной адреса. Для встроенного применения выпускался процессор i386EX. 386 — первый процессор, использовавшийся совместно с кеш-памятью (внешней).
Процессор i486 (1989 год) является усовершенствованным 386 процессором и первым скалярным процессором Intel (ряд операций выполнялись за один такт). Имел встроенный FPU (Floating Point Unit — блок вычислений с плавающей запятой) и впервые — встроенную кэш-память (8 Кбайт). 80486 — первый процессор Intel, для которого была применена технология умножения частоты шины FSB (в моделях DX2-50, DX2-66, DX4-75 и DX4-100).
Для ноутбуков и встраиваемых систем в начале 1990-х была выпущена «облегченная» модификация i486SX без встроенного блока FPU.
Существовала также модификация для встроенных применений — i486GX. Она представляла собой низковольтный 486SX с шиной данных, урезанной до 16-ти бит. Корпусировка i486GX — TQFP-176, частоты — от 16 МГц при Vcore = 2,0 В до 33 МГц при 2,7 В.
Модификация 486, набор из двух микросхем. Основная устанавливалась в разьем 386DX и представляла собой 486DX без кэша L1, но с сопроцессором. Дополнительная микросхема была заглушкой для гнезда 387DX и служила для обработки сигнала FERR.
Intel486 OverDrive (P23T) — микропроцессор, предназначенный для модернизации систем на базе микропроцессоры Intel 486.
Pentium (1993 год. Intel отказалась от ix86 названий, потому что не могла запатентовать числа.) — первый суперскалярный и суперконвейерный процессор Intel. Суперскалярность — термин, означающий, что процессор позволяет выполнять более одной операции за один такт. Суперконвейерность означает, что процессор имеет несколько вычислительных конвейеров. У Pentium их два, что позволяет ему при одинаковых частотах в идеале быть вдвое производительней 486, выполняя сразу 2 инструкции за такт. Кроме того, особенностью процессора Pentium являлся полностью переработанный и очень мощный на то время блок FPU, производительность которого оставалась недостижимой для конкурентов вплоть до конца 1990-х годов.
Pentium OverDrive — микропроцессор, предназначенный для модернизации систем на базе микропроцессоров Intel 486. Устанавливался в Socket 3, имел удвоенный объём кэша L1 с организацией Write-Thru, встроенный стабилизатор питания, умножение ×2.5 и частоты 63 и 83 МГц.
Pentium Pro (1995 год) — первый процессор шестого поколения. Идеи и технологии, заложенные в данный чип, определили архитектуры всех современных x86-процессоров: блоки предсказания ветвлений, переименование регистров, RISC-ядро, интегрированная в один корпус с ядром кэш-память второго уровня. Однако технологическая сложность ядра данного процессора привела к сравнительно невысокому выходу годных чипов при технологиях того времени, что сказалось на высокой цене Pentium Pro. При этом процессор обладал достаточно низкой производительностью при исполнении 16-разрядного кода. Поэтому данный процессор применялся только в High-End системах и серверах.
Pentium MMX (январь 1997 года) — процессор пятого поколения, и, по сути, просто модификация ядра Pentium. Был добавлен новый блок целочисленных матричных вычислений MMX и увеличен до 32 Кбайт объём кэш-памяти первого уровня.
Pentium II (май 1997 года) — модификация ядра Pentium Pro с целью сделать его более доступным. Интегрированный кэш и тег кэша были вынесены на отдельные микросхемы с пониженной в два раза частотой. Это упростило и удешевило процессор, хотя и сделало его более медленным, чем Pentium Pro.
Первые процессоры Pentium II выпускались с кэш-памятью второго уровня емкостью 256 Кбайт , затем её объём был увеличен до 512 Кбайт.
Новая конструкция процессора потребовала размещения элементов на печатной плате, что, в свою очередь, привело к изменению конструктива процессора. Данные ЦПУ выпускались в виде картриджей SECC, устанавливающихся в специальный разъём на плате (Slot 1).
Кроме того, в ядро Pentium II был добавлен блок MMX.
Celeron — упрощённая модификация процессоров Pentium II / III / IV / Core / Core 2 для построения недорогих компьютеров. Первый Celeron (ядро Covington, частоты 266/300 МГц) представлял собой Pentium II, лишенный кеша второго уровня и пластикового картриджа. Печатная плата также была упрощена. Такая упаковка получила название SEPP (Sinlge Edge Processor Package). В результате эти процессоры демонстрировали удручающе низкую производительность, хотя стоили очень недорого и легко прибавляли до 50 % частоты при разгоне. Все последующие варианты этого процессора имели интегрированный полночастотный кеш второго уровня. Основные отличия процессоров Celeron в объёме этого кэша и частоте шины, а также часто в увеличенной латентности доступа к кэш-памяти по отношению к оригинальному процессору.
Любопытный факт: вторая модификация Celeron (ядро Mendochino, частоты 300..533 МГц) на многих задачах демонстрировала более высокую производительность, чем равночастотный Pentium II. Это объяснялось тем, что маленький (128 Кбайт) кеш Mendochino располагался на одном кристалле с ядром и работал на частоте ядра, в то время как большой (512 Кбайт) кеш Pentium II находился достаточно далеко от ядра и работал на половинной частоте. Больше таких промашек фирма Intel не допускала, и все последующие Celeron гарантированно медленнее полноценных процессоров того же поколения.
Pentium III, изготовленный изначально по технологическому процессу 0,18 мкм, отличается от P2 главным образом добавлением инструкций SSE. Поздние процессоры этой серии изготавливались по технологическому процессу 0,13 мкм, получили интегрированную в кристалл ядра полночастотную кэш-память (сначала 256 Кбайт, затем — 512 Кбайт) и послужили прообразом процессоров архитектуры Pentium M. Выпускались в конструктивах как SECC/SECC2 (Slot 1), так и FCPGA-370 (PGA-370).
Принципиально новый процессор с гиперконвейеризацией (hyperpipelining) — с конвейером, состоящим из 20 ступеней. Согласно заявлениям Intel, процессоры, основанные на данной технологии, позволяют добиться увеличения частоты примерно на 40 процентов относительно семейства P6 при одинаковом технологическом процессе (при «правильной» загрузке процессора). На практике же, первые модели работали даже медленнее, чем Pentium III. Позже дополнены поддержкой 64-битного кода.
После провала последнего поколения процессоров Pentium 4 на ядре Tejas, было решено обратиться к другой ветви продукции. В основе новых процессоров лежит переработанное ядро Pentium M. Таким образом, ядро P6, использованное ещё в процессорах Pentium Pro, продолжило свою эволюцию, нарастив частоту со 150 МГц до 3,2 ГГц и обзаведясь новой системной шиной, поддержкой многоядерности, мультимедийных инструкций.
Процессоры Core — это решение для ноутбуков, одно- и двухъядерное, исполняющее 32-битный код.
Процессоры Core 2 выпускаются как в настольном, так и мобильном исполнении, включают ряд микроархитектурных улучшений и способны исполнять 64-битный код. Количество ядер варьируется от одного до четырёх.
Core i3/Core i5/Core i7/Core i9
Дальнейшее развитие идей, заложенных в процессорах Core 2. Сохранив основную конструкцию процессорных ядер, появившийся первым Core i7 получил модульную структуру, позволяющую легко варьировать их количество, встроенный контроллер памяти (трёхканальной DDR3 в высшем сегменте и двухканальной DDR3 в массовом) и новую шину, соединяющую процессор с чипсетом. Микроархитектурные улучшения позволяют Core i7 показывать повышенную производительность в сравнении с Core 2 на равных частотах. Большое внимание было уделено вопросу энергоэффективности нового процессора.
Позже появились более дешевые Core i5/i7 с двухканальным контроллером памяти и четырьмя ядрами, затем — Core i3/i5 с двумя ядрами и встроенным видеоядром. Ожидается и анонс более мощных процессоров с трехканальным контроллером памяти и шестью ядрами — Core i9.
Недорогие сверхэкономичные одно- и двухядерные процессоры, предназначенные для использования в так называемых сетевых компьютерах — нетбуках и неттопах (компьютерах, в которых вычислительная мощность пожертвована в пользу экономичности, бесшумности и малогабаритности). В основе — модифицированное ядро от первых Pentium, которое адаптировали под новый техпроцесс, добавили возможность исполнения 64-битного кода и мультимедийных инструкций, а также кэш-память второго уровня и поддержку многопоточного исполнения (SMT, аналог Hyper Threading). Для упрощения конструкции было решено отказаться от внеочередного исполнения команд, что не лучшим образом сказалось на производительности.
Семейство процессоров, ориентированных на серверы и многопоточные вычисления.
Первый представитель этого семейства базировался на архитектуре Pentium II, представлял собой картдридж с печатной платой, на которой монтировались ядро, кэш-память второго уровня и тег кэша. Монтировался в гнездо Slot 2.
Современные Xeon-ы базируются на архитектуре Core2/Core i7.
Процессоры AMD
Клоны соответствующих процессоров от Intel. Обычно выпускались с максимальной частотой на ступеньку выше, чем у оригинала. Так, Am386DX выпускался с максимальной частотой 40 МГц, тогда как i386DX — 33 МГц. Вплоть до 486DX2-66 других различий между процессорами не было. Программно отличить эти процессоры было невозможно.
Клон i486. В то время, как Intel для i486 остановился на частоте 100 МГц, AMD выпускала процессоры с частотами до 133 МГц. Также они отличались увеличенным объёмом кэша первого уровня (16 Кбайт) и множителем (×4).
Аналоги Pentium. Первые процессоры, разработанные фирмой AMD самостоятельно. Несмотря на превосходство в целочисленных операциях над аналогами от Intel (в ядре данного процессора применялся ряд технологий шестого поколения), производительность блока вычислений с плавающей запятой значительно уступала по производительности процессорам Pentium с аналогичной тактовой частотой. Кроме того, наблюдалась плохая совместимость с ПО некоторых производителей. Недостатки K5 были чрезвычайно преувеличены в различных сетевых и других неформальных обсуждениях и на долгое время способствовали (в целом — несправедливому) ухудшению репутации продукции AMD у пользователей. [2]
Выпущен в апреле 1997 года. Принципиально новый процессор AMD, основанный на ядре, приобретённом у NexGen. Данный процессор имел конструктив пятого поколения, однако относился к шестому поколению и позиционировался как конкурент Pentium II. Включал в себя блок MMX и несколько переработанный блок FPU. Однако данные блоки всё равно работали на 15-20 % медленнее, чем у аналогичных по частоте процессоров Intel. Процессор имел 64 Кбайт кэша первого уровня.
В целом сравнимая с Pentum II производительность, совместимость со старыми материнскими платами и более ранний старт (AMD представила К6 на месяц раньше, чем Intel представила P-II) сделали его достаточно популярным, однако проблемы с производством у AMD значительно испортили репутацию данного процессора.
Дальнейшее развитие ядра К6. В этих процессорах была добавлена поддержка специализированного набора команд 3DNow!. Реальная производительность, однако, оказалась существенно ниже, чем у аналогичных по частоте Pentium II (это было вызвано тем, что прирост производительности с ростом частоты у P-II был выше благодаря внутреннему кэшу) и конкурировать К6-2 смогли лишь с Celeron. Процессор имел 64 Кбайт кэша первого уровня.
Более успешная в технологическом плане, чем K6-2, попытка создания аналога Pentium III. Однако маркетингового успеха не имела. Отличается наличием 64 Кбайт кэша первого уровня и 256 Кбайт кэша второго уровня в ядре, что позволяло ему на равной тактовой тактовой частоте обгонять по производительности Intel Celeron и не очень существенно уступать ранним Pentium III.
Аналог K6-III с технологией энергосбережения PowerNow!. Изначально предназначался для ноутбуков, но устанавливался и в настольные системы.
Аналог К6-III+ с урезанным до 128 Кбайт кэшем второго уровня.
Очень успешный процессор, благодаря которому фирма AMD сумела восстановить почти утраченные позиции на рынке микропроцессоров. Кэш первого уровня — 128 Кбайт. Первоначально процессор выпускался в картридже с размещением кэша второго уровня (512 Кбайт) на плате и устанавливался в разъём Slot A, который механически, но не электрически совместим с интеловским Slot 1. Затем устанавливался в разъём Socket A и имел 256 Кбайт кэша второго уровня в ядре. По быстродействию — примерный аналог Pentium III.
Конкурент Celeron поколений Pentium III / Pentium 4. Отличается от Athlon объёмом кэша второго уровня (всего 64 Кбайт), зато интегрированным в кристалл и работавшем на частоте ядра. Производительность заметно выше, чем у аналогичных Celeron, и при выполнении многих задач соответствует Pentium III.
Продолжение развития архитектуры Athlon. По быстродействию — аналог Pentium 4. По сравнению с обычным Athlon, добавлена поддержка инструкций SSE.
Более дешёвый (за счёт уменьшенного кэша второго уровня) вариант процессоров Athlon XP и Athlon 64.
Первые модели Sempron являлись перемаркированными чипами Athlon XP на ядре Thoroughbred и Thorton, имевшими 256 Кбайт кэша второго уровня, и работавшими на 166 (333 DDR) шине. Позднее под маркой Sempron выпускались (и выпускаются) урезанные версии Athlon 64/Athlon II, позиционируемые как конкуренты Intel Celeron. Все Sempron имеют урезанный кеш 2-го уровня; младие модели Socket 754 имели заблокированные Cool&quiet и x86-64; Socket 939 модели имели заблокированный двухканальный режим работы памяти.
Первый процессор, поддерживающий архитектуру x86-64.
Первый несерверный процессор, поддерживающий архитектуру x86-64.
Продолжение архитектуры Athlon 64, имеет 2 вычислительных ядра.
Имел репутацию «самого быстрого процессора для игрушек». Является, по сути, серверным процессором Opteron 1xx на десктопных сокетах без поддержки registered-memory. Выпускается малыми партиями. Стоит значительно дороже своих «массовых» собратьев.
Дальнейшее развитие архитектуры Athlon 64, выпускается в вариантах с двумя (Athlon 64 X2 Kuma), тремя (Phenom X3 Toliman) и четырьмя (Phenom X4 Agena) ядрами.
Модификация Phenom. Небольшие архитектурные изменения, переход на более тонкий технологический процесс и добавление кэша L3 объёмом от 4 до 6 Мбайт позволили нарастить производительность этих процессоров на 10-20 % по сравнению с предшественниками. Выпускаются в конструктивах Socket AM2+ и Socket AM3. При этом первые могут работать только с памятью DDR2, а вторые — как с DDR2, так и с DDR3.
Phenom II c урезанным кешем и количеством ядер.
Мобильная версия Athlon 64 с пониженным энергопотреблением и расширенными средствами управления питанием. Выпускается в вариантах с одним и двумя ядрами.
Интегрированное решение (SoC), включающее в себя функции северного моста чипсетов. Модели с наименованием SCxxxx объединяют в одном корпусе ядро процессора, контроллер памяти, графический адаптер и устройство ввода-вывода. Процессоры предназначены для построения тонких клиентов, пользовательских приставок и встроенных контроллеров. Вся серия обладает небольшой потребляемой мощностью и стоимостью.
Первые модели выпускались фирмой Cyrix под названием MediaGX и имели ядро Cyrix 6×86. После поглощения Cyrix компанией National Semiconductor и перепродажи торговой марки компании VIA, процессор был переименован в Geode, разработка процессора была продолжена инженерами National Semiconductor. Впоследствии чип и все наработки были проданы компании AMD. Сейчас Geode выпускается фирмой AMD в трех вариантах. Geode LX и Geode GX основаны на старом ядре Cyrix 6×86. Geode NX имеет ядро Athlon XP. Развитие этого семейства прекратилось ещё в 2006 году, однако чипы будут продолжать выпускаться до тех пор, пока на них есть спрос.
Процессоры Harris Semiconductor
Harris Semiconductor производила клоны i8086/88 [3] — Harris HS80C86/883 и HS80C88/883.
Harris Semiconductor выпускала самые быстрые по частоте клоны процессора 80286 — максимальная частота HS80C286 составляла 25 МГц (вся линейка — 12, 16, 20 и 25 МГц). Ядро процессоров было точной копией i80286, как и у большинства других клонов.
Процессоры Cyrix
Процессоры, предназначенные для установки в гнездо 386SX. Обладали кэш-памятью первого уровня размером 1 Кбайт и набором команд 486 процессоров. Встроенного сопроцессора не имели. В дальнейшем также выпускались модели с удвоением частоты (Cx486SRx²). Предназначались в основном для дешевого апгрейда компьютеров с процессором 386SX.
Процессоры, предназначенные для установки в гнездо 386DX. Обладали кэш-памятью первого уровня размером 4 Кбайт и набором команд 486 процессоров. Встроенного сопроцессора не имели. В дальнейшем также выпускались модели с удвоением частоты (Cx486DRx²). Предназначались в основном для дешевого апгрейда компьютеров с процессором 386DX.
Аналог i486SX собственной разработки Cyrix. Слегка уступал по производительности аналогам от Intel и Amd.
Аналог i486DX собственной разработки Cyrix. Слегка уступал по целочисленной производительности аналогам от Intel и Amd, однако превосходил их в вычислениях с плавающей точкой (сказалось то, что разработанные Cyrix математические сопроцессоры для 386 были одними из лучших).
«Побочный продукт» разработки M1 — «M1 scalar», упрощенная его версия для гнезда 486. Был выпущен, чтобы как-то противостоять Intel в борьбе с Pentium. В нём использовались особенности архитектуры, присущие пятому поколению процессоров — конвейеризованный АЛУ, блок предсказания переходов, декодирование и исполнение инструкций за один такт. Общий для инструкций и данных кэш с обратной записью имел объём 16 Кбайт. Процессор оказался достаточно удачным, но особого распространения получить не успел. Выпускался с частотами 100 и 120 МГц.
Клоны процессоров Cyrix выпускались также IBM, Texas Instruments, SGS Thompson.
На базе ядер Cyrix производятся или производились процессоры VIA, AMD, National Semiconductor.
Процессоры IDT
Процессор разработан Centaur Technology — подразделением IDT. Являясь процессором под Socket 7, по архитектуре он был гораздо ближе к процессорам 80486. Один 4-стадийный целочисленный конвейер, операции сопроцессора не конвейеризовались. Также отсутствовали внеочередное исполнение, предсказание ветвлений и переименование регистров. При этом процессор имел блок исполнения инструкций MMX, хотя и вдвое более медленный, чем у Pentium MMX. За счёт этого ядро процессора было очень простым, небольшим по количеству транзисторов, габаритам и энергопотреблению. Процессоры выпускались с частотами 180, 200, 225 и 240 МГц и не требовали двойного питания.
Улучшенный вариант предыдущего процессора. Сопроцессор стал конвейеризуемым, удвоена производительность блока MMX, появилась поддержка инструкций 3DNow!. Частоты — 200—250 МГц.
Всё то же, но по более тонкой технологии. Как следствие — потребность в двойном питании (2,8 / 3,3 В).
Планировался как улучшенная версия предыдущей модели. Основное улучшение — удвоенный размер кэш-памяти. Однако выпущен он так и не был. Centaur Technology в полном составе была продана VIA и на базе этой разработки был сделан VIA C3 с ядром Samuel.
Процессоры OKI
Клон 8086. Выпускался в корпусах типа DIP и QFP.
Клон 8088. Выпускался в корпусах типа DIP и QFP.
Процессоры Rise Technology
Процессор для Socket 7 с поддержкой инструкций MMX. Отличался низким энергопотреблением и невысокой производительностью. Выпускался с частотами 150, 166, 190, 200, 250 МГц. Особого распространения не получил и ядро mP6 было продано компании SiS.
Процессоры VIA
Первый процессор, выпущенный под маркой VIA. Выпускался с разными ядрами от разных команд разработчиков. Разъём Socket 370.
Первый выпуск — на базе ядра Joshua, доставшегося VIA вместе с командой разработчиков Cyrix.
Второй выпуск — с ядром Samuel, разработанным на базе так и не вышедшего IDT WinChip-3. Отличался отсутствием кэш-памяти второго уровня и, соответственно, крайне низким уровнем производительности.
Третий выпуск — с ядром Samuel-2, улучшенной версией предыдущего ядра, оснащённой кэш-памятью второго уровня. Процессор выпускался по более тонкой технологии и имел сниженное энергопотребление. После выпуска этого ядра бренд «VIA Cyrix III» окончательно уступил место «VIA С3».
Четвёртый выпуск — с ядром Ezra. Был также вариант Ezra-T, адаптированный для работы с шиной, предназначенной для процессоров Intel с ядром Tualatin. Дальнейшее развитие в направлении энергосбережения.
Пятый выпуск — с ядром Nehemiah (C5P). Это ядро наконец получило полноскоростной сопроцессор, поддержку инструкций SSE, а также поддержку шифрования AES и аппаратный генератор случайных чисел. При этом процессор потерял поддержку инструкций 3DNow!.
Дальнейшее развитие VIA C3. Ядро Esther (C5J), корпусировка — nanoBGA2 (21×21 мм), впаивается прямо на плату. Добавлены аппаратная поддержка Secure Hash SHA-1 и SHA-256 и шифрования RSA, поддержка NX-bit, поддерживаются MMX, SSE, SSE2 и SSE3. Дальнейшее снижение энергопотребления при рабочих частотах до 2 ГГц. Собственная системная шина (VIA V4 800 МГц) для связи с чипсетом. Выпускается также в мобильном (VIA C7-M) и десктопном (VIA C7-D) исполнении.
Интегрированное решение, включающее в себя процессор VIA C3 c ядром Nehemiah C5P и северный мост чипсета со встроенной UMA-графикой. Отличается крайне низким энергопотреблением (до 7 Вт при частоте 1 ГГц). Выпускается с частотами от 300 МГц (VIA Eden ESP 3000) до 1 ГГц (VIA Eden ESP 10000). Совместимые южные мосты — VT8235M, VT8237R+ (с поддержкой SATA), VT8251 (2×1 PCI-E) и VIA 686B.
Дальнейшее развитие идей VIA Eden ESP. Выпускается в двух вариантах — VIA Mark и VIA Luke, отличающихся интегрированным видеоядром, поддерживаемым типом памяти и рабочими частотами. Для VIA Mark — это S3 Graphics ProSavage4 / SDR PC133 / 533/800 МГц, а для VIA Luke — VIA UniChrome Pro / DDR PC3200 / 533/800/1000 МГц. Совместимые южные мосты: VT8235M, VT8237R+ (с поддержкой SATA), VT8251 (2×1 PCI-E) и VIA 686B.
Первый x86-64 процессор VIA на ядре Isaiah. Контактно-совместим с VIA C7. Выпускается с частотами от 1 ГГц до 1,8 ГГц. Энергопотребление модели 1,6 ГГц — до 17 Вт при полной загрузке. Среди нововведений — внеочередное исполнение инструкций. Позиционируется как конкурент Intel Atom.
Процессоры NEC
Выпускала серию процессоров, часть из которых (ядро V20/V30) была программно совместима как с 80186, так и с 8080. Переключение между режимами работы осуществлялось при помощи трёх дополнительных инструкций. Аппаратно они выглядели как сильно ускоренная версия 8088 или 8086.
Процессоры на основе ядра V33 не имели режима эмуляции 8080, зато поддерживали, при помощи двух дополнительных инструкций, расширенный режим адресации.
Процессоры NexGen
В марте 1994 был представлен процессор NexGen Nx586. Он позиционировался как конкурент Pentium, однако изначально не имел встроенного сопроцессора. Использование собственной шины повлекло за собой необходимость применения собственных чипсетов, NxVL (VESA Local Bus) и NxPCI 820C500 (PCI), и ни с чем несовместимого процессорного гнезда. Чипсеты разрабатывались совместно с VLSI и Fujitsu. Nx586 был суперскалярным процессором и мог исполнять по две инструкции за такт. Кэш L1 был раздельным (16 Кбайт под инструкции + 16 Кбайт под данные). Контроллер кэша L2 был интегрирован в процессор, сам же кэш находился на материнской плате. Так же, как и Pentium Pro, Nx586 внутри был RISC-процессором. Отсутствие поддержки инструкций CPUID в ранних модификациях этого процессора приводило к тому, что программно он определялся как быстрый 386 процессор. С этим же было связано то, что Windows 95 отказывался устанавливаться на компьютеры с такими процессорами. Для решения этой проблемы применялась специальная утилита (IDON.COM), представлявшая Nx586 для Windows как 586 class CPU. Nx586 выпускался на мощностях IBM.
Был также разработан сопроцессор Nx587 FPU, который монтировался на заводе поверх кристалла процессора. Такие «сборки» получили маркировку Nx586Pf. При обозначении производительности Nx586 использовался P-rating — c PR75 (70 МГц) до PR120 (111 МГц).
Следующее поколение процессоров NexGen, которое так и не было выпущено, однако послужило основой для AMD K6.
Процессоры SiS
Семейство SoC SiS550 базируется на лицензированном ядре Rise mP6 и выпускается с частотами от 166 до 266 МГц. При этом самые скоростные решения потребляют всего 1,8 Вт. У ядра три целочисленных 8-ступенчатых конвеера. Кэш L1 раздельный, 8+8 Кбайт. Встроенный сопроцессор конвееризован. В состав SiS550 кроме стандартного набора портов входят 128-битное UMA видеоядро AGP 4x, 5.1-канальный звук, поддержка 2-х DIMM (до 1 Гбайт ОЗУ), поддержка софт-модема и UDMA100 IDE контроллер.
В SiS551 так же добавлен встроенный контроллер Smart Card и Memory Stick, а в SiS552 — декодер MPEG2, акселерация проигрывания DVD и VCD.
Также клон SiS551 выпускается Jan Yin Chan Electronics Co., LTD (DM&P) под торговой маркой Vortex86 (чип маркируется как M6127D) и Xcore Corporation Ltd. под торговой маркой Xcore86.
Процессоры Transmeta
Строго говоря, Crusoe не является x86-процессором. Для исполнения x86-кода используется программная трансляция во внутренние 128-битные VLIW-инструкции. Это позволяет адаптировать процессор к любому набору команд и улучшает энергоэффективность, но производительность такого решения заведомо меньше, чем у процессоров с родной системой команд x86.
Транслятор команд называется Code Morphing Software.
Развитие идеи сочетания VLIW-процессора и Code Morphing Software. Основное отличие от предыдущего решения — VLIW-инструкции стали 256-битными.
Процессоры UMC
U5 — семейство микропроцессоров класса 80486. Имели несколько вариантов маркировки, как то: U5SB-40, U5S-Super33 и т. п. Основной изюминкой был значительно оптимизированный микрокод и полностью статический дизайн, в результате чего эти процессоры имели выдающуюся по тем временам производительность (некоторые недобросовестные продавцы даже продавали их как процессоры с удвоением частоты — U5S-33 как SX2-66 и U5S-40 как SX2-80). Модели U5S не имел математического сопроцессора, а варианты с сопроцессором должны были называться U5D, но так и не были выпущены.
Intel добилась судебного запрета на продажу Green CPU в США, обосновав это тем, что UMC использовала в своих процессорах микрокод Intel, не имея лицензии. Существовали некоторые проблемы с ПО. Например, игра Doom отказывалась запускаться на этом процессоре без правки конфигурации, а Windows 95 время от времени зависала. Это было связано с тем, что программы находили в U5S отсутствующий сопроцессор и попытки обращения к нему заканчивались крахом.
Процессоры, выпускавшиеся в СССР [5]
Аналог 80286. Выпускался заводом Ангстрем.
Процессоры МЦСТ
Компанией ЗАО «МЦСТ» выпущен первый процессор «Эльбрус» и вычислительный комплекс на его базе — «Эльбрус-3М1», позволяющий работать в режиме двоичной совместимости с разными процессорами, в том числе с семейством x86. Однако достоверных данных, позволяющих оценить его производительность, как и независимых результатов тестирования, все еще нет.
Производители
Процессоры архитектуры x86 выпускались и выпускаются несколькими компаниями, в том числе:
- Kruger Electronics
- National Semiconductor
- NexGen
- OKI
- Rise Technologies
См. также
Примечания
- ↑http://oemstrade.com/search/80C186XL2
- ↑http://www.fdd5-25.net/amdcpu.php
- ↑http://www.opennet.ru/docs/FAQ/hardware/chiplist-part1.html
- ↑http://datasheets.chipdb.org/SiS%20550/presentation.pdf
- ↑http://www.inp.nsk.su/
Ссылки
- в DMOZ (рус.) (коллекция статей) (рус.)
- (англ.) (англ.) (англ.) (англ.) (SSE) (англ.) (FPU, MMX) (англ.) (от AMD) (англ.)
- (рус.) (рус.)
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое «X86» в других словарях:
X86-64 — is a superset of the x86 instruction set architecture. x86 64 processors can run existing 32 bit or 16 bit x86 programs at full speed, but also support new programs written with a 64 bit address space and other additional capabilities.The x86 64… … Wikipedia
X86-64 — Saltar a navegación, búsqueda x86 64 es una arquitectura basada en la extensión del conjunto de instrucciones x86 para manejar direcciones de 64 bits. Además de una simple extensión contempla mejoras adicionales como duplicar el número y el… … Wikipedia Español
x86-64 — es una arquitectura basada en la extensión del conjunto de instrucciones x86 para manejar direcciones de 64 bits. Además de una simple extensión contempla mejoras adicionales como duplicar el número y el tamaño de los registros de uso general y… … Wikipedia Español
X86-64 — (также x64/AMD64/Intel64/EM64T) 64 битная аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций и чипсет, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор… … Википедия
X86 — Un processeur Intel 80486 SX 25 x86 est la dénomination de la famille de microprocesseurs compatibles avec le jeu d instructions de l Intel 8086. Les différents constructeurs de microprocesseurs pour PC se doivent de maintenir une compatibilité… … Wikipédia en Français
X86 32 — x86 Un processeur Intel 80486 SX 25 x86 est la dénomination de la famille de microprocesseurs compatibles avec le jeu d instructions de l Intel 8086. Les différents constructeurs de microprocesseurs pour PC se doivent de maintenir une… … Wikipédia en Français
X86 — Saltar a navegación, búsqueda Intel Pentium 4 Northwood x86 es la denominación genérica dada a ciertos microprocesadores de la familia Intel, sus compatibles y la arquitectura básica a la que estos procesadores pertenecen, por la terminación de… … Wikipedia Español
X86 — es la denominación genérica dada a ciertos procesadores de la familia Intel, sus compatibles y a la arquitectura básica de estos procesadores, por la terminación de sus nombres: 8086, 80286, 80386 y 80486. Los sucesores del 80486 pasarán a ser… … Enciclopedia Universal
x86 — (80×86), Bezeichnung für diejenige Familie von Intel Prozessoren, die mit dem PC weite Verbreitung gefunden hat. Sie reicht vom Intel 80186 über 80286, 80386 und 80486 bis hin zu den Pentium Typen (I bis 4). Als x86 wird gelegentlich auch der… … Universal-Lexikon
x86 — This article is about Intel microprocessor architecture in general. For the 32 bit generation of this architecture which is also called x86 , see IA 32. x86 Designer Intel, AMD Bits 16 bit, 32 bit, and/or 64 bit Introduced 1978 Design … Wikipedia
В чем разница между х86 и х64? Почему пишут х86, а не х32? Вся правда о х32, х64, х86!
Многие пользователи часто задаются вопросами: «Какую систему мне ставить?», «В чем разница между х86 и х32?» и т. д. Давайте же разложим все по полочкам.
Расскажи, что представляет собой х86?
х86 — это архитектура процессора с одноимённым набором команд, впервые реализованная в процессорах компании Intel. Название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). Через какое-то время цифровые обозначения новых процессоров стали сменяться именами. Так публика узнала о Pentium и Celeron, но платформа x86 не изменялась вплоть до 2000-х годов, но об этом чуточку попозже.
В начале своего пути х86 архитектура, которая была впервые представлена на i8086, применялась на 16-разрядных процессорах (может хранить 2^16 уникальных значений), имела 16-битные инструкции и внутреннюю 16-битную шину, позже добавили еще внешнюю 8-разрядную шину данных. Дальше события развивались довольно просто — производители увеличивали скорость, количество транзисторов, набор команд и т. д., и так вплоть до выхода 80386(i386) — процессора, который на то время знаменовал собой революцию в мире процессоров x86. Это был первый 32-разрядный процессор, который мог использовать кэш-память, расположенную на внешнем чипе.
Вплоть до анонса AMD64 (аппаратная платформа) архитектура не сильно менялась.
После выхода AMD64 и Intel 64 х86 она подверглась серьезным изменениям.
Процессоры архитектуры поддерживают два режима работы: Long Mode («длинный» режим) и Legacy Mode («наследственный», режим совместимости с 32-битным x86).
Основные достоинства архитектуры x86-64:- 64-битное адресное пространство;
- расширенный набор регистров;
- привычный для разработчиков набор команд;
- возможность запуска старых 32-битных приложений в 64-битной операционной системе;
- возможность использования 32-битных операционных систем.
Теперь, думаю, стоит задать вопрос: «Что такое x32?»
Это 32-битная операционная система, которая ставится на 32-разрядные процессоры. Если брать в качестве примера ОС Microsoft, то первая x32 была Windows 95, которая в полной мере использовала возможности данного процессора и архитектуры (x86). Главным недостатком x32 является невозможность поддержки более чем 4 ГБ ОЗУ. Примечательно, что система в состоянии оперировать только 3 ГБ памяти и 1 ГБ просто проваливается.
Еще существует довольно распространённая ошибка: когда пишут совместимость программ, то указывают x86, подразумевая 32-битную платформу. Это не совсем корректно и только вводит в заблуждение. Лучше всего указывать x86_32bit или x86_64bit. Либо сокращать до интуитивно понятных x32 или x64.Осталось разобрать, что собой представляет x64?
x86_64bit — это 64-битная операционная система, которая ставится на 64-разрядные процессоры с архитектурой x86-64. “64-битный лейбл” звучит возбуждающе, но в практическом плане это всего лишь хитрый маркетинговый трюк, скрывающий не только достоинства, но и недостатки. В принципе, ее главным достоинством была и остаётся возможность воспринимать до 32 ГБ ОЗУ, что существенно увеличивает производительность. Еще одним плюсом данной ОС есть то, что под ней процессоры на архитектуре х86-64 (Celeron, Core 2, Core i3, Core i5, Core i7) задействуют весь потенциал кристалла. Это возможно благодаря режиму Long Mode. Недостатком же есть увеличение потребляемой оперативной памяти программами, например, тот же Apache на 32-бит потреблял 20 МБ ОЗУ, а уже на 64-бит ОС — приблизительно 50 МБ.
If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.