МикроБлейз
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2018 г. ) |
Дизайнер | Ксилинкс |
---|---|
Биты | 32-битная / 64-битная (32 → 64) |
Версия | 11.0 |
Дизайн | РИСК |
Кодирование | Зафиксированный |
Порядок байтов | Маленький (Большой) |
Открыть | Нет |
Регистры | |
32 × 32 бита |
MicroBlaze программное — это ядро микропроцессора, разработанное для Xilinx программируемых вентильных матриц (FPGA) . Будучи процессором с программным ядром, MicroBlaze полностью реализован в памяти общего назначения и логической структуре ПЛИС Xilinx.
MicroBlaze был представлен в 2002 году. [1]
Обзор
[ редактировать ]С точки зрения архитектуры набора команд 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 ).
MicroBlaze V основан на архитектуре RISC-V .
жизнь
[ редактировать ]от Xilinx Vivado Design Suite — это среда разработки для создания современных MicroBlaze (или ARM встроенных процессорных систем — см. Zynq) на FPGA Xilinx. В более старых версиях использовался пакет разработки Xilinx EDK (Embedded Development Kit).
Проектировщики используют Vivado IP Integrator для настройки и построения аппаратной спецификации своей встроенной системы (ядро процессора, контроллер памяти, периферийные устройства ввода-вывода и т. д.). IP Integrator преобразует проект блока дизайнера в синтезируемое описание RTL ( Verilog или VHDL) . ) и автоматизирует реализацию встроенной системы (от RTL до файла битового потока). Для ядра MicroBlaze Vivado генерирует зашифрованный (нечитаемый человеком) список соединений.
SDK управляет программным обеспечением, которое будет выполняться во встроенной системе. Основанный на наборе инструментов GNU ( GNU Compiler Collection , GNU Debugger ), SDK позволяет программистам писать, компилировать и отлаживать приложения C/C++ для своих встроенных систем. Инструменты Xilinx предоставляют возможность запуска программного обеспечения в режиме моделирования или использования подходящей платы FPGA для загрузки и выполнения в реальной системе.
Покупателям Vivado предоставляется бессрочная лицензия на использование MicroBlaze в FPGA Xilinx без каких-либо регулярных лицензионных отчислений. Лицензия не дает права использовать MicroBlaze за пределами устройств Xilinx.
Альтернативные компиляторы и инструменты разработки доступны в Altium, но по-прежнему требуются установка и лицензия EDK.
Открытый исходный код
[ редактировать ]В июне 2009 года MicroBlaze стала первой архитектурой программного ЦП, которая была объединена с основным деревом исходного кода ядра Linux. Эту работу выполнил Михал Симек при поддержке PetaLogix и Xilinx.
По состоянию на сентябрь 2009 года поддержка инструментов MicroBlaze GNU также включена в основные репозитории Free Software Foundation. Поддержка MicroBlaze включена в выпуски GCC, начиная с версии 4.6. [2]
Поддержка была добавлена в LLVM в апреле 2010 г. [3] но впоследствии удален в июле 2013 г. [4] из-за отсутствия сопровождающего.
Клоны
[ редактировать ]- aeMB, реализовано в Verilog, лицензия LGPL
- Подмножество OpenFire, реализованное в Verilog, лицензия MIT
- MB-Lite, реализован на VHDL, лицензия LGPL
- MB-Lite+, реализован на VHDL, лицензия LGPL
- myBlaze, реализовано в MyHDL , лицензия LGPL
- SecretBlaze, реализовано на VHDL, лицензия GPL.
Другие программные процессоры
[ редактировать ]- Ниос II
- ТСК3000
- Кстенса
- РешеткаMico32
- АРК
- RISC-V (Доступно несколько программных ядер с открытым исходным кодом. По крайней мере одно упаковано для Vivado .)
- ARM Cortex-M (мягкие ядра Cortex-M1 и Cortex-M3 доступны в Vivado)
См. также
[ редактировать ]- OpenCores — дом для многих с открытым исходным кодом. программных процессоров проектов
- ПикоБлейз
- Усовершенствованная архитектура шины микроконтроллера § Расширенный расширяемый интерфейс (AXI)
Ссылки
[ редактировать ]- ^ Ксилинкс (21 августа 2002 г.). «Техническое описание 32-битного программного процессора MicroBlaze RISC» (PDF) .
- ^ «Изменения, новые функции и исправления серии выпусков GCC 4.6» . 15 марта 2011 г. Проверено 15 марта 2011 г.
Добавлена поддержка встроенного целевого процессора Xilinx MicroBlaze softcore (microblaze-elf).
- ^ «Примечания к выпуску LLVM 2.7» . Releases.llvm.org . Проверено 7 апреля 2019 г.
- ^ Кристофер, Эрик (24 июля 2013 г.). «[LLVMdev] Прекращение поддержки и удаление серверной части MBlaze» . Проверено 7 апреля 2019 г.