LINUX.ORG.RU

НИИЭТ начал серийные поставки микроконтроллеров RISC-V российским производителям электроники

 , , ,


2

3

АО «НИИЭТ» (входит в Группу компаний «Элемент», MOEX: ELMT) начал серийные поставки 32-разрядных микроконтроллеров К1921ВГ015 на базе открытой архитектуры RISC-V российским производителям электроники. Микросхемы могут применяться в измерительных приборах, счетчиках газа и электроэнергии, системах промышленной автоматизации, медицинской технике и других энергоэффективных встраиваемых устройствах. Поставки стали следующим этапом развития продукта после освоения серийного выпуска и запуска технологического участка по корпусированию микросхем. В феврале 2025 года на площадке НИИЭТ была выпущена первая серийная партия микросхем в пластиковых корпусах. Корпусирование изделий выполняется на собственном технологическом участке института. За год работы суммарный объем выпуска технологического участка составил около 1.5 млн. изделий. Проектная мощность линии достигает 10 млн. изделий в год.

К1921ВГ015 — флагманский 32-разрядный ультранизкопотребляющий микроконтроллер НИИЭТ на базе открытой архитектуры RISC-V. Он предназначен для энергоэффективных встраиваемых устройств и может использоваться в системах учёта ресурсов, средствах измерения, промышленной автоматизации, медицинской технике и других прикладных решениях. Микросхема включена в единый реестр российской радиоэлектронной продукции в соответствии с постановлениями Правительства РФ №719 и №878.

«В новых проектах по разработке отечественных микроконтроллеров НИИЭТ переходит на использование вычислительных ядер архитектуры RISC-V. Её открытая, модульная и масштабируемая структура позволяет создавать решения под конкретные задачи — от низкопотребляющих контроллеров датчиков и приборов учёта до устройств граничных вычислений, сетевого оборудования и многоядерных процессоров. Такой подход помогает развивать линейку продуктов на единой технологической основе, с общими инструментами разработки, инженерной и образовательной поддержкой», — отметил Иван Фефилов, советник генерального директора НИИЭТ.

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

Эти направления развивает Российский Альянс RISC-V, объединяющий разработчиков вычислительной техники и программного обеспечения, производителей микроэлектроники, университеты и научные организации. В число учредителей Альянса входят YADRO, Baikal Electronics, Syntacore, Группа Астра, «Новатор» и НИУ МИЭТ. В экосистеме Альянса микроконтроллеры на базе RISC-V развивают несколько участников: наряду с НИИЭТ, «Байкал Электроникс» выпускает серийный 32-разрядный микроконтроллер Baikal-U (BE-U1000) для промышленной автоматизации, робототехники, приборов учёта, устройств ввода-вывода и решений для интернета вещей.

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

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

Следует отметить активную работу комитетов альянса по разработке криптографических расширений RISC-V для отечественных алгоритмов. Есть канал альянса в рутьюбе, Максе, телеграмме и блог на Хабре.

Альянс предоставляет удалённый доступ к стендам и отладочным платам.

>>> Источник: riscv-alliance.ru/news

★★☆

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 2)
Ответ на: комментарий от sabacs

Отчего же не посмотреть. Поскольку эти микроконтроллеры не рассчитаны на доступ к большой и медленной оперативной памяти, в них всё сделано аппаратно - стек регистровый, все адреса возврата хранятся в этой области, а не в памяти, которой просто может не быть, доступ и операции со стеком отделены от операций с данными. Это предельный случай. Почему это должно быть эталоном не совсем понятно. Эти серии микроконтроллеров имеют свою область применения, где контроль часто имеет высший приоритет и поэтому требует гарантированного и детерминированного времени для каждой операции. Есть и другие подходы, где обработка больших объёмов данных имеет выше приоритет, чем управление. Зачем там столько кремния на стек? Power архитектура вполне обходится LR, SPARC архитектура промежуточная, она использует регистровые окна вместе с поддержкой быстрой смены контекста. Ни одна из этих архитектур не должна рассматриваться как эталонная.

VIT ★★★
()
Ответ на: комментарий от sabacs

Мне показалось, что PIC был приведён в качестве примера «как надо». Я был не прав, мне показалось.

VIT ★★★
()
Ответ на: комментарий от luke

После этого у компиляторщиков начинается сущий кошмар.

«Ну, да! Ну, ужас! Но не „ужас-ужас!“» ))

GAMer ★★★★★
()
Ответ на: комментарий от unname

В СМЫСЛЕ? В КР580ВМ80А вполне себе был SP/УС и завязанные на него PUSH/POP/CALL/RET.

Или ты под аппаратным стеком понимаешь совсем отдельную память для него, не пересекающуся с основным ОЗУ? Так в таком понимании стек и сейчас обычно «программный».

Получается, @VIT правильно задал уточняющий вопрос :)))

P.S. Вот в 8008, как пишут, стек был действительно аппаратный в строгом смысле слова. А в 8080 аппаратного УЖЕ не было, и насколько я понимаю, в современных тоже нет. Но 8008 мне пощупать не довелось. А на КР580ВМ80А писал долго и увлечённо, и PUSH/POP, разумеется, пользовался.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от unname

Что значит «стек руками запускался»? Инициализация SP? Если да, то как минимум в интеловских процессорах оно и сейчас операционкой инициализируется, только сейчас ещё всякие EBP/RBP картину усложнили.

hobbit ★★★★★
()
Ответ на: комментарий от unname

этот стек руками запускался из общей памяти

Никто и никуда не «запускался».

При «старте» процессора программно инициализировался указатель стека (обычно «вверху» доступной оперативной памяти). Дальнейшая работа со стеком происходила либо «автоматически», посредством использования «железа» процессора при вызове подпрограмм («CALL»)/возврате из подпрограммм («RET»), либо «ручками», с использованием упомянутых выше команд процессора «PUSH/POP».

Это и есть «поддержка работы со стеком» в Intel 8080A/КР580ИК80А/КР580ВМ80А...

Somebody ★★★★
()
Ответ на: комментарий от Enthusiast

Ещё только «пишет»??.. Так на кой тогда такие контроллеры?.. :(

Для российского 32-разрядного микроконтроллера MIK32 «Амур»

Так тема-то вроде как не про «Амур»...

Somebody ★★★★
()
Ответ на: комментарий от sabacs

А если посмотреть, как сделано в современных x86(и не только) с RAS - это достаточно аппаратно? ) Или этот стек «нечестный»?

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

Проценты у разных источников разные, но обычно около 5% на ISA, 15-20 на компилятор, остальное реализация в железе. Часто сокращают до «хватит надрачивать на систему команд, это всего лишь интерфейс к железу».

А зачем противопоставлять железу его систему команд? Кто вообще «надрачивает»-то? Моя изначальная претензия к RISC-V была не в том, что команды умножения какие-то кривые, а что умножитель 32*32=64 вообще невозможен в этой архитектуре, если она 32-битная (про расширение М я не знал). Если умножение с накоплением у RISC-V реализуется 4 инструкциями, а не 1, как у ARM, то это само по себе ни на что не влияет. Если эти 4 выполняются каждая за 1 такт, то по времени это будут те же 3+m, что у ARM9. Возможно, будет чуть больше потребление, если умножение будет производиться дважды (на каждое слово произведения по разу). А вот если аппаратного умножителя вообще нет, то это уже совсем другая история. Такой проц неприменим для задач фильтрации в реальном времени в автономном устройстве.

А насчёт fuse для 2 инструкций умножения было просто интересно, как это можно сделать по-простому. Чтобы не переусложнять проц, который из-за этого переусложнения будет больше жрать. Насколько я понял – никак нельзя по-простому. Даже в случае упаковывания 2 инструкций в 1 всё равно потребуется какой-то аппаратный блок, который должен будет понять, что вот именно 2 такие нужно исполнять как 1. А пропускать через себя он будет все инструкции, и на каждой будет жрать лишний ток.

nobody ★★
()
Ответ на: комментарий от nobody

потребуется какой-то аппаратный блок, который должен будет понять, что вот именно 2 такие нужно исполнять как 1. А пропускать через себя он будет все инструкции, и на каждой будет жрать лишний ток.

Реализации разные, бывают пред-декодеры, бывает мюопкеш, поэтому в идеале лишнего не сожрётся )
Опять же тут будет вопрос баланса.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

WTF «мюопкеш»? Хотелось бы ссылок на обзор упомянутых реализаций. Чисто для общего развития – посмотреть, как делают, общие идеи. Потому что сам в своё время думал на эту тему и ничего простого не придумалось.

nobody ★★
()
Ответ на: комментарий от cobold

Лора это опять же единственный поставщик. Да еще и проприетарщина. Нахрен лору

Предложи альтернативу. Вот был заказчик, ему надо было счётчики ЖКХ оцифровать, чтоб передавали показания сами. Требования: должно работать по радиоканалу, пробиваться через стены любого панельного сортира, срок работы прибора от одной батарейки 12 лет. Есть варианты?

nobody ★★
()
Ответ на: комментарий от Somebody

«Батарейка» - РИТЭГ? ;)))

Нет, обычная батарейка (достаточно энергоёмкая, не помню её название). Насчёт 12 лет – вряд ли получилось бы. Но вот 10 – было в принципе возможно. Заказчик слился, проект закрыли, поэтому как оно было бы на практике – хз.

nobody ★★
()
Ответ на: комментарий от nobody

LiSOCl2 – вот такого типа батарейку хотел заказчик.

Ни разу не сталкивался, спасибо за информацию, почитаю...

UPD:

Оказывается, их на «Озоне» есть. :)

Надо будет заказать «на поиграться»...

Ещё раз спасибо за «на водку»!.. :))

Somebody ★★★★
()
Последнее исправление: Somebody (всего исправлений: 1)
Ответ на: комментарий от Somebody

Почитай про депассивацию. Она не отдаст ток, если долго была на саморазряде. У долгоиграющего прибора, который долго ничего не жрёт, депассивацию нужно проводить регулярно (когда нужно включить приёмопередатчик LoRa, например).

nobody ★★
()
Ответ на: комментарий от nobody

WTF «мюопкеш»?

μop cache, он же иногда L0, идеологический наследник trace cache.

общие идеи

Хранит уже декодированные инструкции линиями размером в ширину декодера(ограниченными переходом через границу блока) в порядке исполнения в отличие от L1. Поэтому, например, не особо большой цикл(размер кеша несколько тысяч инструкций) может крутиться без активации декодеров и (кажется) предсказателей.
ЗЫ: А! Ну и в свете macroop fusion - в мюопкеше будут уже собранные из нескольких инструкции.

GAMer ★★★★★
()
Последнее исправление: GAMer (всего исправлений: 1)
Ответ на: комментарий от GAMer

Ок, спасибо за разъяснения. Но у меня язык не повернётся назвать такое «простым». Сам по себе cache – штука небесплатная, плюс к ней нужна схема, которая будет различать ситуации cache hit / cache miss. Предсказатель ветвлений – тоже жрать будет. Нужен очень навороченный декодер. Для меня простой декодер – это тупо mux. Есть блоки ALU (AND, OR, ADD…), mux суёт данные в один из них, исходя из текущей инструкции. Выход из ALU – тоже mux. Вот это для меня – простое решение, которое лишний ток жрать не будет. Понятно, что входы должны быть регистрированными, чтобы опять же лишний ток не жрался комбинаторикой. Никогда не занимался в рамках какого-то ТЗ проектированием CPU, чисто для себя думал, так что может быть фигню тут написал – покритикуй, если фигня.

Да, кстати про RISC-V. Мне вот нравится ARM’овская фича условного исполнения любой (почти) инструкции, а не только перехода. Переход – это сброс конвейера. В случае какой-нибудь burst flash это может быть до 11 тактов потерь впустую. Почему в RISC-V не впаяли эту фичу? Полезная же. И почти ничего не стоит – инструкция тупо не идёт на ALU, если не проходит по флагам в CPSR. Каковые проверяются просто по AND, затем результат складывается по OR. Итого: цена вопроса 4 AND + 3 OR. Ну какая, блин, разница, не идёт ли она в PC или в ALU? Почему не сделано? Когда я чисто для себя раскидывал кодовое слово 32 бита инструкции, у меня в него влезло всё, и 4 бита флагов, и mul/div 32/64. Только сдвиг константы не влез на любое кол-во бит, а только на 0, 8, 16 и 24, что на ход рыбы не влияет вообще никак – проблемы компилятора. А ещё не влезли MVN и CMN, заменил на общий опциональный инвертор (почему это не сделали в ARM – непонятно, shifter же сделали).

nobody ★★
()
Последнее исправление: nobody (всего исправлений: 1)
Ответ на: комментарий от nobody

Нужен очень навороченный декодер.

Ну вот для x86 с его кодированием инструкций это окупается. У RISCV и ARM ситуация попроще, но и там он бывает для производительных ядер.

Никогда не занимался

Дык и я просто любитель, что нахватался.

ARM’овская фича условного исполнения

Предикатное исполнение из ARM уже выбросили. Слишком много жрёт пространства кодирования инструкций, и относительно этого даёт не так много преимуществ. Заменили(аналоги есть и в других процах) на conditional select.

GAMer ★★★★★
()
Ответ на: комментарий от nobody

Мобилу рассматривали? Как будто бы в этой задаче не нужно постоянно быть в сети. Раз в месяц включать модем, передавать данные и выключать

cobold ★★★★★
()
Ответ на: комментарий от GAMer

Ну вот для x86 с его кодированием инструкций это окупается.

Да это-то понятно, речь же тут не про раб.станции.

У RISCV и ARM ситуация попроще, но и там он бывает для производительных ядер.

Насчёт «попроще» не соглашусь. Правильнее: «другая». Опять же, если оно для раб.станций, то это отдельная тема.

Предикатное исполнение из ARM уже выбросили.

Это когда это? Если речь о процах для раб.станций, то это опять же другая тема. В Cortex-R всё есть, ибо нужно.

Наверно, стОит ограничить простанство дискуссии неким кругом применимости. Если ты о раб.станциях (ноуты туда же), то мне тут нечего сказать, я просто соглашусь с твоими доводами. Если же мы об обработке сигналов в реальном времени в автономных устройствах (ну или просто про специализированные автономные устройства), то на сейчас у ARM тут конкурентов особо нет. Такая вот моя мысль. Microchip пытается создать какую-то конкуренцию, взяв архитектуру не помню как точно называется (mkPower?). Ещё есть японцы с SuperH, есть китайцы с ESP32. Но ARM всё равно лучше по соотношению производительности и потребления. Могут ли наши разработчики микросхем влезть в этот рынок? С чем влезть, с RISC-V? Не знаю, вопросы есть к этой архитектуре. Хотелось бы отечественных MCU, сопоставимых с ARM по балансу производительности и потребления. Ну и чтоб цены не космические были.

Да, тут чего-то писали, мол, не путайте MCU и SoC. Так вот, это одно и тоже. Проц + встроенная периферия. Отличие только в том, что SoC – это название современное, модное и молодёжное, а MCU – это что-то для старпёров. Никакой другой разницы нет.

nobody ★★
()
Ответ на: комментарий от nobody

Насчёт «попроще» не соглашусь.

За счёт простоты декодера там необязательно хранить инструкции декодированными.

Это когда это?

В ARMv8. aarch64 уже без него.

С чем влезть, с RISC-V?

А это уже дефолтная архитектура для новых проектов контроллеров. В том числе контроллеров в больших чипах, например у NVidia и WD. Китайцы даже ESP на него перевели.

вопросы есть к этой архитектуре

Вопросы есть, она не идеальна, но пока всё идёт к тому, что она будет просто везде. Если не нужно что-то прям совсем специфическое и что не может быть решено RISCV с кастомным расширением.

GAMer ★★★★★
()
Ответ на: комментарий от cobold

Мобилу рассматривали? Как будто бы в этой задаче не нужно постоянно быть в сети. Раз в месяц включать модем, передавать данные и выключать

Если б всё было так просто, то все бы так и делали. Во-первых, выход с радиопередачей не раз в месяц, а раз в 10 дней. Во-вторых, приём раз в сутки (как минимум). GSM съест эту несчастую батарейку очень быстро. Даже если раз в месяц – всё равно не хватит её на 10 лет. А ещё нужно добавить стоимость GSM модема в стоимость прибора учёта. А ещё его габариты. А ещё тот факт, что горячая труба имеет свойство быть иногда очень горячей (тактовый генератор поедет).

nobody ★★
()
Ответ на: комментарий от nobody

Да как бы сейчас в рынке подобных решений много. Лора хоть и закрытая штука но массовая и работает реально неплохо.

unname
()
Ответ на: комментарий от GAMer

За счёт простоты декодера там необязательно хранить инструкции декодированными.

В ARMv8. aarch64 уже без него.

А это уже дефолтная архитектура для новых проектов контроллеров. В том числе контроллеров в больших чипах, например у NVidia и WD.

И опять я призываю не обсуждать тут решения для раб.станций. Ну другая это тема, другие задачи и требования. К embed не имеет никакого отношения. Если очень хочется, то давай я с тобой просто соглашусь, ок?

Вопросы есть, она не идеальна, но пока всё идёт к тому, что она будет просто везде. Если не нужно что-то прям совсем специфическое и что не может быть решено RISCV с кастомным расширением.

Ну я вот не вижу тренда, чтобы «пока всё идёт к тому, что она будет просто везде». Если видишь – покажи. Из того, что вижу я, везде ARM. ST живее всех живых, у неё MCU на основе ARM на все случаи жизни. И все используют их. Нравится ли мне эта ситуация? Да нифига. Гавно у них MCU, только DMA контроллер хорош, ну и UART, пожалуй, остальное – полная шляпа. Я тут могу целый список претензий выкатить, начиная от времени доступа к GPIO.

Потому что долбаный ARM не умеет работать по обоим фронтам. Не осилили. Поэтому чтобы был доступ к памяти в 1 такт хотя бы для стековых операций (кроме первой), у них на AHB burst. А никакая периферия этого не умеет, только память. Следствие: нужен brigde AHB-APB, периферию вешаем на APB. Нахера, спрашивается? Почему, блин, не работать по обоим фронтам? Чем второй фронт хуже первого? При работе по обоим фронтам APB ушла бы как лишняя сущность, вся периферия была бы доступна в 1 такт, и никаких burst’ов.

Их таймера, их I2C модуль, их SPI модуль – куда не глянь, всё сделано через жопу. И ещё собственные косяки, всунутые в ядро ARM. FIQ сбрасывал мне STR9, когда приходило прерывание при активности того же прерывания. Единственное решение: не использовать FIQ. Гавно, а не решение!

Нравится ли мне вот это вот всё хлебать? Да нифига. А ещё тут всякие санкции и, как следствие, зависимость от Китая. Конечно, мне хочется хороший MCU, без дуростей, без идиотской шинной архитектуры с burst’ами, а чтоб всё висело на AHB и было доступно в 1 такт. И чтоб от китайцев не зависеть. И чтоб по деньгам было доступно. Такие вот мечты.

nobody ★★
()
Ответ на: комментарий от unname

Лора хоть и закрытая штука но массовая и работает реально неплохо.

Дык, и я о том же.

Да как бы сейчас в рынке подобных решений много.

А какие ещё есть, кроме LoRa, подходящие под описанные требования?

nobody ★★
()
Ответ на: комментарий от sabacs

Ну а чем не аппаратный? отдельная память под него именно в проце есть, а команд для работы с ним в ISA вообще нет, то есть «программным» он просто не может быть )

GAMer ★★★★★
()
Ответ на: комментарий от nobody

И как лора себя показала в этой задаче? Для лоры не нужен модем? Он не занимает место? Он бесплатный ? У него не уходит частота от температурных перепадов?

cobold ★★★★★
()
Ответ на: комментарий от sabacs

Обычная батарейка.

Не совсем. Но тема не о том, так что не буду «углубляться»...

Somebody ★★★★
()
Ответ на: комментарий от devl547

А какая разница? Я других разработчиков/производителей чипов на этой архитектуре как-то не наблюдаю.

Я к тому что архитектуру жалко, а мцст - нет :)

pihter ★★★★★
()
Ответ на: комментарий от GAMer

Нет. Когда говорят об аппаратном стеке, то речь идёт об аппаратной FILO памяти.

sabacs
()
Ответ на: комментарий от cobold

Лора это опять же единственный поставщик. Да еще и проприетарщина. Нахрен лору

Зато лора магическая и неподвластна законам физики, говорят с мощностью светодиод до горизонта добивает. Я сам не пробовал, но я верю в чудеса

pihter ★★★★★
()
Ответ на: комментарий от lomaster

Вот прямо мир охренительных советов - потратить лишний 0.5млн долларов для взаимозаменяемости в фактически хоббийном проекте.

Если это хоббийный проект, нахрена ты на его разработку миллионы тратишь и программистов месяцами на зарплате держишь? Хоббийные проекты они про другое, они про хобби: паять микросхемы ради процесса паяния микросхем

pihter ★★★★★
()
Ответ на: комментарий от pihter

То есть, 3 тысячи :)

Те 1000 руб за штуку, но брать нужно 3 =)

vasya_pupkin ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Приложить бы фотки чипов и даташит прямыми ссылками. По текущим только вода. Ну или я слепой. Ну и цена и где продаётся.

Неустрашимый штаб-офицер (из обывателей) был
в отчаянии. Из всех его ухищрений, подвохов и переодеваний
ровно ничего не выходило. Анархия царствовала в городе полная;
начальствующих не было; предводитель удрал в деревню; старший
квартальный зарылся с смотрителем училищ на пожарном дворе
в солому и трепетал...
...
Тогда произошло зрелище умилительное и беспримерное.
Решили действовать единодушно и прежде всего снестись с
пригородами. Как и следовало ожидать, первый выступил на
цену неустрашимый штаб-офицер.

— Сограждане! — начал он взволнованным голосом, но так как
речь его была секретная, то весьма естественно, что никто
ее не слыхал.
LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Я глупый и не понял :(
А так, выше уже сказали что есть в рознице в обычных магазинах за ~1200р. Но даже сраная atmega8 на чипдипе стоит 600р, адуреть. Так что и цена нормальная. Я раньше на чипстере меги8 брал по 95 (ЕМНИП) рублей за штуку. Но это правда давно было.

Так что ничегошеньки тут секретновова нетву, рыбов не только показывают. Нормальный бытовой контроллер, для кучи всего пойдёт, микроволновки, стиралки, контроллеры чего-то, станки и тд и тп. Мышки, клавиатуры, другая периферия к слову тоже, почему нет. Да хренова туча всего.

Жаль только одно, нет в DIP корпусе на 28 и 32 ноги, чтобы можно было очень удобно использовать в домашних самоделочках, экспериментах и обучении. Этж контроллер, порой они могут гореть как спички, в тестах там всяких, ну или просто взять и за секунды заменить мозги чему-то методом, высунул и всунул стоит занимаемого места.

Ждём в DIP корпусе.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

Но, да названия кхм эмм. Помимо вот этого можно и что-то простое рядом иметь, два названия и второе типа Контро К (Типа Контроллер Крутой хехе) и далее по мере выпуска новых К254В8П5В125 Контро К1, Контро К2 и так далее. И не спутаешь ничего и красиво и два названия на одно устройство.

LINUX-ORG-RU ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.