Téma disertační práce

Školitel:Hruška Tomáš, prof. Ing., CSc.
Téma:Programování rekonfigurovatelných systémů pomocí vyššího programovacího jazyka
Zahájení v ak.r.:2007/2008
Obhajoba disertace:2015-01-28
Název disertace:Programování rekonfigurovatelných systémů pomocí vyššího programovacího jazyka
Charakteristika řešeného problému:

Pro specifikaci aplikačně specifických mikroprocesorů můžeme použít jazyky pro popis architektury. Tato rodina jazyků nám umožní z popisu mikroprocesoru automaticky generovat nástroje pro programování samotného mikroprocesoru. Mezi generované nástroje patří nástroj assembleru a disassembleru. Protože psaní aplikace pro mikroprocesor na úrovni assembleru je pomalé a je zdrojem častých chyb, je vhodné poskytnout vývojáři možnost programování mikroprocesoru pomocí vyššího programovacího jazyka, např. ANSI  C. Proces vytvoření překladače vyššího programovacího jazyka pro specifický model mikroprocesoru vyžaduje brát v potaz dvě úrovně popisu mikroprocesoru, jež jsou specifikovány v modelu. První, operační úroveň, specifikuje vlastní formát jazyka specifického assembleru a strojový jazyk. Druhá úroveň, úroveň mikroarchitektrury, specifikuje zdrojové prvky, jež má mikroprocesor k dispozici. Na základě popisu těchto dvou úrovní je třeba navrhnout překladač vyššího programovacího jazyka do jazyka specifického assembleru. Při návrh je třeba navrhnout formální model, na základě kterého by se vlastní překlad prováděl. Při návrhu formálního modelu je nutné brát v potaz provádění optimalizací instrukcí pro danou architekturu, zahrnující např. automatické řešení konfliktů instrukcí mezi různými zdroji mikroprocesoru (např. překlad programu pro VLIW (Very Long Instruction Word) architektury) apod.

Stručný úvod do problematiky:

Chceme simulovat jeden procesor na jiném. Tedy předpokládáme, že máme k dispozici dostatečně rychlý procesor s dostatečně obecným programovacím rozhraním (jazykem), na kterém naše simulace chceme provádět. V tomto jazyce budeme programovat simulaci. Dále chceme, aby námi vyrobený simulátor byl dostatečně provozuschopný na různých procesorech.

Chování procesoru můžeme popisovat na různých úrovních. je to možné buďto v univerzálním programovacím jazyce (např. C) nebo můžeme volit jazyk specializovanější.

Je možné napsat celý model v univerzálním jazyce. Myslím, že snad se to někdy i tak dělá. Ale vzhledem k době, kterou na výrobu mikroprocesoru máme, je to neefektivní. Musíme uvažovat o doplňcích, které by psaní modelu zrychlily. Jsou v zásadě dva:

  • udělat knihovnu opakovaně použitelných stavebních prvků modelu, včetně popisu jejich chování (toto bude nadstavbou jazyka pro simulování)
  • vytvořit specifikační formální jazyk , který by umožňoval rychlou definici instrukčního repertoáru, z níž by se generoval automaticky assembler, zpětný assembler a simulátor (toto bude popsáno ve speciálním jazyce popisujícím překlady).

Z nových částí specifikačního jazyka bude potřeba navrhnout a připravit nové části definičního jazyka modelu a to zejména:

  • definici zdrojů (stavebních kamenů, HW součástek), ze kterých se modelovaný mikroprocesor skládá ( s tím souvisí vytvoření knihovny zdrojů, která se bude sestavovat se simulátorem); současně je zvolen ovládací jazyk pro definici chování zdrojů.
  • definici překladů a popisu simulace na základě binárního kódu (vytvoření speciálního specifikačního jazyka, který je vlastně popisem atributované překladové gramatiky).

 Bude současně popisovat:

  • definici interpretu instrukcí
  • definici assembleru
  • definici disassembleru

Tyto doplňky dohromady se zvoleným univerzálním jaykem budou tvořit nový definiční jazyk. Dále je třeba vymyslet, navrhnout a realizovat:

  • obslužné programy doplňující vytvářený simulátor a to zejména:
  • okénkové prostředí pro univerzální styk s uživatelem a v něm (tučně jsou položky, které budeme potřebovat nutněji, zbytek je až postupně):

 

  • syntaxí řízený editor vstupního jazyka, s případnou grafickou variantou
  • vlastní ovládání simulátoru
  • překladač definičního jazyka
  • import a export přeloženého modelu v XML
  • generování assembleru pro danou definici
  • syntaxí řízený editor assemblerovských programů pro vygenerovaný assembler
  • generování disassembleru pro danou definici
  • sestavovací program programů přeložených assemblerem
  • zaváděcí program 
  • interpretační simulace pro různé binárky
  • generování rychlého simulačního programu pro danou sestavenou binárku, který bude syntakticky analyzován předem.

Poslední  možnost je velmi důležitá a má zásadní vliv na definiční jazyk. Dále je potřeba pamatovat na budoucí propojení více modelů na více počítačích, což vede k rychlým síťovým aplikacím. Rovněž bude zajímavé pozdější připojení reálného mikroprocesoru k simulátoru, což vede k návrhu univerzálního rozhraní pro práci s procesory jak reálnými, tak virtuálními.

Co se týká základního výzkumu, jde zejména o generování překladače z vyššího programovacího jazyka, tedy přesněji rekonfigurovatelný překladač jazyka C generovatelný z dané definice.

Projekt je podporován Ministerstvem průmyslu a obchodu grantovým způsobem.

Bližší upřesnění na stránkách projektu Lissom nebo případně ústně.

 

Součást výzkumného projektu:
Publikace související s vypsaným tématem:
2006MASAŘÍK Karel a HRUŠKA Tomáš. UML as Architecture Description Language. In: MOSIS'06, Proceedings of 40th Conference "Modelling and Simulation of Systems". Ostrava: MARQ, 2006, s. 41-48. ISBN 80-86840-21-2.
 MASAŘÍK Karel a HRUŠKA Tomáš. UML in Design of ASIP. In: A proceedings volume from the 3rd IFAC Workshop on Discrete-Event System Design DESDes'06. Zielona Gora: University of Zielona Gora, 2006, s. 209-214. ISBN 83-7481-035-1.
 MASAŘÍK Karel, HRUŠKA Tomáš a KOLÁŘ Dušan. Language and Development Environment For Microprocessor Design Of Embedded Systems. In: Proceedings of IFAC Workshop on PROGRAMMABLE DEVICES and EMBEDDED SYSTEMS PDeS 2006. Brno: Fakulta elektrotechniky a komunikačních technologií VUT v Brně, 2006, s. 120-125. ISBN 80-214-3130-X.
2005MASAŘÍK Karel, HRUŠKA Tomáš, KOLÁŘ Dušan a LUKÁŠ Roman. System for design and simulation of microprocessors. In: Proceedings of 8th Spring International Conference - ISIM'05. Ostrava: MARQ, 2005, s. 269-276. ISBN 80-86840-09-3.

Vaše IPv4 adresa: 34.204.189.171
Přepnout na https