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, amely a Sun Microsystems által fejlesztett SPARC V8 utasításkészlet-architektúrát (ISA) valósítja meg. Eredetileg az European Space Research and Technology Centre (ESTEC) tervezte, amely 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). A leírása szintetizálható VHDL hardverleíró nyelven készült. A LEON processzornak kettős licenc modellje 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ó, és egylapkás rendszer (SOC) kialakításokban használják, mind kutatási, mind kereskedelmi célú rendszerekben.[5]

LEON
Gyártás1997–
TervezőSun Microsystems (jelenleg Oracle)


(utasításkészlet, eredeti tervek)
,
Európai Űrügynökség (ESA),

Gaisler Research (jelenleg Cobham Gaisler)
(processzor, származtatott tervek)
GyártóAtmel (jelenleg Microchip Technology)
Max CPU órajel150 – 1500 MHz[1][2]
ArchitektúraSPARC V8
Magok száma1
ElődERC32

Történet szerkesztés

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

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, amelyet 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]

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]

FPGA tervezési folyamat szerkesztés

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

A LEON2/LEON2-FT kifejezés gyakran a LEON2 egylapkás rendszer kialakításra utal, amely 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

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

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

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

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, amelyek 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

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

Fejlesztés alatt áll.[19]

Valós idejű operációsrendszer-támogatás szerkesztés

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

  1. a b Quad-Core LEON4 Next-Generation Microprocessor Evaluation Board GR-CPCI-LEON4-N2X. Aeroflex Gaisler AB
  2. 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”
  3. Clarke, Peter. „European Space Agency launches free SPARC-like core”, 2000. március 6. 
  4. Clarke, Peter. „Free SPARC processor developer goes "commercial"”, 2005. február 24. 
  5. Successful Use of an Open Source Processor in a Commercial ASIC. Design & Reuse
  6. (2010) „Next Generation Multipurpose Microprocessor”. DAta Systems In Aerospace 2010 (DASIA2010). 
  7. a b Aeroflex Gaisler (2010-01-27). "Aeroflex Gaisler announces the next generation LEON processor". Sajtóközlemény.
  8. a b LEON2-FT. European Space Agency
  9. GRLIB IP Library. Cobham Gaisler . (Hozzáférés: 2020. március 17.)
  10. GRLIB IP Library User’s Manual. Cobham Gaisler , 2019. november 1.
  11. Buttelmann, Lutz: How to setup LEON3 VHDL simulation with Modelsim. [2016. március 4-i dátummal az eredetiből archiválva].
  12. System-On-Chip (SOC) Development. ESA Microelectronics
  13. Leon3 processor. Gaisler Research . [2007. június 28-i dátummal az eredetiből archiválva].
  14. LEON: the space chip that Europe built. SpaceDaily , 2013. január 10.
  15. Chang’e-4 lander (brit angol nyelven). European Space Agency . (Hozzáférés: 2019. július 18.)
  16. A kozmikus sugárzás a félvezető memóriában bithibákat okoz, ez általában átmeneti hibaesemény.
  17. LEON3FT-RTAX Fault-tolerant Processor. Cobham Gaisler . [2021. július 10-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. június 4.)
  18. 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.
  19. LEON5. www.gaisler.com
  20. POK, a real-time kernel for secure embedded systems
  21. ORK+. STRAST group . [2022. április 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. június 4.)
  22. 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.
  23. Embox | Real-time operating system

Források szerkesztés

Ld. jegyzetek

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés

Fordítás szerkesztés

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.