Téma disertační práce

Školitel:Hruška Tomáš, prof. Ing., CSc.
Téma:Systémy pro souběžný návrh technického a programového vybavení počítačů
Zahájení v ak.r.:2004/2005
Obhajoba disertace:2008-11-19
Název disertace:SYSTÉM PRO SOUBĚŽNÝ NÁVRH TECHNICKÉHO A PROGRAMOVÉHO VYBAVENÍ POČÍTAČŮ
Charakteristika řešeného problému:

Podstatou problému je vytvoření softwerového prostředí, v němž lze souběžně navrhovat technické vybavení počítače (hardware) a současně vyvíjet jeho programové vybavení (software) před jeho skutečnou výrobou. Tématicky jde zejména o oblast překladačů, ale také vytváření modelů s nutností orientace v harwarové oblasti.

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 navržen v součinnosti s firmou v Rakousku, která se zabývá návrhem a skutečnou realizací procesorů.  Práce se předpokládá v týmu asi 6-8 lidí (studentů FIT, případně vídeňské university i zaměstnanců FIT i se spolupracující organizace ve Vídni).

Bližší upřesnění ústně.

Součást výzkumného projektu:
Publikace související s vypsaným tématem:
2001HRUŠKA Tomáš. XML Technology - tutorial. In: ISM 01 Conference Proceedings. Hradec nad Moravicí: MARQ, 2001, s. 11-15. ISBN 80-85988-51-3.
1995BENEŠ Miroslav a HRUŠKA Tomáš. Graph Rewriting as a Tool for System Description. In: Proceedings of the IFIP Workshop CAST and Computer System Technology. Insbruck: neznámá, 1995, s. 9-10.
1994BENEŠ Miroslav, HRUŠKA Tomáš a ŠTEVKO Elemír. Applications of Graph Rewriting Systems in Compiler Implementation. In: Proceedings of 5th International Workshop on Graph Grammars. Williamsburg, Virginia, 1994, s. 77-82.
1993BENEŠ Miroslav, HRUŠKA Tomáš a ŠTEVKO Elemír. Using Graph Transformation in Discrete Simulation. In: Proceedings of the MOSIS 93 Conference. Olomouc: MARQ, 1993, s. 275-281.
1992BENEŠ Miroslav a HRUŠKA Tomáš. Attributed Graph Rewriting. In: Knižnice VUT. Brno: Vysoké učení technické v Brně, 1992, s. 177-184.
 HRUŠKA Tomáš, SOKOLOWSKI P. a ZELENÝ Jaroslav. Ein Vergleich von CISC und RISC Architekturen. In: Institut fuer Angewandte Informatik an der EBS. Germany, 1992, s. 28.

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