Ugrás a tartalomhoz

Szoft mikroprocesszor

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

A szoft mikroprocesszor (másként szoft processzor, vagy lágy / lágymagos / softcore mikroprocesszor) teljes egészében logikai szintézissel megvalósítható mikroprocesszor-mag. Különböző programozható logikát tartalmazó félvezető eszközökkel valósítható meg (például ASIC, FPGA, CPLD), mind a csúcskategóriás, mind a hétköznapi, általános felhasználású változatok körében.[1] A processzorokat gyakran a hozzájuk tartozó perifériás eszközökkel együtt valósítják meg, ekkor az ilyen rendszert „programozható egylapkás rendszernek” (System on Programmable Chip, SoPC) nevezik.

A lágy mag, „softcore” egy processzor-implementáció, amely alacsony szintű leírásként érhető el valamely hardverleíró nyelven, például VHDL-ben vagy Verilogban, egyes gyártóktól közvetlenül konfigurációs fájlként, amivel elkerülhető a forráskód terjesztése. A lágymagos processzorok természetüknél fogva nagyon rugalmas architektúrák, és elsősorban FPGA-kban használják őket. Egy ilyen processzor átkonfigurálható, az adott felhasználás korlátaihoz való alkalmazkodás érdekében (perifériák, teljesítmény, erőforrások, energiafogyasztás, funkciók stb.).

A szoft processzorok előnye, hogy optimálisan konfigurálhatók, a felesleges funkciók kiküszöbölhetők vagy egyszerűen elhagyhatók a kialakításból, és a nyílt forrású rendszerekben a lefordítandó kód is gyakran változtatható. A lágymagos processzor könnyebben karbantartható, mint a fizikai magok, és ASIC-re portolható.

A legtöbb rendszer csak egyetlen szoftveres processzort alkalmaz, léteznek azonban olyan tervek, amelyek teljesen kihasználják a rendelkezésre álló helyet, azaz annyi lágy magot tartalmaznak egy FPGA-n, amennyit az eszköz kapacitása megenged.[2] Ezekben a többmagos rendszerekben a ritkán használt erőforrásokat a klaszterben lévő összes mag általában közösen, megosztva használja.

Míg legtöbb esetben pontosan egy szoft mikroprocesszort helyeznek el egy FPGA-n, egy megfelelően nagy FPGA két vagy több szoft mikroprocesszort is képes befogadni, ami így többmagos processzort eredményez. Az egy FPGA-n elhelyezhető szoft processzorok számát a processzorterv és az FPGA mérete korlátozza.[3] Van rá példa, hogy több tucat vagy akár több száz szoft mikroprocesszort helyeznek el egyetlen FPGA-n.[4][5][6][7][8] Ez a masszív párhuzamosság megvalósításának egyik módja a számítástechnikában, és hasonló módon alkalmazható a memórián belüli számítástechnikában is.

Az FPGA-n megvalósított szoft mikroprocesszor és kapcsolódó perifériái kevésbé hajlamosak az elavulásra, mint egy diszkrét processzor.[9][10][11]

Magok összehasonlítása

[szerkesztés | forrásszöveg szerkesztése]
Processzor fejlesztő nyílt forrású? busztámogatás megjegyzés projektoldal leíró nyelv
ARM utasításkészlet-architektúra alapú
Amber Conor Santifort LGPLv2.1 Wishbone ARMv2a 3 fokozatú vagy 5 fokozatú futószalag Projektoldal az Opencores-on Verilog
Cortex-M1 Arm Nem 70 – 200 MHz, 32 bites RISC Verilog
AVR utasításkészlet-architektúra alapú
Navré Sébastien Bourdeauducq Igen Közvetlen SRAM Atmel AVR-kompatibilis 8 bites RISC Projektoldal az Opencores-on Verilog
pAVR Doru Cuturela Igen Atmel AVR-kompatibilis 8 bites RISC Projektoldal az Opencores-on VHDL
softavrcore Andras Pal Igen Standard AVR buszok (maghoz kapcsolt I/O, szinkron SRAM, szinkron program-ROM) Atmel AVR-kompatibilis 8 bites RISC (max. AVR5), perifériákkal és egylapkás rendszer (SoC) jellemzőkkel együtt Projektoldal az Opencores-on Verilog
MicroBlaze utasításkészlet-architektúra alapú
AEMB Shawn Tan Igen Wishbone MicroBlaze EDK 3.2 kompatibilis AEMB Verilog
MicroBlaze Xilinx Nem PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze
OpenFire Virginia Tech CCM Lab Igen OPB, FSL Binárisan kompatibilis a MicroBlaze-zel [12] Verilog
SecretBlaze LIRMM, University of Montpellier / CNRS Igen Wishbone MicroBlaze ISA, VHDL SecretBlaze VHDL
MCS-51 utasításkészlet-architektúra alapú
MCL51 MicroCore Labs Igen Nagyon kis méretű mikroszekvenszer-alapú 8051 mag 312 Artix-7 LUT; a négymagos 8051-es változat 1227 LUT méretű MicroCore Labs, MCL51 mag
TSK51/52 Altium jogdíjmentes Wishbone / Intel 8051 8 bites Intel 8051 utasításkészlettel kompatibilis, alacsonyabb órajelű alternatíva ‘Embedded Design’ az Altium Wikin
MIPS utasításkészlet-architektúra alapú
BERI Cambridge-i Egyetem BSD MIPS Projektoldal Bluespec
Dossmatik René Doss CC BY-NC 3.0, kivétel: a kereskedelmi célú felhasználóknak licencdíjat kell fizetniük Futószalagos sín MIPS I utasításkészlet futószalagfokozatok Dossmatik VHDL
TSK3000A Altium jogdíjmentes Wishbone 32 bites R3000 stílusú RISC, módosított Harvard-architektúrájú CPU Beágyazott rendszerek az Altium Wikin
PicoBlaze utasításkészlet-architektúra alapú
PacoBlaze Pablo Bleyer Igen Kompatibilis a PicoBlaze processzorokkal PacoBlaze Verilog
PicoBlaze Xilinx Nem Xilinx PicoBlaze VHDL, Verilog
RISC-V utasításkészlet-architektúra alapú
f32c Zágrábi Egyetem BSD AXI, SDRAM, SRAM 32 bites, RISC-V / MIPS ISA részhalmazok (adaptálható más hardverekre, retargetable), GCC eszközkészlet f32c VHDL
NEORV32 Stephan Nolting BSD Wishbone b4, AXI4 rv32[i/e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei], RISC-V-kompatibilis, CPU & egylapkás rendszer (SoC) elérhető, nagyfokú testreszabhatóság, GCC eszközkészlet GitHub, OpenCores VHDL
VexRiscv SpinalHDL Igen AXI4 / Avalon 32 bites RISC-V, max. órajele 340 MHz, Artix 7 FPGA-n; teljesítmény max. 1,44 DMIPS/MHz Github, SpinalHDL / VexRiscv VHDLVerilog (SpinalHDL)
SPARC utasításkészlet-architektúra alapú
LEON2(-FT) ESA Igen AMBA2 SPARC V8 ESA VHDL
LEON3/4 Aeroflex Gaisler Igen AMBA2 SPARC V8 Aeroflex Gaisler VHDL
OpenPiton Princeton Parallel Group Igen Sokmagos SPARC V9 OpenPiton Verilog
OpenSPARC T1 Sun Igen 64 bites OpenSPARC.net Verilog
Tacus/PIPE5 TemLib Igen Futószalagos sín SPARC V8 TEMLIB VHDL
x86 utasításkészlet-architektúra alapú
CPU86 HT-Lab Igen 8088-kompatibilis CPU VHDL-ben cpu86 VHDL
MCL86 MicroCore Labs Igen 8088 BIU[a] rendelkezésre áll, több más könnyen létrehozható Ciklushelyes, mikroszekvenszerrel megvalósított 8088/8086, Kintex-7 FPGA-n 2%-os kihasználtsággal megvalósítható MCL86 Core
s80x86 Jamie Iles GPLv3 Egyedi 80186-kompatibilis GPLv3 mag s80x86 SystemVerilog
Zet Zeus Gómez Marmolejo Igen Wishbone x86 PC klón Zet Verilog
ao486 Aleksander Osman 3 záradékos BSD Avalon i486 SX kompatibilis mag ao486 Verilog
PowerPC/Power utasításkészlet-architektúra alapú
PowerPC 405S IBM Nem CoreConnect 32 bites PowerPC v.2.03 „Book E” IBM Verilog
PowerPC 440S IBM Nem CoreConnect 32 bites PowerPC v.2.03 „Book E” IBM Verilog
PowerPC 470S IBM Nem CoreConnect 32 bites PowerPC v.2.05 „Book E” IBM Verilog
Microwatt IBM/OpenPOWER CC-BY 4.0 Wishbone 64 bites PowerISA 3.0 megvalósíthatósági tanulmány Microwatt @ Github VHDL
Chiselwatt IBM/OpenPOWER CC-BY 4.0 Wishbone 64 bites PowerISA 3.0 Chiselwatt @ Github Chisel
Libre-SOC Libre-SoC.org BSD/LGPLv2+ Wishbone 64 bites PowerISA 3.0. CPU/GPU/VPU implementáció és egyedi vektorutasítások Libre-SoC.org python/nMigen
A2I IBM/OpenPOWER CC-BY 4.0 Egyedi PBus 64 bites PowerPC 2.6 „Book E”, sorrendi végrehajtású mag A2I @ Github VHDL
A2O IBM/OpenPOWER CC-BY 4.0 Egyedi PBus 64 bites PowerPC 2.7 „Book E”, nem sorrendi végrehajtású mag (out of order) A2O @ Github Verilog
Egyéb architektúrák
ARC ARC International, Synopsys Nem 16/32/64 bites RISC ISA DesignWare ARC Verilog
ERIC5 Entner Electronics Nem 9 bites RISC, nagyon kis méret, C-ben programozható ERIC5 Archiválva 2016. március 5-i dátummal a Wayback Machine-ben. VHDL
H2 CPU Richard James Howe MIT Egyedi 16 bites veremgép, Forth közvetlen végrehajtására tervezve, kicsi H2 CPU VHDL
Instant SoC FPGA Cores Nem Egyedi 32 bites RISC-V M kiterjesztés, a SoC C++-ban definiálva Instant SoC VHDL
JOP Martin Schoeberl Igen SimpCon / Wishbone (kiterjesztés) Veremszervezésű, kemény valós idejű támogatás, Java bájtkód közvetlen végrehajtására Jop VHDL
LatticeMico8 Lattice Igen Wishbone LatticeMico8 Verilog
LatticeMico32 Lattice Igen Wishbone LatticeMico32 Verilog
LXP32 Alex Kuznetsov MIT Wishbone 32 bites, 3 fokozatú futószalag, blokk RAM-on alapuló regisztertár lxp32 VHDL
MCL65 MicroCore Labs Igen Nagyon kis méretű mikroszekvenszer-alapú 6502 mag 252 Spartan-7 LUT, pontos órajelciklusok MCL65 mag
MRISC32-A1 Marcus Geelnard Igen Wishbone, B4/futószalagos 32 bites RISC / Vektor CPU, MRISC32 ISA-t implementál MRISC32 VHDL
NEO430 Stephan Nolting Igen Wishbone (Avalon, AXI4-Lite) 16 bites MSP430 ISA-kompatibilis, nagyon kis méret, sok periféria, nagyfokú testreszabhatóság NEO430 VHDL
Nios, Nios II Altera Nem Avalon Altera Nios II Verilog
OpenRISC OpenCores Igen Wishbone 32 bites; ASIC-ben megvalósítva, Actel, Altera, Xilinx FPGA. Verilog
SpartanMC TU Darmstadt / TU Dresden Igen Egyedi (AXI támogatás fejlesztés alatt) 18 bites ISA (GNU binutils / GCC támogatás fejlesztés alatt) SpartanMC Verilog
SYNPIC12 Miguel Angel Ajo Pelayo MIT PIC12F kompatibilis, kapukkal szintetizált program (kapumátrixban megvalósított programok) nbee.es VHDL
xr16 Jan Gray Nem XSOC absztrakt sín 16 bites RISC CPU és egylapkás rendszer (SoC), megjelent a ‘Circuit Cellar Magazine’ 116.–118. számában XSOC/xr16 kapcsolási rajz, Verilog
YASEP Yann Guidon AGPLv3 Közvetlen SRAM 16 vagy 32 bites, RTL VHDL-ben és JavaScript asm, mikrovezérlő-alrendszer: elkészült yasep.org (Firefox szükséges) VHDL
ZipCPU Gisselquist Technology GPLv3 Wishbone, B4/futószalagos 32 bites CPU, célja az FPGA-erőforrások minimális kihasználása zipcpu.com Verilog
ZPU Zylin AS Igen Wishbone Veremszervezésű CPU, konfigurálható 16/32 bites adatút, eCos (beágyazott valósidejű operációs rendszer) támogatással Zylin CPU VHDL
RISC5 Niklaus Wirth Igen Egyedi Képes futtatni egy teljes grafikus Oberon rendszert, amely egy szerkesztőt és egy fordítót is tartalmaz. A szoftverek fejlesztése és futtatása ugyanazon az FPGA-kártyán történik. Project Oberon weboldal Verilog
  1. BIU: Bus Interface Unit

Egyes fejlesztők megvalósításai

[szerkesztés | forrásszöveg szerkesztése]

A 2000-es években az IBM szorosan együttműködött az FPGA-gyártókkal, főleg a Xilinx-szel. Ebben az időszakban elérhetővé tették a PowerPC architektúra szintetizálható (IP core) változatait, amelyeket be lehetett ágyazni az FPGA-k logikai celláiba. Ezen kívül az IBM fejlesztette ki a CoreConnect lapkára integrált sínrendszert is, ami sokáig a szoft processzoros rendszerek (például a Xilinx MicroBlaze) szabványos buszrendszere volt.[13]

Az IBM 2019-ben teljesen nyílttá tette a Power ISA utasításkészlet-architektúrát. Ez azt jelenti, hogy ha ma egy hardvertervező Power-alapú szoft processzort szeretne FPGA-ra integrálni, azt nem az IBM-től vásárolja meg, hanem az OpenPOWER Alapítvány (korábban: Power.org) és a Linux Alapítvány által kezelt szabadon elérhető, nyílt forráskódú projektekből (pl. Microwatt vagy A2I magok) töltheti le.

Az IBM jelenleg (2024-től) a saját fejlesztésű, fizikai szilícium (hard core) processzoraira koncentrál, mint például a szerverekbe és szuperszámítógépekbe szánt IBM Power10 / Power11, vagy a nagyszámítógépes rendszerekbe épített, mesterséges intelligenciára optimalizált IBM Telum / Telum II processzorok.[14]

  1. Andrew Felch (2011. október 7.). "Zet soft core running Windows 3.0". 2018. október 13. dátummal az eredeti címről archiválva. (a későbbi archivált oldalak eltulajdonítva)
  2. "Embedded.com - FPGA Architectures from 'A' to 'Z' : Part 2". 2007. október 8. dátummal az eredeti címről archiválva. Hozzáférés: 2012. augusztus 18. "FPGA architektúrák a-tól Z-ig" by Clive Maxfield 2006
  3. MicroBlaze Soft Processor: Frequently Asked Questions Archiválva 2011. október 27-i dátummal a Wayback Machine-ben.
  4. István Vassányi. "Processzortömbök megvalósítása FPGA-kon". 1998.
  5. Zhoukun WANG és Omar HAMMAMI. "24 processzoros System-on-Chip FPGA terv egylapkás hálózattal".
  6. John Kent. "Micro16 Array - Egy Egyszerű CPU-tömb"
  7. Kit Eaton. "1000 magos CPU Elérve: A jövőbeli asztali géped szuperszámítógép lesz". 2011.
  8. "A tudósok Több mint 1000 magot sűrítettek egy csipre". 2011. Archiválva 2012. március 5-i dátummal a Wayback Machine-ben.
  9. Joe DeLaere. ""Top 7 Reasons to Replace Your Microcontroller with a MAX 10 FPGA"" (PDF).
  10. John Swan; Tomek Krzyzak. (2008). ""Using FPGAs to avoid microprocessor obsolescence"". 2016. október 13. dátummal az eredeti címről archiválva.
  11. Staff (2010. február 3.). "FPGA processor IP needs to be supported". Electronics Weekly (brit angol nyelven). Hozzáférés: 2019. április 3.
  12. "Overview :: OpenFire Processor Core :: OpenCores".
  13. Antti Lukats (2005. március 22.). "PowerPC soft-core?". fpgarelated.com. Hozzáférés: 2026. július 5.
  14. "New IBM Processor Innovations To Accelerate AI on Next-Generation IBM Z Mainframe Systems". IBM Newsroom (angol nyelven). IBM. 2024. augusztus 6. Hozzáférés: 2026. július 5.

Ez a szócikk részben vagy egészben a Soft microprocessor című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk

[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek

[szerkesztés | forrásszöveg szerkesztése]