• Dvajsetkrat hitrejše delovanje navideznega stroja
Novice

Študenti računalništva in informatike ter elektrotehnike so razvili pospeševalnik za navidezni stroj, ki kar za dvajsetkrat pospeši proces softverske emulacije mikrokrmilnikov.  Ta izboljšava bo v veliko pomoč pri izvajanju uporabniških skript brez motečih zakasnitev tudi na šibkejših gostiteljih (npr. emulatorjih).


Cilj projekta Pospeševalnik navideznega stroja za vgrajene sisteme, ki je potekal od 1. 3. do 31. 7. 2019 v okviru programa Po kreativni poti do znanja 2017–2020 (PKP), je bila implementacija pospeševalnika za navidezni stroj EVE, ki se uporablja za softversko emulacijo mikrokrmilnikov. Ker postajajo mikrokrmilniki vedno bolj kompleksni, je dobrodošlo, da lahko uporabniki s pomočjo emulacije sami dodajajo podporo za mikrokrmilnike, s pomočjo softverske emulacije pa lahko preprečimo, da bi napake v uporabniških programih povzročile nepravilno delovanje ali celo okvaro emulatorja. Pri tem je EVE za nekatere naloge prepočasen, saj deluje kot interpreter. To pomeni, da kodo ARMv6M prebere iz pomnilnika, jo sproti dekodira in izvaja. Po potrebi preveri še naslove pomnilniških dostopov in klicane funkcije. Ta postopek v povprečju traja 100 urinih period na ukaz.

 

Pospeševalnik, ki so ga razvili študenti, ima v principu enako funkcionalnost kot EVE, vendar pa ne deluje kot interpreter, saj pred izvajanjem prevajalnik vnaprej dekodira in prevede ukaze iz nabora ARMv6M v kodo C++, ki jo prevajalnik prevede v strojno kodo na gostiteljevi platformi. To mu omogoči do 20-krat hitrejše delovanje.

 

Pri projektu je sodelovalo 8 študentov računalništva in informatike ter elektrotehnike pod vodstvom pedagoških mentorjev prof. dr. Branka Štera s Fakultete za računalništvo in informatiko Univerze v Ljubljani in izr. prof. dr. Iztoka Fajfarja s Fakultete za elektrotehniko Univerze v Ljubljani ter v sodelovanju s podjetjem iSYSTEM Labs d.o.o., kjer je bil delovni mentor mag. Marko Klopčič.