ソフトマイクロプロセッサ

ソフトマイクロプロセッサ(ソフトコアマイクロプロセッサ、またはソフトプロセッサとも呼ばれる)は、ロジック合成を用いて完全に実装できるマイクロプロセッサコアである。プログラマブルロジックを搭載した様々な半導体デバイス(FPGACPLDなど)を介して実装することができ、ハイエンド向けからコモディティ向けまで様々なバリエーションが存在する。[1]

ほとんどのシステムは、ソフトプロセッサを使用する場合でも、1つのソフトプロセッサのみを使用します。しかし、一部の設計者は、FPGAに収まる限り多くのソフトコアをタイル状に配置します。[2]このようなマルチコアシステムでは、あまり使用されないリソースをクラスター内のすべてのコア間で共有できます。

多くの人はFPGAにソフトマイクロプロセッサを1つだけ搭載しますが、十分に大きなFPGAは2つ以上のソフトマイクロプロセッサを搭載できるため、マルチコアプロセッサを実現できます。1つのFPGAに搭載できるソフトプロセッサの数は、FPGAのサイズによってのみ制限されます。[3]数十または数百のソフトマイクロプロセッサを1つのFPGAに搭載している人もいます。[4] [5] [6] [7] [8]これは、コンピューティングにおいて大規模な並列処理を実装する1つの方法であり、インメモリコンピューティングにも同様に応用できます

FPGAに実装されたソフトマイクロプロセッサとその周辺機器は、ディスクリートプロセッサよりも陳腐化の影響を受けにくい。[9] [10] [11]

コア比較

プロセッサ開発者オープンソースバスサポート注記プロジェクトホーム説明言語
ARM命令セットアーキテクチャに基づく
アンバーコナー・サンティフォートLGPLv2.1ウィッシュボーンARMv2a 3段または5段パイプラインOpencoresのプロジェクトページベリログ
皮質M1アームいいえ[6]70~200  MHz、32ビットRISC[7]ベリログ
AVR命令セットアーキテクチャに基づく
ナブレセバスチャン・ブルドーデュックはいダイレクトSRAMAtmel AVR互換8ビットRISCOpencoresのプロジェクトページベリログ
pAVRドル・クトゥレラはいAtmel AVR互換8ビットRISCOpencoresのプロジェクトページVHDL
ソフトAVRコアアンドラス・パルはい標準 AVR バス (コア結合 I/O、同期 SRAM、同期プログラム ROM)Atmel AVR互換の8ビットRISC(最大AVR5)、周辺機器およびSoC機能を含むOpencoresのプロジェクトページベリログ
MicroBlaze命令セットアーキテクチャに基づく
AEMBショーン・タンはいウィッシュボーンMicroBlaze EDK 3.2 互換AEMBベリログ
マイクロブレイズザイリンクスいいえPLB、OPB、FSL、LMB、AXI4ザイリンクス マイクロブレイズ
オープンファイアバージニア工科大学CCMラボはいOPB、FSLMicroBlazeとバイナリ互換[8] [12]ベリログ
シークレットブレイズLIRMM、モンペリエ大学 / CNRSはいウィッシュボーンMicroBlaze ISA、VHDLシークレットブレイズVHDL
MCS-51命令セットアーキテクチャに基づく
MCL51マイクロコアラボはい超小型マイクロシーケンサベースの8051コア312 個の Artix-7 LUT。クアッドコア 8051 バージョンは 1227 個の LUT。MCL51コア
TSK51/52アルティウムロイヤリティフリーウィッシュボーン/インテル 80518ビットIntel 8051命令セット互換、低クロックサイクルの代替Altium Wiki の組み込み設計
MIPS命令セットアーキテクチャに基づく
ベリケンブリッジ大学BSDミップスプロジェクトページブルースペック
ドスマティックルネ・ドスCC BY-NC 3.0、ただし商用利用の場合はライセンス料を支払う必要がありますパイプラインバスMIPS I命令セットパイプラインステージドスマティックVHDL
TSK3000Aアルティウムロイヤリティフリーウィッシュボーン32ビットR3000スタイル RISC 改良ハーバードアーキテクチャ CPUAltium Wiki の組み込み設計
PicoBlaze命令セットアーキテクチャに基づく
パコブレイズパブロ・ブレイヤーはいPicoBlazeプロセッサと互換性ありパコブレイズベリログ
ピコブレイズザイリンクスいいえザイリンクス ピコブレイズVHDL、Verilog
RISC-V命令セットアーキテクチャに基づく
f32cザグレブ大学BSDAXI、SDRAM、SRAM32ビット、RISC-V / MIPS ISAサブセット(再ターゲット可能)、GCCツールチェーンf32cVHDL
ネオRV32ステファン・ノルティングBSDウィッシュボーン b4、AXI4rv32[i/e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei]、RISC-V準拠、CPUとSoCが利用可能、高度にカスタマイズ可能、GCCツールチェーンGitHub オープンコアVHDL
ベックスリスク脊髄HDLはいAXI4 / アバロン32 ビット、RISC-V、 Artix 7 で最大 340 MHz。最大 1.44  DMIPS/MHz。https://github.com/SpinalHDL/VexRiscvVHDLVerilog(SpinalHDL)
SPARC命令セットアーキテクチャに基づく
レオン2(-FT)ESAはいアンバ2SPARC V8ESAVHDL
レオン3/4エアロフレックス ガイスラーはいアンバ2SPARC V8エアロフレックス ガイスラーVHDL
オープンピトンプリンストンパラレルグループはいメニーコア SPARC V9オープンピトンベリログ
オープンSPARC T1太陽はい64ビットOpenSPARC.netベリログ
タカス/PIPE5テムライブラリはいパイプラインバスSPARC V8テムリブVHDL
x86命令セットアーキテクチャに基づく
CPU86HTラボはいVHDLでの8088互換CPUCPU86VHDL
MCL86マイクロコアラボはい8088 BIUが提供されます。その他は簡単に作成できます。マイクロシーケンサを用いて実装されたサイクル精度の8088/8086。Kintex-7の使用率は2%未満。MCL86コア
s80x86ジェイミー・アイルズGPLv3カスタム80186互換GPLv3コアs80x86システムVerilog
ゼットゼウス・ゴメス・マルモレホはいウィッシュボーンx86 PCクローンゼットベリログ
あお486アレクサンデル・オスマン3条項BSDアバロンi486 SX互換コアあお486ベリログ
PowerPC/Power命令セットアーキテクチャに基づく
パワーPC 405SIBMいいえコアコネクト32ビット PowerPC v.2.03 ブックEIBMベリログ
パワーPC 440SIBMいいえコアコネクト32ビット PowerPC v.2.03 ブックEIBMベリログ
パワーPC 470SIBMいいえコアコネクト32 ビット PowerPC v.2.05 ブック EIBMベリログ
マイクロワットIBM/OpenPOWERCC-BY 4.0ウィッシュボーン64ビットPowerISA 3.0の概念実証マイクロワット @ GithubVHDL
チゼルワットIBM/OpenPOWERCC-BY 4.0ウィッシュボーン64ビットPowerISA3.0チゼルワット @ Githubノミ
リブレSOCLibre-SoC.orgBSD/LGPLv2+ウィッシュボーン64ビットPowerISA 3.0。CPU/GPU/VPU実装とカスタムベクター命令Libre-SoC.orgPython/nMigen
A2IIBM/OpenPOWERCC-BY 4.0カスタムPBus64ビットPowerPC 2.6ブックE。コアの順序A2I @ GithubVHDL
A2OIBM/OpenPOWERCC-BY 4.0カスタムPBus64ビットPowerPC 2.7ブックE.アウトオブオーダーコアA2O @ GitHubベリログ
その他のアーキテクチャ
アークARCインターナショナルシノプシスいいえ16/32/64ビット ISA RISCデザインウェアARCベリログ
エリック5エントナーエレクトロニクスいいえ9ビットRISC、非常に小型、C言語でプログラム可能ERIC5 2016年3月5日アーカイブ - Wayback MachineVHDL
H2 CPUリチャード・ジェームズ・ハウマサチューセッツ工科大学カスタム16ビットスタックマシン、Forthを直接実行するように設計、小型H2 CPUVHDL
インスタントSoCFPGAコアいいえカスタム32ビットRISC-V M拡張、C++で定義されたSoCインスタントSoCVHDL
ジョップマーティン・シェーベルはいSimpCon / Wishbone(拡張機能)スタック指向、ハードリアルタイムサポート、Javaバイトコードを直接 実行ジョップVHDL
ラティスマイクロ8格子はいウィッシュボーンラティスマイクロ8ベリログ
ラティスMico32格子はいウィッシュボーンラティスMico32ベリログ
LXP32アレックス・クズネツォフマサチューセッツ工科大学ウィッシュボーン32ビット、3段パイプライン、ブロックRAMベースのレジスタファイルlxp32VHDL
MCL65マイクロコアラボはい超小型マイクロシーケンサベースの6502コア252個のSpartan-7 LUT。クロックサイクル精度。MCL65コア
MRISC32-A1マーカス・ギールナードはいウィッシュボーン、B4/パイプラインMRISC32 ISAを実装した32ビットRISC/ベクターCPUMRISC32VHDL
NEO430ステファン・ノルティングはいウィッシュボーン(アバロン、AXI4-Lite)16ビットMSP430 ISA互換、非常に小型、多くの周辺機器、高度なカスタマイズが可能NEO430VHDL
ニオスニオス IIアルテラいいえアバロンアルテラ Nios IIベリログ
オープンRISCオープンコアはいウィッシュボーン32 ビット; ASIC、Actel、Altera、Xilinx FPGA で実行。[9]ベリログ
スパルタンMCダルムシュタット工科大学 / ドレスデン工科大学はいカスタム(AXIサポートは開発中)18 ビット ISA (GNU Binutils / GCC サポートは開発中)スパルタンMCベリログ
シンピック12ミゲル・アンヘル・アホ・ペラヨマサチューセッツ工科大学PIC12F互換、ゲート単位でプログラム合成nbee.esVHDL
xr16ジャン・グレイいいえXSOC抽象バス16ビットRISC CPUとSoCがCircuit Cellar Magazine #116-118に掲載されましたXSOC/xr16概略図
ヤセップヤン・ギドンAGPLv3ダイレクトSRAM16 または 32 ビット、VHDL の RTL とJSの asm 、マイクロコントローラのサブセット: 準備完了yasep.org(Firefoxが必要)VHDL
ジップCPUギッセルクイストテクノロジーGPLv3ウィッシュボーン、B4/パイプラインFPGAリソースの使用を最小限に抑えることを目的とした32ビットCPUzipcpu.comベリログ
ZPUジリンASはいウィッシュボーンスタックベースのCPU、構成可能な16/32ビットデータパス、eCosサポートザイリンCPUVHDL
RISC5ニクラウス・ヴィルトはいカスタムエディタとコンパイラを含む完全なグラフィカルOberonシステムを実行します。ソフトウェアは同一のFPGAボード上で開発・実行できます。www.projectoberon.com/ベリログ

参照

参考文献

  1. ^ 記事タイトル「Zet ソフトコアが Windows 3.0 を実行」Andrew Felch 著 2011
  2. ^ 「Embedded.com - FPGAアーキテクチャ「A」から「Z」まで:パート2」。2007年10月8日時点のオリジナルよりアーカイブ。 2012年8月18日閲覧「FPGAアーキテクチャ AからZまで」クライブ・マックスフィールド著 2006
  3. ^ MicroBlaze ソフトプロセッサ: よくある質問 アーカイブ 2011-10-27 at the Wayback Machine
  4. ^ イシュトヴァーン・ヴァサーニ。 「FPGA へのプロセッサ アレイの実装」。 1998年。 [1]
  5. ^ Zhoukun WANGとOmar HAMMAMI. 「ネットワークオンチップを備えた24プロセッサシステムオンチップFPGA設計」. [2]
  6. ^ ジョン・ケント「Micro16アレイ - シンプルなCPUアレイ」[3]
  7. ^ キット・イートン「1,000コアCPUの実現:将来のデスクトップはスーパーコンピュータになる」2011年。[4]
  8. ^ 「科学者らが1,000個以上のコアを1つのチップに詰め込む」2011年。[5] 2012年3月5日アーカイブ、Wayback Machine
  9. ^ Joe DeLaere. 「マイクロコントローラをMAX 10 FPGAに置き換える7つの理由」(PDF)
  10. ^ John Swan、Tomek Krzyzak (2008). 「FPGAを用いたマイクロプロセッサの陳腐化回避」. 2016年10月13日時点のオリジナルよりアーカイブ。
  11. ^ スタッフ (2010年2月3日). 「FPGAプロセッサIPのサポートが必要」. Electronics Weekly . 2019年4月3日閲覧。
  12. ^ 「概要::OpenFireプロセッサコア::OpenCores」。
  • FPGA用ソフトCPUコア
  • 12種類のソフトマイクロプロセッサの詳細な比較
  • FPGA CPUニュース
  • Freedom CPUのウェブサイト
  • Opencores.org のマイクロプロセッサ コア (「プロセッサ」タブを展開)
  • NikTech 32 ビット RISC マイクロプロセッサ MANIK。
「https://en.wikipedia.org/w/index.php?title=ソフトマイクロプロセッサ&oldid=1278551373」より取得