bakalářská práce

Simulace procesoru ARM pro výuku programování v asembleru

Text práce 3.63 MB

Autor práce: Ing. Ondřej Ondryáš

Ak. rok: 2021/2022

Vedoucí: Ing. Filip Orság, Ph.D.

Oponent: Ing. Tomáš Goldmann, Ph.D.

Abstrakt:

Cílem této práce je vytvoření didaktického nástroje pro simulaci činnosti procesoru z rodiny Arm, který je integrován do editoru Visual Studio Code. Nástroj je určen pro výuku programování těchto procesorů na strojové úrovni. Implementuje službu umožňující překlad jazyka symbolických adres instrukční sady A32 a simulaci provádění jejích instrukcí. Využívá k tomu emulační jádro Unicorn a další nástroje s otevřeným zdrojovým kódem. Rozšíření pro editor poskytuje s pomocí služby podporu pro vývoj a ladění programů v tomto jazyce. Při tvorbě programu zobrazuje uživateli vysvětlivky pro použité instrukce a pomáhá s pochopením jejich funkcí. Při ladění umožňuje krokování a různé pohledy na vnitřní stav simulovaného procesoru, obsah registrů i paměti. Výsledkem práce je řešení, které je možné použít při výuce předmětu Pokročilé asemblery na FIT VUT. V budoucnu bude možné rozšířit jej o podporu jiných architektur a poskytnout tak nástroj pro usnadnění výuky i v dalších předmětech zaměřených na programování na strojové úrovni.

Klíčová slova:

Arm, AArch32, A32, jazyk symbolických adres, assembler, instrukce, simulace, emulace, Unicorn, Visual Studio Code, rozšíření, jazykový server, LSP, ladicí adaptér, DAP, výuka, vzdálený překlad, ladění, krokování kódu

Termín obhajoby

23.08.2022

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky u obhajoby:

  1. V kapitole 5.2 Rozšíření pro Visual Studio Code máte uvedené, že rekurzivně zanořené regulární výrazy mají větší vyjadřovací sílu oproti regulárním výrazům (necitováno). Vysvětlete, jak jste k tomuto závěru došel a případně vaše tvrzení podložte.
  2. Uvažoval jste možnostech sběru statistik chování procesoru?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. Peter Chudý, Ph.D., MBA (předseda)
prof. Ing. Jiří Jaroš, Ph.D. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)

Posudek vedoucího
Ing. Filip Orság, Ph.D.

Známka navržená vedoucím: A

Soubor vložený vedoucím Velikost
Hodnocení vedoucího [.pdf] 86,99 kB

Známka navržená oponentem: A

Soubor vložený oponentem Velikost
Posudek oponenta [.pdf] 128,46 kB

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová