MicroBlaze - Википедия - MicroBlaze
Эта статья нужны дополнительные цитаты для проверка.Август 2018 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Дизайнер | Xilinx |
---|---|
Биты | 32-битный /64-битный (32 → 64) |
Версия | 11.0 |
Дизайн | RISC |
Кодирование | Фиксированный |
Порядок байтов | Немного большой) |
Открыть | Нет |
Регистры | |
32 × 32 бит |
В MicroBlaze это мягкий микропроцессор ядро предназначено для Xilinx программируемые вентильные матрицы (ПЛИС). Как процессор с программным ядром, 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 ).
Вивадо
Xilinx's Дизайнерский люкс Vivado среда разработки для создания текущей версии MicroBlaze (или РУКА - см. Zynq) встроенные процессорные системы в ПЛИС Xilinx. В более старых версиях использовался пакет разработки Xilinx EDK (Embedded Development Kit).
Разработчики используют Vivado IP Integrator для настройки и построения технических характеристик оборудования своей встроенной системы (ядро процессора, контроллер памяти, периферийные устройства ввода-вывода и т. Д.). IP Integrator преобразует блочную конструкцию разработчика в синтезируемый RTL описание (Verilog или же VHDL ) и автоматизирует реализацию встроенной системы (от RTL до файла битового потока). Для ядра MicroBlaze Vivado генерирует зашифрованный (не читаемый человеком) список соединений.
SDK обрабатывает программное обеспечение, которое будет выполняться во встроенной системе. На базе Набор инструментов GNU (Коллекция компиляторов GNU, Отладчик GNU ), SDK позволяет программистам писать, компилировать и отлаживать приложения 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
Другие программные процессоры
Смотрите также
- OpenCores - дом для многих Открытый исходный код мягкий процессор проекты
- PicoBlaze
- Расширенная архитектура шины микроконтроллера § Расширенный расширяемый интерфейс (AXI)
Рекомендации
- ^ «Изменения, новые функции и исправления выпусков GCC 4.6». 2011-03-15. Получено 2011-03-15.
Добавлена поддержка встроенного целевого процессора Xilinx MicroBlaze softcore (microblaze-elf).
- ^ «Примечания к выпуску LLVM 2.7». releases.llvm.org. Получено 2019-04-07.
- ^ Кристофер, Эрик (24.07.2013). «[LLVMdev] Прекращение поддержки и удаление серверной части MBlaze». Получено 2019-04-07.