Topic of PhD thesis

Advisor:Hruška Tomáš, prof. Ing., CSc.
Topic:Advanced Methods of Microprocessor Simulation
Start:2007/2008
Date of Defense:2011-09-06
Title of Dissertation:Advanced Methods of Microprocessor Simulation
PhD thesis subject:

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, především generování nástroje simulátoru. Úroveň popisu modelu mikroprocesoru, popsaného pomocí popisného jazyka, významně ovlivňují vlastnosti simulátorů mikroprocesoru. Snaha je dosáhnout co nejvyšší rychlosti simulace a možnost generovat pro daný popis mikroprocesoru širokou škálu mikroprocesorů, lišící se vlastnostmi simulace, a uplatňujícími se ve specifické fázi vývoje mikroprocesoru. Práce si klade za cíl pro zvolený popisný jazyk navrhnout metody pro vytvoření formálních modelů simulátorů pro různé úrovně simulace (založených na instrukcích, na cyklech 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ě.

 

 

Part of research project:
Related publications:
2006MASAŘÍK Karel and 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, pp. 209-214. ISBN 83-7481-035-1.
 MASAŘÍK Karel and HRUŠKA Tomáš. UML as Architecture Description Language. In: MOSIS'06, Proceedings of 40th Conference "Modelling and Simulation of Systems". Ostrava, 2006, pp. 41-48. ISBN 80-86840-21-2.
 MASAŘÍK Karel, HRUŠKA Tomáš and 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: Faculty of Electrical Engineering and Communication BUT, 2006, pp. 120-125. ISBN 80-214-3130-X.
2005MASAŘÍK Karel, HRUŠKA Tomáš, KOLÁŘ Dušan and LUKÁŠ Roman. System for design and simulation of microprocessors. In: Proceedings of 8th Spring International Conference - ISIM'05. Ostrava, 2005, pp. 269-276. ISBN 80-86840-09-3.

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