Открытая архитектура процессора это

Обновлено: 06.07.2024

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

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

Говоря простым языком, это способность программы, собранной для архитектуры x86, работать практически на любой x86-совместимой системе. При этом такая программа не будет работать, например, на ARM системе.

С аппаратной точки зрения архитектура процессора — это некий набор свойств и качеств, присущий целому семейству процессоров (Skylake – процессоры Intel Core 5 и 6 поколений).

Если тема кажется сложной, можно начать со статьи о том, чем CPU отличается от GPU.

Виды архитектур

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

CISC (англ. Complex Instruction Set Computer — «компьютер с полным набором команд») — тип процессорной архитектуры, в первую очередь, с нефиксированной длиной команд, а также с кодированием арифметических действий в одной команде и небольшим числом регистров, многие из которых выполняют строго определенную функцию.

Самый яркий пример CISC архитектуры — это x86 (он же IA-32) и x86_64 (он же AMD64).

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

RISC (англ. Reduced Instruction Set Computer — «компьютер с сокращённым набором команд») — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций: их декодирование становится более простым, а время выполнения — меньшим. Первые RISC-процессоры не имели даже инструкций умножения и деления и не поддерживали работу с числами с плавающей запятой.

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

Примеры RISC-архитектур: PowerPC, серия архитектур ARM (ARM7, ARM9, ARM11, Cortex).

В общем случае RISC быстрее CISC. Даже если системе RISC приходится выполнять 4 или 5 команд вместо одной, которую выполняет CISC, RISC все равно выигрывает в скорости, так как RISC-команды выполняются в 10 раз быстрее.

Отсюда возникает закономерный вопрос: почему многие всё ещё используют CISC, когда есть RISC? Всё дело в совместимости. x86_64 всё ещё лидер в desktop-сегменте только по историческим причинам. Так как старые программы работают только на x86, то и новые desktop-системы должны быть x86(_64), чтобы все старые программы и игры могли работать на новой машине.

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

MISC (англ. Minimal Instruction Set Computer — «компьютер с минимальным набором команд»).

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

Для увеличения производительности во всех вышеперечисленных архитектурах может использоваться “спекулятивное исполнение команд”. Это выполнение команды до того, как станет известно, понадобится эта команда или нет.

VLIW (англ. Very Long Instruction Word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно.

По сути является архитектурой CISC со своим аналогом спекулятивного исполнения команд, только сама спекуляция выполняется во время компиляции, а не во время работы программы, из-за чего уязвимости Meltdown и Spectre невозможны для этих процессоров. Компиляторы для процессоров этой архитектуры сильно привязаны к конкретным процессорам. Например, в следующем поколении максимальная длина «очень длинной команды» может из условных 256 бит стать 512 бит, и тут приходится выбирать между увеличением производительности путём компиляции под новый процессор и обратной совместимостью со старым процессором. Опять же, Open Sourсe позволяет простой перекомпиляцией получить программу под конкретный процессор.

Примеры архитектуры: Intel Itanium, Эльбрус-3.

Виртуальные архитектуры

Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность.

Дальнейшим развитием этих архитектур стали гибридные архитектуры. Например современные x86_64 процессоры хотя и CISC-совместимы, но являются процессорами с RISC-ядром. В таких гибридных CISC-процессорах CISC-инструкции преобразовываются в набор внутренних RISC-команд. Какое дальнейшее развитие получат архитектуры процессора, покажет только время.

На днях пришла очень неожиданная новость из государственной корпорации «Ростех» , которой ещё в 2007 году была передана значительная часть промышленных активов России. Так вот, они уже к 2025-му году собираются разработать и выпустить собственный универсальный процессор с системой команд и архитектурой RISC-V. Основным партнёром в этой миссии является разработчик отечественных систем хранения данных и серверов Yadro .

Ростех выделяет на этот проект 18 миллиардов рублей. Ещё 9,8 миллиарда выделяется на этот проект напрямую из федерального бюджета. Итого 27,8 миллиардов рублей. Сумма, прямо скажем, впечатляющая.

Предположительно, чип будет выпускаться по 12-нм техпроцессу и получит 8 ядер частотой 2 ГГц. К 2025-му году собираются уже продать 60 тысяч компьютеров на базе этого чипа на сумму 7 миллиардов рублей. Конечно, эта информация ещё очень предварительная, и может существенно меняться (и по срокам, и по нанометрам, и по частоте, и по суммам, как мы привыкли).

Зачем ещё один процессор?

Этим вопросом задаются многие. Но мне видится такое решение довольно логичным, хотя, признаюсь, неожиданным. Смотрите, какое дело.

Архитектура CISC (инструкции переменной длины), на которой строились первые процессоры x86, в один прекрасный момент упёрлась в свой предел производительности. Последним процессором архитектуры CISC стал Pentium, выжавший из неё максимум.

Начиная с Pentium Pro, процессоры стали получать RISC-ядра (короткие быстро выполняемые инструкции), хотя и сохранили совместимость со старой системой команд благодаря её декодированию на лету в короткие RISC-команды уже внутри процессора. Но такое декодирование вызывает накладные расходы, хотя их и постарались снизить всеми возможными способами. Полный же переход на RISC означал бы для Intel потерю всего парка ПО, поэтому он пока не может этого сделать.

Некоторое время такой подход оправдывал себя, но сегодня такая архитектура CISC-RISC тоже упирается в свой предел, а на арену выходят конкурирующие RISC-архитектуры, самой известной из которых, пожалуй, является ARM.

Если сегодня и создавать новый универсальный процессор, то на одной из RISC-архитектур. Так поступили, например, при создании российского процессора Байкал. Купили лицензию на ARM-ядра Cortex A57, и на их основе сконструировали процессор. Но такой процессор зависит от этой самой лицензии, которую, при желании, можно и отозвать. Кроме того, лицензия накладывает некоторые ограничения на полёт фантазии разработчиков на пути к повышению производительности. Замечу также, что цена этой лицензии зависит от степени изменений, которую разработчик намерен провести в архитектуре ядра.

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

RISC-V

Архитектура эта новая, родилась в 2010-м году в отделении информатики Калифорнийского университета в Беркли.

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

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

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

Иллюстрацией перспективности архитектуры может быть опыт компании Micro Magic , которая в феврале этого года представила 64-разрядное процессорное ядро на RISC-V. С питанием напряжением 0,8 В ядро работало на частоте 4,25 ГГц и потребляло 200 мВт, а с питанием 1,1 В достигало тактовой частоты 5 ГГц.

Егор

Егор Морозов | 13 Апреля, 2021 - 22:00


Подавляющее большинство наших смартфонов работают на чипах, основанных на архитектуре Arm, тогда как архитектура x86 доминирует среди ноутбуков, десктопных компьютеров и серверного оборудования. Но в США, Европе и особенно в Азии быстрыми темпами растет число компаний, которые обращают внимание на процессорную архитектуру с открытым исходным кодом под названием RISC-V.

Открытость и бесплатность позволяет даже стартапам разрабатывать собственные чипы без дорогостоящих лицензионных сборов, необходимых для использования проприетарных архитектур. Например, если вы хотите создать собственный Arm-процессор, вам придется заплатить авансовый сбор от 1 до 10 миллионов долларов, а также выплачивать роялти в размере 0,5-2% с продаж. Очевидно, из-за этого производить Arm-чипы могут только достаточно крупные компании, а это в том числе тормозит их развитие.

Открытая архитектура RISC-V была разработана исследователями из Калифорнийского университета в Беркли и впервые показана широкой публике в 2010 года. Как и Arm, x86 и остальные процессорные архитектуры, RISC-V представляет собой ISA — архитектуру с набором команд, которые позволяют программистам и написанному ими программному обеспечению напрямую управлять компьютерным оборудованием.

Оцените легкость архитектуры: так, в базовом наборе RISC-V всего 11 арифметических инструкций, а для создания более-менее современной SoC их потребуется 39. Для сравнения, некогда простая архитектура Arm в текущей версии ARMv8 разрослась до 1000 инструкций, а x86 тут лучше вообще не упоминать.

Благодаря гибкости открытого исходного кода RISC-V становится все более популярной архитектурой для создания чипов в таких компаниях, как Seagate и Western Digital Corp., занимающихся созданием больших кластеров для хранения данных. Интересуется такими чипами и китайский гигант электронной коммерции Alibaba, и даже правительственные организации, такие как DARPA (Управление перспективных исследовательских проектов Министерства обороны США).

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

Также отмечается полная обратная совместимость: старый софт будет без проблем работать на новом «железе», так как базовый набор команд стандартизован. Ну и куда в современном мире без безопасности: открытость архитектуры резко усложняет создание «закладок».

Поэтому не удивительно, что эта архитектура активно развивается. Так, Nvidia уже использует RISC-V в своих графических процессорах Ampere (RTX 3000) — даже с учетом того, что компания планирует приобрести Arm Holdings, владельца архитектуры Arm. Intel также может помочь ускорить внедрение RISC-V за счет расширения своего бизнеса по производству кремниевых чипов, нацеленного в том числе и на создание CPU и SoC на этой открытой архитектуре.

Еще одним признанием RISC-V можно назвать перемены в компании Wave Computing, которая владеет архитектурой MIPS — на ней работает немало бытовых приборов и даже консолей, таких как PSP или PlayStation 2. Однако теперь компания отказывается от своей архитектуры и озвучила новые планы по разработке чипов на базе RISC-V.

Ну и под конец нельзя забывать Азиатско-Тихоокеанский регион, который традиционно силен в создании процессоров и систем на кристалле. Число компании в нем, разрабатывающих свои решения на RISC-V, постоянно растет, поскольку такие страны, как Индия и Пакистан, уже приняли RISC-V в качестве своей национальной архитектуры для разработки собственных чипов.



Одноплатный ПК HiFive Unleashed с 4-ядерным 1.5-ГГц RISC-V процессором U540 и 8 ГБ DDR4.

Китай также выделился как крупный приверженец RISC-V, несмотря на то, что большинство китайских технологических компаний по-прежнему в значительной степени полагаются на архитектуры Arm и x86. Так, в 2019 году холдинг Alibaba сообщил, что его дочерняя компания Pingtou Ge разработала процессор XuanTie 910 на основе архитектуры RISC-V. Он имеет 16 ядер, базируется на 12-нм техпроцессе и ощутимо быстрее конкурентов по производительности на герц, что делает его хорошим выбором для использования в продвинутой «умной» технике.

Также высказываются предположения о том, что предстоящее приобретение Nvidia компании Arm за 40 миллиардов долларов может осложнить дальнейшее использование одноименной архитектуры китайскими компаниями из-за экспортных санкций США. Эта неопределенность также может заставить крупные китайские компании искать «запасной аэродром», и RISC-V отлично подходит на эту роль. Но Arm, похоже, в любом случае стремится удержать своих китайских клиентов: их новая архитектура ARMv9 на данный момент свободна от санкций Соединенных Штатов, что позволяет ее использовать, например, компании Huawei.

В любом случае, архитектура Arm сейчас твердо стоит на ногах: она имеет поддержку в лице Apple, занимает 95% рынка смартфонов и каждый третий чип в мире базируется именно на ней. Конечно, компания Arm знает о появлении сильного конкурента в лице RISC-V, и даже пыталась воспрепятствовать его развитию маркетинговым путем: в 2018 году она открыла сайт (который сейчас уже не работает), где подчеркивала преимущества ARM-архитектуры по стоимости чипов, уже созданной экосистеме, большей безопасности и фрагментации. Впрочем, раз сайт закрылся — значит, маркетинговое давление успеха не возымело.

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

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


Несмотря на разные подходы, и RISC-V International, и Arm, похоже, согласны с тем, что будущее разработки чипов будет тесно связано с разнообразным набором архитектур. По мнению Авада, открытый исходный код будет играть немалую роль в разработке микросхем будущего наряду с традиционными моделями лицензирования и инструментами автоматизации проектирования.

Точно так же Марк Химельштейн, технический директор RISC-V International, видит «множество мест для сосуществования нескольких процессорных архитектур в мире», даже когда он указывает на модель RISC-V с открытым исходным кодом и отсутствием лицензий как на конкурентные преимущества этой архитектуры.

«Мы все чаще видим, что люди хотят самостоятельно контролировать свою судьбу», — говорит Химельштейн. «Это то, чему их научил Linux, и это то, чего они хотят и от оборудования».

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

С аппаратной позиции архитектура процессора, называемая иногда микроархитектурой, является набором свойств, характерным для всего семейства процессоров и отражающим базовые особенности его внутренней организации. К примеру, микроархитектура процессоров Intel Pentium имела обозначение Р5, а процессоры Pentium 4 относились к NetBurst. После закрытия Intel микроархитектуры Р5 для производителей AMD разработала архитектуру К7 и К8 для процессоров Athlon, Athlon XP и Athlon 64 соответственно.

CISC

CISC-архитектура (Complex Instruction Set Computer) относится к процессорам с полным набором команд. Она имеет нефиксированную длину команд, отличается кодированием арифметических действий в единой команде и малым количеством регистров, большинство из которых выполняет только выделенную функцию.

CISC реализована во множестве типов микропроцессоров, таких как Pentium, которые выполняют большое количество разноформатных команд (порядка 200-300), применяя более десяти различных способов адресации. Командная система может включать несколько сотен команд различного уровня сложности или формата (от 1 до 15 байт).


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

  • x86 (IA-32, сокращенное от "Intel Architecture, 32-bit") - ;
  • x86_64 (AMD64);
  • Motorola MC680x0;
  • мейнфреймы zSeries.

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

RISC-архитектура (Reduced Instruction Set Computer) относится к процессорам с сокращённым набором команд. В ней быстродействие увеличивается посредством упрощения инструкций: за счёт того, что их декодирование становится проще, уменьшается время исполнения. Изначально RISC-процессоры не обладали инструкциями деления и умножения и не могли работать с числами, имеющими плавающую запятую. Их появление связано с тем, что в CISC достаточно много способов адресации и команд использовались крайне редко.

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

RISC процессор ARM Cortex-A15

Благодаря сокращению аппаратных средств, используемых для декодирования и реализации сложных команд, достигается значительное упрощение и снижение стоимости интегральных схем. В то же время возрастает производительность и снижается энергопотребление, что особенно актуально для мобильного сегмента. Эти же достоинства служат причиной использования во многих современных CISC-процессорах, например в последних моделях К7 и Pentium, RISC-ядра. Сложные CISC-команды заранее преобразуются в набор простых RISC-операций, которые оперативно выполняются RISC-ядром.

Характерными примерами RISC-архитектур являются:

  • PowerPC;
  • DEC Alpha;
  • ARC;
  • AMD Am29000;
  • серия архитектур ARM;
  • Atmel AVR;
  • Intel i860 и i960;
  • BlackFin;
  • MIPS;
  • PA-RISC;
  • Motorola 88000;
  • SuperH;
  • RISC-V;
  • SPARC.

RISC быстрее CISC, и даже при условии выполнения системой RISC четырёх или пяти команд вместо единственной, выполняемой CISC, RISC выигрывает в скорости, поскольку его команды выполняются в разы оперативнее. Однако CISC продолжает использоваться. Это связано с совместимостью: x86_64 продолжает лидировать в десктоп-сегменте, а поскольку старые программы могут функционировать только на x86, то и новые десктоп-системы должны быть x86(_64), чтобы дать возможность старым программам работать на новых устройствах.

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

MISC

MISC-архитектура (Minimal Instruction Set Computer) является процессором с минимальным набором команд. Она отличается ещё большей простотой и используется для ещё большего снижения энергопотребления и итоговой стоимости процессора. MISC-архитектура применяется в IoT-сегменте и компьютерах малой стоимости вроде роутеров. Первой вариацией такого процессора стал MuP21.

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

Все вышеназванные архитектуры могут применять «спекулятивное исполнение команд», то есть исполнение команды заранее, когда ещё неизвестна её необходимость. Это позволяет увеличить производительность.

VLIW

VLIW-архитектура (Very Long Instruction Word) относится к микропроцессорам, применяющим очень длинные команды за счёт наличия нескольких вычислительных устройств. В отдельных полях команды присутствуют коды, которые обеспечивают реализацию различных операций. Одна команда в VLIW может исполнить одновременно несколько операций в разных узлах микропроцессора. Формированием таких длинных команд занимается соответствующий компилятор во время трансляции программ, которые написаны на высокоуровневом языке.

VLIW-архитектура, являясь достаточно перспективной для разработки нового поколения высокопроизводительных процессоров, реализована в некоторых современных микропроцессорах:

  • Intel Itanium;
  • AMD/ATI Radeon (с R600 до Northern Islands);
  • серия «Эльбрус».

VLIW процессор Эльбрус-8С

VLIW схожа с архитектурой CISC, имея собственный аналог спекулятивной реализации команд. Однако спекуляция выполняется не при работе программы, а при компиляции, что делает VLIW-процессоры устойчивыми к уязвимостям Spectre и Meltdown. Компиляторы в этой архитектуре привязаны к определённым процессорам. Так, в следующем поколении наибольшая длина одной команды может из 256 бит превратиться в 512 бит, и тогда придётся выбирать между обратной совместимостью со старым типом процессора и возрастанием производительности посредством компиляции под новый процессор. И в этом случае Open Sourсe даёт возможность получить программу под определённый процессор при помощи перекомпиляции.

Развитием указанных архитектур стали различные гибридные архитектуры. К примеру, современные x86_64 процессоры CISC-совместимы, однако имеют RISC-ядро. В этих CISC-процессорах CISC-инструкции переводятся в набор RISC-команд. Вероятно, в дальнейшем разнообразие гибридных архитектур только возрастёт.

Читайте также: