Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
diplomová práce
Autor práce: Ing. Dominik Salvet
Ak. rok: 2023/2024
Vedoucí: prof. Ing. Jiří Jaroš, Ph.D.
Oponent: Ing. Václav Šimek
Tato práce se zabývá návrhem a implementací superskalární mikroarchitektury RISC-V procesoru zaměřené na prostředí s omezenými zdroji. Za tímto účelem mikroarchitektura definuje sedmistupňovou zřetězenou linku s dvojitým vydáváním instrukcí, které vykonává v pořadí. Je popsána v jazyce SystemVerilog a lze ji snadno simulovat na počítači. Pomocí připravených nástrojů pouští vytvořený model procesoru programy napsané v RISC-V jazyce symbolických adres zkompilované GCC. Na základě provedeného testování bez speciální asistence kompilátoru procesor provede v průměru 0,88 instrukcí za cyklus, čímž poskytuje o 22,6 % vyšší výkon než jeho skalární protějšek. Vzhledem k tomu, že se navržená mikroarchitektura také vyhýbá nadměrné specializaci, poskytuje dobrý základ, který lze dále rozšiřovat a optimalizovat na základě profilování očekávaných programů, což vede k optimálnímu výkonu a využití zdrojů.
Superskalární procesor, instrukční sada RISC-V, zřetězené zpracování, vykonávání instrukcí v pořadí, dvojité vydávání instrukcí, otevřený hardware, SystemVerilog, simulační testbench
Termín obhajoby
20.06.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
B
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, např. ohledně možností doplnění práce s dual-port pamětí v FPGA, plánovaného nasazení či možností rozšíření o specializované instrukce. 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 B - velmi dobře.
Otázky k obhajobě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav počítačových systémů
Studijní program
Informační technologie a umělá inteligence (MITAI)
Specializace
Vestavěné systémy (NEMB do 2021/22)
Složení komise
doc. Ing. Jan Kořenek, Ph.D. (předseda) prof. Ing. Jiří Jaroš, Ph.D. (člen) doc. Dr. Ing. Otto Fučík (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
Posudek vedoucíhoprof. Ing. Jiří Jaroš, Ph.D.
Dominik Salvet vynaložil při řešení diplomové práce obrovské úsilí a navrhl velice zajímavý superskalární procesor na bázi RISC-V. Během řešení byl velice aktivní a schůzky byly velmi produktivní. Bohužel závěrečná fáze byla poněkud hektická a práce byla odevzdávána na poslední chvíli. Přestože hodnotím aktivitu studenta jako vedoucí stupněm B, neváhal bych práci za její vysoce kvalitní implementaci nominovat na cenu děkana.
Cílem diplomové práce byla implementace superskalárního procesoru architektury RISC-V. Po podrobné analýze padla volba na dvoucestný procesor se zpracováním instrukcí v pořadí s důrazem na malou plochu a nízkou spotřebu procesoru.
Z pozice vedoucího práce hodnotím práci jako velice náročnou. Vlastní návrh a analýza procesoru s vyhodnocením různých přístupů a jejich nároků zabrala téměř rok práce. Neméně náročná byla i vlastní implementace a testování navrženého procesoru, který obsahuje vyšší desítky signálů, mnoho funkčních jednotek a komplexní systém předávání výsledků mezi stupni linky.
S výsledky práce jsem velice spokojený, zvažujeme další vývoj, hardwarovou realizaci a publikaci na odborném fóru v oblasti návrhu RISC-V procesorů.
Přes veškerou snahu a množství odvedené práce v průběhu semestru bylo dokončování práce poměrně hektické, především textové zprávy, která tak splňuje spíše minimální požadavky, nutno však podotknout, že je informačně velice bohatá. Většinu textu jsem měl možnost komentovat, přestože na zapracování připomínek již nezbylo příliš času.
Práce dosud nebyla publikována, avšak plánuje se sepsání článku na konferenci v oblasti návrhu procesorů RISC-V.
Student pracoval s literaturou aktivně a vhodně citoval dostupné zdroje v oblasti návrhu architektur RISC-V a jejich implementace.
Student byl během řešení práce velice aktivní. Přestože řešení trvalo čtyři semestry, pracoval aktivně po celou dobu řešení. V pravidelných čtrnáctidenních intervalech podrobně prezentoval aktuální stav práce a diskutoval možné směry vývoje. Zde je nutné podotknout, že schůzky trvaly 60 až 90 minut a byly vyplněny produktivní prací. S aktivitou jsem tak byl velice spokojený.
Vlastí implementace je dobře zdokumentována a postup vývoje uchován v repositáři GitLab s 250 commity.
Známka navržená vedoucím: B
Posudek oponentaIng. Václav Šimek
S ohledem na výše uvedené skutečnosti navrhuji souhrnné hodnocení stupněm B - velmi dobře, 80 bodů.
Stupeň hodnocení: zadání splněno
Domnívám se, že jednotlivé požadavky plynoucí ze zadání této diplomové práce byly naplněny.
Stupeň hodnocení: splňuje pouze minimální požadavky
Rozsah technické zprávy (cca 70 normostran) se takřka přibližuje obvyklému rozmezí pro diplomovou práci.
Technická zpráva je členěna do celkem 6 hlavních kapitol a několika doprovodných příloh, přičemž výsledek působí velmi utříbeným a kompaktním dojmem. Z pohledu čtenáře bych přístup k vedení výkladu označil za velmi solidní a to zvlášť za situace, kdy je technická zpráva sepsána v angličtině.
Popis implementace jednotlivých prvků superskalární architektury RISC-V však mohl být v rámci 4. kapitoly zpracován poněkud detailněji a taktéž doplněn např. o vhodně zvolené implementační detaily na úrovni popisu v jazyce SystemVerilog či signálové průběhy při ověřování jejich funkčnosti.
Z pohledu formální úpravy bych technickou zprávu označil za velmi zdařilou, přičemž se mi nepodařilo najít nějaké zásadní prohřešky. Příležitostně je možno narazit na určitou nekonzistenci v provedení popisků a tabulek.
Zde jsem nenarazil na žádné evidentní nedostatky.
Realizační výstup má podobu hardwarového návrhu základní architektury RISC-V se superskalárními prvky, která byla implementována na úrovni jazyka SystemVerilog. Vše je plně funkční a odpovídá požadavkům zadání.
Je škoda, že se nepodařilo do výsledného řešení začlenit i prediktor skoků, který by měl dosti výrazný dopad na zvýšení efektivity vytvořené architektury. Pro reálné použití v praxi by taktéž bylo třeba řešit zpracování přerušení, výjimky, chráněné režimy činnosti a související aspekty, což však může být předmětem zájmu nějakého navazujícího projektu.
Taktéž je škoda, že nebyla provedena syntéza výsledného popisu procesorové architektury do hradlového pole FPGA, kde by bylo možno blíže ověřit vlastnosti vytvořeného návrhu (frekvence, spotřeba a pod.). Dlužno podotknout, že tyto činnosti nebyly ze strany zadání explicitně požadovány.
Dosažené výsledky mohou být použity pro výukové či demonstrační účely v předmětech z oblasti číslicového hardware či architektury procesorů. Rovněž se domnívám, že vzhledem k flexibilitě a kvalitnímu zdokumentování lze realizační výstup chápat i coby pomyslný odrazový můstek v budoucích projektech, které se mohou věnovat rozšíření zde vzniknuvší architektury RISC-V o další specifické prvky či její optimalizaci.
Stupeň hodnocení: obtížnější zadání
I když k instrukční sadě RISC-V a z ní vycházejícím architekturám je dostupná široká paleta informačních zdrojů, tak kompletní realizace vlastního řešení od úplného začátku v jazyce pro popis číslicového hardware představuje poměrně komplexní úkol. Zvlášť za situace, kdy je třeba zohlednit i principy superskalárního zpracování instrukcí. Zadání tedy považuji za obtížnějšího rázu.
Známka navržená oponentem: B
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová