Jump to content

ПикоБлейз

PicoBlaze — это обозначение серии из трех свободных программных процессорных ядер от Xilinx для использования в их FPGA и CPLD продуктах . Они основаны на 8-битной RISC- архитектуре и могут достигать скорости до 100 MIPS на семействе Virtex 4 FPGA . Процессоры имеют 8- битный адрес и порт данных для доступа к широкому спектру периферийных устройств. Лицензия ядер позволяет их бесплатное использование, правда, только на устройствах Xilinx, и они поставляются со средствами разработки . Сторонние инструменты доступны от Mediatronix и других компаний. Также существует PacoBlaze , поведенческая и аппаратно-независимая реализация ядер, которая выпускается под лицензией BSD . PauloBlaze — это реализация VHDL с открытым исходным кодом под лицензией Apache .

Первоначально конструкция PicoBlaze называлась KCPSM, что означает «Программируемый конечный автомат с константным (K) кодированием» (ранее «PSM Кена Чепмена»). Кен Чепмен был системным разработчиком Xilinx, который разработал и реализовал микроконтроллер. [1]

Создание экземпляра [ править ]

При создании экземпляра микропроцессора PicoBlaze в VHDL необходимо использовать соответствующее имя компонента KCPSM. [2] Например, для процессора PicoBlaze3:

component kcpsm3 is
  port (
    address       : out std_logic_vector(9 downto 0);
    instruction   : in std_logic_vector(17 downto 0);
    port_id       : out std_logic_vector(7 downto 0);
    write_strobe  : out std_logic;
    out_port      : out std_logic_vector(7 downto 0);
    read_strobe   : out std_logic;
    in_port       : in std_logic_vector(7 downto 0);
    interrupt     : in std_logic;
    interrupt_ack : out std_logic;
    reset         : in std_logic;
    clk           : in std_logic
    );
end component;

Производительность [ править ]

Все инструкции выполняются за два такта, что делает производительность основного набора команд детерминированной. Реакция на прерывание составляет не более пяти тактов. В целях оптимизации ресурсов два ядра PicoBlaze могут использовать одну и ту же PROM инструкций 1k x 18, используя преимущества двухпортовой реализации этого блока на FPGA Xilinx.

Архитектурные заметки [ править ]

Xilinx документально подтверждает, что PicoBlaze требует всего 96 срезов FPGA. Небольшой размер реализации частично достигается за счет довольно жесткого разделения стороны последовательности команд (счетчик программ, стек вызовов-возвратов, подразумеваемый указатель стека и бит разрешения прерывания) от стороны выполнения (ALU, файл регистров, блокнот RAM, Z /C биты состояния). Единственная информация, которая передается со стороны вычислений на сторону последовательности, — это ноль и биты состояния ALU при проверке с помощью условных инструкций JUMP и CALL. Невозможно реализовать вычисляемые переходы или указатели на функции. [ сомнительно обсудить ] . Единственная информация, которая передается со стороны упорядочивания на сторону выполнения, - это поля операндов: регистр назначения (4 бита), код операции ALU (шесть битов), дополнительный регистр источника (4 бита), необязательное 8-битное непосредственное значение/адрес порта, дополнительный 6-битный адрес блокнота. Не существует механизма проверки значения указателя стека, содержимого стека из 31 записи, бита разрешения прерывания или содержимого программной памяти.

Сторона последовательности команд не содержит сумматора, поэтому относительные переходы и позиционно-независимый код невозможны. Все адреса перехода и вызова являются абсолютными. [ сомнительно обсудить ] .

PicoBlaze плохо подходит для программирования на компилируемых языках, таких C. как [3] Помимо отсутствия поддержки указателей на функции [ сомнительно обсудить ] , нет никаких инструкций или режимов адресации для ускорения соглашения о вызовах на основе стека. Для PicoBlaze требуются две инструкции для реализации PUSH или POP и две инструкции для реализации относительной адресации с помощью указателя стека, назначенного программным обеспечением. PicoBlaze лучше подходит для оптимизированного вручную соглашения о вызовах на основе регистров. Это не исключает использования стека данных, подобного Форту , и фактически PicoBlaze хорошо подходит для этого подхода, если 64-байтовая блокнотная память предлагает достаточно места.

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

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

Процессор и производные:

Инструменты:

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

Примечания
  1. ^ «8-битный микроконтроллер PicoBlaze» (PDF) . Ксилинкс, Инк . Проверено 25 июня 2007 г.
  2. ^ «Руководство пользователя 8-битного встроенного микроконтроллера PicoBlaze» (PDF) . Xilinx, Inc. Архивировано из оригинала (PDF) 27 сентября 2007 г. Проверено 25 июня 2007 г.
  3. ^ Понг П. Чу (2008). Прототипирование FPGA с помощью VHDL. Примеры: версия Xilinx Spartan-3 . Уайли и сыновья. ISBN  978-0-470-18531-5 .
Библиография
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 10a81b42e3d476319c112ccb87be7bbf__1700081940
URL1:https://arc.ask3.ru/arc/aa/10/bf/10a81b42e3d476319c112ccb87be7bbf.html
Заголовок, (Title) документа по адресу, URL1:
PicoBlaze - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)