Master's Thesis

Design of Superscalar RISC-V Processor

Final Thesis 1.24 MB

Author of thesis: Ing. Dominik Salvet

Acad. year: 2023/2024

Supervisor: prof. Ing. Jiří Jaroš, Ph.D.

Reviewer: Ing. Václav Šimek

Abstract:

This thesis deals with designing and implementing a superscalar RISC-V processor microarchitecture focused on environments with constrained resources. For that, the microarchitecture exposes a dual-issue seven-stage pipeline with in-order instruction execution. It is described in SystemVerilog and can be easily simulated on a computer. Using prepared tools, the created processor model runs RISC-V assembly programs compiled by GCC. Based on conducted testing without special compiler assistance, the processor executes 0.88 instructions per cycle on average, providing 22.6 % higher performance than its scalar counterpart. Considering that the microarchitecture also avoids unnecessary specialization, it provides a good base that can be further extended and optimized based on the profiling of expected programs, leading to optimal performance and use of resources.

Keywords:

Superscalar processor, RISC-V instruction set, instruction pipelining, in-order execution, dual-issue architecture, open-source hardware, SystemVerilog, simulation testbench

Date of defence

20.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

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.

Topics for thesis defence

  1. V tabulce 5.2 na straně 41 je coby jeden z prováděných testů uvedena položka "hazards". Můžete prosím ve stručnosti nastínit pozadí tohoto testu?
  2. Můžete stručně srovnat vlastnosti vámi vytvořeného řešení s architekturami či jádry jako Noel-V či CVA6?
  3. Lze říci, že je vámi vytvořené řešení plně připraveno pro syntézu do cílového obvodu FPGA? Jaké dodatečné úpravy by eventuálně bylo nutné provést?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Embedded Systems (NEMB up to 2021/22)

Composition of Committee

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)

Supervisor’s report
prof. 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.

Evaluation criteria Verbal classification
Informace k zadání

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ů.

Aktivita při dokončování

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.

Publikační činnost, ocenění

Práce dosud nebyla publikována, avšak plánuje se sepsání článku na konferenci v oblasti návrhu procesorů RISC-V.

Práce s literaturou

Student pracoval s literaturou aktivně a vhodně citoval dostupné zdroje v oblasti návrhu architektur RISC-V a jejich implementace.

Aktivita během řešení, konzultace, komunikace

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.

Points proposed by supervisor: 88
Display more

Grade proposed by supervisor: B

Reviewer’s report
Ing. Václav Šimek

S ohledem na výše uvedené skutečnosti navrhuji souhrnné hodnocení stupněm B - velmi dobře, 80 bodů.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Domnívám se, že jednotlivé požadavky plynoucí ze zadání této diplomové práce byly naplněny.

Rozsah technické zprávy

Evaluation level: 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. 

Prezentační úroveň technické zprávy

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.

85
Formální úprava technické zprávy

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.

85
Práce s literaturou

Zde jsem nenarazil na žádné evidentní nedostatky. 

90
Realizační výstup

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.

75
Využitelnost výsledků

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.

Náročnost zadání

Evaluation level: 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.

Topics for thesis defence:
  1. V tabulce 5.2 na straně 41 je coby jeden z prováděných testů uvedena položka "hazards". Můžete prosím ve stručnosti nastínit pozadí tohoto testu?
  2. Můžete stručně srovnat vlastnosti vámi vytvořeného řešení s architekturami či jádry jako Noel-V či CVA6?
  3. Lze říci, že je vámi vytvořené řešení plně připraveno pro syntézu do cílového obvodu FPGA? Jaké dodatečné úpravy by eventuálně bylo nutné provést?
Points proposed by reviewer: 80
Display more

Grade proposed by reviewer: B