软核微处理器

维基百科,自由的百科全书
跳到导航 跳到搜索

软核微处理器(英文:Soft microprocessor),也称为软微处理器软核处理器软核,是可以完全使用逻辑综合实现的微处理器核心。软核处理器可以通过含有可编程逻辑器件(如ASICFPGACPLD)的不同半导体器件来实现。[1]

对于大多数系统,如果使用了软核处理器,那它们往往仅使用单个软处理器。但是,仍有一些设计人员将尽可能多的软核平铺到 FPGA 上。[2]多核系统中,较少使用的资源可以在多个核心间共享。

尽管许多人在 FPGA 中只放置了一个软核处理器,但 FPGA 在资源足够多的情况下可以容纳更多的软核处理器,从而构成多核处理器。单个 FPGA 上的软核处理器的数量仅受 FPGA 资源数量的限制。[3]有的人在单个 FPGA 上放置了数十或数百个软核处理器。[4][5][6][7][8]这是一种实现大规模并行计算的方法,并且同样可以应用于内存内计算。

与分立处理器相比,由于 FPGA 的可重新编程的特点,FPGA 中实现的软核处理器及其外围设备不容易过时。[9][10][11]

核心比较[编辑]

处理器 开发者 是否开源 总线支持 备注 项目名称 描述语言
基于 ARM 指令集架构
Amber Conor Santifort LGPLv2.1 Wishbone英语Wishbone (computer bus) ARMv2a 三级或五级流水线 Opencores 上的项目主页页面存档备份,存于互联网档案馆 Verilog
Cortex-M1英语Cortex-M1 ARM [1] 70–200 MHz, 32位 RISC [2]页面存档备份,存于互联网档案馆 Verilog
基于 AVR 指令集架构
Navré Sébastien Bourdeauducq Direct SRAM 兼容 Atmel AVR 的8位 RISC Opencores 上的项目主页页面存档备份,存于互联网档案馆 Verilog
pAVR Doru Cuturela 兼容 Atmel AVR 的8位 RISC Opencores 上的项目主页页面存档备份,存于互联网档案馆 VHDL
基于 MicroBlaze英语MicroBlaze 指令集架构
AEMB Shawn Tan Wishbone英语Wishbone (computer bus) 兼容 MicroBlaze EDK 3.2 AEMB Verilog
MicroBlaze英语MicroBlaze Xilinx PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze
OpenFire Virginia Tech CCM Lab OPB, FSL 与 MicroBlaze 二进制兼容 [3][12] Verilog
SecretBlaze LIRMM, 蒙彼利埃大学 / CNRS Wishbone英语Wishbone (computer bus) MicroBlaze 指令集架构, VHDL SecretBlaze VHDL
基于 MCS-51 指令集架构
MCL51 MicroCore Labs 基于 Ultra-small-footprint 微定序器的 8051 核心 312 个 Artix-7 查找表. 四核的 8051 版本则有 1227 个 MCL51 Core
TSK51/52 Altium 免版税 Wishbone英语Wishbone (computer bus) / 英特爾 8051 兼容8位 英特爾 8051 指令集,更低时钟周期的替代 Altium Wiki 上的 Embedded Design
基于 MIPS 指令集架构
BERI页面存档备份,存于互联网档案馆 剑桥大学 BSD MIPS 项目主页页面存档备份,存于互联网档案馆 Bluespec英语Bluespec
Dossmatik René Doss CC BY-NC 3.0 授权, 但商业使用需要付授权费 流水线总线 MIPS I 指令集,多级流水线 Dossmatik VHDL
TSK3000A Altium 免版税 Wishbone英语Wishbone (computer bus) 32位 R3000 风格的 RISC 修正哈佛架构 CPU Altium Wiki 上的 Embedded Design
基于 PicoBlaze 指令集架构
PacoBlaze Pablo Bleyer 与 PicoBlaze 处理器兼容 PacoBlaze页面存档备份,存于互联网档案馆 Verilog
PicoBlaze英语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位, RISC-V, 在 Artix 7 上最高 340 MHz. 最高 1.44 DMIPS/MHz. GitHub页面存档备份,存于互联网档案馆 VHDLVerilog (SpinalHDL)
基于 SPARC 指令集架构
LEON2(-FT) ESA AMBA2 SPARC V8 ESA页面存档备份,存于互联网档案馆 VHDL
LEON3/4 Aeroflex Gaisler AMBA2 SPARC V8 Aeroflex Gaisler页面存档备份,存于互联网档案馆 VHDL
OpenPiton 普林斯顿并行研究组 Manycore SPARC V9 OpenPiton Verilog
OpenSPARC T1 Sun 64位 OpenSPARC.net页面存档备份,存于互联网档案馆 Verilog
Tacus/PIPE5 TemLib 流水线总线 SPARC V8 TEMLIB VHDL
基于 x86 指令集架构
CPU86 HT-Lab 兼容 8088 CPU cpu86 VHDL
MCL86 MicroCore Labs 提供了8088的总线接口单元,其他易于创建 带有微定序器的精准周期8088/8086,在 Kintex-7 上资源利用率小于2% MCL86 Core
s80x86 Jamie Iles GPLv3 自定义 兼容 80186 内核 s80x86 SystemVerilog
Zet英语Zet (hardware) Zeus Gómez Marmolejo Wishbone英语Wishbone (computer bus) x86 PC 的复制 Zet Verilog
ao486 Aleksander Osman 3-Clause BSD Avalon 兼容 i486 SX 核心 ao486 Verilog
其他架构
ARC英语ARC (processor) ARC International, Synopsys 16/32位指令集架构 RISC DesignWare ARC Verilog
ERIC5 Entner Electronics 9位 RISC, 非常小型, 与C语言兼容 ERIC5页面存档备份,存于互联网档案馆 VHDL
H2 CPU Richard James Howe MIT 自定义 16位堆疊結構機器,为直接执行 Forth 语言而设计,较小 H2 CPU VHDL
Instant SoC FPGA Cores 自定义 32位 RISC-V M 拓展,C++定义的 SoC Instant SoC VHDL
JOP英语Java optimized processor Martin Schoeberl SimpCon / Wishbone英语Wishbone (computer bus) (拓展) 面向堆栈,硬实时支持,能直接执行 Java 字节码 Jop VHDL
LatticeMico8英语LatticeMico8 Lattice Wishbone英语Wishbone (computer bus) LatticeMico8页面存档备份,存于互联网档案馆 Verilog
LatticeMico32英语LatticeMico32 Lattice Wishbone英语Wishbone (computer bus) LatticeMico32页面存档备份,存于互联网档案馆 Verilog
LXP32 Alex Kuznetsov MIT Wishbone英语Wishbone (computer bus) 32位,三级流水线,基于块状 RAM 的寄存器堆 lxp32 VHDL
MCL65 MicroCore Labs 基于 Ultra-small-footprint 微定序器的 6502 核心 252 个 Spartan-7 查找表,精确的时钟周期 MCL65 Core
MRISC32-A1 Marcus Geelnard Wishbone英语Wishbone (computer bus), B4/流水线 32位 RISC/Vector CPU,自定义指令集架构 MRISC32 VHDL
NEO430页面存档备份,存于互联网档案馆 Stephan Nolting Wishbone (Avalon, AXI4-Lite) 兼容 16位 MSP430 指令集架构,非常小型,多外设,高自定性 NEO430页面存档备份,存于互联网档案馆 VHDL
Nios英语Nios embedded processor, Nios II Altera Avalon Altera Nios II Verilog
OpenRISC英语OpenRISC OpenCores Wishbone英语Wishbone (computer bus) 32位,在 ASIC、Actel、Altera、Xilinx FPGA 上实现 [4] Verilog
SpartanMC TU Darmstadt / TU Dresden 自定义 (AXI 支持正处于开发中) 18位 ISA (GNU Binutils / GCC 的支持正在开发中) SpartanMC页面存档备份,存于互联网档案馆 Verilog
SYNPIC12 Miguel Angel Ajo Pelayo MIT 兼容 PIC12F,程序用逻辑门合成 nbee.es VHDL
xr16 Jan Gray XSOC 抽象总线 在 Circuit Cellar 杂志的116-118期中提供了16位的 RISC CPU 和 SoC XSOC/xr16 Schematic
YASEP Yann Guidon AGPLv3 Direct SRAM 16位或32位, RTL 使用 VHDL & 汇编 使用 JavaScript yasep.org (需要 火狐页面存档备份,存于互联网档案馆) 浏览器) VHDL
ZipCPU Gisselquist Technology GPLv3 Wishbone英语Wishbone (computer bus), B4/流水线 32位 CPU,目标是最少的 FPGA 资源利用 zipcpu.com Verilog
ZPU英语ZPU_(microprocessor) Zylin AS Wishbone英语Wishbone (computer bus) 基于栈的 CPU,可配置的 16/32位数据路径, 支持 eCos Zylin CPU VHDL

参见[编辑]

参考资料[编辑]

  1. ^ http://www.dailycircuitry.com/2011/10/zet-soft-core-running-windows-30.html互联网档案馆存檔,存档日期2018-10-13. "Zet soft core running Windows 3.0" by Andrew Felch 2011
  2. ^ Archived copy. [2012-08-18]. (原始内容存档于2007-10-08). 
  3. ^ MicroBlaze Soft Processor: Frequently Asked Questions 互联网档案馆存檔,存档日期2011-10-27.
  4. ^ István Vassányi. "Implementing processor arrays on FPGAs". 1998.
  5. ^ Zhoukun WANG and Omar HAMMAMI. "A 24 Processors System on Chip FPGA Design with Network on Chip".
  6. ^ John Kent. "Micro16 Array - A Simple CPU Array"
  7. ^ Kit Eaton. "1,000 Core CPU Achieved: Your Future Desktop Will Be a Supercomputer". 2011.
  8. ^ "Scientists Squeeze Over 1,000 Cores onto One Chip". 2011. 存档副本. [2020-07-17]. (原始内容存档于2012-03-05). 
  9. ^ Joe DeLaere. "Top 7 Reasons to Replace Your Microcontroller with a MAX 10 FPGA".
  10. ^ John Swan; Tomek Krzyzak. "Using FPGAs to avoid microprocessor obsolescence". 2008
  11. ^ Staff. FPGA processor IP needs to be supported. Electronics Weekly. 2010-02-03 [2019-04-03] (英国英语). 
  12. ^ 存档副本. [2020-07-17]. (原始内容存档于2017-07-05). 

外部链接[编辑]