Газета "Коммерсантъ" опубликовала важный материал "Британия морозит «Байкал». Российские процессоры лишаются доступа к технологиям". К сожалению, авторы заметки никогда не видели то, о чем они написали, то бишь semiconductor IP, и не понимают его природы. Зато его видел я. Поэтому я решил написать к их заметке своего рода толкование:
Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал? (Спойлер: не патенты, хотя патенты в картину входят)
Чем Apple отличается от Байкала в лицензировании semiconductor IP?
Сколько стоят лицензии на ядра и сколько стоит архитектурная лицензия?
Как компания-разработчик semiconductor IP может обнаружить, что произведенный кем-то чип использует ее ядро?
Были ли прецеденты подобных высоких отношений с китайскими компаниями?
Почему в статье упоминается МЦСТ (Эльбрус)? Они же вроде сами спроектировали CPU собственной архитектуры? (Спойлер: а GPU?)
Могут ли британские патенты стать проблемой для разработчиков российcких ядер с архитектурой RISC-V?
Что логично ожидать от российских полупроводниковых стратегов?
Надо сказать, что для журналистов общественно-политических и бизнес изданий непонимание semi-IP - это норма. Я 10 лет назад привел известную российскую журналистку Евгению Альбац (ведущую программы Эхо Москвы и главреда "Нового Времени") в офис процессорной компании MIPS Technologies в Саннивейл, Калифорния. В то время там проектировалось процессорное ядро MIPS P5600, которое впоследствие было лицензировано в Россию как основа микропроцессора Байкал-Т1. Евгения, точно так же, как и журналисты Коммерсанта, думала, что речь идет о передаче каких-то патентов и была удивлена, что в компании существуют дедлайны для выпуска (чего? патентов?).
![](https://habrastorage.org/getpro/habr/upload_files/e8a/a7a/94e/e8aa7a94e0e88296d09573f6b1134426.png)
Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал?
Байкал Электроникс (как и Элвис, Миландр, Модуль, Прогресс и другие производители российких процессоров с лицензированными ядрами) получают от ARM или Imagination зазипованный tar-файл, который после распаковки превращается в дерево директорий со следующими файлами:
Код на языке описания аппаратуры Verilog или VHDL (Imagination PowerVR GPU написан на VHDL). Для небольших ядер, например микроконтроллерного класса, это десятки тысяч строк кода наподобие вот такого. Для ядер среднего класса - сотни тысяч строк, сложных может перевалить и за миллион.
Мейкфайлы и скрипты на баше, перле, питоне и tcl, которые запускают симуляцию (моделирование работы ядра с тестовыми программами) и синтез (превращение кода на верилоге в netlist - граф из логических элементов и D-триггеров (быстрых битов памяти)).
Тесты на Си, ассемблере и SystemVerilog (для интерфейсов шин) для проверки что процессорное ядро работает после интеграции в систему на кристалле заказчика (то бишь Байкала).
Документация по архитектуре и микроархитектуре. Хотя слова "архитектура" и "микроархитектура" звучат похоже, но общего между ними не больше, чем между словами "культура" и "физкультура".
Архитектура (ARM, MIPS, RISC-V, x86) - это система команд процессора, интерфейс процессора к программисту на ассемблере. Команды типа сложить, загрузить из памяти, перейти итд. Также видимые программисту регистры, которые используются в этих командах (более корректно называемых инструкциями). Instruction Set Architecture - ISA.
Микроархитектура (ARM Cortex-A78, MIPS P5600) - это внутреннее аппаратное устройство процессора, вид процессора с позиции железячника, его проектировщика. Устройство арифметических блоков, стадии конвейера итд. Код на верилоге описывает микроархитектурную реализацию.
Аналогия: архитектура - мануал по вождению автомобиля (как крутить руль, где смотреть скорость и как жать на педали). Микроархитектура - чертежи двигателя и трансмисcии.
[Также есть термин "архитектура системы на кристалле". Это другое чем "архитектура процессора", это про соединение и совместную работы разных блоков - CPU, GPU, нейроускорителей, и хардвера и софтвера - мы не будем углубляться в эту тему в этом посте.]
А при чем же здесь патенты, о которых пишет Коммерсант? Существуют патенты по микроархитектуре - скажем как устроен предсказатель перехода. Как выглядит патент. Если процессорное ядро скажем ARM использует способ организации такого предсказателя, который нарушает чужой патент, скажем от MIPS, то держатель патента (MIPS) может засудить ARM. Даже если инженеры ARM сами написали код на верилоге, который реализует идею, высказаную в патенте.
Но держатель патента как правило не может засудить покупателя лицензии на ядра от ARM, так в лицензионном соглашении прописано, что ARM защищает покупателя лицензии от таких судов и берет их на себя.
При этом судить можно не только за нарушение патента, но и нарушение копирайта на код на верилоге, использование его для создания чипа. Но об этом мы поговорим дальше.
Чем Apple отличается от Байкала в лицензировании semiconductor IP?
Apple начинали как Байкал. Для чипов в первых трех айфонах Apple лицензировали ядра CPU от ARM Holdings и ядра GPU от Imagination Technologies. Но начиная с четвертого айфона Apple стали переписывать верилог на основе собственной микроархитектуры, сохраняя совместимость с архитектурой ARM. В конечном итоге сейчас у них есть например процессор Apple M1, верилог которого написан в Apple, хотя по системе команд он совместим с архитектурными мануалами от ARM.
Для этого Apple купило у ARM и Imagination не только лицензии на ядра, но и так называемую архитектурную лицензию - право сделать клон с собственной (прямо хочется сказать "суверенной") микроархитектурой.
Вообще авторами процессорного ядра в индустрии как правило считается компания-автор микроархитектуры, а авторами процессорного чипа - компания-автор системы на кристалле. Поэтому когда в сетях говорят, что автором российcких процессоров Байкал является британский ARM (автор процессорного ядра) или тайваньская фабрика TSMC - они заблуждаются. Также автором процессорных ядер от компании Syntacore с архитектурой RISC-V является Syntacore (проектировщик микроархитектуры и писатель ядра на верилоге) а не RISC-V International (хранитель архитектуры).
Сколько стоят лицензии на ядра и сколько стоит архитектурная лицензия?
Как я писал в комментарии здесь:
Лицензия на ядро на порядок дешевле, чем архитектурная лицензия (архитектурная лицензия = право создать ядро со своей микроархитектурой / структурой конвейера, при этом совместимое по архитектуре / системе команд с лицензируемой архитектурой). Если огрубить и не учитывать разные опции:
Малое ядро микроконтроллерного класса - лицензия может быть десятки тысяч долларов
Среднее ядро типа для чипа в вай-фай роутере - лицензия может быть сотни тысяч долларов.
High-end ядро суперскалярного процессора - лицензия может быть миллион - пара миллионов долларов.
Архитектурная лицензия может быть десять - двадцать миллионов долларов.
Цифры могут быть больше или меньше в пару раз, а также могут быть разные отношения фиксированного платежа и платежа с каждой микросхемы (роялти), но соотношения примерно такие.
Насчет роялти - если ядро микроконтроллерного класса лицензируется крупной микроконтроллерной компании, которая продает его скажем десятками миллионов экземпляров, то фиксированный платеж становится неважным, сделка идет за отчисления от каждого выпущенного микроконтроллера, и при этом продажники торгуются за каждый цент.
Причины, по которой архитектурные лицезии дороже чем лицензии на ядра:
Продавая архитектурную лицензию, продавец создает конкуренцию своим ядрам.
Продавец архитектурной лицензии предоставляет тесты, покрывает патентами и вообще заботится, что процессор покупателя будет действительно соответствовать архитектуре (системе команд)
Как компания-разработчик semiconductor IP может обнаружить, что произведенный кем-то чип использует ее ядро?
Компании, которые продают лицензируемые IP-ядра, используют технологии так называемого watermarking ("водяные знаки"). Они в частности реализуют недокументированное в поставляемых мануалах поведение, когда при использовании редких инструкций с параметрами, поведение для которых не определено, в регистрах появляются некие магические значения.
Фактически это выявление нарушения копирайта на код на верилоге. Нарушение в derivation - использование кода для создания чипа.
Нарушения микроархитектурных патентов выявлять куда сложнее, хотя и такое бывает (см. пункт 7 ниже).
Также бывают суды по нарушению архитектуры, например MIPS versus Lexra, в котором код на верилоге свой, но патент на архитектуру нарушен. Речь шла об инструкциях чтения и записи слова по невыровненному адресу - слово читалось в два приема иструкциями LWL/LWR, Load Word Left + Load Word Right. Именно чтобы не попасть под такой суд, нужно покупать архитектурную лицензию (а не лицензию на ядро). И именно из-за таких судов возникло движение RISC-V.
Были ли прецеденты подобных высоких отношений с китайскими компаниями?
О да. Китайский институт ICT создал в 2002 году "Чип Дракона" Loongson. На архитектуре MIPS64 с собственными расширениями. Потом они выступали на конференциях и говорили, что ничего не нарушают, потому что написали процессор сами. MIPS Technologies их не судил, потому что 1) обожглись на истории с Lexra, которая в индустрии воспринималась не в пользу MIPS и 2) для американской компании засудить кого-нибудь в КНР - это очень нетривиально.
Но стоило "Чипу Дракона" высунуться из КНР и начать переговоры с французско-итальянской ST Microelectronics, чтобы та производила Loongson на фабрике вне КНР (по моему в Малайзии, но я могу путать), как ST им настоятельно порекомендовала урегулировать отношения с MIPS Technologies, и ICT после нескольких полетов вице-президента MIPS в КНР все-таки купил архитектурную лицензию. ссылка 1 ссылка 2
Три года назад китайская компания CIP замутила следующую часть мерлезонского балета, но это уже лишнее для нашего поста.
Почему в статье упоминается МЦСТ (Эльбрус)? Они же вроде сами спроектировали CPU собственной архитектуры? (Спойлер: а GPU?)
МЦСТ гордится что они создали не только российскую систему на кристалле (как Байкал) и не только российскую микроархитектуру (как НИИСИ с MIPS и Syntacore и CloudBEAR с RISC-V), но даже свою архитектуру Эльбрус.
Почему же тогда их упомянули в статье в Коммерсанте?
И вот например Илья Кичаев написал:
"Процессоры «Эльбрус» под санкции не попадают — они создаются на собственной одноимённой архитектуре, разработанной на основе микроархитектуры VLIW."
Увы, Илья, вы не правы. И дело даже не в том, что VLIW - это не микроархитектура, а архитектурный принцип (Илья, как и Евгения Альбац, как и Татьяна Исакова, Никита Королев и Юрий Литвиненко - тоже не знают разницу между культурой и физкультурой, тьфу, архитектурой и микроархитектурой).
Дело в том, что Эльбрус лицензировал у британской компании Imagination Technologies графический процессор PowerVR. Эльбрусовцы это не афишируют, но это можно нагуглить:
![](https://habrastorage.org/getpro/habr/upload_files/b58/2f4/6cd/b582f46cd088afc8eae915ef9e85b073.png)
Я вот встречал в соцсетях инфо "раньше у компьютеров с Эльбрусом за курсором мышки был шлейф, а сейчас нет". Вот наверно это из-за этого. (шутка)
Могут ли британские патенты стать проблемой для разработчиков российcких ядер с архитектурой RISC-V?
Сейчас российcкие команды Syntacore и CloudBEAR проектируют процессоры с собственной микроархитектурой на основе архитектуры RISC-V. RISC-V примечательна тем, что за нее не нужно платить архитектурную лицензию, хотя за спроектированные на ней ядра можно получать деньги за лицензии на ядра. RISC-V - это способ для индустрии избавиться от засилья архитектурных лицензий от ARM (и ранее MIPS) с помощью создания индустриального комитета который следит за единством микроархитектурных реализаций, но не берет за это деньги. Типа Linux, но в hardware.
См. напр. комментарий:
"Я читал о планах создания российского производства на технологии 28 нанометров, но не в курсе, насколько этот план близок к осуществлению. Если бы построить такую фабрику, и если бы на ней удалось достичь высокий выход годных чипов (yield), то можно было бы выпускать компьютеры, похожие на современный Lenovo Chromebook S330. Это так называемый хромбук, недорогой компьютер для школ с чипом MediaTek MT8173C на 28 нанометров, на основе лицензируемых ядер ARM и операционной системой ChromeOS. Хромбуки (как с чипами на основе ARM так и другими) стали самыми популярными компьютерами в американских школах, они обогнали и компьютеры с Windows, и Apple
... Одновременно с "Байкалом" над процессорами похожего класса работает команда Syntacore компании "Ядро", причем их процессор будет использовать спроектированное в России процессорное ядро на основе архитектуры RISC-V. Если это решение взлетит, российской экосистеме удастся не только избавиться от зависимости от иностранных ядер ARM, но получить ядро, которое можно попробовать продавать на внешнем рынке. Если своей фабрики на 28 нанометров построить не удастся, то российским разработчикам придется придумывать схемы партнерства с разработчиками систем на кристалле в КНР и Индии, которые теоретически могли бы лицензировать то же ядро от Syntacore и выпустить свой чип с российким ядром."
Но увы, даже тут не все совсем безоблачно. Если россияне в Syntacore или CloudBEAR нарушат микроархитектурный патент (скажем на конкретную конструкцию предсказателя переходов или там реализации менеджера когерентности), то их теоретически может засудить ARM или Imagination. Несмотря на другую архитектуру - RISC-V, а не ARM. Потому что одни и те же микроархитектурные находки могут использоваться даже в процессорах с разной архитектурой. Даже членство в RISC-V, по моей информации, не защищает от таких судов. Но это мелочи жизни по сравнению с санкциями по линии TSMC или по линии процессорных ядер от ARM.
Что логично ожидать от российских полупроводниковых стратегов?
Максимально финансировать Syntacore и CloudBEAR (RISC-V - избавление зависимости от ARM) и повысить зарплаты их проектировщиками и верификаторам, чтобы те к следующему апрелю, когда откроется следующий раунд H-1 виз, не сбежали бы в Америку. Противное американское правительство недавно объявило, что не будет больше требовать спонсорство от работодателей для получения H-1 визы российким гражданином - оно хочет выманить всех таких людей из России.
Сфинансировать проект российcкого GPU. А то даже с Эльбрусом неудобно получается - и они используют лицензированное в Великобритании semiconductor IP. Проект будет длиться минимум года три, если не пять, и к тому времени или санкции от TSMC снимут, или российкую фабрику на 28 нм построят - так что это имеет смысл.
Сфинансировать российские средства проектирования на основе OpenROAD/OpenLane итд. Тоже на несколько лет проект. Может до уровня Synopsys, Cadence и Mentor Graphics и не дойдут, но что-то полезное будет.
UPD: мне в байкаловском чате в телеграмме дополнили: "Единственно дополнил бы последний пункт соображениями о необходимости не забывать про все остальные IP, без них SoC не построишь. Особенно это касается памяти, она не backward compatible." Да, у Элвис есть свои DSP IP, у IVA Tech IP-блок для ускорения нейросеток, но есть и другие типы IP-блоков, например для wireless интерфейсов.
UPD2: Пояснения от эльбрусовцев, конкретно от Максима Горшенина:
1. Да, в Эльбрус-2С3 3D-ядра компании Imagination (был выбор из множества, в том числе и ARM, Vivante, etc.)
2. 2D и дисплейный контроллер МЦСТ использует собственной разработки в процах со встроенной графикой (Эльбрус-1С+, Эльбрус-2С3, МЦСТ R2000+), а не покупные.
3. Выдумки про «шлейф от курсора» всего лишь выдумки и предположения.
4. В Эльбрус-1С+ и МЦСТ R2000+ 3D-ускорение от компании Vivante, Эльбрус-2С3 один проц с ядрами компании Imaginarion
P.S. Предусмотрено в процессорах от МЦСТ отключение подачи питания на покупные 3D-ядра. И тогда будет работать только 2D-ядро с видеоускорением, написанное и созданное компанией МЦСТ, что позволяет продолжить работу проца и выводом видеоизображения, но с отключенным 3D-ускорением.
Покупные 3D-ядра работают и взаимодействуют со всем остальным только через дисплейный контроллер собственной разработки МЦСТ. Получается что-то вроде «забора» вокруг покупных ядер. Сделано для безопасности и ограничения влияния/эксплуатации вероятных недокументированных возможностей в покупных ядрах.