Мягкий микропроцессор - Soft microprocessor
Программный микропроцессор (также называемый программным микропроцессором или программным процессором ) - это ядро микропроцессора, которое может быть полностью реализовано с использованием логического синтеза . Он может быть реализован с помощью различных полупроводниковых устройств, содержащих программируемую логику (например, ASIC , FPGA , CPLD ), включая как высококачественные, так и массовые варианты.
Большинство систем, если они вообще используют программный процессор, используют только один программный процессор. Однако некоторые разработчики накладывают на ПЛИС столько программных ядер, сколько может поместиться. В этих многоядерных системах редко используемые ресурсы могут совместно использоваться всеми ядрами кластера.
В то время как многие люди устанавливают на ПЛИС ровно один программный микропроцессор, достаточно большая ПЛИС может содержать два или более программных микропроцессора, в результате чего получается многоядерный процессор . Количество программных процессоров на одной ПЛИС ограничено только размером ПЛИС. Некоторые люди ставят десятки или сотни программных микропроцессоров на одну FPGA. Это один из способов реализации массового параллелизма в вычислениях, который также может быть применен к вычислениям в памяти .
Программный микропроцессор и окружающие его периферийные устройства, реализованные в ПЛИС, менее уязвимы к устареванию, чем дискретный процессор.
Основное сравнение
Процессор | Разработчик | Открытый исходный код | Автобусная поддержка | Примечания | Проект дома | Язык описания |
---|---|---|---|---|---|---|
на основе архитектуры набора инструкций ARM | ||||||
Янтарь | Конор Сантифорт | LGPLv2.1 | Wishbone | ARMv2a 3-ступенчатый или 5-ступенчатый конвейер | Страница проекта на Opencores | Verilog |
Кортекс-М1 | РУКА | Нет | [6] | 70–200 МГц, 32-битный RISC | [7] | Verilog |
на основе архитектуры набора команд AVR | ||||||
Навре | Себастьян Бурдодак | да | Прямая SRAM | Atmel AVR- совместимый 8-битный RISC | Страница проекта на Opencores | Verilog |
ПАВР | Дору Кутурела | да | Atmel AVR- совместимый 8-битный RISC | Страница проекта на Opencores | VHDL | |
на основе архитектуры набора команд MicroBlaze | ||||||
AEMB | Шон Тан | да | Wishbone | Совместимость с MicroBlaze EDK 3.2 | AEMB | Verilog |
MicroBlaze | Xilinx | Нет | PLB, OPB, FSL, LMB, AXI4 | Xilinx MicroBlaze | ||
Открытый огонь | Лаборатория CCM Вирджинии | да | OPB, FSL | Двоичный, совместимый с MicroBlaze | [8] | Verilog |
SecretBlaze | LIRMM, Университет Монпелье / CNRS | да | Wishbone | MicroBlaze ISA, VHDL | SecretBlaze | VHDL |
на основе архитектуры набора команд MCS-51 | ||||||
MCL51 | Лаборатории MicroCore | да | Ультракомпактное ядро 8051 на базе микросеквенсора | 312 таблиц Artix-7. Четырехъядерная версия 8051 - это 1227 LUT. | Ядро MCL51 | |
TSK51 / 52 | Altium | Бесплатно | Wishbone / Intel 8051 | Совместимость с 8-битным набором инструкций Intel 8051 , альтернатива с более низким тактовым циклом | Встроенный дизайн на Altium Wiki | |
на основе архитектуры набора инструкций MIPS | ||||||
БЕРИ | Кембриджский университет | BSD | MIPS | Страница проекта | Bluespec | |
Досматик | Рене Досс | CC BY-NC 3.0, за исключением коммерческих заявителей, которые должны платить лицензионный сбор . | Конвейерный автобус | Этапы конвейера набора инструкций MIPS I | Досматик | VHDL |
TSK3000A | Altium | Бесплатно | Wishbone | 32-битный R3000- стиль модифицированный RISC-процессор с гарвардской архитектурой | Встроенный дизайн на Altium Wiki | |
на основе архитектуры набора команд PicoBlaze | ||||||
PacoBlaze | Пабло Блейер | да | Совместим с процессорами PicoBlaze | PacoBlaze | Verilog | |
PicoBlaze | Xilinx | Нет | Xilinx PicoBlaze | VHDL, Verilog | ||
на основе архитектуры набора команд RISC-V | ||||||
f32c | Загребский университет | BSD | AXI, SDRAM, SRAM | 32-битные, RISC-V / MIPS подмножества ISA (с возможностью перенастройки), набор инструментов GCC | f32c | VHDL |
NEORV32 | Стефан Нолтинг | BSD | Поперечный рычаг b4, AXI4 | rv32 [i / e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei] », совместим с RISC-V, доступны ЦП и SoC, широкие возможности настройки, набор инструментов GCC | GitHub OpenCores | VHDL |
VexRiscv | СпинальныйЛВП | да | AXI4 / Авалон | 32-битный, RISC-V, до 340 МГц на Artix 7. До 1,44 DMIPS / МГц. | https://github.com/SpinalHDL/VexRiscv | VHDLVerilog (СпинальныйЛВП) |
на основе архитектуры набора команд SPARC | ||||||
ЛЕОН2 (-FT) | ЕКА | да | AMBA2 | SPARC V8 | ЕКА | VHDL |
ЛЕОН3 / 4 | Аэрофлекс Гайслер | да | AMBA2 | SPARC V8 | Аэрофлекс Гайслер | VHDL |
OpenPiton | Princeton Parallel Group | да | Manycore SPARC V9 | OpenPiton | Verilog | |
OpenSPARC T1 | солнце | да | 64-битный | OpenSPARC.net | Verilog | |
Такус / PIPE5 | TemLib | да | Конвейерный автобус | SPARC V8 | ТЕМЛИБ | VHDL |
на основе архитектуры набора инструкций x86 | ||||||
CPU86 | HT-Lab | да | 8088-совместимый процессор в VHDL | cpu86 | VHDL | |
MCL86 | Лаборатории MicroCore | да | Предоставлено 8088 BIU. Остальные создать легко. | Точный цикл 8088/8086 реализован с помощью микросеквенсора. Использование Кинтекс-7 менее 2%. | Ядро MCL86 | |
s80x86 | Джейми Айлз | GPLv3 | Обычай | 80186-совместимое ядро GPLv3 | s80x86 | SystemVerilog |
Зет | Зевс Гомес Мармолехо | да | Wishbone | клон ПК x86 | Зет | Verilog |
ao486 | Александр Осман | 3-пункт BSD | Авалон | i486 SX совместимое ядро | ao486 | Verilog |
на основе архитектуры набора команд PowerPC / Power | ||||||
PowerPC 405S | IBM | Нет | CoreConnect | 32-битный PowerPC v.2.03 Book E | IBM | Verilog |
PowerPC 440S | IBM | Нет | CoreConnect | 32-битный PowerPC v.2.03 Book E | IBM | Verilog |
PowerPC 470S | IBM | Нет | CoreConnect | 32-битный PowerPC v.2.05 Book E | IBM | Verilog |
Микроватт | IBM / OpenPOWER | CC-BY 4.0 | Wishbone | Проверка концепции 64-битной PowerISA 3.0 | Микроватт @ Github | VHDL |
Chiselwatt | IBM / OpenPOWER | CC-BY 4.0 | Wishbone | 64-битная PowerISA 3.0 | Chiselwatt @ Github | Долото |
Libre-SOC | Libre-SoC.org | BSD / LGPLv2 + | Wishbone | 64-битная PowerISA 3.0. Реализация CPU / GPU / VPU и пользовательские векторные инструкции | Libre-SoC.org | python / nMigen |
A2I | IBM / OpenPOWER | CC-BY 4.0 | Пользовательский PBus | 64-битный PowerPC 2.6 Book E. В порядке ядра | A2I @ Github | VHDL |
A2O | IBM / OpenPOWER | CC-BY 4.0 | Пользовательский PBus | 64-битный PowerPC 2.7 Book E. Вышло из строя ядро | A2O @ Github | Verilog |
Другие архитектуры | ||||||
ARC | ARC International , Synopsys | Нет | 16/32/64-битный ISA RISC | DesignWare ARC | Verilog | |
ERIC5 | Entner Electronics | Нет | 9-битный RISC, очень маленький размер, C-программирование | ERIC5 | VHDL | |
H2 CPU | Ричард Джеймс Хау | Массачусетский технологический институт | Обычай | 16-битная стековая машина, предназначенная для непосредственного выполнения форта, малая | H2 CPU | VHDL |
Мгновенный SoC | Ядра ПЛИС | Нет | Обычай | 32-разрядное расширение RISC-V M, SoC определено C ++ | Мгновенный SoC | VHDL |
JOP | Мартин Шоберл | да | SimpCon / Wishbone (расширение) | Стек-ориентированная, жесткая поддержка в реальном времени, прямое выполнение байт-кода Java | Джоп | VHDL |
Решетка | Решетка | да | Wishbone | Решетка | Verilog | |
Решетка | Решетка | да | Wishbone | Решетка | Verilog | |
LXP32 | Алексей Кузнецов | Массачусетский технологический институт | Wishbone | 32-битный, трехступенчатый конвейер, регистровый файл на основе блочного ОЗУ | lxp32 | VHDL |
MCL65 | Лаборатории MicroCore | да | Ультракомпактное ядро 6502 на базе микросеквенсора | 252 ЛУТ Спартан-7. Точный цикл часов. | Ядро MCL65 | |
MRISC32-A1 | Маркус Гилнард | да | Поперечный рычаг , B4 / конвейерный | 32-битный RISC / векторный процессор с настраиваемым ISA | MRISC32 | VHDL |
NEO430 | Стефан Нолтинг | да | Wishbone (Авалон, AXI4-Lite) | 16-битный MSP430, совместимый с ISA, очень маленький размер, множество периферийных устройств, широкие возможности настройки | NEO430 | VHDL |
Ниос , Ниос II | Альтера | Нет | Авалон | Альтера Ниос II | Verilog | |
OpenRISC | OpenCores | да | Wishbone | 32-битный; сделано на ASIC, Actel, Altera, Xilinx FPGA. | [9] | Verilog |
SpartanMC | Технический университет Дармштадт / Технический университет Дрезден | да | Custom ( поддержка AXI в разработке) | 18-битный ISA (поддержка GNU Binutils / GCC в разработке) | SpartanMC | Verilog |
SYNPIC12 | Мигель Анхель Ахо Пелайо | Массачусетский технологический институт | Совместимость с PIC12F, программа синтезирована в гейтах | nbee.es | VHDL | |
xr16 | Ян Грей | Нет | Абстрактный автобус XSOC | 16-битный процессор RISC и SoC, представленные в журнале Circuit Cellar Magazine № 116-118 | XSOC / xr16 | Схема |
ЯСЕП | Ян Гвидон | AGPLv3 | Прямая SRAM | 16 или 32 бита, RTL в VHDL и asm в JS , подмножество микроконтроллеров: готово | yasep.org ( требуется Firefox ) | VHDL |
ZipCPU | Технология Gisselquist | GPLv3 | Поперечный рычаг, B4 / конвейерный | 32-битный ЦП, ориентированный на минимальное использование ресурсов FPGA | zipcpu.com | Verilog |
ЗПУ | Зылин А.С. | да | Wishbone | ЦП на основе стека, настраиваемый 16/32 битный канал данных, поддержка eCos | Зилин ЦП | VHDL |
RISC5 | Никлаус Вирт | да | Обычай | Запуск полной графической системы Oberon, включая редактор и компилятор. Программное обеспечение можно разрабатывать и запускать на одной плате FPGA. | www.projectoberon.com/ | Verilog |
Смотрите также
-
Система на кристалле (SoC)
- Сеть на кристалле (NoC)
- Реконфигурируемые вычисления
- VHDL
- Verilog
- Аппаратное ускорение
использованная литература
внешние ссылки
- Программные ядра процессора для ПЛИС
- Подробное сравнение 12 мягких микропроцессоров
- Новости ЦП FPGA
- Сайт Freedom CPU
- Ядра микропроцессоров на Opencores.org (разверните вкладку «Процессор»)
- NikTech 32-битный микропроцессор RISC MANIK.