RISC-V — новая звезда: x86 остался в стороне, ARM потеряла свои позиции

RISC-V — новая звезда: x86 остался в стороне, ARM потеряла свои позиции

Привет, постоянные и не очень читатели 🙂 

Это снова я — с четвёртой статьей из цикла про архитектуры, процессоры и всё такое. Напомню, как всё было:

  • Part I: Скандальное разоблачение x86: ARM врывается с двух ног

  • Part II: Этой индустрии нужен новый герой: ARM врывается с двух ног

  • Part III: Китайский киднеппинг: похищение дочки

  • Part IV: RISC-V — звез.да родилась: x86 не у дел, ARM сломала две ноги ← ВЫ ЗДЕСЬ

    С тех пор утекло много всяких жидкостей: в x86 титанические сдвиги из-за провалов Intel

    RISC-V (произносится как «риск-пять») — это открытая модульная процессорная архитектура и система команд, представленная в 2010 году. По меркам других архитектур это буквально вчера (x86 в 16-битном виде появилась на свет божий в 1978 году). 

    Родилась эта чудо-архитектура в лабораториях (хочется верить, подземных) Калифорнийского университета в Беркли. В основе лежит концепция RISC (Reduced Instruction Set Computing), как и у ARM. RISC-V изначально отличался от схожих проектов тем, что планировался для множества компьютерных задач, а не только для образования.

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

    Профессор Ксавье Дэвид Паттерсон — американский учёный, профессор информатики в Калифорнийском университете в Беркли, лауреат премии Тьюринга, гений, филантроп, миллиардер. Он стоял у истоков разработки архитектуры RISC ещё в 1980-х годах, так что и за ARM можно благодарить этого человека. Паттерсон ввел сам термин RISC и сыграл ключевую роль в развитии концепций, которые легли в основу RISC-V. Капля оффтопа: он также участвовал в создании технологии RAID-массивов, без которой сложно представить современные серверы.

    Дэвид Паттерсон (не Патрик Стюарт).
    Дэвид Паттерсон (не Патрик Стюарт).

    Крсте Асанович — учёный-инженер, доктор компьютерных наук в Беркли, соучредитель SiFive (это бесфабричная полупроводниковая компания, занимающаяся разработкой коммерческих процессоров RISC-V и IP-блоков для них). Был одним из ведущих архитекторов проекта RISC-V. Асанович и его студенты в лаборатории разработали первые спецификации RISC-V и начали активное продвижение идеи открытой архитектуры.

    Крсте Асанович.
    Крсте Асанович.

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

    Карло Секвин.
    Карло Секвин.

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

    У внимательного читателя, вероятно, появится вопрос: окей, RISC-V, а что там с первыми 4 версиями? 5 скорее указывает не на версию, а на историческую преемственность и улучшение предыдущих наработок архитектуры-прародительницы RISC и других схожих технологий.

    • Berkeley RISC (1980-1984 г.): первая версия архитектуры, разработанная в Беркли под руководством Дэвида Паттерсона и его команды. В итоге появился экспериментальный процессор RISC-I (44 420 транзисторов) с упрощённым набором команд (32 инструкции), который смог доказать эффективность концепции RISC по сравнению с традиционными архитектурами CISC. Через пару лет появился RISC-II (40 760 транзисторов) — это улучшенная версия процессора RISC-I с увеличенным набором команд (39) и примерно в 3 раза большей производительностью, чем у RISC-I. 

    Проект показал, что простая архитектура может быть функциональной и эффективной. Для достоверности отмечу, что ещё до появления названия RISC уже были устройства, которые можно отнести к этой концепции: CDC 6600, Data General Nova, семейство процессоров IBM 801. Но именно проект Berkeley RISC дал название архитектуре. Проект позже коммерциализировала Sun Microsystems — так появился SPARC; также RISC вдохновил на создание архитектуры ARM.

    RISCовые парни и просто отличные инженеры: Джим Пик, Корбин Ван Дайк, Цви Пешкесс, Дэн Фицпатрик, Джон Фодераро.
    RISCовые парни и просто отличные инженеры: Джим Пик, Корбин Ван Дайк, Цви Пешкесс, Дэн Фицпатрик, Джон Фодераро.
    • Stanford MIPS: работа над этой архитектурой в исследовательских целях велась параллельно в Стэнфорде с 1981 года по 1984 год под руководством Джона Хеннесси. Что-то вроде ответа на RISC и IBM 801. Эта работа стала фундаментов для компании MIPS Computer Systems и коммерческих процессоров семейства MIPS, которые широко использовались в индустрии (например, микропроцессор R2000): встраиваемые компьютеры, ПК, рабочие станции, серверы и суперкомпьютеры.

    • SPARC: Архитектура SPARC (Scalable Processor Architecture) была разработана компанией Sun Microsystems на основе концепций RISC в конце 1980-х годов. SPARC широко применялся в рабочих станциях и серверных системах.

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

      Открытость, модульность и кастомизация — три крепко связанных столпа RISC-V, которые недоступны корпоративным мастодонтам, вроде ARM Ltd., Intel и AMD.

    Первое — открытость

    Открыт к любому сотрудничеству.
    Открыт к любому сотрудничеству.

    Полная спецификация RISC-V доступна всем желающим. Эта архитектура не связана лицензиями, патентами и прочей капиталистически-позолоченной мишурой. Если Стив Возняк и загадывал у Санты что-то на Рождество, то именно такой подход в микроэлектронике. Любая компания — от стартапа до некогда циклопической IBM — может использовать RISC-V за 0 шекелей. И это хорошо. Но что ещё есть в рукавах у RISC-V?

    Модульность и кастомизация

    Модульность RISC-V наглядно показывается в начале фильма Дэдпул и Росомаха.
    Модульность RISC-V наглядно показывается в начале фильма Дэдпул и Росомаха.

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

    Ремарка! Архитектура RISC-V включает в себя небольшое обязательное для выполнения подмножество команд (набор инструкций I — Integer) и несколько стандартных опциональных расширений.

    Базовый набор поддерживает все стандартные операции: арифметические/бытовые регистровые вычисления, управление памятью (load/store), операции ввода-вывода и синхронизацию многозадачных процессов. Вендоры могут добавлять или убирать функциональные блоки/модули для обработки графики, работы с БД или ИИ, минимизируя ненужные инструкции и легаси хвост. Их можно создавать с нуля; можно брать открытые бесплатные решения; можно лицензировать чьи-то проприетарные решения. Это крайне эффективный и гибкий подход.

    Для примера приведу Rocket Chip (здесь про него подробно) — это фреймворк для проектирования систем на кристалле (SoC) с открытым исходным кодом, разработанный командой в Беркли на базе RISC-V. По сути это настраиваемый и гибкий фундамент (платформа) для проектирования и создания высокопроизводительных процессоров. Включает в себя базовые ядра RISC-V, поддерживающие кэширование, многопоточность и даже расширенные инструкции для работы с нейросетями.

    Где место под солнцем RISC-V

    HiFive Unleashed от SiFive — плата для разработки с поддержкой Linux и со встроенным SoC Freedom U540 (FU540), первым в мире многоядерным процессором RISC-V.
    HiFive Unleashed от SiFive — плата для разработки с поддержкой Linux и со встроенным SoC Freedom U540 (FU540), первым в мире многоядерным процессором RISC-V.

    Вы наверняка слышали про концепцию ASIC (Application-Specific Integrated Circuit, интегральная микросхема для конкретного применения). В наше время ASIC-устройства обычно используют под одну задачу, например, майнинг криптовалют или обработку пакетов данных, минуя CPU. 

    Первые ASIC появились в далёкие 1970-е годы, компании разрабатывали интегральные схемы для конкретных задач — большие объёмы вычислений, где простота и скорость важнее универсальности; да, это сильно ограничивало функционал, но стоили они дешевле в пересчёте на производительность в конкретных вычислениях: математические операции, управление процессами, фильтрация сигналов и декодирование информации.

    В общем, ASIC — технологии предтеч.

    США, 70-е годы.
    США, 70-е годы.

    Расцвет ASIC пришелся на 1980-е — времена Майкла Джексона, Звёздных войн (тех самых, трушных); зачатков интернета в виде ARPANET, первых мобильных телефонов в чемоданчиках. ASIC прижился в телекоммуникациях, компьютерных системах и промышленной автоматизации. 

    В нелихие 1990-е (в Штатах то бишь) технологию оптимизировали и удешевили благодаря EDA-инструментам (автоматизация проектирования), а уже в нулевых начался самый сок. Вернее SoC (System-on-a-Chip, SoC) — система на одном кристалле. При проектировании в одном чипе научились размещать несколько функциональных блоков: вычислительные ядра (прикладной процессор общего назначения), память, интерфейсы I/O и прочие компоненты, что не только удешевляет производство, но и сокращает энергопотребление. По сей день SoC — это стандарт в индустрии. Все современные ASIC стали SoC, а все SoC по своей сути ASIC со вспомогательными блоками. ASIC — как отдельные устройства — продолжают использовать в ИИ, 5G, автономных системах, криптомайнинге и т.д. 

    Apple's Neural Engine (ANE, нейронный движок от Apple). По сути специализированные ядра, aka ASIC-блоки в составе SoC.
    Apple’s Neural Engine (ANE, нейронный движок от Apple). По сути специализированные ядра, aka ASIC-блоки в составе SoC.

    Но причём тут RISС-V?

    На рынке доминируют x86 и ARM. У первой монополия в настольных и серверных системах (доля ARM незначительна) и легаси хвост размером с Якутию; у второй монополия в мобильных и встроенных системах, а также строгое лицензирование и стандартизация для совместимости (ANE прикрутить можно, но значительная часть должна быть такой, какой её разработала компания ARM Ltd.).

    RISС-V выигрывает по многим параметрам: нет гигантского легаси-хвоста; нет строгой стандартизации ядер, как в ARM (но это же и проблема для оптимизации); порог входа для потенциального вендора значительно ниже, чем в x86 (никого, кроме Intel и AMD, по существу и нет); лицензирование блоков от сторонних разработчиков по желанию; простота разработки новых микроконтроллеров или процессоров. 

    Особенно выигрышно RISС-V смотрится в узкоспециализированных решениях: ASIC, SoC с блоками для решения конкретных задач, микроконтроллерах / MCU (MCU в контексте SoC означает включение блока микроконтроллера в более крупный дизайн интегральной схемы), IoT (Internet of Things, интернет вещей).

    Серверный чип Google Titan (слева) и чип безопасности Titan M первого поколения (справа)
    Серверный чип Google Titan (слева) и чип безопасности Titan M первого поколения (справа)

    Крупные игроки, вроде Alibaba и Google, уже включились в развитие архитектуры. Google, к слову, создаёт проприетарные ключи безопасности Titan для облачных сервисов и устройств, внутри которых криптопроцессор на RISC-V. Также у них есть Titan M2 для смартфонов Pixel на RISC-V — это отдельный чип (SoC-ASIC), который не использует ресурсы основного процессора. Что-то вроде модуля TPM (Trusted Platform Module) в материнских платах (штука, которая требуется для установки Windows 11, тоже про безопасность).

    И особенно важно, что Google планирует сделать RISC-V архитектурой «tier-1» для Android. А это уже серьезная заявка.

    RISC повсюду

    RISC-V создаёт уникальные условия для развития: открытость, гибкость и адаптируемость на аппаратном уровне, независимость от политики, санкций и т.п. С санкциями уточню: так как RISC-V открыта, международное комьюнити крайне важно; прямые санкции невозможны, но можно объявить страну (или любой НИИ) нерукопожатной — и никто из светлых демократий не рискнёт начать совместные проекты или продавать лицензии на свои IP. Штаты вставляют палки в колёса Китаю и будут вставлять всем остальным, кому пожелают. В России уже создали свою ассоциацию «Альянс RISC-V».

    Конгломераты и корпорации, которые могут позволить себе исследования и разработку, а также заказать производство более-менее крупной партии чипов на TSMC или же на фабрике с устаревшим техпроцессом (далеко не везде нужны 3-нанометровые чипы), разрабатывают собственные кастомные решения на базе RISC-V — так и контроля больше (никаких тебе аппаратных закладок в безопасности) и свобода от лицензирования. Хотя на практике разработка сложного SoC на RISC-V с нуля не имеет смысла для большинства компаний — есть готовые открытые или платные IP (Intellectual Property) «кубики», этакие модули, которые можно взять бесплатно или лицензировать и использовать для своей системы на кристалле: блоки обработки данных, интерфейсы, контроллеры памяти и другие компоненты, которые разработчики интегрируют в свои SoC, вместо того чтобы разрабатывать их с нуля.

    Примеры продуктов на RISC-V

    Qualcomm и их микроконтроллеры; Alibaba и их процессоры XuanTi; SiFive и их 64-битные многоядерные чипы (даже Linux-дистрибутивы работают); DeepComputing продает ноутбук DC-ROMA Laptop II, планшет DC-ROMA Pad II для нативной разработки и другие продукты. Semidynamics представила первый в мире полностью когерентный тензорный блок RISC-V.

    DC-ROMA Laptop II. Ага, уже вторая версия.
    DC-ROMA Laptop II. Ага, уже вторая версия.

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

    Единичные поставки RISC-V SoC. По прогнозам, объем поставок SoC на базе RISC-V вырастет до 16,2 млрд единиц, а доходы достигнут 92 млрд долларов к 2030 году, при этом годовые темпы роста составят 44% и 47% соответственно. Отчёт можно скачать здесь.
    Единичные поставки RISC-V SoC. По прогнозам, объем поставок SoC на базе RISC-V вырастет до 16,2 млрд единиц, а доходы достигнут 92 млрд долларов к 2030 году, при этом годовые темпы роста составят 44% и 47% соответственно. Отчёт можно скачать здесь.

    Разумеется, RISC-V рассматривается как технология для космических программ и военных систем: европейское космическое агентство (ESA) изучает — а может уже и использует — эту архитектуру для создания процессоров в космических устройствах. Открытость RISC-V позволяет избежать тотальной зависимости от американских/английских технологий, что вроде как критично в условиях возможных санкций или геополитических ограничений (оставлю комментарии при себе, но видимо, даже у европейцев где-то есть план Б или план последней буквы английского алфавита). Россия, к слову, тоже инвестирует в потенциал RISС-V, хотя у нас и свой Эльбрус есть.

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

    Если подытожить, то RISC-V развивается вширь и вглубь, тогда как x86 поплохело (надеюсь, Intel справится с проблемами, нам нужна конкуренция), а ARM сбавил обороты. На RISC-V уже есть реальные продукты, да, нишевые, но потенциала достаточно для ПК, игровых консолей, смартфонов, серверов и т.п.

    Не выводы, но проблемы

    Видится мне кипа заградительных стен для RISC-V. Если передовые разработки будут в области военной и космической промышленности (а так и бывает, как правило), то никто ими делиться не будет — даже спустя годы. Если условный Китай или Россия под санкциями будет создавать передовые RISC-V чипы, то зачем делиться лицензией на блоки с «недружественными» странами? Если корпорация, вроде Apple, разработает эквивалент своих M-чипов на RISC-V, то ни Google, ни Samsung, ни Microsoft, ни кто-либо другой никогда их не увидит (справедливости ради, нынешних A и M-чипов на ARM тоже нет ни у кого, только чипы-конкуренты от Qualcomm и MediaTek).

    Фрагментация будет значительной (это одновременно вызов для совместимости, но и гибкость при создании специализированных решений, вроде ASIC) + сложности с кибербезом, но это необязательно плохо, в массовые продукты всё равно пойдут проприетарные блоки-доработки от корпораций, которые как были, так и будут их IP; туда же пойдут только чипы, совместимые с распространёнными пользовательскими и серверными ОС. Зато у корпораций не будет полной монополии на всё; появятся стартапы и небольшие компании, которые без собственных продуктов и производств будут создавать отличные модули для RISC-V процессоров.

    А как итог — максимальная свобода. Хочешь, создавай своё с 0; хочешь, бери что-то из открытых вариантов; не устраивает — делай гибрид или лицензируй блоки у сторонних компаний. Порог входа станет проще, влияние политики меньше, новых идей будет больше. Если сейчас сложно представить появление третьей стороны в мире x86, то в RISC-V такое будет возможно даже при одном всемирном гегемоне.

    RISC-V — это не просто технологическая альтернатива диктату x86 и ARM Ltd. Это новая философия проектирования процессоров: открытость, адаптивность и снижение затрат на разработку. Этакий конструктор для каждого, Open Source в мире микроэлектроники, если угодно.

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

    И у RISC-V есть всё, чтобы конкурировать с x86 и ARM даже в массовом сегменте.

     

    Источник

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