Pull to refresh

Comments 4

Спасибо за публикации. Можете подсказать, в какую сторону правильнее вывихивать мозг, чтобы с удобством пользоваться UDB? Это ближе к программированию FPGA или к чему? На микроконтроллерный подход, даже в терминах периферии, независимой от ядра (ПНЯ/CIP), совсем не похожею
Попробовал написать развёрнуто. Получилось громоздко. Перепишу кратко.
На FPGA это точно не похоже. Тут нет тех ресурсов, которые есть там. UDB — это что-то между CPLD и FPGA. Если в FPGA мы создаём сущности сами, а в CPLD у нас на это нет ресурсов, то тут ресурсы есть, но они спущены нам сверху (DataPath и АЛУ, как часть его, плюс семибитные счётчики). PLD используются для связывания ресурсов и настройки их логики.

Так что мне кажется, что тут надо вывихивать мозг в сторону разработки микропрограмм. Завтра-послезавтра надеюсь довести до выкладывательного состояния ещё одну статью, где на базе UDB делается этакий сопроцессор для центрального процессора. Там нет законченного практического результата, но как раз я постарался показать в стиле «А можно вот так, а можно — так...».

Ещё можно посмотреть видеоуроки по ссылке из этой статьи (раздел «Ссылки на теорию»). Это — примеры, как мыслят сотрудники компании-производителя.
Спасибо, свет забрезжил, пока довольно тусклый :) Очень интересно, как UDB помогает ядру, мне просто кажется, что для многих задач, которые обрабатывались в прерываниях, ядро просто не нужно.
Вот и я к такому выводу пришёл. Не панацея, но там, где возможно — на вход в прерывания такты не тратятся, проблемы приоритетов — не стоит, так как всё исполняется в параллель, проблемы кэша не стоит, поэтому всё отмеряется с точностью до такта… Сплошные положительные эмоции.

Жаль, что не везде это можно заменить. Вычислительные мощности — ограничены, а когда надо данные пересылать — там уже латентность шины всех ограничивает, на эту тему у меня в голове отдельная большая статья крутится. Но где можно заменить прерывания на обработку в UDB — там эмоции только положительные.
Sign up to leave a comment.

Articles