使用者:AnthonyDonlon/archives/軟核微處理器

軟核微處理器(也稱為軟微處理器軟核處理器軟核)是可以完全使用邏輯綜合實現的微處理器核心。軟核處理器可以通過含有可編程邏輯器件(如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. 網際網路檔案館存檔,存檔日期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. ^ http://opencores.org/project,openfire_core,overview

外部連結

編輯