軟核微處理器

軟核微處理器(英文: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]. (原始內容存檔於2020-08-07) (英國英語). 
  12. ^ 存档副本. [2020-07-17]. (原始內容存檔於2017-07-05). 

外部連結