用戶:AnthonyDonlon/archives/軟核微處理器
外觀
軟核微處理器(也稱為軟微處理器、軟核處理器或軟核)是可以完全使用邏輯綜合實現的微處理器核心。軟核處理器可以通過含有可程式邏輯器件(如ASIC、FPGA、CPLD)的不同半導體器件來實現。[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 | 否 | [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 指令集架構 | ||||||
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][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 上實現 | [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, B4/流水線 | 32位 CPU,目標是最少的 FPGA 資源利用 | zipcpu.com | Verilog |
ZPU | Zylin AS | 是 | Wishbone | 基於棧的 CPU,可配置的 16/32位數據路徑, 支持 eCos | Zylin CPU | VHDL |
參見
[編輯]參考資料
[編輯]- ^ 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
- ^ Archived copy. [2012-08-18]. (原始內容存檔於2007-10-08).
- ^ MicroBlaze Soft Processor: Frequently Asked Questions 互聯網檔案館的存檔,存檔日期2011-10-27.
- ^ István Vassányi. "Implementing processor arrays on FPGAs". 1998.
- ^ Zhoukun WANG and Omar HAMMAMI. "A 24 Processors System on Chip FPGA Design with Network on Chip".
- ^ John Kent. "Micro16 Array - A Simple CPU Array"
- ^ Kit Eaton. "1,000 Core CPU Achieved: Your Future Desktop Will Be a Supercomputer". 2011.
- ^ "Scientists Squeeze Over 1,000 Cores onto One Chip". 2011. 互聯網檔案館的存檔,存檔日期2012-03-05.
- ^ Joe DeLaere. "Top 7 Reasons to Replace Your Microcontroller with a MAX 10 FPGA".
- ^ John Swan; Tomek Krzyzak. "Using FPGAs to avoid microprocessor obsolescence". 2008
- ^ Staff. FPGA processor IP needs to be supported. Electronics Weekly. 2010-02-03 [2019-04-03] (英國英語).
- ^ http://opencores.org/project,openfire_core,overview
外部連結
[編輯]- FPGA 的軟 CPU 內核
- 12 種軟微處理器的詳細比較
- FPGA CPU 新聞
- 自由 CPU 網站
- Opencores.org 上的微處理器核心(該頁面的「Processor」選項卡中)
- NikTech 32 位 RISC 微處理器 MANIK