Мягкий микропроцессор - Википедия - Soft microprocessor

А мягкий микропроцессор (также называемый микропроцессором softcore или мягкий процессор) это микропроцессор ядро, которое может быть полностью реализовано с использованием логический синтез. Это может быть реализовано через разные полупроводник устройства, содержащие программируемую логику (например, ASIC, FPGA, CPLD ), включая как высококачественные, так и товарные варианты.[1]

Большинство систем, если они вообще используют программный процессор, используют только один программный процессор. Однако некоторые разработчики накладывают на ПЛИС столько программных ядер, сколько может поместиться.[2] В тех многоядерный В системах редко используемые ресурсы могут быть разделены между всеми ядрами кластера.

Хотя многие люди устанавливают на ПЛИС ровно один программный микропроцессор, достаточно большая ПЛИС может содержать два или более программных микропроцессора, что приводит к многоядерный процессор. Количество программных процессоров на одной FPGA ограничено только размером FPGA.[3] Некоторые люди поместили десятки или сотни программных микропроцессоров на одну FPGA.[4][5][6][7][8] Это один из способов реализовать массивный параллелизм в вычислительной технике и может также применяться к вычисления в памяти.

Программный микропроцессор и окружающие его периферийные устройства, реализованные в ПЛИС, менее уязвимы к устареванию, чем дискретный процессор.[9][10][11]

Сравнение ядра

ПроцессорРазработчикОткрытый исходный кодАвтобусная поддержкаПримечанияПроект домаЯзык описания
на основе РУКА архитектура набора команд
ЯнтарьКонор СантифортLGPLv2.1WishboneARMv2a 3-х или 5-ти ступенчатый трубопроводСтраница проекта на OpencoresVerilog
Кортекс-М1РУКАНет[6]70–200 МГц, 32-битный RISC[7]Verilog
на основе AVR архитектура набора команд
НавреСебастьян БурдодакдаПрямая SRAMAtmel AVR -совместимый 8-битный RISCСтраница проекта на OpencoresVerilog
ПАВРДору КутуреладаAtmel AVR -совместимый 8-битный RISCСтраница проекта на OpencoresVHDL
на основе MicroBlaze архитектура набора команд
AEMBШон ТандаWishboneСовместимость с MicroBlaze EDK 3.2AEMBVerilog
MicroBlazeXilinxНетPLB, OPB, FSL, LMB, AXI4Xilinx MicroBlaze
Открытый огоньЛаборатория КМС ВирджиниидаOPB, FSLДвоичный, совместимый с MicroBlaze[8][12]Verilog
SecretBlazeLIRMM, Университет Монпелье / CNRSдаWishboneMicroBlaze ISA, VHDLSecretBlazeVHDL
на основе MCS-51 архитектура набора команд
MCL51Лаборатории MicroCoreдаУльтракомпактное ядро ​​8051 на базе микросеквенсора312 таблиц таблиц Artix-7. Четырехъядерная версия 8051 - это 1227 LUT.Ядро MCL51
TSK51 / 52AltiumБесплатноWishbone / Intel 80518 бит Intel 8051 совместим с набором команд, альтернатива с более низким тактовым цикломВстроенный дизайн на Altium Wiki
на основе MIPS архитектура набора команд
БЕРИКембриджский университетBSDMIPSСтраница проектаBluespec
ДосматикРене ДоссCC BY-NC 3.0, кроме коммерческие заявители должны платить лицензионный сбор.Конвейерный автобусЭтапы конвейера набора инструкций MIPS IДосматикVHDL
TSK3000AAltiumБесплатноWishbone32-битный R3000 -стиль RISC модифицированный процессор с гарвардской архитектуройВстроенный дизайн на Altium Wiki
на основе PicoBlaze архитектура набора команд
PacoBlazeПабло БлейердаСовместим с процессорами PicoBlazePacoBlazeVerilog
PicoBlazeXilinxНетXilinx PicoBlazeVHDL, Verilog
на основе RISC-V архитектура набора команд
f32cЗагребский университетBSDAXI, SDRAM, SRAM32-битные, RISC-V / MIPS подмножества ISA (с возможностью перенастройки), набор инструментов GCCf32cVHDL
NEORV32Стефан НолтингBSDПоперечный рычаг b4, AXI4rv32 [i / e] [m] [a] [c] [Zicsr] [Zifencei], совместим с RISC-V, доступны ЦП и SoC, широкие возможности настройки, набор инструментов GCCGitHub OpenCoresVHDL
VexRiscvСпинальный ЛВПдаAXI4 / Авалон32-бит, RISC-V, до 340 МГц на Artix 7. До 1,44 DMIPS / МГц.https://github.com/SpinalHDL/VexRiscvVHDLVerilog (СпинальныйЛВП)
на основе SPARC архитектура набора команд
ЛЕОН2 (-FT)ЕКАдаAMBA2SPARC V8ЕКАVHDL
ЛЕОН3 / 4Аэрофлекс ГайслердаAMBA2SPARC V8Аэрофлекс ГайслерVHDL
OpenPitonPrinceton Parallel GroupдаManycore SPARC V9OpenPitonVerilog
OpenSPARC T1солнцеда64-битныйOpenSPARC.netVerilog
Такус / PIPE5TemLibдаКонвейерный автобусSPARC V8ТЕМЛИБVHDL
на основе x86 архитектура набора команд
CPU86HT-Labда8088-совместимый процессор в VHDLcpu86VHDL
MCL86Лаборатории MicroCoreдаПредоставляется 8088 BIU. Остальные создать легко.Точный цикл 8088/8086 реализован с помощью микросеквенсора. Использование Кинтекс-7 менее 2%.Ядро MCL86
s80x86Джейми АйлзGPLv3Обычай80186-совместимое ядро ​​GPLv3s80x86SystemVerilog
ЗетЗевс Гомес МармолеходаWishbonex86 клон ПКЗетVerilog
ao486Александр Осман3-пункт BSDАвалонi486 SX совместимое ядроao486Verilog
Другие архитектуры
ARCARC International, SynopsysНет16/32-битный ISA RISCDesignWare ARCVerilog
ERIC5Entner ElectronicsНет9-битный RISC, очень маленький размер, C-программированиеERIC5VHDL
H2 CPUРичард Джеймс ХауМассачусетский технологический институтОбычай16-битная стековая машина, предназначенная для непосредственного выполнения Forth, небольшаяH2 CPUVHDL
Мгновенный SoCЯдра ПЛИСНетОбычай32-битное расширение RISC-V M, SoC определено C ++Мгновенный SoCVHDL
JOPМартин ШоберлдаSimpCon / Wishbone (расширение)Стек-ориентированная, жесткая поддержка в реальном времени, выполнение Байт-код Java напрямуюДжопVHDL
РешеткаРешеткадаWishboneРешеткаVerilog
РешеткаРешеткадаWishboneРешеткаVerilog
LXP32Алексей КузнецовМассачусетский технологический институтWishbone32-битный, трехступенчатый конвейер, зарегистрировать файл на основе блочного ОЗУlxp32VHDL
MCL65Лаборатории MicroCoreдаУльтракомпактное ядро ​​6502 на базе микросеквенсора252 ЛУТ Спартан-7. Такт точный.Ядро MCL65
MRISC32-A1Маркус ГилнарддаWishbone, B4 / конвейерный32-битный RISC / векторный процессор с настраиваемым ISAMRISC32VHDL
NEO430Стефан НолтингдаWishbone (Авалон, AXI4-Lite)16-битный MSP430 ISA-совместимый, очень маленький размер, множество периферийных устройств, широкие возможности настройкиNEO430VHDL
Nios, Nios IIАльтераНетАвалонАльтера Ниос IIVerilog
OpenRISCOpenCoresдаWishbone32-битный; сделано на ASIC, Actel, Altera, Xilinx FPGA.[9]Verilog
SpartanMCTU Дармштадт / TU ДрездендаОбычай (AXI поддержка в разработке)18-битный ISA (поддержка GNU Binutils / GCC в разработке)SpartanMCVerilog
SYNPIC12Мигель Анхель Ахо ПелайоМассачусетский технологический институтСовместимость с PIC12F, программа синтезирована в гейтахnbee.esVHDL
xr16Ян ГрейНетАбстрактный автобус XSOC16-битный RISC-процессор и SoC, представленные в журнале Circuit Cellar Magazine № 116-118XSOC / xr16Схема
ЯСЕПЯн ГвидонAGPLv3Прямая SRAM16 или 32 бит, RTL в VHDL & как м в JS, подмножество микроконтроллеров: готовоyasep.org (Fire Fox требуется)VHDL
ZipCPUТехнология GisselquistGPLv3Поперечный рычаг, B4 / конвейерный32-разрядный процессор, ориентированный на минимальное использование ресурсов FPGAzipcpu.comVerilog
ЗПУЗылин А.С.даWishboneЦП на основе стека, настраиваемый 16/32 битный канал данных, eCos поддерживатьЗилин ЦПVHDL
RISC5Никлаус ВиртдаОбычайЗапуск полной графической системы Oberon, включая редактор и компилятор. Программное обеспечение можно разрабатывать и запускать на одной плате FPGA.www.projectoberon.com/Verilog

Смотрите также

Рекомендации

  1. ^ http://www.dailycircuitry.com/2011/10/zet-soft-core-running-windows-30.html В архиве 2018-10-13 на Wayback Machine «Программное обеспечение Zet под управлением Windows 3.0» Эндрю Фелч, 2011 г.
  2. ^ «Архивная копия». Архивировано из оригинал на 2007-10-08. Получено 2012-08-18.CS1 maint: заархивированная копия как заголовок (связь)«Архитектура ПЛИС от« А »до« Я »» Клайв Максфилд, 2006 г.
  3. ^ MicroBlaze Soft Processor: часто задаваемые вопросы В архиве 2011-10-27 на Wayback Machine
  4. ^ Иштван Вассани. "Реализация массивов процессоров на ПЛИС". 1998 г.[1]
  5. ^ Чжоукун ВАНГ и Омар ХАММАМИ. «Система из 24 процессоров на кристалле, проектирование ПЛИС с сетью на кристалле».[2]
  6. ^ Джон Кент. "Массив Micro16 - простой массив ЦП"[3]
  7. ^ Кит Итон. «Достигнуто 1000 ядер ЦП: ваш будущий настольный компьютер станет суперкомпьютером» .2011.[4]
  8. ^ «Ученые сжимают более 1000 ядер на одном чипе» .2011.[5] В архиве 2012-03-05 в Wayback Machine
  9. ^ Джо ДеЛаэр.«7 главных причин заменить микроконтроллер на ПЛИС MAX 10».
  10. ^ Джон Свон; Томек Кшизак.«Использование FPGA во избежание устаревания микропроцессоров».2008
  11. ^ Персонал (03.02.2010). «Требуется поддержка IP процессора FPGA». Еженедельник электроники. Получено 2019-04-03.
  12. ^ http://opencores.org/project,openfire_core,overview

внешняя ссылка