Что такое процессор Microblaze: архитектура, работа и приложения

Попробуйте наш инструмент устранения неполадок





Процессор MicroBlaze был разработан в 2002 году, чтобы объединить несколько сложных функций для удовлетворения новых, а также растущих потребностей рынка. Таким образом, процессор MicroBlaze является важным элементом портфолио бюджетных продуктов Xilinx, позволяющим ускорить разработку систем, содержащих Artix®-7. ПЛИС , Spartan®-6, Zynq®-7000 AP SoC. Этот процессор чрезвычайно настраиваемый, поэтому его можно использовать в качестве встроенного процессора или микроконтроллера в FPGA, а также использовать в качестве сопроцессора в SoC Zynq-7000 AP на базе ARM Cortex-A9. В этой статье дается краткая информация о Процессор MicroBlaze – архитектура и работа с приложениями.


Что такое процессор Microblaze?

Программный микропроцессор, разработанный в основном для ПЛИС Xilinx, известен как процессор MicroBlaze. Этот процессор просто реализован в памяти общего назначения и логической структуре ПЛИС Xilinx. Этот процессор похож на архитектуру DLX на основе RISC и имеет гибкую систему межсоединений, поэтому он поддерживает различные встроенные приложения. Основная шина ввода-вывода и межсоединение AXI MicroBlaze представляют собой шину транзакций с отображением памяти и функцией ведущий-ведомый.



MicroBlaze использует выделенную шину LMB для доступа к локальной памяти и обеспечивает быстрое встроенное хранилище. Многие части этого процессора могут быть настроены пользователем, такие как размер кэш-памяти, глубина модуля управления конвейерной памятью, встроенные периферийные устройства и интерфейсы шины.

Особенности Microblaze

особенности Microblaz е включают следующее. Он имеет 32 регистра общего назначения.



  • Он имеет 32-битные командные слова, включая 2 режима адресации и 3 операнда.
  • Адресная шина 32-битная.
  • Он имеет 3-ступенчатый трубопровод или 5-ступенчатый трубопровод.
  • Блок АЛУ с переключателем.
  • Гарвардская архитектура включает 32-битную шину данных и адресов.
  • Интерфейс данных и инструкция ЛКМ или шины локальной памяти.
  • Потоковые интерфейсы AX14 и AX14.
  • Модуль с плавающей запятой и модуль управления памятью.
  • Он поддерживает блокировку.
  • Интерфейс отладки и трассировки.

Архитектура микробазы

Блок-схема процессора MicroBlaze показана ниже. Этот процессор MicroBlaze чрезвычайно настраиваемый и поддерживает более 70 вариантов дизайна. Эта архитектура демонстрирует постоянные аппаратные функции, а также настраиваемые параметры, такие как кэш инструкций или данных, модуль управления памятью, модуль с плавающей запятой и т. д.

Ан Встроенная система собранный на основе процессора MicroBlaze, в основном включает в себя ядро ​​процессора MicroBlaze Soft, встроенную локальную память, межсоединения стандартной шины и периферийные устройства OPB (встроенная периферийная шина). Процессорная система MicroBlaze в основном варьируется от ядра процессора с локальной памятью до большой системы, включающей несколько систем MicroBlaze. процессоры , внешняя память и множество периферийных устройств OPB.

  Архитектура процессора Microblaze
Архитектура процессора Microblaze

Программное ядро ​​процессора

Программное ядро ​​процессора MicroBlaze занимает центральное место во встраиваемой системе MicroBlaze. Это очень быстрый и эффективный 32-битный RISC-процессор со следующими особенностями.

  • Набор инструкций является ортогональным.
  • Раздельные шины данных и команд.
  • 32-битные регистры общего назначения.
  • Он имеет дополнительный полный 32-битный переключатель ствола.
  • Встроенные интерфейсы для быстрого OCM или встроенной памяти, а также стандартная отраслевая шина IBM OPB (внутренняя периферийная шина).

Реализации в Virtex-II и более поздних устройствах поддерживают несколько аппаратных средств.

Встроенная локальная память

Синхронная память — это локальная память, которая в основном используется для обеспечения встроенной блочной ОЗУ.

Стандартные шинные соединения

Интерфейсы шины на стороне инструкций и данных включают интерфейс к локальной памяти, которая называется LMB (локальная шина памяти), и интерфейс к встроенной периферийной шине IBM. Таким образом, мы можем проектировать системы, которые строго придерживаются гарвардской архитектуры, в противном случае, для совместного использования ресурсов, мы можем использовать один OPB в комбинации через арбитр шины.

Локальная шина памяти обеспечивает гарантированный доступ к встроенной блочной ОЗУ за один цикл. Это очень эффективный, простой протокол шины с одним мастером, который идеально подходит для взаимодействия с быстрой локальной памятью. OPB или встроенная периферийная шина — это 32-разрядная широкая шина с несколькими ведущими устройствами, которая идеально подходит для объединения периферийных устройств и внешней памяти с ядром процессора MicroBlaze.

Встроенная периферийная шина Периферийные устройства

Аппаратная система MicroBlaze дополняется периферийными устройствами OPB для обеспечения различных функций, таких как сторожевой таймер или временная база, таймер или счетчик общего назначения, IC (контроллер прерываний), различные контроллеры, такие как SRAM, флэш-память, память ZBT, BRAM, DDR, SDRAM, UART Lite. , SPI, I2C, ввод-вывод общего назначения, UART 16450/550 и Ethernet 10/100 MAC. Кроме того, мы также можем добавлять и определять периферийные устройства в основном для пользовательских функций, в противном случае — интерфейс для проекта, существующего в FPGA.

Набор инструкций Microblaze

Наборы инструкций Microblaze включают арифметику, логику, переход, загрузку/сохранение и другие. Размер всех инструкций фиксированный. В качестве операндов может быть задано не более 3-х регистров. Microblaze включает два формата инструкций типа A и типа B, которые показаны ниже.

Формат инструкции типа А в основном используется для инструкций регистр-регистр. Таким образом, он включает в себя код операции, один регистр назначения и два исходных регистра. Формат инструкций типа B в основном используется для инструкций непосредственного регистра, которые включают в себя код операции, одиночный регистр назначения и одиночный исходный регистр, а также 16-битный источник непосредственного значения.

  Форматы инструкций
Форматы инструкций

В приведенных выше двух форматах инструкций код операции — это код операции, Rd — регистр назначения, закодированный 5-битами, Ra и Rb — исходные регистры, каждый из которых закодирован 5-битами, а Immediate — 16-битное значение.

Арифметические инструкции

Арифметические инструкции типа A и типа B приведены ниже.

Наберите 'А

ДОБАВИТЬ Rd, Ra, Rb

добавлять

Rd = Ra+Rb, затронут флаг переноса

ДОБАВИТЬ K Rd, Ra, Rb

Добавить и сохранить носить

Rd = Ra+Rb, флаг переноса не влияет

RSUB Рд, Ра, Рб

Обратное вычитание

Rd = R-Rb, флаг переноса не влияет

Тип Б

ДОБАВИТЬ I Рд, Ра, Имм

добавить немедленно

Rd = Ra+signExtend32 (Iмм)

ДОБАВИТЬ IK Rd, Ra, Imm

добавить немедленно и сохранить перенос

Rd = Ra+ signExtend32 (Iмм)
RSUBIK Rd, Ra, Imm

обратное вычитание с немедленным

Rd = Ra+ signExtend32 (Imm) -Ra

СРА Rd, Ra

арифметический сдвиг вправо

Rd = (Ra>>1)

Логические инструкции

Ниже приведены логические инструкции типа A и типа B.

Наберите 'А

ИЛИ Рд, Ра, Рб

Логическое или

Рд = Ра| руб.

И Рд,Ра,Рб

Логическое добавление

Rd = Ra и Rb
Исключающее ИЛИ Rd, Ra, Rb

Логический xor

Рд = Рб ^ Рб

ИНД Рд, Ра, Рб

Логично и не

Rd = Ra и (Rb)

Тип Б

ORI Рд, Ра, Имм

логическое ИЛИ с немедленным

Рд = Ра | signExtend32 (мм)
АНДИ Рд, Ра, Имм

логическое И с немедленным

Rd = Ra & signExtend32 (Imm)
XORI Rd, Ra, Im

логическое XOR с немедленным

Rd = Ra ^ signExtend32 (Iмм)

ANDNI Rd, Ра, Имм

Логично И НЕ с немедленным

Rd = Ra & (signExtend32 (Imm))

Инструкции ответвления - безусловные

Изменить регистр счетчика программ

BRID Имм

немедленное отделение с немедленной задержкой

ПК = ПК+ signExtend32 (Iмм)

разрешить отложенное выполнение слота

БРЛИД Рд, Имм

немедленное ветвление и ссылка с немедленной задержкой (вызов функции)

Рд = ПК

ПК = ПК+& signExtend32 (Imm)

разрешить отложенное выполнение слота

RTSD Ра, Имм

возврат из подпрограммы

ПК = Ra + signExtend32 (Iмм)

разрешить отложенное выполнение слота

RTID Ра, Имм

возврат из прерывания

ПК = Ra + signExtend32 (Imm)

разрешить отложенное выполнение слота

установить разрешение прерывания в MSR

Инструкции ответвления - безусловные1

Изменить регистр счетчика программ, когда условие выполнено

БЕКИ Ра, Имм

ветвь, если равны

ПК = ПК+ signExtend32 (Iмм)

Если Ра = = 0

МАШ Ра, Имм

ветвь, если не равно

Рд = ПК

ПК = ПК+& signExtend32 (Imm)

Если Ра! = 0

Инструкции ветвления - безусловные2

Изменить регистр счетчика программ, когда условие выполнено

БЛТИ Ра, Имм

ветвь, если ниже, чем

ПК = ПК+ signExtend32 (Imm)

Если Ра < 0

БЛЕЙ Ра, Имм

ветвь, если меньше равно, чем

Рд = ПК

ПК = ПК+& signExtend32 (Imm)

Если Ra!< = 0

БГТИ Ра, Имм

ветвь, если больше

ПК = ПК+ signExtend32 (Imm)

Если Ра!> 0

БГЭИ Ра, Имм

ветвь, если больше равно, чем

ПК = ПК+signExtend32 (Imm)

Если Ра!>= 0

Инструкции по загрузке/сохранению — тип A

LW Rd, Ra, Rb

Загрузить слово

Адрес = Ra+Rb

Rd = *Адрес

ЮЗ Rd, Ra, Rb

Хранить слово

Адрес — Ра+Рб

*Адрес = Рд

Тип Б

LWI Rd, Ra, Imn

Загрузить слово немедленно

Адрес = Ra + signExtend32 (Imm)

Rd = *Адрес

SW Rd, Ra, Im

Сохранить слово немедленно

Адрес = Ra + signExtend32 (Imm)

*Адрес = Рд

Другие инструкции

ИММ, ИММ

немедленный

Расширить Imm предыдущей инструкции типа B до 32 бит.
МФС Роуд, Сб

Перенести из специального регистра

Рд = Сб

Sa- регистр специального назначения, исходный операнд

МТС Сд, Ра

Переместить в специальный регистр

Sд = Ра

Sd - регистр специального назначения, операнд назначения

Регистры

Архитектура процессора MicroBlaze полностью ортогональна и включает 32-битные регистры общего назначения и 32-битные регистры специального назначения, такие как счетчик программ и регистр состояния машины.

Конвейерная архитектура

MicroBlaze использует трехэтапную конвейерную архитектуру, включая этапы выборки, декодирования и завершения. Автоматически пересылка данных, ответвления и задержка конвейера определяются аппаратно.

Загрузить или сохранить архитектуру

MicroBlaze поддерживает память с тремя размерами данных: 8 бит (байт), 16 бит (полслово) и 32 бит (слово). Таким образом, доступ к памяти всегда выравнивается по размеру данных. Это процессор с обратным порядком байтов, который использует адрес с обратным порядком байтов, а также соглашения по маркировке при доступе к памяти.

прерывания

Как только происходит прерывание, этот процессор завершает текущее выполнение, чтобы управлять запросом на прерывание посредством ветвления к адресу вектора прерывания и сохранять адрес инструкции, которую необходимо выполнить. Этот процессор остановит будущие прерывания, сняв флаг IE (разрешение прерываний) в MSR (регистр состояния машины).

Как работает Microblaze?

Процессор MicroBlaze поддерживает 32-битную ширину шины, и это ядро ​​​​процессора представляет собой механизм на основе RISC, который включает регистровый файл на основе 32-битной LUT RAM с помощью отдельных инструкций для доступа к памяти и данным.
Этот процессор просто поддерживает как встроенную BlockRAM, так и внешнюю память. Аналогичен IBM PowerPC; все периферийные устройства используют одинаковую шину CoreConnect OPB, поэтому; периферия процессора хорошо сочетается с PowerPC на Virtex-II Pro.

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

Отличие ч/б Microblaze от Risc-V

разница между MicroBlaze и RISC v включая следующее.

микроблейз

Риск-V

Это программное ядро ​​микропроцессора, в основном разработанное для Xilinx FPGA.

RISC-V — это архитектура набора команд, основанная на принципах RISC.

Он использует архитектуру Harvard RISC. Он использует архитектуру набора инструкций.
Его лицензия является частной (Xilinx) Его лицензия с открытым исходным кодом.
Глубина трубопровода 3 или 5. Глубина трубопровода 5.
Его производительность составляет 280 DMIP. Его производительность составляет 250 DMIP.
Его скорость составляет 235 МГц. Его скорость составляет 250 МГц.
Он имеет 1027 LUT. Он имеет 4125 LUT.
Реализация используемой технологии Xilinx FPGA. Реализация используемой технологии — FPGA/ASIC.

Преимущества Microblaze

преимущества MicroBlaze включая следующее.

  • Это экономично.
  • Он легко настраивается.
  • Его производительность высока по сравнению с ARM.
  • Он поддерживается встроенным комплектом разработки.
  • это мягкий микропроцессор основной.
  • Чтобы помочь вам быстро организовать ваше приложение, этот процессор включает три фиксированные конфигурации, которые относятся к хорошо известным классам процессоров: микроконтроллер, процессор реального времени и процессор приложения.

Приложения Microblaze

приложения MicroBlaze включая следующее.

  • Этот процессор отвечает требованиям многих различных приложений, таких как промышленные, автомобильные, медицинские и потребительские и т. д.
  • Приложения MicroBlaze варьируются от простых конечных автоматов, основанных на программном обеспечении, до сложных контроллеров, используемых во встроенных приложениях или интернет-устройствах.
  • Он оптимизирован для встроенных приложений, таких как промышленный контроль, офисная автоматизация и автомобильная промышленность.
  • MicroBlaze может обмениваться данными с большим набором периферийных устройств, что позволяет использовать его в приложениях среднего масштаба.
  • Мягкая природа этого процессора делает его настраиваемым для различных приложений, где разработчики могут обменивать функции на размер, чтобы соответствовать целям цены и производительности для медицинских, автомобильных, промышленных приложений и приложений безопасности.

Таким образом, это все о обзор Microblaze процессор. Это полнофункциональное 32-разрядное программируемое программное ядро ​​RISC-процессора. Этот процессор отвечает различным требованиям в различных областях, таких как потребительская, медицинская, промышленная, автомобильная и коммуникационная инфраструктура. Он чрезвычайно настраиваемый, поэтому используется в качестве встроенного процессора или микроконтроллера в ПЛИС, в противном случае он используется как сопроцессор для ARM. Вот вопрос к вам, что такое FPGA?