Програмний мікропроцесор
Програмний мікропроцесор (англ. soft microprocessor) — ядро мікропроцесора, що може бути повністю імплементоване за допомогою синтезу логіки. Фізичним втіленням програмного процесора можуть бути різні програмовані логічні пристрої, такі як ASIC, FPGA, CPLD).
У більшості апаратних реалізацій синтезується лише одне процесорне ядро — втім, спроби вмістити у один FPGA багато ядер також здійснюються.[1] У таких мультиядерних процесорах ресурси плати можуть спільно використовуватися усіма ядрами і синтезованими пристроями. У деяких дизайнах на одному FPGA може налічуватися сотні ядер.[2]
Порівняння деяких програмних ядер
Процесор | Розробник | Відкритий код? | Шини | Примітки | Домашня сторінка | Мова опису |
---|---|---|---|---|---|---|
Засновані на архітектурі ARM | ||||||
Amber | Conor Santifort | LGPLv2.1 | Wishbone | ARMv2a, 3-стадійний або 5-стадійний конвеєр | Сторінка проекту на Opencores | Verilog |
ARM Cortex-M1 | ARM | Ні | ? | 70–200 МГц, 32-біт RISC | Verilog | |
Засновані на архітектурі AVR | ||||||
Navré | Sébastien Bourdeauducq | Так | Direct SRAM | 8-біт RISC, сумісний з Atmel AVR | Project page at Opencores | Verilog |
pAVR | Doru Cuturela | Так | 8-біт RISC, сумісний з Atmel AVR | Project page at Opencores | VHDL | |
Засновані на архітектурі MicroBlaze | ||||||
AEMB | Shawn Tan | Так | Wishbone | Сумісний з MicroBlaze EDK 3.2 | AEMB | Verilog |
MicroBlaze | Xilinx | Ні | PLB, OPB, FSL, LMB, AXI4 | Xilinx MicroBlaze | ||
OpenFire | Virginia Tech CCM Lab | Так | OPB, FSL | Сумісний на рівні машинних кодів з MicroBlaze | [3] | Verilog |
SecretBlaze | LIRMM, University of Montpellier / CNRS | Так | Wishbone | Сумісний з MicroBlaze | SecretBlaze | VHDL |
Засновані на архітектурі MCS-51 | ||||||
MCL51 | MicroCore Labs | Ні | ? | Наднизькі вимоги до ресурсів (312 таблиць LUT Artix-7; чотириядерна версія 8051 використовує 1227 таблиць), мікросеквенсер, ядро сумісне з 8051 | MCL51 Core | |
TSK51/52 | Altium | Royalty-free | Wishbone / Intel 8051 | Сумісний з набором команд 8-розрядного мікроконтролера Intel 8051. Є альтернатива з нижчим clock cycle[уточнити] | Embedded Design on Altium Wiki | |
Засновані на архітектурі MIPS | ||||||
BERI | University of Cambridge | BSD | MIPS | Project page | Bluespec | |
Dossmatik | René Doss | CC BY-NC 3.0, except commercial applicants have to pay a licence fee. | Pipelined bus | Набір команд MIPS I, конвеєр | Dossmatik | VHDL |
TSK3000A | Altium | Royalty-free | Wishbone | 32-bit R3000-style RISC modified Harvard-architecture CPU | Embedded Design on Altium Wiki | |
Засновані на архітектурі PicoBlaze | ||||||
PacoBlaze | Pablo Bleyer | Так | PicoBlaze-сумісний | PacoBlaze | Verilog | |
PicoBlaze | Xilinx | Ні | Xilinx PicoBlaze | VHDL, Verilog | ||
Засновані на архітектурі RISC-V | ||||||
f32c | Університет Загреба | BSD | AXI, SDRAM, SRAM | 32-розрядний, підмножини наборів команд RISC-V або MIPS (змінювана архітектура), інструментарій GCC | f32c | VHDL |
VexRiscv | SpinalHDL | Так | AXI4 / Avalon | 32-bit, RISC-V, up to 340 MHz on Artix 7. Up to 1.44 DMIPS/MHz. | https://github.com/SpinalHDL/VexRiscv | SpinalHDL |
Засновані на архітектурі SPARC | ||||||
LEON2(-FT) | ESA | Так | AMBA2 | SPARC V8 | ESA | VHDL |
LEON3/4 | Aeroflex Gaisler | Так | AMBA2 | SPARC V8 | Aeroflex Gaisler | VHDL |
OpenPiton | Princeton Parallel Group | Так | Manycore SPARC V9 | OpenPiton | Verilog | |
OpenSPARC T1 | Sun | Так | 64-bit | OpenSPARC.net | Verilog | |
Tacus/PIPE5 | TemLib | Так | Pipelined bus | SPARC V8 | TEMLIB | VHDL |
Засновані на архітектурі x86 | ||||||
CPU86 | HT-Lab | Так | 8088-сумісний | cpu86 | VHDL | |
MCL86 | MicroCore Labs | Ні | ? | Точна емуляція циклів команд 8088/8086; реалізація з мікросеквенсером. Використовує менше 2% Kintex-7. | MCL86 Core | |
s80x86 | Jamie Iles | GPLv3 | Custom | 80186-compatible GPLv3 core | s80x86 | SystemVerilog |
Zet | Zeus Gómez Marmolejo | Так | Wishbone | Повний клон IBM PC з процесором 8088/8086/80186 | Zet | Verilog |
Other architectures | ||||||
ARC | ARC International, Synopsys | Ні | 16/32-розрядний RISC | DesignWare ARC | Verilog | |
ERIC5 | Entner Electronics | Ні | 9-розрядний RISC, малі розміри, компілятор C | ERIC5 | VHDL | |
H2 CPU | Richard James Howe | MIT | Custom | 16-розрядна стекова машина для прямого виконання програм на Forth | H2 CPU | VHDL |
Instant SoC | FPGA Cores | Ні | Custom | 32-розрядний, RISC-V M Extension, SoC описано на C++ | Instant SoC | VHDL |
JOP | Martin Schoeberl | Так | SimpCon / Wishbone (extension) | Стекова машина, жорсткий реальний час, пряме виконання байт-коду Java | Jop | VHDL |
LatticeMico8 | Lattice | Так | Wishbone | LatticeMico8 | Verilog | |
LatticeMico32 | Lattice | Так | Wishbone | LatticeMico32 | Verilog | |
LXP32 | Alex Kuznetsov | MIT | Wishbone | 32-bit, 3-стадійний конвеєр | lxp32 | VHDL |
MCL65 | MicroCore Labs | Так | ? | Ядро, сумісне з 6502 за циклами команд, з мікросеквенсером. Потребує 252 таблиці LUT у Spartan-7 | MCL65 Core | |
MRISC32-A1 | Marcus Geelnard | Так | Wishbone, B4/pipelined | 32-розрядний RISC і векторний процесор | MRISC32 | VHDL |
NEO430 | Stephan Nolting | Так | Wishbone (Avalon, AXI4-Lite) | 16-розрядний, сумісний з MSP430 | NEO430 | VHDL |
Nios, Nios II | Altera | Ні | Avalon | Altera Nios II | Verilog | |
OpenRISC | OpenCores | Так | Wishbone | 32-розрядний, реалізований у ASIC, а також FPGA Actel, Altera, Xilinx | Verilog | |
SpartanMC | TU Darmstadt / TU Dresden | Так | Custom (AXI support in development) | 18-розрядна архітектура | SpartanMC | Verilog |
SYNPIC12 | Miguel Angel Ajo Pelayo | MIT | Сумісний з PIC12F | nbee.es | VHDL | |
xr16 | Jan Gray | Ні | XSOC abstract bus | 16-bit RISC CPU and SoC featured in Circuit Cellar Magazine #116-118 | XSOC/xr16 | Schematic |
YASEP | Yann Guidon | AGPLv3 | Direct SRAM | 16 or 32 bits, RTL in VHDL & asm in JS, microcontroller subset : ready | yasep.org (Firefox required) | VHDL |
ZipCPU | Gisselquist Technology | GPLv3 | Wishbone, B4/pipelined | 32-розрядний процесор, спроектований для мінімального використання ресурсів FPGA | zipcpu.com | Verilog |
ZPU | Zylin AS | Так | Wishbone | Стекова машина, 16/32-розрядні дані, підтримка ОС eCos | Zylin CPU | VHDL |
Див. також
- Система на кристалі
- Reconfigurable computing
- VHDL
- Verilog, SystemVerilog
Джерела
- Clive Maxfield (2006). FPGA Architectures from 'A' to 'Z' (англ.). Архів оригіналу за 8 жовтня 2007. Процитовано 18 серпня 2012.
- Scientists Squeeze Over 1,000 Cores onto One Chip (англ.). 2011. Архів оригіналу за 5 березня 2012.
- http://opencores.org/project,openfire_core,overview
- Andrew Felch (2011). Zet soft core running Windows 3.0 (англ.). Архів оригіналу за 13 жовтня 2018. Процитовано 20 серпня 2019.
- MicroBlaze Soft Processor: Frequently Asked Questions. Архів оригіналу за 27 жовтня 2011.
- Vassányi, István (1998). Implementing processor arrays on FPGAs (англ.).
- Wang, Zhoukun; Hammami, Omar. A 24 Processors System on Chip FPGA Design with Network on Chip (англ.).
- {cite web |author = John Kent |title = Micro16 Array - A Simple CPU Array |url = http://members.optusnet.com.au/jekent/Micro16Array/index.html |language = en}}
- Kit Eaton (2011). 1,000 Core CPU Achieved: Your Future Desktop Will Be a Supercomputer (англ.).
- Joe DeLaere. Top 7 Reasons to Replace Your Microcontroller with a MAX 10 FPGA (англ.).
- John Swan; Tomek Krzyzak (2008). Using FPGAs to avoid microprocessor obsolescence (англ.).
- Staff (3 лютого 2010). FPGA processor IP needs to be supported. Electronics Weekly (en-GB). Процитовано 3 квітня 2019.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.