软核微处理器

软核微处理器(英文: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 ARMv2a 三级或五级流水线 Opencores 上的项目主页 页面存档备份,存于 Verilog
Cortex-M1 ARM 70–200 MHz, 32位 RISC 页面存档备份,存于 Verilog
基于 AVR 指令集架构
Navré Sébastien Bourdeauducq Direct SRAM 兼容 Atmel AVR 的8位 RISC Opencores 上的项目主页 页面存档备份,存于 Verilog
pAVR Doru Cuturela 兼容 Atmel AVR 的8位 RISC 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 二进制兼容 [12] Verilog
SecretBlaze LIRMM, 蒙彼利埃大学 / CNRS Wishbone MicroBlaze 指令集架构, VHDL SecretBlaze VHDL
基于 MCS-51 指令集架构
MCL51 MicroCore Labs 基于 Ultra-small-footprint 微定序器的 8051 核心 312 个 Artix-7 查找表. 四核的 8051 版本则有 1227 个 MCL51 Core
TSK51/52 Altium 免版税 Wishbone / 英特爾 8051 兼容8位 英特爾 8051 指令集,更低时钟周期的替代 Altium Wiki 上的 Embedded Design
基于 MIPS 指令集架构
BERI 页面存档备份,存于 剑桥大学 BSD MIPS 项目主页 页面存档备份,存于 Bluespec
Dossmatik René Doss CC BY-NC 3.0 授权, 但商业使用需要付授权费 流水线总线 MIPS I 指令集,多级流水线 Dossmatik VHDL
TSK3000A Altium 免版税 Wishbone 32位 R3000 风格的 RISC 修正哈佛架构 CPU Altium Wiki 上的 Embedded Design
基于 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位, 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 Zeus Gómez Marmolejo Wishbone x86 PC 的复制 Zet Verilog
ao486 Aleksander Osman 3-Clause BSD Avalon 兼容 i486 SX 核心 ao486 页面存档备份,存于 Verilog
其他架构
ARC 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 Martin Schoeberl SimpCon / Wishbone (拓展) 面向堆栈,硬实时支持,能直接执行 Java 字节码 Jop VHDL
LatticeMico8 Lattice Wishbone LatticeMico8 页面存档备份,存于 Verilog
LatticeMico32 Lattice Wishbone LatticeMico32 页面存档备份,存于 Verilog
LXP32 页面存档备份,存于 Alex Kuznetsov MIT Wishbone 32位,三级流水线,基于块状 RAM 的寄存器堆 lxp32 页面存档备份,存于 VHDL
MCL65 页面存档备份,存于 MicroCore Labs 基于 Ultra-small-footprint 微定序器的 6502 核心 252 个 Spartan-7 查找表,精确的时钟周期 MCL65 Core 页面存档备份,存于
MRISC32-A1 页面存档备份,存于 Marcus Geelnard Wishbone, B4/流水线 32位 RISC/Vector CPU,自定义指令集架构 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、Actel、Altera、Xilinx FPGA 上实现 页面存档备份,存于 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, B4/流水线 32位 CPU,目标是最少的 FPGA 资源利用 zipcpu.com Verilog
ZPU Zylin AS Wishbone 基于栈的 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. . [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. . Electronics Weekly. 2010-02-03 [2019-04-03]. (原始内容存档于2020-08-07) (英国英语).
  12. . [2020-07-17]. (原始内容存档于2017-07-05).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.