Nikita Demerza 0 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба Здравствуйте. У меня возникла идея написать специальную ос под fpga+arm soc-ы. Само ядро ос должно запускаться на ps(CPU), а все программы на fpga(перестраивается при запуске каждого приложения, возможно деление fpga на несколько областей для запуска нескольких приложений), так вот самый главный вопрос, от которого зависит возможность этого проекта: может ли ps часть прошить pl(fpga) часть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба В Zynq PL грузится только из PS, но это не очень быстро и в результате частые перезагрузки PL дадут слишком большие накладные расходы. Разработчики не рассчитывали на такой вариант использования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба В 12.08.2022 в 17:16, Nikita Demerza сказал: Само ядро ос должно запускаться на ps(CPU), а все программы на fpga(перестраивается при запуске каждого приложения, возможно деление fpga на несколько областей для запуска нескольких приложений) Как-то эта задумка мысли об OpenCL навевает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба 15 hours ago, makc said: В Zynq PL грузится только из PS, но это не очень быстро... Ну смотря какие требования. Все-таки, PL из PS грузится <1секунды. Если уж перешиваешь PL, то 1 сек может быть вполне удовлетворительным результатом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба 25 минут назад, nice_vladi сказал: Ну смотря какие требования. Все-таки, PL из PS грузится <1секунды. Если уж перешиваешь PL, то 1 сек может быть вполне удовлетворительным результатом. В операционках квант времёни порядка 10 мс, названное вами время (мои наблюдения совпадают с вашими) на 2 порядка больше. Плюс ещё есть затраты времени на запуск PLL и т.п. стартап PL. Т.е. использовать PL в таком ключе мне видится крайне неэффективным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikita Demerza 0 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба А частичная перезапись возможна? Или это только в версалях есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба 6 минут назад, Nikita Demerza сказал: А частичная перезапись возможна? Или это только в версалях есть? Возможна. Читайте про zynq partial reconfiguration. Но это очень специфическое средство, которое по своим ограничениям применимости далеко не всегда может подойти для решения задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 14 августа, 2022 Опубликовано 14 августа, 2022 · Жалоба On 8/13/2022 at 1:21 PM, makc said: В операционках квант времёни порядка 10 мс, названное вами время (мои наблюдения совпадают с вашими) на 2 порядка больше. Плюс ещё есть затраты времени на запуск PLL и т.п. стартап PL. Т.е. использовать PL в таком ключе мне видится крайне неэффективным. Ну так опять же: смотря, что делать. Допустим, если у вас релейка или какая-нибудь коммутационная вещь, то перепрошивка == разрыв связи/потеря маршрутизации. Тогда уже не важно: что 100 мс, что 1-2 секунды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 14 августа, 2022 Опубликовано 14 августа, 2022 · Жалоба 1 час назад, nice_vladi сказал: Ну так опять же: смотря, что делать. Вот в этом и проблема: ТС хотел общий универсальный механизм на все случаи жизни, как вытесняющая многозадачность в современной ОС. Но так не получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slkhome 0 15 августа, 2022 Опубликовано 15 августа, 2022 · Жалоба On 8/12/2022 at 5:16 PM, Nikita Demerza said: Здравствуйте. У меня возникла идея написать специальную ос под fpga+arm soc-ы. Само ядро ос должно запускаться на ps(CPU), а все программы на fpga(перестраивается при запуске каждого приложения, возможно деление fpga на несколько областей для запуска нескольких приложений), так вот самый главный вопрос, от которого зависит возможность этого проекта: может ли ps часть прошить pl(fpga) часть? Какие задачи стоят перед ОС? Какая ниша предполагается у таких ОС? Это прототипы для исследований или есть реальная потребность? Это дипломная работа или диссертация? ИМХО: 1. На сколько правильно поянл, Intel, а теперь Intel + Altera, подобрым вопросом уже давно озаботились. Тем более когда совместили CPU+PL+SDRAMDDR в одном корпусе. Читал когда-то у них уже даже есть какие-то инструменты, что бы писать ПО как раз с учетом того, что часть программ и будет подгружаться в PL и там работать на зверских скоростях. Конечно там увеличенная скорость загрузки в PL. 2. Для Зинков считаю, что лучше уж делать ускорители для решения конкретных задач, типа IP Core. А в ОС делать поддержку этих IPCores, или писать программы так, чтобы использовать ресурсы IPCores. И расчитывать, что реконфигурация будет происходить редко и медленно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikita Demerza 0 16 августа, 2022 Опубликовано 16 августа, 2022 · Жалоба В 15.08.2022 в 12:10, slkhome сказал: Какие задачи стоят перед ОС? Какая ниша предполагается у таких ОС? Это прототипы для исследований или есть реальная потребность? Это дипломная работа или диссертация? ИМХО: 1. На сколько правильно поянл, Intel, а теперь Intel + Altera, подобрым вопросом уже давно озаботились. Тем более когда совместили CPU+PL+SDRAMDDR в одном корпусе. Читал когда-то у них уже даже есть какие-то инструменты, что бы писать ПО как раз с учетом того, что часть программ и будет подгружаться в PL и там работать на зверских скоростях. Конечно там увеличенная скорость загрузки в PL. 2. Для Зинков считаю, что лучше уж делать ускорители для решения конкретных задач, типа IP Core. А в ОС делать поддержку этих IPCores, или писать программы так, чтобы использовать ресурсы IPCores. И расчитывать, что реконфигурация будет происходить редко и медленно. Для исследований. Тут ещё появилась одна идея: адаптивная ос на онтологиях, начну делать под обычное железо, а потом возможно вернусь к fpga soc-ам в качестве железа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gaba 0 19 декабря, 2023 Опубликовано 19 декабря, 2023 · Жалоба On 8/12/2022 at 5:16 PM, Nikita Demerza said: может ли ps часть прошить pl(fpga) часть? Может, такое реализовывается с помощью fpga manager на PS части. Вот гайд https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager Довольно муторная подготовка в том плане, что необходимо вырезать всю PL часть из device tree и записывать её в дополнительный файл device tree overlay, который потом наложится на основной dtb файл. Если коротко, то при запуске загружается только PS часть, которая потом подгружает bit.bin файл и допольнительный оверлейный device tree, чтобы ОС понимала что у неё добавилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться