X86 процессоры что это
Перейти к содержимому

X86 процессоры что это

  • автор:

Разбираемся в архитектурах: x86, ARM и RISK-V

Разбираемся в архитектурах: x86, ARM и RISK-V

О микропроцессорных архитектурах слышали даже те, кто особо не интересуется компьютерными технологиями. Особенно на фоне последних новостей, например, когда Apple начали устанавливать в свои ноутбуки собственные процессоры на архитектуре ARM. Так что такое архитектура, чем отличаются x86 и ARM и что еще за RISC-V? Расскажем подробнее в нашем материале.

Архитектура x86

В первую очередь давайте выясним, что в принципе стоит понимать под словом «архитектура». В общем понятии этого термина:

Архитектура — набор свойств и качеств, присущих какому-либо семейству процессоров.

При этом не стоит путать термин с «микроархитектурой» — он, как правило, определяет внутреннюю организацию процессора на более глубоком уровне. Например, практически все процессоры Intel имеют архитектуру x86, а вот микроархитектура меняется с каждым новым поколением — Palm Cove (2018), Sunny Cove (2019) и так далее.

На x86 созданы процессоры, начиная от Intel 8086 и заканчивая Core i7/Core i5/Core i3, Xeon. С 2001 также фигурирует название x86-64 — это расширенная архитектура с поддержкой 64-битных регистров.

Таким образом, архитектура — это общий принцип того, как устроен, на каких принципах и с какой системой команд работает процессор. Проще говоря, если вы хотите заставить процессор выполнить какую-то задачу, ее нужно для начала объяснить. Но как именно, сколько и каких команд для этого потребуется — это и определяет архитектура.

Еще несколько десятилетий назад команды для процессоров прописывались буквально вручную через единицы и нули. Это было невероятно долго и утомительно, поэтому спустя какое-то время появился машинный язык программирования — Ассемблер. С его помощью можно было реализовывать простейшие действия вроде сложения, вычитания и так далее уже небольшими командами. Если кто-то из вас изучал Ассемблер в университете, то вы знаете, что писать на нем какие-то программы — задача не из простых.

В итоге инженеры решили, а что если сделать так, чтобы команда вмещала как можно больше полезных действий, могла выполнять и загрузку из памяти, и какую-то арифметическую операцию. Так появилась CISC (complex instruction set computing) архитектура. Почему мы ее упоминаем? x86 — это самый яркий пример CISC-архитектуры.

Соответственно, многое, что актуально для CISC, будет актуально и для x86, а именно:

  • нефиксированная длина команды;
  • малое количество регистров общего назначения;
  • большое количество различных машинных команд;
  • развитый механизм адресации операндов.

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

Архитектура x86 обеспечивает большие удобства для программистов — множество предподготовленных команд позволяли выполнять определенные действия за минимальное количество строк кода — а это существенная экономия времени и сил. Все эти команды сохранили в ROM-память. Например, в Intel 8086 было «зашито» 98 команд. Программистам было достаточно лишь вызывать нужные.

Архитектура x86 поддерживает несколько режимов работы. Изначально был реализован только реальный режим. Самый простой способ его охарактеризовать — вся память доступна всем. Любое приложение, в том числе и вредоносное, могло получить доступ к любым данным, даже системным.

Решением этой проблемы стало появление защищенного режима, а точнее — колец защиты. Нулевой уровень — самый привилегированный и имеет неограниченный доступ. Этот уровень получили лишь системные процессы. Четвертый уровень в свою очередь имеет минимальный доступ к памяти — его получают всевозможные пользовательские процессы.

Также одной из особенностей х86 является технология SSE (Streaming SIMD Extensions) — набор инструкций, разработанный Intel для вычислений с плавающей точкой. Скалярные процессоры обрабатывают один элемент данных за одну инструкцию (SISD), а векторные способны обрабатывать уже несколько элементов данных (SIMD). Для ускорения процесса вычислений в архитектуре появились так называемые SIMD-расширения. Они позволяли, например, сразу перемножать четыре пары чисел за одну команду.

Если не вдаваться в технические подробности, набор инструкций SSE, а в последствие AVX, позволил повысить производительность до восьми раз в определенных алгоритмах.

С 2005 года архитектура x86 также поддерживает виртуализацию. Это сокрытие фактической реализации через предоставление искусственных «виртуальных» ресурсов. Большинству обычных пользователей виртуализация знакома по таким продуктам, как VMWare и VirtualBox, когда на базе своей ОС вы могли запускать другие операционные системы.

На архитектуре x86 работают практически все десктопные процессоры от Intel и AMD. Несмотря на такое преобладание, x86 и CISC-архитектура в целом имеет ряд минусов.

Главная проблема — это неоднородность инструкций. Они могут иметь разную длину и структуру, из-за чего требуется больше тактов на обработку и больше обращений к памяти. Соответственно, для повышения производительности приходится улучшать аппаратную часть. Это выливается в увеличение не только стоимости, но и тепловыделения.

Именно поэтому, несмотря на все попытки, процессоры на x86-архитектуре так и не смогли пристроить в мобильную электронику. Одной из попыток является линейка процессоров Atom от Intel — некоторые модели встраивались даже в смартфоны и планшеты.

Однако еще в середине 70-х годов инженеры задумывались над проблемой сложных команд. Так появился новый архитектурный подход RISC и одна из его реализаций – ARM.

Архитектура ARM

В философии RISC (англ. Reduced Instruction Set Computer — «компьютер с сокращенным набором команд») инженеры решили устранить главный недостаток CISC. Команды сделали фиксированной длины, но при этом увеличили число регистров, чтобы иметь большее пространство для работы с данными и реже обращаться к памяти.

С точки зрения программирования стало сложнее, поскольку из-за унификации команд одно и то же действие в RISC требует больше инструкций, чем в CISC.

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

Стоит понимать, что RISC — это всего лишь концепция, архитектурный подход. Преимущества этого подхода сразу же приметили в британской компании ARM Limited. Они внесли различные усовершенствования в эту концепцию и уже в 1985 году представили свой первый процессор ARM1. В последствие под ARM начали понимать авторскую лицензируемую архитектуру процессоров.

Поскольку изначально ARM задумывалась как усовершенствование архитектуры RISC, то для ранних чипов были характерны некоторые общие черты:

  • фиксированный размер команд;
  • большое число регистров общего назначения;
  • специализированные команды для операций с памятью — чтения или записи.

Однако постепенно разработчики ARM вносили все больше изменений и модификаций, отклоняясь от классической концепции RISC. Например, из 31 регистра программисту доступно всего 16, что не так уж и много. Также в некоторых случаях одна команда в ARM может выполнять не только обработку данных (например, сложение) но и сдвиг. Это позволяет частично уменьшить сложность кода, но за счет увеличения сложности самих команд. Еще одно важная особенность ARM — это развитый набор видов адресации, который изначально не задумывался в концепции RISC архитектуры.

Помимо этого в ARM имеется условное исполнение. Проще говоря, каждая команда может исполняться или не исполняться в зависимости от определенных предустановок (установленных флагов).

Современные мобильные процессоры — это сложная система на кристалле. Помимо ARM-ядер используются всевозможные узкоспециализированные чипы. Например, NEON Data Engine — это, по сути, аналог расширения SSE для архитектуры x86.

Что же получается, архитектура ARM — это более дешевый и унифицированный, но за счет этого менее производительный вариант, чем процессоры на x86-архитектуре? В каком-то смысле — да. Принципиально другой подход к формированию команд и некоторые другие конструктивные особенности сделали ARM отличным вариантом для процессоров мобильной электроники. Однако граница между архитектурами становится все менее явной.

Во-первых, в x86-процессорах уже используется разбиение длинных инструкций на более мелкие. Фактически, в CISC-процессорах применяется своеобразное RISC-ядро, что позволяет повысить производительность. Во-вторых, производительность ARM процессоров постепенно догоняет x86 — Apple M1 и его вариации один из самых ярких примеров. Соответственно, процессоры на этой архитектуре, как и x86, уже могут использоваться в ноутбуках и даже ПК. Почему ARM может стать будущей архитектурой для персональных компьютеров мы рассказали в отдельном материале.

Ключевое отличие этих двух архитектур заключается в системе команд, что свою очередь приводит к различным конструктивным различиям, вроде числа регистров и дополнительных модулей.

Архитектура x86, несмотря на сложные команды и требовательность к аппаратной части, все еще остается одним из лучших решений в соотношении цены и производительности. Переходы на новые техпроцессы и многоядерность позволяют и дальше использовать х86 для высокопроизводительной техники вроде ноутбуков, персональных компьютеров и серверов.

В свою очередь ARM хоть и задумывалась изначально как RISC-подобная, со временем обросла множеством усовершенствований. Это дает приближенную к десктопным процессорам производительность, но, как можно заметить с теми же чипами M1 и M2, еще и больший размер кристалла и тепловыделение. Например, площадь чипа Apple M2 доходит до 155 мм 2 , что сравнимо с площадью чипа Intel Core i7 8700K.

Архитектура RISC-V

Как мы выяснили, ARM и x86 — это своеобразные противоположности, у каждой из которых свои достоинства и недостатки. Архитектура x86 не подходит для мобильной электроники, но ARM требует лицензирования. Если вы захотите спроектировать свой процессор на архитектуре ARM, вам придется заплатить от одного миллиона долларов. Так что же делать?

Над этим вопросом задумались в отделении информатики Калифорнийского университета в Беркли и в 2010 году представили RISC-V. Первая и самая главная отличительная черта — это полностью открытая архитектура, а значит, вы можете использовать ее абсолютно бесплатно.

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

Главное достоинство RISC-V в том, что архитектура не подвергается чрезмерной оптимизации, поэтому подходит для самых разнообразных вычислительных задач. Базовая RISC-V содержит минимальный набор инструкций — всего 47, но при необходимости программисты могут самостоятельно расширять его для решения конкретно своей задачи. Это модульная структура — то есть вы можете взять только то, что вам необходимо.

RISC-V и ARM-архитектуры основаны на одном подходе — RISC (Reduced Instruction Set Computer). В связи с этим они обе подходят для микроэлектроники. Однако ARM — платная и по ходу своего развития претерпела множество изменений. Представьте себе автомобиль, который поддался тюнингу — он стал быстрее и мощнее, но за это приходится платить.

RISC-V в свою очередь — это нетронутый, «стоковый» автомобиль. Да, он не такой быстрый, но бесплатный и, самое главное, вы сами можете выбирать, что в нем «тюнинговать». RISC-V с успехом применяется в простейших микропроцессорах — там, где не нужна высокая производительность.

Самый известный пример — это контроллеры для SSD-дисков Western Digital. Компания Alibaba развивает чипы на RISC-V в рамках дочерней компании T-Head. Также уже выпущено больше десяти различных контроллеров на базе этой архитектуры. Число участников международной организации RISC-V перевалило за сотню — все эти компании видят для себя перспективы в этой архитектуре.

Что в итоге

Архитектура x86 — это яркий представитель CISC-архитектур: большие и сложные команды, требовательность к аппаратной части и высокое энергопотребление. ARM и RISC-V — это представители лагеря RISC-архитектур: упрощенные команды фиксированной длины, небольшое энергопотребление и меньшая требовательность к аппаратной части.

Архитектура ARM — это полностью коммерческое решение, поэтому оно предлагает высочайшую производительность и целую линейку готовых ядер для разных нужд. RISC-V в свою очередь — это базовый конструктор, на основе которого можно проектировать нетребовательные к производительности системы.

x86 – всё. Взлет и падение ключевой процессорной архитектуры двадцатилетия

ивент

Компания Intel была основана 18 июля 1968 года, когда сотрудники Fairchild Semiconductor Роберт Нойс и Гордон Мур после изобретения интегральной микросхемы решили создать собственный ИТ-бизнес. Тогда еще никто не мог представить, что созданная Intel архитектура для микропроцессоров и систем на кристалле x86 станет ключевой технологией в микроэлектронике в течение многих лет. Однако сегодня x86 непоправимо уступает место другой архитектуре – ARM. И вот, почему.

Intel: путь к мировому признанию

Исторически Intel начинал свою деятельность с разработки полупроводниковой памяти, первым продуктом компании стала сверхскоростная память 3101 Schottky bipolar memory. В конце 1970-х годов бизнес компании на рынке микросхем памяти пошатнулся, но это дало ей возможность укрепить позиции на рынке процессоров.

Уже в 1978 году Intel представила 16-разрядный (16-битный) процессор Intel 8086, начав тем самым конкуренцию с процессорами IBM и лидирующим на тот момент процессором Motorola 68000 (обе компании использовали архитектуру PowerPC). Этот процессор Intel стал первым на архитектуре x86, но тогда это был скорее недостаток, так как его производительность сильно уступала конкурентам. Ситуация начала меняться, когда в 1980 году IBM для своего первого персонального компьютера выбрала процессоры Intel 8088, видя в них большой потенциал. К концу 1980-х годов Intel смогла заключить партнерские отношения с IBM и Microsoft. Компания отлично использовала преимущества x86, ежегодно выпуская на рынок новые модели, отличавшиеся всё большей мощностью и функциональностью.

Глобальной же популярности Intel достиг летом 2006 года, когда компания Apple перевела свои компьютеры и лэптопы Mac с продукции Motorola на процессоры Intel на архитектуре x86. Это был первый масштабный заказ процессоров Intel.

После такого решения Apple, как это часто бывает, все остальные производители компьютерной техники тоже перешли на новую для них архитектуру. Но причина массового интереса к x86 кроется не только во влиянии Apple на рынок. Дело в том, что все компании были заинтересованы в технологическом развитии линеек своих девайсов, а существующие процессорные архитектуры просто не позволяли этого делать. Та же PowerPC от Motorola и IBM в то время уже исчерпала возможности развития, вендорам приходилось кастомизировать уже существующие процессоры, чтобы каждый год делать их хотя бы на 20% быстрее и производительнее. Так появились довольно мощные «камни» на архитектуре PowerPC, которые давали нужный на тот момент прирост производительности, но которые нужно было обеспечивать гигантским потреблением электроэнергии, а также сопровождать хорошей системой охлаждения. Иногда для достижения нужной производительности производителям техники приходилось делать «рейды» из процессоров.

Intel Core i3 2-го поколения

Intel Core i3 2о поколения

Таким образом, смена якорной технологии на рынке микропроцессоров – закономерное явление, сопровождающееся исчерпанием возможностей одной технологии и замещением ее на более новую и перспективную. Более подробно мы писали об этом в материале «Битва титанов. AMD Ryzen 9 5900HX vs Intel Core i9 12th Gen» . Инновации Intel, постоянные инвестиции в развитие и продвижение позволили архитектуре x86 более двадцати лет господствовать на рынке. Даже к 2021-22 годам, когда начала набирать популярность архитектура ARM, более 90% персональных компьютеров по всему миру были оснащены процессорами на x86 (данные Mercury Research).

Что за x86

x86 — архитектура процессора и название одноименного набор команд, родоначальником которой является компания Intel. Об этом свидетельствует и ее название, образованное от двух последних цифр в индексах ранних моделей процессоров Intel: 8086, 80186 и других. На данный момент архитектура x86 представлена в 12-м поколении процессоров Intel Core i3/i5/i7/i9/i10, а также в процессорах Intel Pentium, и серверных процессорах Intel Xeon.

Пример процессора на оригинальной x86

Пример процессора на оригинальной x86

Помимо Intel, набор команд x86 также реализован в процессорах других производителей: AMD, VIA, Transmeta, IDT, Cyrix, Zhaoxin, Rise Technology, OKI, МЦСТ (в процессорах Эльбрус). При этом все эти компании «позаимствовали» архитектуру Intel не слишком благородным путем. Первой сделала это AMD, переманив ключевых сотрудников Intel, в чьи обязанности входила разработка новых поколений процессоров и улучшение архитектуры x86. Так как после этого Intel и AMD никак не обменивались информацией об архитектуре x86, данную архитектуру можно разделить на «оригинальную» (которая принадлежит и используется компанией Intel) и «заимствованную», которая базируется на устаревшей версии x86, используется и дорабатывается всеми остальными компаниями, специализирующимися на производстве процессоров. В настоящее время у оригинальной 32-разрядной версии архитектуры также существует название IA-32 (Intel Architecture – 32). К особенностям x86 относится, в частности, применение процессорной архитектуры CISC.

X86: первые неудачные решения

В 2007 году Apple представила первый в мире смартфон с сенсорным экраном – iPhone 2G. Компания использовала в нем специализированный мобильный процессор производства Samsung на архитектуре ARM под названием ARM1176JZFS. Как известно, смартфоны от Apple дали толчок развитию IT-индустрии в целом и архитектуры ARM в частности.

Был ли шанс у Intel на лидерство и в сегменте смартфонов? Да, был. Как выяснилось в ходе судебных разборок Apple с Epic Games, Стив Джобс (на тот момент CEO Apple) обращался к главе компании Intel Полу Отеллини с предложением разработать процессоры для портативного умного устройства. Подразумевалось, что это должен быть довольно маленький, но одновременно производительный процессор с небольшим энергопотреблением. Intel тогда отказалась от сотрудничества с Apple – затея с мобильным процессором показалась руководству ИТ-гиганта нецелесообразной. Вероятно, сейчас они очень жалеют о таком решении, поскольку на фоне надвигающегося заката архитектуры x86 сделка с Apple могла дать Intel потенциал для развития еще на 10-15 лет. Но что есть, то есть: на процессорах Samsung выходили поочередно Apple iPhone 2G, Apple iPhone 3G, Apple iPhone 3GS и Apple iPhone 4.

Интересно, что это был не единственный случай, когда Intel теоретически могла сохранить свои позиции с помощью Apple. Например, в 2010 году при разработке первого в истории планшета Apple опять искала новый процессор, который должен был быть мощнее чем упомянутый процессор Samsung, но при этом такой же энергоэффективный. В этот раз компания из Купертино решила не обращаться к Intel за разработкой напрямую, а взять что-то из продукции вендора, которая уже есть на доступном корпоративном рынке. Но – ничего нужного не нашлось. Тем более, что если бы Apple использовала чип из ряда уже готовых процессоров Intel на архитектуре x86, разработчикам приложений пришлось бы изрядно потрудиться над оптимизацией софта под них. Результат известен: Apple решила разрабатывать собственные процессоры на архитектуре ARM, компоненты которого были бы сильно переработаны в сторону производительности и энергоэффективности – переработаны настолько глубоко, насколько позволяет лицензия от ARM. Так появился Apple A4.

История нового времени. ARM принимает эстафету от x86

В 2020 году компания Apple на своей презентации объявила, что с этого года начинает двухлетний переход на полное использование собственных процессоров, на базе сильно переработанной архитектуры ARM – то есть их использование не только на мобильной технике, но и на ПК. В это же время компания представила свой первый процессор для Mac – Apple M1.

Вслед за этим многие компании, в том числе Microsoft, заявили о массовом переходе на процессоры на базе архитектуры ARM. Причина указывалась абсолютно та же, что и в 2006 году, когда начался всплеск интереса к x86: предел развития архитектуры x86, невозможность вендоров в новых моделях показывать качественный прирост производительности и энергоэффективности. На данный момент архитектура x86 не располагает к развитию: создавать более мощные процессоры можно только за счет увеличения частоты работы процессора, объема потребления энергии. Сейчас это достигается также за счет увеличения размера самого процессора (количества транзисторов в них), из-за чего устройства сильно нагреваются, особенно если вендор должным образом не озаботился оптимизацией остальных компонентов своего устройства.

В 2021 году Apple представила новые собственные процессоры на архитектуре ARM – Apple Silicone M1 PRO и Apple Silicone M1 MAX. Теперь производительность топовых x86 сравнялась с производительностью ARM-процессоров от Apple, но купертиновские процессоры отличаются в 15 раз большей энергоэффективностью! Даже Asus и Acer задумались над полноценными ARM-машинами: всем стало понятно, что процессор на базе архитектуры ARM может быть производительным.

Microsoft на своей онлайн-презентации 24 июня 2021 года представил Windows 11, основными улучшениями которой стали обновленная система распределения ресурсов, новый «ледяной» дизайн, а также – использование в этой ОС ядер Windows и Linux по 50% для каждого ядра. Последнее нововведение было сделано как раз для того, чтобы устройства на Windows 11, имеющие процессоры на базе архитектуры ARM, могли не эмулировать систему целиком, а эмулировать только сторонние Windows-приложения. Результат – Windows теперь запускается нативно на процессорах на базе архитектуры ARM. Версия Windows есть даже для всех серий смартфонных процессоров производства Snapdragon. Еще одним доказательством поддержки ARM в Microsoft Windows 11 является полная совместимость с Windows 11 всех Windows Phone, ранее работавших на Windows 10 Mobile.

В марте 2022 года Apple выпускает еще один процессор на базе архитектуры ARM – Apple M1 Ultra, который в три раза мощнее самого высокопроизводительного процессора на архитектуре x86 в пользовательском сегменте (то есть не серверном) Intel Core i9 12900HK. Этот факт окончательно ставит под сомнение целесообразность дальнейшего развития x86.

Еще раньше Microsoft анонсировала Surface PRO X с процессором на базе архитектуры ARM и операционную систему ARM Windows 10, которая полностью эмулируется на устройстве, в отличии от Windows 11. Ядро Linux также давно адаптировано и оптимизировано под архитектуру ARM. MacOS уже 100% поддерживает Linux ядро.

Среди вендоров – Asus и Acer, по официальным данным, в 2022 году представят новые ноутбуки и ПК на ARM и Windows 11. Такие компании, как Huawei, Honor, Samsung тоже разрабатывают новые девайсы на процессорах, базой которых является архитектура ARM. Samsung вместе с AMD представил на недавней презентации Samsung Galaxy Unpacking 2022 новые процессоры Exynos c видеокартами от AMD – Exynos 2200. Наконец, в 2022 году закончится полный переход Apple на собственные процессоры.

Наконец, даже российский производитель «Байкал Электроникс» делает ставку именно на ARM. Целесообразность такого подхода отмечают и ИТ-эксперты .

Что ждет Intel и AMD

Архитектура ARM на сегодняшний день превратилась из мобильной в кроссплатформенную, предназначенную для всех видов девайсов, начиная с IoT-устройств и заканчивая рабочими станциями. Уже сейчас процессоры на ARM-архитектуре применяются даже в серверах благодаря их невероятной энергоэффективности и «нулевого» нагрева (при использовании охлаждения, ранее предназначенного для процессоров на базе x86 архитектуры). Процессоры x86, в свою очередь, улучшаются только за счет увеличения их тактовой частоты, размеров и потребления энергии. Судя по всему, полный переход с x86 на архитектуру ARM не за горами, и если Intel и AMD не будут предпринимать шаги в этом направлении, то рискуют потерять монополию в своем сегменте.

Ещё больше накаляются события в связи с тем, что IBM решила вернуться на рынок пользовательской «умной» техники вместе с новой уникальной технологией, которая увеличивает мощность ARM-процессора в 5-10 раз. Суть технологии заключается в вертикальном размещении транзисторов на кристалле, которое позволяет сильно увеличить их количество на той же площади без уменьшения техпроцесса. Теоретически таким образом можно придать процессору, созданному по техпроцессу 60 нанометров, мощность среднего процессора на 7 нанометров. В 2023 году IBM планирует начать производство таких процессоров, а к июню-августу выпустить их в продажу.

Консоль на ARM

Консоль на ARM

На ARM-процессорах уже создаются современные игровые консоли (Nintendo Switch, Sony PSP, Sony PlayStation Vita), смартфоны Google Pixel, Samsung Galaxy, Apple iPhone и другие, компьютеры Apple Mac, Asus Zenbook и Vivobook, Microsoft Surface, сервера для Google, Yahoo, Amazon, Apple. В 2023 году, очевидно, начнется полный переход на ARM-архитектуру в всех отраслях ИТ-индустрии. X86 в перспективе мало кому остается интересной.

ARM против x86: В чем разница между двумя архитектурами процессоров?

Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.

А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?

Итак, большинство мобильных устройств, iPhone и Android’ы работают на ARM’е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.

А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.

x86 — так называется по последним цифрам семейства классических процессоров Intel 70-80х годов.

Чем же они отличаются?

Есть два ключевых отличия.

Первое — это набор инструкций, то есть язык который понимает процессор

x86 процессоры используют сложный набор инструкций, который называется CISC — Complex Instruction Set Computing.

ARM процессоры наоборот используют упрощенный набор инструкций — RISC — Reduced Instruction Set Computing.

Кстати ARM расшифровывается как Продвинутые RISC машины — Advanced RISC Machines.

Наборы инструкций ещё принято назвать архитектурой или ISA — Instruction Set Architecture.

Второе отличие — это микроархитектура. Что это такое?

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

  • x86 — CISC
  • ARM — RISC

Но как так произошло, что процессоры стали говорить на разных языках?

История CISC

Памятка программиста, 1960-е годы. Цифровой (машинный) код «Минск-22».

Всё началось в 1960-х. Поначалу программисты работали с машинным кодом, то есть реально писали нолики и единички. Это быстро всех достало и появился Assembler. Низкоуровневый язык программирования, который позволял писать простые команды типа сложить, скопировать и прочее. Но программировать на Assembler’е тоже было несладко. Потому как приходилось буквально “за ручку” поэтапно описывать процессору каждое его действие.

Поэтому, если бы вы ужинали с процессором, и попросили передать его вам соль, это выглядело бы так:

  • Эй процессор, посмотри в центр стола.
  • Видишь соль? Возьми её.
  • Теперь посмотри на меня.
  • Отдай мне соль. — Ага, спасибо!
  • А теперь снова возьми у меня соль.
  • Поставь её откуда взял
  • Спасибо большое! Продолжай свои дела.
  • Кхм… Процессор, видишь перец?
  • И так далее.

Этот подход стал настоящим спасением как для разработчиков, так и для бизнеса. Захотел клиент новую инструкцию — не проблема, были бы деньги — мы сделаем. А деньги у клиентов были.

Недостатки CISC

Но был ли такой подход оптимальным. С точки зрения разработчиков — да. Но вот микроархитектура страдала.

Представьте, вы купили квартиру и теперь вам нужно обставить её мебелью. Площади мало, каждый квадратный метр на счету. И вот представьте, если бы CISC-процессор обставил мебелью вам гостиную, он бы с одной стороны позаботился о комфорте каждого потенциального гостя и выделил бы для него своё персональное место.

С другой стороны, он бы не щадил бюджет. Диван для одного человека, пуф для другого, кушетка для третьего, трон из Игры Престолов для вашей Дейенерис. В этом случае площадь комнаты бы очень быстро закончилась. Чтобы разместить всех вам бы пришлось увеличивать бюджет и расширять зал. Это не рационально. Но самое главное, CISC-архитектура существует очень давно и те инструкции, которые были написаны в 60-х годах сейчас уже вообще не актуальны. Поэтому часть мебели, а точнее исполнительных блоков, просто не будут использоваться. Но многие из них там остаются. Поэтому появился RISC…

Преимущества RISC

С одной стороны писать на Assembler’е под RISC процессоры не очень-то удобно. Если в лоб сравнивать код, написанный под CISC и RISC процессоры, очевидно преимущество первого.

Так выглядит код одной и той же операции для x86 и ARM.

x86

  • MOV AX, 15; AH = 00, AL = 0Fh
  • AAA; AH = 01, AL = 05
  • RET
  • MOV R3, #10
  • AND R2, R0, #0xF
  • CMP R2, R3
  • IT LT
  • BLT elsebranch
  • ADD R2. #6
  • ADD R1. #1
  • elsebranch:
  • END

Представьте, что вы проектируете процессор. Расположение блоков на х86 выглядело бы так.

Каждый цветной квадрат — это отдельные команды. Их много и они разные. Как вы поняли, здесь мы уже говорим про микроархитектуру, которая вытекает из набора команд. А вот ARM-процессор скорее выглядит так.

Ему не нужны блоки, созданные для функций, написанных 50 лет назад.

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

Еще один бонус сокращенного набора RISC: меньше места на чипе занимает блок по декодированию команд. Да, для этого тоже нужно место. Архитектура RISC проще и удобнее, загибайте пальцы:

  • проще работа с памятью,
  • более богатая регистровая архитектура,
  • легче делать 32/64/128 разряды,
  • легче оптимизировать,
  • меньше энергопотребление,
  • проще масштабировать и делать отладку.

Поэтому наши смартфоны, которые работают на ARM процессорах с архитектурой RISC, долго живут, не требуют активного охлаждения и такие быстрые.

Лицензирование

Но это все отличия технические. Есть отличия и организационные. Вы не задумывались почему для смартфонов так много производителей процессоров, а в мире ПК на x86 только AMD и Intel? Все просто — ARM это компания которая занимается лицензированием, а не производством.

Даже Apple приложила руку к развитию ARM. Вместе с Acorn Computers и VLSI Technology. Apple присоединился к альянсу из-за их грядущего устройства — Newton. Устройства, главной функцией которого было распознавание текста.

Даже вы можете начать производить свои процессоры, купив лицензию. А вот производить процессоры на x86 не может никто кроме синей и красной компании. А это значит что? Правильно, меньше конкуренции, медленнее развитие. Как же так произошло?

Ну окей. Допустим ARM прекрасно справляется со смартфонами и планшетами, но как насчет компьютеров и серверов, где вся поляна исторически поделена? И зачем Apple вообще ломанулась туда со своим Apple Silicon.

Что сейчас?

Допустим мы решили, что архитектура ARM более эффективная и универсальная. Что теперь? x86 похоронен?

На самом деле, в Intel и AMD не дураки сидят. И сейчас под капотом современные CISC-процессоры очень похожи на RISC. Постепенно разработчики CISC-процессоров все-таки пришли к этому и начали делать гибридные процессоры, но старый хвост так просто нельзя сбросить.

Но уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микро инструкции (micro-ops), которые в дальнейшем — сейчас вы удивитесь — исполняются RISC ядром.

Да-да, ребята! Те самые 4-8 ядер в вашем ПК — это тоже RISC-ядра!

Надеюсь, тут вы окончательно запутались. Но суть в том, что разница между RISC и CISC-дизайнами уже сейчас минимальна.

А что остается важным — так это микроархитектура. То есть то, насколько эффективно все организовано на самом камне.

Ну вы уже наверное знаете, что Современные iPad практически не уступают 15-дюймовым MacBook Pro с процессорами Core i7 и Core i9.

А что с компьютерами?

Недавно компания Ampere представила свой 80-ядерный ARM процессор. По заявлению производителя в тестах процессор Ampere показывает результат на 4% лучше, чем самый быстрый процессор EPYC от AMD и потребляет на 14% меньше энергии.

Компания Ampere лезет в сегменты Cloud и Workstation, и показывает там отличные цифры. Самый быстрый суперкомпьютер в мире сегодня работает на ARM ISA. С обратной стороны, Intel пытается все таки влезть в сегмент low power и для этого выпускает новый интересный процессор на микроархитектуре lakefield.

Пока у ноутбуков и процессоров от Intel есть одно неоспоримое достоинство — (охлаждение и) единство архитектуры. Пока на рынке ARM-процессоров существуют Qualcomm, Samsung, MediaTek, в мире x86 творится монополия и разработчикам сильно легче делать софт и игры под “взрослые” процессоры.

И Apple та компания, которая способна мотивировать достаточное количество разработчиков пилить под свой ARM. Но суть этого перехода скорее не в противостоянии CISC и RISC. Поскольку оба подхода сближаются, акцент смещается на микроархитектуру, которую делает Apple для своих мобильных устройств. И судя по всему микроархитектура у них крута. И они хотели бы ее использовать в своих компьютерах.

И если бы Intel лицензировал x86 за деньги другим людям, то вероятно Apple просто адаптировали свою текущую микроархитектуру под x86. Но так как они не могут этого сделать, они решили просто перейти на ARM. Проблема для нас с микроархитектурой в том, что она коммерческая тайна. И мы про нее ничего не знаем.

Итоги

Спрос на ARM в итоге вырастет. Для индустрии это не просто важный шаг, а архиважный. Линус Торвальдс говорил, что пока рабочие станции не станут работать на ARM — на рынке серверов будут использовать x86.

И вот это случилось — в перспективе это миллионы долларов, вложенных в серверные решения. Что, конечно, хорошо и для потребителей. Нас ждет светлое будущее и Apple, действительно, совершила революцию!

Редактор материала: Антон Евстратенко. Этот материал помогли подготовить наши зрители Никита Куликов и Григорий Чирков. Спасибо ребята!

  • Блог компании Droider.Ru
  • Программирование
  • Смартфоны
  • Ноутбуки
  • Процессоры

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 доступно только в защищенном режиме.

    Расширения

    PAE

    В более поздних 32-разрядных процессорах (начиная с Pentium Pro) появилось PAE (Physical Address Extension) — расширение адресов физической памяти до 36 бит (возможность адресации 64 Гбайт ОЗУ). Это изменение не затронуло разрядности задач — они остались 32-битными.

    MMX

    Дополнительный «мультимедийный» (англ. Multi-Media eXtensions ) набор инструкций, выполняющих по несколько характерных для процессов кодирования/декодирования потоковых аудио/видеоданных действий за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX. Обеспечивает только целочисленные вычисления.

    SSE

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

    SSE2

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

    SSE3

    Продолжение 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 новые команды. Категории новых инструкций: работа со знаком, сдвиги, перемешивание байт, умножения, горизонтальные сложения и вычитания целых.

    SSE4

    Новый набор команд 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, подсчет популяции единичных бит, работу с векторными примитивами.

    SSE5

    Новое расширение x86 инструкций от AMD, названное SSE5. Этот абсолютно новый набор SSE инструкций, созданный специалистами AMD, станет поддерживаться перспективными CPU компании, начиная с 2009 года. SSE5 привносят в классическую x86 архитектуру некоторые возможности, доступные ранее исключительно в RISC процессорах. Набор инструкций SSE5 определяет 47 новых базисных команд, призванных ускорить однопоточные вычисления благодаря увеличению «плотности» обрабатываемых данных. Среди новых инструкций выделяется две основные группы. В первую входят инструкции, аккумулирующие результаты умножения. Инструкции такого типа могут быть полезны для организации итерационных вычислительных процессов при рендеринге изображений или при создании трёхмерных аудио эффектов. Вторая группа новых команд включает инструкции, оперирующие с двумя регистрами и сохраняющие результат в третьем. Это нововведение может позволить разработчикам обойтись без лишних пересылок данных между регистрами в вычислительных алгоритмах. Также, SSE5 содержит и несколько новых инструкций для сравнения векторов, для перестановки и перемещения данных, а также для изменения точности и округления. Основными применениями для SSE5 AMD видит расчётные задачи, обработку мультимедиа контента и средства шифрования. Ожидается, что в счётных приложениях, использующих матричные операции, использование SSE5 может дать 30-процентрый прирост производительности. Мультимедийные задачи, требующие выполнения дискретного косинусного преобразования, могут получить 20-процентное ускорение. А алгоритмы шифрования благодаря SSE5 способны получить пятикратный выигрыш в скорости обработки данных.

    AVX

    Следующий набор расширений от Intel.

    AES

    Расширение системы команд AES — реализация в микропроцессоре шифрования AES.

    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 МГц.

    CPU Pentium Pro.jpg

    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

    Am8086 / Am8088 / Am186 / Am286 / Am386 / Am486

    Клоны соответствующих процессоров от 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 8086/88

    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

    IDT-C6 Centaur WinChip

    Процессор разработан 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

    OKI M80C86

    Клон 8086. Выпускался в корпусах типа DIP и QFP.

    Клон 8088. Выпускался в корпусах типа DIP и QFP.

    Процессоры Rise Technology

    Процессор для Socket 7 с поддержкой инструкций MMX. Отличался низким энергопотреблением и невысокой производительностью. Выпускался с частотами 150, 166, 190, 200, 250 МГц. Особого распространения не получил и ядро mP6 было продано компании SiS.

    Процессоры VIA

    VIA Cyrix III / VIA C3

    Первый процессор, выпущенный под маркой 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]

    КР1810ВМ86

    Аналог 80286. Выпускался заводом Ангстрем.

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

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

    Производители

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

    См. также

    Примечания

    1. http://oemstrade.com/search/80C186XL2
    2. http://www.fdd5-25.net/amdcpu.php
    3. http://www.opennet.ru/docs/FAQ/hardware/chiplist-part1.html
    4. http://datasheets.chipdb.org/SiS%20550/presentation.pdf
    5. http://www.inp.nsk.su/~kozak/adv/advh0.htm
    6. http://www.istockanalyst.com/article/viewiStockNews/articleid/3251056
    7. http://www.xcore86.com/technology.html

    Ссылки

    • X86 в DMOZ (рус.)
    • История процессоров (коллекция статей) (рус.)
    • Intel Architecture Software Developer’s Manual, Volume 1: Basic Architecture (англ.)
    • Intel Architecture Software Developer’s Manual, Volume 2: Instruction Set Reference Manual (англ.)
    • Intel Architecture Software Developer’s Manual, Volume 3: System Programming (англ.)
    • AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions Rev 3.14 (англ.)
    • AMD64 Architecture Programmer’s Manual Volume 4: 128-Bit Media Instructions Rev 3.10 (SSE) (англ.)
    • AMD64 Architecture Programmer’s Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions Rev 3.09 (FPU, MMX) (англ.)
    • Developer guides and manuals (от AMD) (англ.)
    • FAQ по процессорам семейства x86 (рус.)
    • Классификация x86-процессоров: опыт создания с нуля (рус.)

    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
    • Обратная связь: Техподдержка, Реклама на сайте
    • �� Путешествия

    Экспорт словарей на сайты, сделанные на PHP,
    WordPress, MODx.

    • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
    • Искать во всех словарях
    • Искать в переводах
    • Искать в ИнтернетеИскать в этой же категории

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *