The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Микроядро Xous и открытый чип Baochip-1x для создания безопасных встраиваемых систем"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Микроядро Xous и открытый чип Baochip-1x для создания безопасных встраиваемых систем"  +/
Сообщение от opennews (??), 30-Дек-25, 23:25 
Эндрю Хуан (Andrew Huang) и Шон Кросс (Sean Cross), в своё время спроектировавшие открытый ноутбук Novena и платформу для создания смартфонов Precursor, представили на конференции 39C3 (Chaos Communication Congress) открытый  SoC Baochip-1x, предназначенный для создания защищённых устройств интернета вещей (IoT). Чип спроектирован для использования вместе с микроядерной операционной системой Xous, развиваемым  Эндрю и Шоном последние пять лет. Схемы, описания аппаратных блоков на языке Verilog, симулятор и сопутствующая проектная документация  доступны под открытой лицензией CERN OHL 2.0. Код операционной системы Xous написан на языке Rust и распространяется под лицензией Apache 2.0...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64521

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


3. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +4 +/
Сообщение от Аноним (3), 30-Дек-25, 23:57 
Все супер, за одним но - в уже почти 2026 году, и нет хотя бы 32 битного флоат?
Это сразу огромное ограничение. Скажете дизайн открыт - ну и что, нарисовать всё что угодно можно, а что бы произвести чип нужны огромные деньги, простым интересующимся такое не под силу.
Ответить | Правка | Наверх | Cообщить модератору

4. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –7 +/
Сообщение от bircoph (ok), 31-Дек-25, 00:06 
> и нет хотя бы 32 битного флоат?

И зачем он в IOT?

> Это сразу огромное ограничение

Для каких конкретно задач?

Ответить | Правка | Наверх | Cообщить модератору

6. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +3 +/
Сообщение от windows10email (ok), 31-Дек-25, 00:46 
> И зачем он в IOT?

В твоем понимании IOT - это подергать лампочкой. Но это далеко не все.

> Для каких конкретно задач?

Например для LVGL. Понимаю что твое дергание лампочкой в туалете вывода в красивом выводе на дисплей не нуждается - но это не у всех так.

Например для банального дискретного счетчика, где тебе каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №. Не знаешь как ватты считаются, что ли?

А что, определение человека или кота на камере видеонаблюдения перестало быть IOT'ом? Ну давай выведи соответствие по маске хотя бы 320х240@15.

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

Задач полно.

Ответить | Правка | Наверх | Cообщить модератору

10. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (10), 31-Дек-25, 03:08 
А float при чём тут во всех случаях?

> по истечению 1 секунды снять с этого квадратный корень

Сколько сотен мегагерц не хватает для этого железке из новости?

Ответить | Правка | Наверх | Cообщить модератору

11. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от windows10email (ok), 31-Дек-25, 03:31 
> А float при чём тут во всех случаях?

Ты вообще понимаешь что такое float?

> Сколько сотен мегагерц не хватает для этого железке из новости?

Не сотен мегагерц, а тактов.

Если у процессора нет FPU, или его не поддерживает ядро - блоку ALU приходится раскладывать относительно простую арифметическую операцию на составляющие операции которые он выполняет последовательно, приблизительно тому как ты делишь в столбик (если вас в школе этому еще учат).

14.5/2 в случае деления FPU'хой займет примерно два такта командой FDIV. В случае ALU это будет около восьмидесяти тактов.

Именно поэтому четырехядерный Xeon по 2.5 ГГц при проигрывании 4К-видоса греется и пропускает кадры, а какой-нибудь двухядерный ARMик щелкает на 800 МГц и не напрягается.

А float нужен не только для непосредственно вычислений IOT, он нужен практически в любой современной и не очень системе - ФС, выводе картинки на экран, обработке сетевых подключений, сообщений ядра.

Я тебе советую скачать исходник какой-нибудь часто используемой небольшой программы и сделать в его каталоге grep -r 'float' *

Удивишься.

Ответить | Правка | Наверх | Cообщить модератору

16. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (10), 31-Дек-25, 04:29 
Ага, ясно, с наступающим. А ведь потом протрезвеешь и вспомнишь, что в видеодекодерах нет плавающей запятой. Там даже целые числа консервативно используют, чтоб не жрало процессор и память. Хуже того - там функции заранее вычисляют и в lookup-таблицы кладут...
Ответить | Правка | Наверх | Cообщить модератору

31. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (31), 31-Дек-25, 08:43 
> нет плавающей запятой. Там даже целые числа консервативно используют, чтоб не жрало процессор и память

Мощно придумал! Вроде завтра не первое апреля...

Ответить | Правка | Наверх | Cообщить модератору

38. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (10), 31-Дек-25, 10:54 
Эт не я. Где-то со времён H.264 заметили, что если к 8-битной картинке добавить справа два нуля, то эффективность кодирования вырастает.

> The bit-depth increase provides greater accuracy for the miscellaneous prediction processes involved in the AVC/H.264 compression scheme, including motion compensation, intra prediction and in-loop filtering
> US9521434: a video coder may use IBDI to increase the bit depth of a sample being coded to reduce rounding errors in internal calculations

Если бы целые числа использовали неконсервативно, то и 8-битное видео, и 16-битное видео шли бы одному пути кодирования-декодирования и разницы бы не было.

Ответить | Правка | Наверх | Cообщить модератору

22. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от morphe (?), 31-Дек-25, 05:28 
> 14.5/2 в случае деления FPU'хой займет примерно два такта командой FDIV. В случае ALU это будет около восьмидесяти тактов.

14.5/2 через фиксированную точку будет делиться даже быстрее чем через плавающую, ещё раз, зачем тебе float?

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

78. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 18:08 
> 14.5/2 через фиксированную точку будет делиться даже быстрее чем через плавающую, ещё
> раз, зачем тебе float?

Мне? Мне - не нужно. Но есть масса операций, в которых нужно, и графоний - только одна из них.

Ответить | Правка | Наверх | Cообщить модератору

24. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от _ (??), 31-Дек-25, 05:42 
>> А float при чём тут во всех случаях?
> Ты вообще понимаешь что такое float?

А ты, в свою очередь - вообще понимаешь что такое IoT?!?! :)
А то давай потребуем ему PCI Express 16-lanes впердолить! Ну удобно жи - можно печку Nvidia 4090 подключить и 4К VR генерить на лету! В IoT без этого - точно никуда :))))

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

79. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 18:11 
> А ты, в свою очередь - вообще понимаешь что такое IoT?!?! :)
> А то давай потребуем ему PCI Express 16-lanes впердолить! Ну удобно жи
> - можно печку Nvidia 4090 подключить и 4К VR генерить на
> лету! В IoT без этого - точно никуда :))))

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

Ответить | Правка | Наверх | Cообщить модератору

93. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 20:12 
И будет говорить с другими системами _без_ вот-этого-всего, так?! :)
А это значит!(С)
Но железо чтобы рисовать красивый 4К Ынтермордий у тебя и так уже есть. А вот малышей после не-чокаясь! ардунки ... практически нет. Вот они и хотят в туда. Ну элементарно же Ватсон!(С) :)
Ответить | Правка | Наверх | Cообщить модератору

36. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 10:35 
> Если у процессора нет FPU, или его не поддерживает ядро - блоку ALU приходится раскладывать относительно простую арифметическую операцию на составляющие операции которые он выполняет последовательно, приблизительно тому как ты делишь в столбик (если вас в школе этому еще учат).

Шо за глупости? Если ты софтфлоат реализуешь, то зачем делить в столбик? Логарифмируй, вычитай, возводи 2 в степень. Или не возводи, продолжай работать с логарифмами. Или дидов в школе не учили логарифмам?

А методам вычислений тоже не учили? Есть масса способов решить уравнение a*x=b, обходясь без деления на неизвестное на этапе компиляции число. Более того, если бы тебе приходилось работать с флоатами, то ты бы научился этим трюкам и трюкам изменения всего алгоритма, чтоб вообще избавиться от необходимости деления, просто потому, что деление флоатов очень гнусная операция, которая может привести к потере точности и запоганить тебе весь результат. Есть например целый жанр публикаций геометрических алгоритмов: "то же самое, но теперь без деления".

> каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №.

Ну вот тут, например, ты делишь на целое число. Тебе не нужно fp деление. Возьми вместо секунды 960мс, 960/15 будет 64, таким образом вместо деления ты сможешь обойтись побитовый сдвигом.

> Я тебе советую скачать исходник какой-нибудь часто используемой небольшой программы и сделать в его каталоге grep -r 'float' *

Естественно они его используют, это просто и думать не надо.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

47. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (47), 31-Дек-25, 12:26 
Согласно слухам, деление флоатов побыстрее целочисленного. Не бенчмаркил ещё, надо попробовать.
Ответить | Правка | Наверх | Cообщить модератору

60. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 14:10 
Быстрее. На первых пнях это началось. Насколько это распространяется на армы я не знаю, но полагаю, что распространяется. Не думаю, что алгоритм SRT деления патентован.
Ответить | Правка | Наверх | Cообщить модератору

68. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (68), 31-Дек-25, 15:42 
Почему тогда компиляторы до сих пор генерируют целочисленное?
Ответить | Правка | Наверх | Cообщить модератору

72. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (-), 31-Дек-25, 17:46 
Не знаю.

i32 -- это 31 бит "мантиссы", из него f64 надо сделать, чтобы поделить с той же точностью. А потом результат деления обратно в i32 округлить. Я думаю, это даст результат совпадающий бит-в-бит, но честно говоря не проверял. Целочисленное деление заодно считает и остаток от деления, но компилятор знает ведь, нужен ли остаток программе или просто игнорируется, и если он игнорируется, то почему бы и не?

Но может там накладных расходов на сохранение/восстановление состояния FPU? Или может возня не стоит того? То есть, если у программиста производительность программы упирается в то, как много процессор может выполнять делений в секунду, то может программисту стоит использовать флоаты, а не выносить мозги тем, кто компиляторы пишет? А если не упирается, то зачем тогда связываться?

Ответить | Правка | Наверх | Cообщить модератору

81. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (81), 31-Дек-25, 18:22 
>Я думаю, это даст результат совпадающий бит-в-бит, но честно говоря не проверял

Лемир и многие другие тоже считают, что совпадёт, это известный трюк. И Лемир тоже задаётся вопросом, почему компиляторы это не делают by default.

>Но может там накладных расходов на сохранение/восстановление состояния FPU? Или может возня не стоит того

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

>А если не упирается, то зачем тогда связываться?

По такой логике можно вообще все оптимизирующие компиляторы ффтопку отправить.

Ответить | Правка | Наверх | Cообщить модератору

87. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 19:31 
> По такой логике можно вообще все оптимизирующие компиляторы ффтопку отправить.

Не факт. Динамическое выделение регистров под значения (вместо того, чтобы явным образом работать с переменными явно лежащими на стеке) даёт прирост производительности для любого кода. То есть, какой бы там цыкл не тормозил в моей программе, он выиграет от такой оптимизации. А вот найти цыкл, который можно ускорить на 5+% заменой целочисленного деления на FPU деления -- это ещё поискать надо. А если при этом добавить ещё условие, что есть действительно смысл в том, чтобы использовать там int'ы, вместо float'ов (в смысле хранить данные как i32, но обрабатывать как f64), что это не какая-то странная прихоть программиста, то я не уверен, что найдётся найти хотя бы один такой.

Если мы допустим, что нет кода, который может выиграть от такой оптимизации, то тогда в чём смысл добавления такой оптимизации в компилятор? Чтобы компилятор сделать помедленнее, потолще и более сложным в сопровождении?

На самом деле, я вдруг сообразил, моя "теория" даёт проверяемое предсказание. Эту оптимизацию легко проделать без помощи компилятора. Надо заменить a/b на round((double)a)/((double)b)). Таким образом, если кто-то когда-то думал что его программе такая оптимизация поможет, он вероятно её проделал. А это значит, что если в дикой природе таких оптимизаций не встречается, значит она бесполезна.

Ответить | Правка | Наверх | Cообщить модератору

73. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 17:52 
> Шо за глупости? Если ты софтфлоат реализуешь, то зачем делить в столбик? Логарифмируй, вычитай, возводи 2 в степень. Или не возводи, продолжай работать с логарифмами. Или дидов в школе не учили логарифмам?

Чувак, але, софтфлоат - это не деление в столбик.

> А методам вычислений тоже не учили? Есть масса способов решить уравнение a*x=b, обходясь без деления на неизвестное на этапе компиляции число.

Масса. И все это гоняют ALU.

> Возьми вместо секунды 960мс, 960/15 будет 64, таким образом вместо деления ты сможешь обойтись побитовый сдвигом.

На Интеле что ли сидишь? Это у них обычно 10+10 = 19.99.

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

77. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (77), 31-Дек-25, 18:05 
> Чувак, але, софтфлоат - это не деление в столбик.

Да ладно?? А вот это ты к чему тогда писал про деление в столбик?

> Если у процессора нет FPU, или его не поддерживает ядро - блоку ALU приходится раскладывать относительно простую арифметическую операцию на составляющие операции которые он выполняет последовательно, приблизительно тому как ты делишь в столбик (если вас в школе этому еще учат).
> Масса. И все это гоняют ALU.

Да ладно??

> На Интеле что ли сидишь? Это у них обычно 10+10 = 19.99.

Это ты к чему сейчас сказал? Ты хочешь чтобы я всю глубину твоей мысли угадал? Накося, выкуси, я даже не буду пытаться.

Ответить | Правка | Наверх | Cообщить модератору

80. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от windows10email (ok), 31-Дек-25, 18:17 
> Да ладно?? А вот это ты к чему тогда писал про деление
> в столбик?

Я там русским по белому написал, к чему. Что тебе не понятно из слов "выполняет последовательно, приблизительно тому как ты делишь в столбик" ?

> Это ты к чему сейчас сказал? Ты хочешь чтобы я всю глубину
> твоей мысли угадал? Накося, выкуси, я даже не буду пытаться.

Герц - это сколько колебаний за 960 мс? :))

Ответить | Правка | Наверх | Cообщить модератору

88. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 19:33 
> Я там русским по белому написал, к чему. Что тебе не понятно из слов "выполняет последовательно, приблизительно тому как ты делишь в столбик" ?

Я выкинул "приблизительно" и что? Это была отсылка к твоим же словам, которые ты видимо забыл сразу, как нажал кнопку "отправить", и теперь докапываешься ко мне, будто это я виноват, что у тебя память девичья.

> Герц - это сколько колебаний за 960 мс? :))

Я не собираюсь отвечать на вопрос, который не имеет отношения к делу.

Ответить | Правка | Наверх | Cообщить модератору

92. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 20:04 
> Я выкинул "приблизительно" и что?

И то, что и ребенку понятно, что слово "приблизительно" не то же самое, что слово "равно". В контексте это звучало вообще как аналогия, а не алгоритм. Странно что вам нужно разжевывать такие элементарные вещи, возможно вы и вправду программист.

> Я не собираюсь отвечать на вопрос, который не имеет отношения к делу.

Почему не имеет? Вы же сами предложили делить не 1000 мс, из которых состоит секунда, а на 960 мс, вот мне и интересно, как это у вас в жизни работает. У нас например в сети частота переменного тока - 50 колебаний в секунду. А сколько колебаний за 960 мс у вас в розетке ?)

Ответить | Правка | Наверх | Cообщить модератору

96. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 21:04 
> И то, что и ребенку понятно

Не надо аппелировать к детям, я не ребёнок.

> В контексте это звучало вообще как аналогия, а не алгоритм.

Мнепох. Отсылка от этого не прекратила быть отсылкой.

> Почему не имеет?

Потому что я не вижу связи.

Ответить | Правка | Наверх | Cообщить модератору

21. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от morphe (?), 31-Дек-25, 05:26 
> Например для банального дискретного счетчика, где тебе каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №. Не знаешь как ватты считаются, что ли?

Ну типа, для этого много где просто swfloat используют, оно не настолько медленное чтобы от его отсутствия страдать в подобных задачах. Да и фиксированную точку зачастую можно использовать, зачем тебе в подобных вычислениях плавающая

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

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

25. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от _ (??), 31-Дек-25, 05:46 
> в embedded

Тут вам не embedded, тут ещё хуже! Тут вам IoT, это хрень такая в запаяных коробоках ...
А UI у неЯ черзЪ уеб-Ынторфейс :)
И сотри его со своего моЩЩЩногА смартыона\планшета и всю красоту рендери на __нЁмммм__ :)

Ответить | Правка | Наверх | Cообщить модератору

27. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (10), 31-Дек-25, 07:33 
> оно не настолько медленное чтобы от его отсутствия страдать в подобных задачах

На livejournal была (и наверное только была) статья, которая смотрела на мнение "плавучка на 8-битном МК - гроб-гроб-кладбище, без своей библиотеки фиксированной запятой не обойтись" и приходила к выводу, что программная реализация float из gcc конкурентоспособна (только минус одна библиотека и плюс переносимость и плюс повышенная точность).

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

52. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (52), 31-Дек-25, 12:38 
Ты бы ещё geocities вспомнил бггг
Ответить | Правка | Наверх | Cообщить модератору

59. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 14:00 
> и приходила к выводу, что программная реализация float из
> gcc конкурентоспособна (только минус одна библиотека и плюс переносимость и плюс
> повышенная точность).

Я и не говорил что надо для swfloat что-то отдельное ставить, я про в целом способ реализации

Почти везде реализация из libm взята, в т.ч в Rust: https://github.com/rust-lang/compiler-builtins/blob/main/lib...

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

74. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 17:54 
> Ну типа, для этого много где просто swfloat используют, оно не настолько
> медленное чтобы от его отсутствия страдать в подобных задачах. Да и
> фиксированную точку зачастую можно использовать, зачем тебе в подобных вычислениях плавающая

Оно не просто медленное, оно мегамедленное

> Для графики в embedded зачем плавающая точка вообще непонятно, целочисленных величин хватает,
> там обычно не такого размера экраны чтобы нужно было полноценную растеризацию
> делать

Ты в курсе как рисуется примитивный КРУГ?

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

94. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 20:43 
> Ты в курсе как рисуется примитивный КРУГ?

Я то - да :)

А ты вот явно не в курсе, что его рисовать можно вообще без FP! :-D
Ну чего людей смешишь то?! В школе жи рисовал, ну вспомни сразу 8 точек за итерацию ...
ФамилиЁ Брезенхейм ничего не говорит?! :-\

А кстати - и сколько тысяч окружностей в секунду тебе для IoT нужно? Если тебе вдрук упёрся именно GUI на той IoT'ке ...

Ответить | Правка | Наверх | Cообщить модератору

102. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 22:01 
> Ты в курсе как рисуется примитивный КРУГ?

Дополню другого комментатора - для растеризации круга примерно всегда используют алгоритм Брезенхэма. Как тебе в подобной задачи должен помочь FPU? Ты собираешься на каждый пиксель круга дёргать sin/cos/sqrt? Это жесть как дорого даже с FPU, так это не делает никто

https://en.wikipedia.org/wiki/Midpoint_circle_algorithm

Приведи пример того, как по твоему должен рисоваться примитивный круг)

Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

65. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (65), 31-Дек-25, 15:23 
Сиди дальше на ардуино с float. Остальные понимают, что в большинстве случаев вместо float НАДО использовать fixed point
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

76. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 17:57 
> Сиди дальше на ардуино с float. Остальные понимают, что в большинстве случаев
> вместо float НАДО использовать fixed point

Большинства случаев не существует. Есть внешние данные, которые нужно обработать.

Ответить | Правка | Наверх | Cообщить модератору

95. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 20:50 
Ну тады у тебя два путя(С) :)

1) Возьми железку с FP, то что в $Subj - не для тебя...
2) Если ты советский инженер(С) ... короче - считай женился :))))

Ответить | Правка | Наверх | Cообщить модератору

97. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 21:40 
> Большинства случаев не существует. Есть внешние данные, которые нужно обработать.

Можно пример таких данных что ты собираешься обрабатывать на iot железке? Опять же - большинство процессоров справляются с графикой без FPU, много stm32, много armv7, много esp32 S2 сущестует в подобной технике, и не имеют FPU, и всё хорошо

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

5. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 00:31 
>  что бы произвести чип нужны огромные деньги, простым интересующимся такое не под силу.

Что такое "простые интересующиеся"?
Если взять mosis, то там стоимость входи от 50к баксов.
Т.е даже для небольшой фирмы это вполне посильные деньги.

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

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

33. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 08:50 
"произвести" и "заказать" это разные слова

Ответить | Правка | Наверх | Cообщить модератору

9. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +4 +/
Сообщение от Медведь (ok), 31-Дек-25, 03:06 
Полно вариантов программной реализации арифметики с плавающей точкой без FPU в процессоре, чего ныть-то? Для IoT с головой хватит.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

12. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +3 +/
Сообщение от windows10email (ok), 31-Дек-25, 03:32 
> Полно вариантов программной реализации арифметики с плавающей точкой без FPU в процессоре,
> чего ныть-то? Для IoT с головой хватит.

Бггг. Сам-то пробовал? :))

Ответить | Правка | Наверх | Cообщить модератору

37. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Медведь (ok), 31-Дек-25, 10:35 
Вот и выросло поколение... Плавающую арифметику более-менее сносно считал еще Spectrum, на несчастных 3.5 МГц тактовой и даже без целочисленного умножения/деления в системе команд процессора. И кстати, Z80 снят с производства меньше двух лет назад. Но нет, мы ж без FPU никак...
Ответить | Правка | Наверх | Cообщить модератору

41. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 11:24 
Не только Spectrum, штатно 8086, 80286, 80386 и i486SX обходились без FPU (его надо было докупать отдельно). В компиляторах была поддержка программной эмуляции и даже не особо напрягаясь люди как-то считали во float-ах. А если надо было прямо очень быстро, то да, пытались уйти на целочисленные вычисления/фиксированную запятую/прочие трюки.
Ответить | Правка | Наверх | Cообщить модератору

75. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 17:55 
> Вот и выросло поколение... Плавающую арифметику более-менее сносно считал еще Spectrum,
> на несчастных 3.5 МГц тактовой и даже без целочисленного умножения/деления в
> системе команд процессора. И кстати, Z80 снят с производства меньше двух
> лет назад. Но нет, мы ж без FPU никак...

Верно. Мы без FPU никак. Просто потому что для забивания гвоздей существуют молотки, а микроскопы они децл для другого.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

82. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (-), 31-Дек-25, 18:32 
> Верно. Мы без FPU никак. Просто потому что для забивания гвоздей существуют
> молотки, а микроскопы они децл для другого.

Да, вот ща мы каждому датчику протечки гумна поставим по сопроцессору плавучки. Чтоб утопая в гумне он успевал перерабатывать его, видимо :)

Хотя если вы конечно за 20 центов запилите, как wch, но еще и с плавучкой - почему бы и нет. Ежели опциональное. А ежели не опциональное - так для МКшных задач у плавучки контекст огроменный. И его сохранение и восстановление здорово нагибает латенси, времена прерываний и проч. Небольшие такие нюансы.

Сабж в этом смысле ни два ни полтора. Для МК слишком здоровый, сложный и малопредсказуемый уже. Для апликушника слишком малохольный. А, ну да, поставьте нашу неведому супер-ртос... и делайте с ней ... неведомо что. Будет столько же продаж сколько и у чудо-ноутов этого гражданина, вероятно.

Ответить | Правка | Наверх | Cообщить модератору

89. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 19:38 
> Да, вот ща мы каждому датчику протечки гумна поставим по сопроцессору плавучки. Чтоб утопая в гумне он успевал перерабатывать его, видимо :)

Датчикам это может и не нужно. Вот только встраиваемые системы - это не только датчики.

Вот на данный момент я например 3д-печатаю. Стандартную прошивку (Marlin) и родную плату МК выбросил, поставил RPI и клиппер. Казалось бы - четыре шаговика, что сложного в их управлении?

А нет, клиппер намного быстрее и качественнее печатает. Почему так? Потому что железо, поддерживающее FPU позволяет более точно вычислять микрошаги и траекторию движения, составляет более подробную карту поверхности (это когда у вас площадь неровная). И да, разница между 0.2 мм, 0.24 мм и 0.04 - весьма велика. Если вы будете печатать кубик высотой 5 см с погрешностью 0.04 мм -к половине кубика у вас начнется лапша, потому что сопло станет печатать не на предыдущем слое, а в воздухе.

- - -

Вы наверное не понимаете разницу между "без FPU нельзя" и "без FPU хуже". Вчитайтесь внимательнее.

Ответить | Правка | Наверх | Cообщить модератору

98. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 21:45 
> А нет, клиппер намного быстрее и качественнее печатает

Ору, ты взял лучший пример для этого)))

У klipper та прошивка что в MCU загружается как раз таки оперирует исключительно fixed point :D
Вся floating математика там на хосте

Оно может использовать FP для ускорения каких-то операций, однако его поддержка сугубо опциональная

Ответить | Правка | Наверх | Cообщить модератору

100. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 21:54 
> И да, разница между 0.2 мм, 0.24 мм и 0.04 - весьма велика

С fixed point ты сам задаёшь сколько бит точности тебе надо

Если ты говоришь что тебе обязательно нужен float - то уж скажи зачем тебе нужна не просто точность, а плавающая точность (Для значений от 1.4e-45 т.е)?
В большинстве случаев такое очень даже нежелательно, потому что с float у тебя погрешность накапливается

Ну и btw, marlin это наверное единственная прошивка которой fpu надо, gbrl/teacup/klipper/прочие прошивки для принтеров и CNC - все оперируют fixed point

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

104. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 22:38 
> Вы наверное не понимаете разницу между "без FPU нельзя" и "без FPU хуже". Вчитайтесь внимательнее.

Есть ещё рариант про "с FPU хуже" - только ты упорно его видеть\слышать\пониать не желаешь :( Про датчики субстанций выше точно же прочитал, но понять не захотел :(

А почему в тех датчиках FP - это плохо? А потому что бесплатно бывает только в мышеловке!
А в жизни за это придётся заплатить:
- деньгами ( и не пи-пи моск - за так никто тебе его не всунет!)
- потреблением, и если твой дивайс на батарейке - это кончен бал, погасли свечи(С)
Про нагрев не буду но тоже может за-ролять.


А по-большому - каждый смотрит в свой IoT и думает что так - везде :)
А случаи ... онЕ разные бывают!(С) Один хитрый старичок :)

Придумали продаваны термин про всё сразу и ни-о-чём конкретно, а мы ругаемси на Новый Год то! :)))

С Наступающим! И немедленно выпил! (С)

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

18. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 04:39 
Зачем людям мозг выносишь - возьми старый пень или целерон и паяльник, распаяй ему питание прямо на плате. Поставь туда QNX RTP 6.0 , который с Photon. И будешь счастлив !
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

26. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 05:55 
> Зачем людям мозг выносишь - возьми старый пень или целерон

Жрёт. Греется. Забивается пылью. Гудит.
Да ну нах такое счастье. А если брать Ындустриальный фанлесс... цена - уже не торт :(

> Поставь туда QNX RTP 6.0 , который с Photon.

Зойчем?!?!? Ея как RIM/Blackberry схавал - оно не торт.
Да и ЗОЙЧЕММ тебе Hard-RT??? Там базового линя - обмотаться!

Ответить | Правка | Наверх | Cообщить модератору

83. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 18:33 
> Зачем людям мозг выносишь - возьми старый пень или целерон и паяльник,
> распаяй ему питание прямо на плате. Поставь туда QNX RTP 6.0
> , который с Photon. И будешь счастлив !

Чтобы это нечто смогло - столько же сколко одноплатник с полкреды питаемый от "зарядки для мобли". А потом у него опухнут кондеры и вентиляторы пылью забьются, от чего никакой QNX не поможет, ессно.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

7. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +10 +/
Сообщение от Кошкажена (?), 31-Дек-25, 01:52 
> Xous is a microkernel operating system written in pure Rust

...с unsafe в 101 файле*

* если верить github поиску

Ответить | Правка | Наверх | Cообщить модератору

44. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от Аноним (-), 31-Дек-25, 11:52 
> ...с unsafe в 101 файле*

Не 101, а 2433 (включая комменты) на всего лишь 585523 строк растового кода.

если учесть что большая часть это однострочные вызовы, типа
let mut i2c = unsafe {
                bao1x_hal::udma::I2cDriver::new_with_ifram(
                    i2c_channel,
                    400_000,
                    100_000_000,
                    i2c_ifram,
                    &udma_global,
                )
            };

То колличество safe кода можешь прикинуть сама.

В любом случае это больше чем в дыpяшke где весь код будет unsafe.

Ответить | Правка | Наверх | Cообщить модератору

66. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Кошкажена (?), 31-Дек-25, 15:26 
>> ...с unsafe в 101 файле*
> если учесть что большая часть это однострочные вызовы, типа

Уязвимостям все равно. А вот гарантии раста ломаются на весь остальной код.

Ответить | Правка | Наверх | Cообщить модератору

8. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от Аноним (10), 31-Дек-25, 03:03 
> две крайности - полнофункциональные чипы с блоком управления памятью (MMU)
> разумного компромисса
> легковесность, свойственную микроконтроллерам ARM без MMU
> Наличие MMU в Baochip-1x позволяет
> *и 5 ядер почти по гигагерцу*

Чево?

Ответить | Правка | Наверх | Cообщить модератору

84. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (-), 31-Дек-25, 18:36 
>> две крайности - полнофункциональные чипы с блоком управления памятью (MMU)
>> разумного компромисса
>> легковесность, свойственную микроконтроллерам ARM без MMU
>> Наличие MMU в Baochip-1x позволяет
>> *и 5 ядер почти по гигагерцу*
> Чево?

Да там какой-то сплошной заказ с алиэкспресса в новости. На картинке - одно. В тексте - другое. Не хватает еще надписи типа "зеленый доска мягкий разработчик".

Ответить | Правка | Наверх | Cообщить модератору

14. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (14), 31-Дек-25, 04:04 
Зачем нужен Xous, если есть Muen и Ironclad на Аda/SPARK? Ну и L4 ещё, конечно же.
Ответить | Правка | Наверх | Cообщить модератору

15. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 04:28 
Вот например Arduino подходит под проект, делает нужную работу, показывает дисплей нужного X*Y точек и размера, а в нём часов нет совсем. Поэтому на основе календаря ничего сделать нельзя. Пример - автономная метеостанция с использованием Астрономических данных из таблицы.
Ответить | Правка | Наверх | Cообщить модератору

20. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 04:48 
> Вот например Arduino

про ардуино с октября 2025 года можно забыть навсегда

Ответить | Правка | Наверх | Cообщить модератору

23. Скрыто модератором  –4 +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 05:37 
Ответить | Правка | Наверх | Cообщить модератору

53. Скрыто модератором  +2 +/
Сообщение от Аноним (52), 31-Дек-25, 13:02 
Ответить | Правка | Наверх | Cообщить модератору

90. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 19:46 
> про ардуино с октября 2025 года можно забыть навсегда

С чего бы это?

Arduino - это не просто конкретная архитектура микроконтроллера, это скорее архитектура системы, внесшая порядок, примерно как IBM-PC в этих ваших х86. Благодаря этому, МК получили понятный уровень абстракции, понятное наименование и нумерацию портов, вменяемый IDE  с С++ подобным синтаксисом, и огромное комьюнити.

Для STM32 на гите 82 тысячи проектов. Для Arduino - 373 тысячи. Это не хорошо, и не плохо, это просто увеличивает порог входа и дает +1 шанс к тому, что твою проблему уже кто-то решил.

И Qualcomm от этой традиции никуда не уходит.

Плюс ко всему, как было написано выше, Arduino - это культура, а не просто торговая марка, так что тебе никто не запрещает брать китайский LGBTQ и шлепать на него скетчи как на Ардуину. Или взять голый чип 328PU, прошить его как Ардуину и шлепать на него скетчи. В DIP корпусе оно даже внешний кварц не требует, лол.


Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

85. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 18:40 
> на основе календаря ничего сделать нельзя. Пример - автономная метеостанция с
> использованием Астрономических данных из таблицы.

Кому очень надо - цепляют DS2312 к нему по i2c, тоже мне рокетсайнс. Хотя лучше прокачать скилл и STM32 чтоли взять какой. Намного более осмысленная инженерия. Ну или хотя-бы клон с него от луноликих, но с клонами можно и горя хлебнуть.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

91. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от windows10email (ok), 31-Дек-25, 20:00 
> Кому очень надо - цепляют DS2312 к нему по i2c, тоже мне
> рокетсайнс.

И лечат пнос затыканием жпы.

> Хотя лучше прокачать скилл и STM32 чтоли взять какой.

Какую проблему решает использование STM32?

> Намного более осмысленная инженерия. Ну или хотя-бы клон с него от луноликих,
> но с клонами можно и горя хлебнуть.

В чем осмысленность, и зачем осмысленность?

Ну вот к примеру мне нужно считать показания с датчика A и вывести на экран B. Для чего мне дрчиться в какую-то осмысленную инженерию, если в конечном итоге это приведет к тому же самому результату?

Ответить | Правка | Наверх | Cообщить модератору

19. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 04:44 
ладно заловендорлочить ядро на llvm (нет, не ладно), но завендорлочить целый ЦПУ на llvm - это что-то с чем-то
Ответить | Правка | Наверх | Cообщить модератору

28. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (28), 31-Дек-25, 07:41 
Есть ресурсы на поддержку 1001 компилятора?
Ответить | Правка | Наверх | Cообщить модератору

29. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 08:34 
ты, видимо, пытался спросить "есть ресурсы на лоббирование на уровне правительства и рекламу из каждого утюга?", подразумевая, что ресурсов у майкрософт достаточно? так вот, у тебя плохо получилось
Ответить | Правка | Наверх | Cообщить модератору

34. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (34), 31-Дек-25, 08:51 
>Есть ресурсы на поддержку 1001 компилятора?

Десяток хоть назовешь?

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

54. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (52), 31-Дек-25, 13:03 
Для начала назову один, если обеспечишь его поддержку - буду по одному называть следующие. Готов?
Ответить | Правка | Наверх | Cообщить модератору

86. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (-), 31-Дек-25, 18:43 
> Для начала назову один, если обеспечишь его поддержку - буду по одному
> называть следующие. Готов?

Gccrs. Но он пока несколько недопиленный. Что как бы повод с сабжем дела не иметь. Зависеть от узкой клики майкрософта, гугл и эпла при том что им на вон то в целом пофигу - сами понимаете.

Они уже в последних версиях LLVM и clang своими индусами какую-то дичь сотворили, Торвальдс недавно в рассылке ругался как раз. Но не только он - это стало лезть довольно много где. Код жирный, тормозной а если не повезло то е ще и глючит.

Ответить | Правка | Наверх | Cообщить модератору

45. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от Аноним (45), 31-Дек-25, 12:09 
Докажите вендорлок на llvm.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

57. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (57), 31-Дек-25, 13:35 
очень просто доказать математически

принимаем llvm за 2 в десятичной системе счисления
принимаем вендорлок за 3 в десятичной системе счисления

принимаем 5 в десятичной системе счисления за доказательство

итого 2+3=5, следовательно llvm имеет вендорлок

обратно тоже доказывается: 5-2=3; 5-3=2.

надеюсь это помогло вам убедиться в наличии вендорлока

Ответить | Правка | Наверх | Cообщить модератору

62. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 14:20 
> 5-3=2

Доказательство - вендорлок = ллвм

Вот тебе и доказательство что в ллвм нет вендорлока

Ответить | Правка | Наверх | Cообщить модератору

48. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:28 
Да ладно, пусть играются. Для их собственных применений этого скорее всего вполне достаточно, что собственно и решает. Снаружи всё равно не взлетит, как и вся рисква. Архитектура по балансу сложности-производительности от ARM отстаёт на световые годы, а фрагментация IP уже на уровне.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

55. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (52), 31-Дек-25, 13:13 
> не взлетит, как и вся рисква

А инженеры WD и не в курсе, что "рисква" не взлетела...

Ответить | Правка | Наверх | Cообщить модератору

99. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 21:47 
Инженеры, я думаю, копротивлялись, но там роялти такие, что решили попробовать сопельки в шоколаде. Возможно ещё выстрелит, в очередной раз, лично я после серий разнотипных факапов с HDD и SSD к WD уже лет 10 не прикасаюсь.
Ответить | Правка | Наверх | Cообщить модератору

101. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 21:55 
Хотя будем честными - SWerV'у уже пять лет, а SSD всё ещё на физоне, хорошо если не на сандиске. Такой вот успех - а планировалось-то именно под SSD в начале. От 2023-2025 вообще новостей про внедрёж около 0, разве что кому-то IP впарили из партнёров.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

35. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +3 +/
Сообщение от Аноним (35), 31-Дек-25, 09:49 
>>Серверы ожидают поступления сообщений и запускают связанный c полученным сообщением код на языке Rust.

что тут за бред написан ?

Ответить | Правка | Наверх | Cообщить модератору

39. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 11:12 
Попытались описать механизм Send/Receive/Reply из QNX.

Там суть в том, что сервер в основном цикле вызывает Receive() и блокируется микроядром на ожидании запроса. В определённый момент клиент выполняет Send() с указанием сервера и блокируется микроядром на ожидании ответа, а сервер разблокируется и ему передаются данные, которые клиент указал в Send(). На основании этих данных сервер выполняет какие-то действия и при помощи Reply() разблокирует клиента, который получает данные, которые сервер передал в Reply(). Функции Send(), Receive() и Reply() являются примитивами (системными вызовами) микроядра, и позволяют унифицировано передавать данные как между двумя независимыми процессами, так и между процессом и микроядром.

Ответить | Правка | Наверх | Cообщить модератору

40. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (40), 31-Дек-25, 11:21 
"Every Xous Server contains a central loop that receives a Message, matches the Message Opcode, and runs the corresponding rust code"
https://betrusted.io/xous-book/#architecture
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

43. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +3 +/
Сообщение от Аноним (35), 31-Дек-25, 11:37 
и тут бред написан
Ответить | Правка | Наверх | Cообщить модератору

56. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (52), 31-Дек-25, 13:14 
А ну-ка, поделись, что было бы не-бредом, в твоём понимании?
Ответить | Правка | Наверх | Cообщить модератору

46. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (47), 31-Дек-25, 12:23 
Поясните, почему аппаратная многозадачность в x86 оказалась тормознее программной, из-за чего её избегали использовать, из-за чего в конце-концов выпилили. И что мешает сделать чип с аппаратной поддержкой I/O, где ядру ОС выделено специальное физическое ядро, желательно оптимизированное под исполнение ядра ОС, но можно и любое из доступных, где вместо прерываний - io_uring, а ядро слушает это io_uring, но ... аппаратно реализованное, и все прерывания чтобы доставлялись именно в сконфигурированные через регистры очереди. Другие процессы могут как очередь отмаппить (очередь для процесса маппит и конфигурирует ядро, очередь - это область памяти плюс несколько архитектурных регистров, для юзерспейсной программы они на запись недоступны, но программа может их инкрементировать, при инкременте процессор сам доставляет сообщение в ядерное ядро, и должна быть доступна инструкция "ждать результата"), так и syscall дёрнуть (сисколлы реализуются также через сообщения, только в память юзерспейсного процесса явно не мапятся, а прямо в кеше процессора).
Ответить | Правка | Наверх | Cообщить модератору

49. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:29 
Потому что это переусложняет и так недешёвое железо + надо совместимость поддерживать между ревизиями, а ревизий при такой сложности будет очень много. Вполне себе реализованы подпорки для софта, которые позволяют всё вышеперечисленное делать с минимальными накладными расходами. Хоть ядро отделяй, хоть десять - всё на совести условного гипервизора.
Ответить | Правка | Наверх | Cообщить модератору

50. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:31 
Гляньте в Xen хотя бы - оно не далеко от вашей идеи, за исключением отсутствия чётко выделенных ядер - хотя это вполне себе делается просто на уровне конфигурации.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

58. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 13:37 
> Поясните, почему аппаратная многозадачность в x86 оказалась тормознее программной, из-за
> чего её избегали использовать, из-за чего в конце-концов выпилили.

Не совсем так, и там - и там вполне себе аппаратная многозадачность, а вот переключение контекстов процессов в первом случае аппаратное (call TSS), а во втором - программное (push/push/push; mov esp,xxx; pop/pop/pop). Во втором случае можно было сохранять сильно не всё (можно было не сохранять FPU, если его не использовала текущая задача), и вообще было более удобно для программиста, где он сам мог выстраивать удобные ему структуры, а не мучаться с TSS.

> мешает сделать чип с аппаратной поддержкой I/O, где ядру ОС выделено
> специальное физическое ядро, желательно оптимизированное под исполнение ядра ОС

если правильно понимаю - примерно так в iMX.6 сделали реализацию DMA на SOC (спец. RISC-процессор, но не архитектуры ARM, со спец.прошивкой, который и реализует контроллер DMA). Честно говоря, получилось не очень. Такое замечательное DMA пришлось для некоторых контроллеров (SPI), отключать, т.к. оно нормально не работало. Хотя, конечно, идея была красивая.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

61. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 14:19 
Вообще как-то так выходит, что сложные процессорные инструкции оказываются тормознее, чем последовательность простых. Когда-то в x86 были инструкции enter/leave для организации стековых фреймов, и где они теперь? У меня есть предположение, что последовательность простых инструкций проще раскидать про конвеерам, чем одну сложную инструкцию выполняющую то же самое. Но это лишь предположение.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

63. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 14:29 
> У меня есть предположение, что
> последовательность простых инструкций проще раскидать про конвеерам, чем одну сложную
> инструкцию выполняющую то же самое. Но это лишь предположение.

Не то что бы в условном arm инструкции были сильно простые, там уже давно добавили много более сложных.
Однако в x86 проблема несколько другая - там сложных инструкций оочень много, и при этом сомнительной полезности в современном мире, оптимизировать их дорого и не нужно.

Если бы сейчас кто-то решил изобрести новый cisc, то он смог бы вместить туда намного более полезные инструкции

enter/leave имели смысл для ручного написания asm кода, сейчас же только leave можно встретить в выхлопе компилятора, enter делает слишком много вещей которые условному gcc не нужны, потому что он при компиляции сам способен всё посчитать, не перекладывая это на рантайм
https://www.felixcloutier.com/x86/enter

Ответить | Правка | Наверх | Cообщить модератору

67. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 15:37 
> Не то что бы в условном arm инструкции были сильно простые, там уже давно добавили много более сложных.

Например? SIMD инструкции перекладывающие числа оттуда/сюда или выполняющие четыре сложения параллельно? Их можно разложить на более простые инструкции, которые в сумме будут делать то же самое, но их сложнее параллелить. Что ещё? Что-нибудь связанное с примитивами синхронизации, для которых важна атомарность выполнения нескольких операций? Но это ситуация, где атомарность важнее скорости.

Но я не знаю армовскую ISA, может там есть что-то ещё? Поэтому спрашиваю примера.

> Если бы сейчас кто-то решил изобрести новый cisc, то он смог бы вместить туда намного более полезные инструкции

Например?

> enter/leave имели смысл для ручного написания asm кода, сейчас же только leave можно встретить в выхлопе компилятора, enter делает слишком много вещей которые условному gcc не нужны, потому что он при компиляции сам способен всё посчитать, не перекладывая это на рантайм

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

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

Ответить | Правка | Наверх | Cообщить модератору

64. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Ант (?), 31-Дек-25, 15:04 
А как микроядро( скорее наноядро)  может иметь размер 4 кБ, ведь Раст имеет рантайм( даже без std он один больше этих 4 кБ наверное будет) ?
Ответить | Правка | Наверх | Cообщить модератору

69. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (69), 31-Дек-25, 16:19 
Вот это нормальный вариант использования rust. Никакой условной компиляции не надо. Чип один - код один. С жестко зашитой архитектурой.
Вплоть до каждого регистра.

Из-за этого код остается читаем и без дублирования.

Это единственно верный вариант использования rust.

Ответить | Правка | Наверх | Cообщить модератору

70. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (-), 31-Дек-25, 17:06 
> Создатели чипа Baochip-1x попытались совместить легковесность,
> свойственную микроконтроллерам ARM без MMU, с возможностями изоляции памяти, доступными в полноценных CPU.

И получилась какая-то неведомая е... х... из разряда ни два ни полтора.

> Чип спроектирован для использования вместе с микроядерной операционной системой Xous,

Да еще - с неведомым системным софтом ни два ни полтора.

Итого? Удачи в продажах этому чипмейкеру :). А пока заказики лотов уехали allwinner и wch, тоже с RISCV но без всякой эзотерики.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру