Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

MicroBlaze является мягким Микропроцессор ядро предназначен для Xilinx полевых программируемых вентильных матриц (FPGA). Как процессор с программным ядром, MicroBlaze полностью реализован в памяти общего назначения и в логической матрице ПЛИС Xilinx.

Обзор [ править ]

С точки зрения архитектуры набора команд MicroBlaze похож на основанную на RISC архитектуру DLX, описанную в популярной книге по компьютерной архитектуре Паттерсона и Хеннесси . За некоторыми исключениями MicroBlaze может выдавать новую инструкцию каждый цикл, поддерживая пропускную способность одного цикла в большинстве случаев.

MicroBlaze имеет универсальную систему межсоединений для поддержки множества встроенных приложений. Основная шина ввода-вывода MicroBlaze, межсоединение AXI , представляет собой отображаемую в системную память шину транзакций с возможностью ведущего-ведомого. В более старых версиях MicroBlaze использовалась шина CoreConnect PLB. Большинство поставщиков и сторонних IP-интерфейсов к AXI напрямую (или через межсоединение AXI). Для доступа к локальной памяти ( ОЗУ FPGA ) MicroBlaze использует выделенную шину LMB, которая обеспечивает быструю внутреннюю память. Определяемые пользователем сопроцессоры поддерживаются через выделенные соединения AXI4-Stream. Интерфейс сопроцессора (ов) может ускорить выполнение алгоритмов, требующих большого объема вычислений, за счет разгрузки частей или всего вычисления в аппаратный модуль, разработанный пользователем.

Многие аспекты MicroBlaze могут быть настроены пользователем: размер кэша, глубина конвейера (3-ступенчатая, 5-ступенчатая или 8-ступенчатая), встроенные периферийные устройства, блок управления памятью и шинные интерфейсы могут быть настроены. Версия MicroBlaze с оптимизацией по площади, в которой используется трехступенчатый конвейер, жертвует тактовой частотой ради уменьшения логической области. Версия с оптимизацией производительности расширяет конвейер выполнения до 5 этапов, обеспечивая максимальную скорость более 700 МГц (в семействе Virtex UltraScale + FPGA ). Также инструкции по работе с ключевым процессоромкоторые редко используются, но более дороги для аппаратной реализации, могут быть выборочно добавлены / удалены (например, операции умножения, деления и с плавающей запятой). Эта настройка позволяет разработчику делать соответствующие компромиссы при проектировании для конкретного набора требований к оборудованию хоста и прикладному программному обеспечению.

Благодаря блоку управления памятью MicroBlaze может размещать операционные системы, требующие аппаратной подкачки страниц и защиты, такие как ядро Linux . В противном случае он ограничен операционными системами с упрощенной защитой и моделью виртуальной памяти, например FreeRTOS или Linux без поддержки MMU. Общая пропускная способность MicroBlaze существенно меньше, чем у сопоставимого ядра жесткого процессора (такого как ARM Cortex-A9 в Zynq ).

Вивадо [ править ]

Vivado Design Suite от Xilinx - это среда разработки для создания текущих встроенных процессорных систем MicroBlaze (или ARM - см. Zynq) в ПЛИС Xilinx. В более старых версиях использовался пакет разработки Xilinx EDK (Embedded Development Kit).

Разработчики используют Vivado IP Integrator для настройки и создания технических характеристик оборудования своей встроенной системы (ядро процессора, контроллер памяти, периферийные устройства ввода-вывода и т. Д.). IP Integrator преобразует блочную конструкцию разработчика в синтезируемое описание RTL ( Verilog или VHDL ) и автоматизирует реализацию встроенной системы (от RTL до файла битового потока). Для ядра MicroBlaze Vivado генерирует зашифрованный (не читаемый человеком) список соединений.

SDK обрабатывает программное обеспечение, которое будет выполняться во встроенной системе. Этот SDK, работающий на базе инструментальной цепочки GNU ( GNU Compiler Collection , GNU Debugger ), позволяет программистам писать, компилировать и отлаживать приложения C / C ++ для своих встроенных систем. Инструменты Xilinx обеспечивают возможность запуска программного обеспечения в режиме моделирования или использования подходящей платы FPGA для загрузки и выполнения в реальной системе.

Покупателям Vivado предоставляется бессрочная лицензия на использование MicroBlaze в ПЛИС Xilinx без периодических лицензионных отчислений. Лицензия не дает права использовать MicroBlaze вне устройств Xilinx.

Альтернативные компиляторы и инструменты разработки доступны в Altium, но установка EDK и лицензия по-прежнему необходимы.

Открытый исходный код [ править ]

В июне 2009 года MicroBlaze стала первой архитектурой с программным процессором, которая была включена в основное дерево исходных текстов ядра Linux. Эта работа была выполнена Михалом Симеком при поддержке PetaLogix и Xilinx.

С сентября 2009 года поддержка инструментов GNU MicroBlaze также была внесена в основные репозитории Free Software Foundation. Поддержка MicroBlaze включена в выпуски GCC, начиная с версии 4.6 [1]

Поддержка была добавлена ​​к LLVM в апреле 2010 года [2], но впоследствии удалена в июле 2013 года [3] из-за отсутствия сопровождающего.

Клоны [ править ]

  • aeMB, реализованный в Verilog, лицензия LGPL
  • Подмножество OpenFire, реализованное в Verilog, лицензия MIT
  • MB-Lite, реализован на VHDL, лицензия LGPL
  • MB-Lite +, реализован на VHDL, лицензия LGPL
  • myBlaze, реализованный в MyHDL , лицензия LGPL
  • SecretBlaze, реализованный на VHDL, лицензия GPL

Другие программные процессоры [ править ]

  • Ниос II
  • TSK3000
  • Xtensa
  • Решетка
  • ARC

См. Также [ править ]

  • OpenCores - дом для многих открытого исходного кода мягкой процессор проектов
  • PicoBlaze
  • Усовершенствованная архитектура шины микроконтроллера § Расширенный расширяемый интерфейс (AXI)

Ссылки [ править ]

  1. ^ «GCC 4.6 Release Series Changes, New Features, and Fixes» . 2011-03-15 . Проверено 15 марта 2011 . Добавлена ​​поддержка встроенного целевого процессора Xilinx MicroBlaze softcore (microblaze-elf).
  2. ^ "Примечания к выпуску LLVM 2.7" . releases.llvm.org . Проверено 7 апреля 2019 .
  3. ^ Кристофер, Эрик (2013-07-24). «[LLVMdev] Прекращение поддержки и удаление серверной части MBlaze» . Проверено 7 апреля 2019 .

Внешние ссылки [ править ]

  • MicroBlaze на сайте Xilinx