LEON
| LEON | |
| Gyártás | 1997– |
| Tervező | Sun Microsystems (jelenleg Oracle)
(processzor, származtatott tervek) |
| Gyártó | Atmel (jelenleg Microchip Technology) |
| Max CPU órajel | 150 – 1500 MHz[1][2] |
| Architektúra | SPARC V8 |
| Magok száma | 1 |
| Előd | ERC32 |
A LEON (a spanyol león szóból, jelentése oroszlán) egy sugárzás elleni védelemmel ellátott 32 bites processzor mag és mikroprocesszor-sorozat, mely a Sun Microsystems által fejlesztett SPARC V8 utasításkészlet-architektúrát (ISA) valósítja meg. Eredetileg a European Space Research and Technology Centre (ESTEC) tervezte, mely az Európai Űrügynökség (ESA) része, majd a tervek rövid életút után a Gaisler Research céghez kerültek (a Sun nem volt érintett a processzor kialakításban). Leírása szintetizálható VHDL hardverleíró nyelven készült. A LEON processzornak kettős licencmodellje van: egy GNU Lesser General Public License (LGPL) és GNU General Public License (GPL) free and open-source software (FOSS) licenc, amely licencdíj nélkül használható, vagy egy védett termékbe történő integráláshoz megvásárolható védett licenc.[3][4] A mag VHDL generikus modulokkal konfigurálható, egylapkás rendszer (SOC) kialakításokban használják, mind kutatási, mind kereskedelmi célú rendszerekben.[5]
Története
[szerkesztés | forrásszöveg szerkesztése]Az LEON projektet az Európai Űrügynökség (ESA) indította 1997 végén, az európai űrprojektekben felhasználható nagy teljesítményű processzor tanulmányozása és kifejlesztése céljából.[6] A projekt céljai között szerepelt egy olyan nyílt, hordozható és nem tulajdonosi processzorkialakítás létrehozása, amely képes megfelelni a teljesítményre, a szoftverkompatibilitásra és az alacsony rendszerköltségre vonatkozó jövőbeli követelményeknek. Egy másik cél az volt, hogy a gyártás egyszeri hibaeseményeket (single-event upset, SEU) tűrő félvezető folyamatban történjen. A helyes működés fenntartásához a hibaesemények fellépésével számolva széleskörű hibajelző és hibakezelő funkciókra van szükség. A cél az volt, hogy bármely regiszterben egy hibát szoftveres beavatkozás nélkül észleljen és eltűrjön a rendszer, valamint hogy a kombinációs logikában elnyomják az egyszeri átmeneti (single event transient, SET) analóg hibák hatásait.
A LEON család első tagja, a LEON1, egy VHDL hardverleíró nyelven készült kialakítás volt. A 0,25 μm-es technológiával legyártott LEONExpress tesztcsip a hibatűrési koncepció bizonyítására szolgált. A második, LEON2 VHDL-kialakítást az Atmel AT697 processzoros eszközében és különböző egylapkás rendszerekben használták. Ezt a két LEON megvalósítást az ESA fejlesztette ki. A harmadik, LEON3 tervezetet már a Gaisler Research (jelenleg a Cobham plc. része, korábban Aeroflex Gaisler) fejlesztette ki, és ugyanez jelentette be a negyedik generációs LEON, a LEON4 processzor megjelenését is.[7]
LEON processzor modellek és disztribúciók
[szerkesztés | forrásszöveg szerkesztése]A LEON processzor programozható logikában, például egy FPGA-ban (field-programmable gate array) vagy alkalmazásspecifikus integrált áramkörben (ASIC) valósítható meg. Ez a szakasz és a következő alfejezetek a LEON processzorokra mint szoftveres jogvédett IP-magokra (soft IP core) összpontosítanak, és összefoglalják az egyes processzorváltozatok fő jellemzőit, valamint a processzor kiszerelésére/tokozására szolgáló infrastruktúrát, melyet LEON-disztribúciónak neveznek.
A LEON sorozat összes processzora a SPARC V8 csökkentett utasításkészletű (RISC) ISA-t használja. A LEON2(-FT) öt fokozatú, míg a későbbi változatok hét fokozatú futószalagot tartalmaznak. A LEON2 és a LEON2-FT egy grafikus konfigurációs eszközzel módosítható egylapkás rendszer kialakításként kerül forgalmazásra. Bár a LEON2(-FT) kialakítás bővíthető és más kialakításokban újrafelhasználható, a felépítése nem hangsúlyozza a terv egyes részeinek építőelemként való újrafelhasználását, és a tervezők számára nem engedi meg új IP-magok könnyű beépítését a kialakításba.
A szabványos LEON2(-FT) disztribúció a következő támogató magokat tartalmazza:[8]
- megszakításvezérlő
- hibakeresést támogató egység nyomkövetési pufferrel
- két 24 bites időzítő
- két univerzális aszinkron adóvevő (UART)
- 16 bites memóriába leképzett I/O port
- memóriavezérlő
A LEON3, LEON3FT és LEON4 magokat jellemzően a GRLIB IP-könyvtárral együtt használják. Míg a LEON2 disztribúciók egyetlen, több megcélzott technológián is használható dizájnt tartalmaznak, addig a GRLIB több sablon kialakítást tartalmaz, FPGA fejlesztőkártyákhoz és ASIC célokhoz egyaránt, és ezek a LEON2 disztribúcióhoz hasonló grafikus konfigurációs eszközzel módosíthatók. A LEON/GRLIB csomag a LEON2 disztribúciókhoz képest több magot tartalmaz, és tartalmazza a csipen lévő Advanced Microcontroller Bus Architecture (AMBA) busz plug and play (PnP) kiterjesztését is. A GRLIB csomagban elérhető IP magok közé tartoznak még:[9]
- 32 bites PC133 SDRAM (szinkron dinamikus RAM) vezérlő
- 32 bites PCI híd DMA-val
- 10/100/1000 Mbites Ethernet MAC-cím
- 8/16/32 bites PROM és SRAM vezérlő
- 16/32/64 bites DDR/DDR2 vezérlők
- USB 2.0 host- és eszközvezérlők
- Controller area network (CAN) vezérlő
- JTAG TAP vezérlő
- Serial Peripheral Interface (SPI) vezérlő
- I²C vezérlő
- univerzális aszinkron adóvevő (UART) FIFO-val
- moduláris időzítő egység
- megszakításvezérlő
- 32 bites GPIO általános célú I/O port
FPGA tervezési folyamat
[szerkesztés | forrásszöveg szerkesztése]A LEON FPGA-n való felépítéséhez szükséges tervezési folyamat dokumentációja elérhető a gyártótól[10] és harmadik féltől származó forrásokból.[11]
Terminológia
[szerkesztés | forrásszöveg szerkesztése]A LEON2/LEON2-FT kifejezés gyakran a LEON2 egylapkás rendszer kialakításra utal, mely a LEON2 processzormagot jelenti a LEON2(-FT) disztribúcióban elérhető szabványos perifériakészlettel együtt. A LEON sorozat későbbi processzorai a kialakítások széles körében vannak alkalmazva, ezért nem kapcsolódnak olyan szorosan a szabványos perifériakészlethez. A LEON3 és LEON4 esetében a név jellemzően csak a processzormagra utal, míg a LEON/GRLIB a teljes egylapkás rendszer kialakításra vonatkozik.
LEON2 processzormag
[szerkesztés | forrásszöveg szerkesztése]A LEON2 processzormag jellemzői:
- A GNU LGPL nagyfokú szabadságot biztosít a szabadon hozzáférhető forráskódba való beavatkozáshoz.
- A konfigurálhatóság a projekt egyik alapvető jellemzője,[12] és a VHDL generikusok használatával valósul meg.[13]
- Egy futószalagos sorrendi végrehajtású processzor minden alapvető funkcióját kínálja.
- A projekt VHDL kódja meglehetősen nagy méretű (körülbelül 90 fájl, a teljes LEON2 disztribúcióhoz, beleértve a perifériás IP-magokat is).
LEON2-FT processzormag
[szerkesztés | forrásszöveg szerkesztése]A LEON2-FT processzor a LEON2 processzor egyszeri hibaeseményre (SEU) hibatűrő (fault tolerant, FT) változata. A flip-flopokat háromszoros moduláris redundancia védi, és minden belső és külső memória EDAC vagy paritásbitek segítségével védett. Erre az Európai Űrügynökség által forgalmazott IP-re speciális licenckorlátozások vonatkoznak.[8] A processzort különböző műholdakban, az ESA 2015-ös Intermediate eXperimental Vehicle (IXV) kísérleti űrrepülőgépében[14] és a kínai Csang-o–4 holdszondában is használták.[15]
LEON3 processzormag
[szerkesztés | forrásszöveg szerkesztése]A LEON3 a SPARC V8 architektúrának megfelelő 32 bites processzor szintetizálható VHDL modellje. A modell nagymértékben konfigurálható, és különösen alkalmas egylapkás rendszerek (system-on-a-chip, SoC) tervezésére. A teljes forráskód a GNU GPL licenc alatt érhető el, ami lehetővé teszi a bármilyen célú felhasználást licencdíj nélkül. A LEON3 saját licenc alatt is elérhető, ami lehetővé teszi a saját alkalmazásokban való felhasználást.
A két LEON2 processzormodell és a LEON3 között számos különbség van. A LEON3 SMP-támogatást és hétfokozatú futószalagot tartalmaz, míg a LEON2 nem támogatja az SMP-t és futószalagja öt fokozatú.
LEON3FT processzormag
[szerkesztés | forrásszöveg szerkesztése]A LEON3FT a szabványos LEON3 SPARC V8 processzor hibatűrő változata. Kemény űrkörnyezetben való működésre tervezték, és olyan funkciókat tartalmaz, melyek az összes csipen lévő RAM-memóriában felismerik és kijavítják az egyszeri eseményből adódó hibákat (SEU).[16] A LEON3FT processzor támogatja a szabványos LEON3 processzor legtöbb funkcióját, és a következő funkciókkal lett bővítve:
- a regiszterfájl SEU hibajavítása 32 bites szavanként legfeljebb 4 hibával,
- a gyorsítótár-memória hibajavítása címkénként vagy 32 bites szavanként legfeljebb 4 hiba esetén,
- autonóm és szoftveresen átlátszó hibakezelés,
- a hiba felismerése vagy javítása nincs hatással az időzítésre.
A LEON3FT nem támogatja a szabványos LEON3 processzor következő funkcióit:
- helyi átmeneti tár (scratchpad RAM, belső gyorsmemória, nincs, sem utasítás, sem adat számára),
- gyorsítótár zárolás,
- LRR (least recently replaced) gyorsítótár-helyettesítő algoritmus.
A LEON3FT magot a GRLIP IP könyvtár speciális FT verziójával együtt forgalmazzák. Csak netlista disztribúció lehetséges.
A kritikus űrtechnikai alkalmazásokhoz a LEON3FT-RTAX nevű FPGA implementáció javasolt.[17]
LEON4 processzormag
[szerkesztés | forrásszöveg szerkesztése]2010 januárjában megjelent a LEON processzor negyedik verziója.[7] Ez a változat a következő új jellemzőkkel rendelkezik:
- statikus elágazás-előrejelzés hozzáadva a futószalaghoz,
- opcionális 2. szintű gyorsítótár (L2),
- 64 bites vagy 128 bites útvonal az AMBA AHB[18] interfészhez,
- nagyobb teljesítmény lehetséges (a gyártó állítása szerint: 1,7 DMIPS/MHz, szemben a LEON3 1,4 DMIPS/MHz-ével),
- sugárzástűrő.[1]
LEON5 processzormag
[szerkesztés | forrásszöveg szerkesztése]Fejlesztés alatt áll.[19]
Valós idejű operációsrendszer-támogatás
[szerkesztés | forrásszöveg szerkesztése]A LEON magot jelenleg a következő valós idejű operációs rendszerek támogatják: RTLinux, PikeOS, eCos, RTEMS, Nucleus, ThreadX, OpenComRTOS, VxWorks (a Gaisler Research portja), LynxOS (szintén a Gaisler Research portja), POK (egy BSD licenc alatt kiadott szabad ARINC653 implementáció)[20] és ORK+,[21] egy nyílt forráskódú valós idejű kernel a Ravenscar profilú,[22] nagy integráltságú valós idejű alkalmazásokhoz, és Embox[23] nyílt forráskódú konfigurálható valós idejű operációs rendszer, amely lehetővé teszi Linux szoftver Linux nélkül történő használatát.
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- 1 2 "Quad-Core LEON4 Next-Generation Microprocessor Evaluation Board GR-CPCI-LEON4-N2X" (PDF). Aeroflex Gaisler AB.
- ↑ "LEON4 Processor". Cobham Gaisler Plc. Hozzáférés: 2021. január 12..
Eléri a 150 MHz-et FPGA-n és 1500 MHz-et 32 nm-es ASIC-en
- ↑ Clarke, Peter (2000. március 6.). "European Space Agency launches free SPARC-like core". EE Times.
- ↑ Clarke, Peter (2005. február 24.). "Free SPARC processor developer goes "commercial"". EE Times.
- ↑ "Successful Use of an Open Source Processor in a Commercial ASIC". Design & Reuse.
- ↑ Andersson, J.; Gaisler, J.; Weigand, R. (2010). Next Generation Multipurpose Microprocessor (PDF). DAta Systems In Aerospace 2010 (DASIA2010). Hozzáférés: 2020. március 17.
- 1 2 "Aeroflex Gaisler announces the next generation LEON processor" (Press release). Aeroflex Gaisler. 2010. január 27.
- 1 2 "LEON2-FT". European Space Agency.
- ↑ "GRLIB IP Library". Cobham Gaisler. Hozzáférés: 2020. március 17.
- ↑ "GRLIB IP Library User's Manual" (PDF). Cobham Gaisler. 2019. november.
- ↑ Buttelmann, Lutz. "How to setup LEON3 VHDL simulation with Modelsim" (PDF). 2016. március 4. dátummal az eredeti (PDF) címről archiválva.
- ↑ "System-On-Chip (SOC) Development". ESA Microelectronics. 2020. augusztus 3. dátummal az eredeti címről archiválva. Hozzáférés: 2021. július 1.
- ↑ "Leon3 processor". Gaisler Research. 2007. június 28. dátummal az eredeti címről archiválva.
- ↑ "LEON: the space chip that Europe built". SpaceDaily. 2013. január 10.
- ↑ "Chang'e-4 lander". European Space Agency (brit angol nyelven). Hozzáférés: 2019. július 18.
- ↑ A kozmikus sugárzás a félvezető memóriában bithibákat okoz, ez általában átmeneti hibaesemény.
- ↑ "LEON3FT-RTAX Fault-tolerant Processor". Cobham Gaisler. 2021. július 10. dátummal az eredeti címről archiválva. Hozzáférés: 2022. június 4.
- ↑ Az Advanced Microcontroller Bus Architecture (AMBA) egy szabadon elérhető, nyílt szabvány a System-on-Chip (SoC) funkcionális blokkok összekapcsolására és kezelésére.
- ↑ "LEON5". www.gaisler.com.
- ↑ "POK, a real-time kernel for secure embedded systems".
- ↑ "ORK+". STRAST group. 2022. április 7. dátummal az eredeti címről archiválva. Hozzáférés: 2022. június 4.
- ↑ A Ravenscar profil az Ada feladatmegoldási jellemzőinek egy részhalmaza, amelyet a biztonságkritikus, kemény valós idejű számításokhoz terveztek. Az Ada 95-ben külön technikai jelentésben határozták meg; jelenleg az Ada 2012 szabvány része. Nevét az angol Ravenscar faluról kapta, amely a 8. Nemzetközi Valós Idejű Ada Műhely (IRTAW 8) helyszíne volt.
- ↑ "Embox | Real-time operating system".
Fordítás
[szerkesztés | forrásszöveg szerkesztése]Ez a szócikk részben vagy egészben a LEON 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.
Források
[szerkesztés | forrásszöveg szerkesztése]Ld. jegyzetek
További információk
[szerkesztés | forrásszöveg szerkesztése]- DMOZ Curlie: SPARC: Open Source
- Cobham Gaisler
- GR740: Az ESA Következő generációs mikroprocesszora (NGMP)
- Cobham: Radiation Hardened Solutions and High Reliability Components Archiválva 2021. március 3-i dátummal a Wayback Machine-ben
- LEON3 tutorial Archiválva 2019. február 27-i dátummal a Wayback Machine-ben
- GNU/Linux a SPARC architektúrán, eredeti LEON porttal
Kapcsolódó szócikkek
[szerkesztés | forrásszöveg szerkesztése]- OpenSPARC
- S1 Core (a Simply RISC által kifejlesztett nyílt forráskódú mikroprocesszor hardver, a Sun Microsystems UltraSPARC T1-en alapul)
- OpenRISC
- ERC32
- FeiTeng-1000
- Schiaparelli EDM leszállóegység