LINUX.ORG.RU

Для ядра Linux представлен фреймворк, позволяющий управлять всеми процессорами SoC-систем

 , , , ,


0

1

Охад Бэн-Коэн (Ohad Ben-Cohen), разработчик Linux и создатель самообучаемой HIDS Korset, опубликовал в списке рассылки ядра Linux набор патчей, реализующих универсальный механизм управления работой специализированных микропроцессоров, выполняющих вспомогательные роли на современных системах на кристалле (SoC). Обычно такие процессоры управляются с помощью специализированной ОС реального времени и выполняют такую работу как цифровая обработка сигналов, ускорение обработки мультимедиа-данных или управления разными видами сенсоров, требующих немедленной реакции системы, а для их связи с центральным процессором используются специфические механизмы, разработанные производителем чипа и накладывающие ряд ограничений на программистов.

Патч, реализованный Охадом Бэн-Коэном и двумя другими программистами, фактически устраняет эти ограничения благодаря основанному на технологии VirtIO универсальному механизму обмена сообщениями между центральным процессором и остальными процессорами чипа. Протокол, получивший имя rpmsg, позволил реализовать такие возможности как OMX offloading, менеджер ресурсов и дисплейный драйвер для Netra (dm8168), который работает в ядре Linux, посылая управляющие команды микропроцессору M3 (чип TI OMAP4). Также патч включает в себя реализацию механизма remotproc, позволяющего управлять работой выбранного процессора: останавливать, перезапускать или загружать альтернативные прошивки.

В настоящее время полная поддержка технологии (включая открытый firmware) реализована для чипа TI OMAP4, используемого в популярной платформе PandaBoard (также тестировались Davinci da850-evm и hawkboard).

>>> Новость на opennet

В перспективе на tegra заработает?

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

>Кристалл Tegra объединяет в себе ARM-процессор, графический процессор, медиа- и DSP- процессоры

Я думаю, что на сегодня из нее работает только ARM Cortex-A9, ну и GPU при наличии драйверов.

CrossFire ★★★★★ ()

Как я понял - это только механизм для связи ЦП с дополнительными процессорами. На том же самом М3 будет все та же RTOS? =)

exst ★★★ ()

Хотеть для tegra250.

Планшетов уже понавыпускали много, пора на них ставить православный линукс.

AVL2 ★★★★★ ()

>и создатель само-обучаемой HIDS Korset,

Что самообучаемой?

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

Новость замечательная, но ссылка на Korset как на пример чего-то годного, на мой взгляд, преждевременна.

...в текущем состоянии Korset далек от продакшн: работа только на x86, с программами без динамической линковки, многопоточности, сигналов и инструкций вроде setjmp и longjmp.

На фоне этого, сарказм автора статьи по поводу эффективности применения NX битов и рандомизаторов - доставляет.

A-234 ★★★★★ ()
Ответ на: комментарий от AVL2

Хотеть для tegra250.



Планшетов уже понавыпускали много, пора на них ставить православный линукс.

Чтобы потом умиляться:
Портировали линукс на ...
Не работает пока следующие устройства:
...
И так далее.

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

> Как я понял - это только механизм для связи ЦП с дополнительными процессорами. На том же самом М3 будет все та же RTOS? =)

+1 к вопросу. Тем более механизм уже был же, вся разница получается в том, что этот будет в ванильном ядре?

anonymous ()

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

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

>+1 к вопросу. Тем более механизм уже был же, вся разница получается в том, что этот будет в ванильном ядре?

Естественно. Это и есть фирмварь, которая грузится. Другое дело. что имея универсальный загружатель фирмвари, можно использовать свою прошивку с тем же линуксом.

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

>Тем более механизм уже был же, вся разница получается в том, что этот будет в ванильном ядре?

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

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

> Я и не знал, что в современных соках уже свои линуксы грузят не только на центральный процессор, но и во вспомогательные процессоры.

Насколько понял, в новости как раз речь о том, что во вспомогательных линуксов не было и нет. Если придираться, можно накопать что-то вроде этого: http://www.opennet.ru/opennews/art.shtml?num=28711 Но это исключение.

Это и есть фирмварь, которая грузится.

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

Думаешь они только этого и ждали?

anonymous ()
Ответ на: комментарий от AVL2

для тегра не будет, спеков у сообщества нет, а корпорации городят фигню разную

вот TI не жмёт спеки на всякие syslink и вот результат.

anonymous ()

и всё-таки...

...почему не «однокристальные микроконтроллеры»? В микроэлектронике принят этот термин, а не «системы на кристалле». А то DIP-корпуса превратятся в «Двойной в линию»-корпуса вместо корпусов с двухрядной цоколёвкой или двухрядным расположением выводов.

Я понимаю, конечно, что «Проверено: Shaman007», но всё же...

anonymous ()
Ответ на: комментарий от exst

да. это просто механизм стандартизированного обмена меэду ЦП и сопроцессорами.

val-amart ★★★★★ ()

Оhад Бен-Коhэн

Наш парень :)

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

>Насколько понял, в новости как раз речь о том, что во вспомогательных линуксов не было и нет.

Новость не об этом. В ней ясно сказано: whether Linux or any other flavor of real-time OS. Похрен, линус или нет, в рамках даннойго фреймворка это фирмварь.

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

Думаешь они только этого и ждали?

Не знаю. Я этого жду.

AVL2 ★★★★★ ()
Ответ на: комментарий от A-234

Новость замечательная, но ссылка на Korset как на пример чего-то годного, на мой взгляд, преждевременна.

...в текущем состоянии Korset далек от продакшн: работа только на x86, с программами без динамической линковки, многопоточности, сигналов и инструкций вроде setjmp и longjmp.

На фоне этого, сарказм автора статьи по поводу эффективности применения NX битов и рандомизаторов - доставляет.

Как мне стать таким же умным?

anonymous ()
Ответ на: и всё-таки... от anonymous

>...почему не «однокристальные микроконтроллеры»?

Потому что однокристальный микроконтроллер это то, что в клавиатуре стоит? Оно раньше было даже без ПЗУ.

А тут на одном кристалле размещают то, чего никогда в микроконтроллерах не было - целую систему.

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

>для тегра не будет, спеков у сообщества нет, а корпорации городят фигню разную

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

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

>>...почему не «однокристальные микроконтроллеры»?

Потому что однокристальный микроконтроллер это то, что в клавиатуре стоит? Оно раньше было даже без ПЗУ.

ЛОЛШТО? Однокристальные ЭВМ (и однокристальне микроконтроллеры, если это одно и то же) как раз характеризовались наличием ПЗУ для размещения программы и ОЗУ для хранения оперативных данных. В этом было их отличие от процессоров общего назначения. А так присутствовали разные «запчасти»: блоки регистров, арифметические, сопроцессоры (всякие там DSP).

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

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

И вдогонку: да, я не спец по микроконтроллерам. Просто помню элементарный курс микропроцессорных устройств и приспособлений, который читался у нас на специальности. Если нужны детали, то надеюсь, анонимные аналитики или даже регистранты соответствующего профиля их осветят.

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

>ЛОЛШТО? Однокристальные ЭВМ (и однокристальне микроконтроллеры, если это одно и то же)

CMOS single-chip 8-bit microcontrollers DESCRIPTION 80C31/80C51/87C51

- ROMless (80C31)

А однокристальный микроконтроллер - это то, что стоит не в клавиатуре,

вполне себе микроконтроллер.

Manufacturer: OPTI

Type: Microcontroller

Code (Copyright): N80C42 (1991 MR BIOS)

Core speed: 1.6-12.5MHz

BUS: 1.6-12.5MHz, 8-bit

L1/L2 cache: no / no

RAM on chip: 256b

ROM on chip: 4kB

Can address: 64kB of physical memory

FPU: Not integrated

Drystone ALU: ?MIPS

V core (typical): (5±0.5)V

Package (Socket): Plastic DIP 40-pin (DIL-40pin)

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

Я не отрицал того, что в клаве стоит микроконтроллер. Я лишь говорил, что область применения довольно обширная. Хотя уважаемый AVL2 это наверняка знает, я надеюсь.

В примере про клавиатуру ПЗУ 4 кб.

Из-за ROMless'ности микроконтроллер не перестаёт быть однокристальной ЭВМ.

anonymous ()
Ответ на: комментарий от AVL2

Кстати, то, что есть МК без ПЗУ и с оной, лишь говорит об их многообразии. Сейчас потребовалось ещё более наворотить МКшки - вот и городят «системы на кристалле», но это было и остаётся подмножеством ОДНОКРИСТАЛЬНЫХ МК.

anonymous ()
Ответ на: комментарий от AVL2

> Новость не об этом. В ней ясно сказано: whether Linux or any other flavor of real-time OS. Похрен, линус или нет, в рамках даннойго фреймворка это фирмварь.

Другими словами это _можно_ использовать и между линуксами — так кто б сомневался. Если б этот линукс еще на специализированных чипах водился..

В линуксе драйвер уже есть, а в ртосные недооси его еще надо добавить.

Кто б еще сказал, что там в реальности бегает.

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

Да все классификации в той или иной степени условны.

Основное предназначение классификатора состоит в том, чтобы дать потребителю быстрые ориентиры, представление, что это за устройство и для чего его сделали.

Микроконтроллеры делают давно и с тех пор за ними закрепилась ниша вспомогательных устройств. Поэтому я не вижу ничего удивительного в желании производителя ввести новую терминологию - system on chip. Это уже не вспомогательное устройство, а полноценный компьютер с кучей подсистем. И мне кажется, это условное, но весьма важное отличие этих устройств от микроконтроллеров.

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

>Другими словами это _можно_ использовать и между линуксами

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

AVL2 ★★★★★ ()

Изобрели бы уже наконец стандартизированный BIOS для SoC.

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

Но зачем? Бутлоадер гораздо прекраснее, чем Биос по своей идеологичности. К тому же это усложняет кристал

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

Соглашусь, пожалуй

> Поэтому я не вижу ничего удивительного в желании производителя ввести новую терминологию - system on chip.

Но и Вы, уважаемый AVL2, согласитесь, что это лишь терминологическое отличие - в отечественной микроэлектронике бытовал (а может, и по сей день бытует) термин «микроЭВМ» - т.е., микро"полноценный-компьютер". В общем, раз ввели такой термин, придётся принимать эту новую реальность.

Даже капча «denatur 1976» намекает, что привычный термин происходит из древних времён.

anonymous ()

>позволяющий управлять _всеми_ процессорами

Че-то я напрягаюсь когда так говорят, «все» - это очень громкое слово. Обычно это значит либо «работать будет когда-нибудь на всех, но пока только на одном», либо «работает на всех, но медленно и после обработки напильником».

upcFrost ★★★★★ ()
Ответ на: Соглашусь, пожалуй от anonymous

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

AVL2 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.