Bakalářské práce
Simulátor 32-bitového procesoru podporující instrukční sadu MIPS
Autor
Ondřej Marek
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jiří Kašpar
Katedra
Anotace
Tato práce se zabývá analýzou, návrhem a implementací systému, který umožňuje simulovat vykonávání programů na vybrané mikroarchitektuře. Řešeršní část práce se zabývá srovnáním již existujích řešení a popisuje technologie a termíny použité dále v práci, praktická část navazuje představením návrhu aplikace, popisem jeho částí a postupu použitém při implementaci. Zvolený problém byl vyřešen pomocí integrace programu s hardware simulátorem Icarus Verilog. Byl vytvořen systém, který v základu podporuje zjednodušenou mikroarchitekturu MIPS32 s možností nakonfigurování dalších mikroarchitektur. Přínos práce spočívá v možnosti pro studenty počítačově orientovaných předmětů díky vizualizaci snadněji pochopit strukturu a činnost procesorů. V příloze na USB disku lze nalézt program, zdrojové kódy a manuál k použití.
Simulátor 32-bitového procesoru podporující instrukční sadu MIPS
Autor
Petr Nešpůrek
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Zdeněk Buk, Ph.D.
Katedra
Anotace
Hlavním cílem této práce je implementovat simulátor procesoru, který podporuje instrukční sadu MIPS32. Implementaci vyřeším jako dva programy - jádro simulátoru napsané v jazyce Verilog a obalující grafická aplikace v jazyce Java s použitím grafického frameworku JavaFX. Výsledkem práce je aplikace, která přečte a spustí program napsaný ve strojovém jazyce architektury MIPS32 a zobrazí historii běhu programu. Ukazuje hodnoty v jednotlivých vodičích a modulech procesoru, datovou paměť, instrukční paměť a simulaci skryté paměti (cache). Tento simulátor bude v budoucnu použit pro výuku předmětu BI-APS (Architektury počítačových systémů), použitá instrukční sada je proto upravena pro potřeby tohoto předmětu.
Analýza útoku ZombieLoad
Autor
Michal Převrátil
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jiří Buček, Ph.D.
Katedra
Anotace
Cilem prace je popsat princip utoku ZombieLoad a jeho provedeni. Teoreticka cast seznamuje ctenare s nekterymi specifiky modernich procesoru. Nasleduje analyza samotneho utoku vcetne popisu cache postranniho kanalu, ktery je vyuzivan. Teoretickou cast uzavira kapitola popisujici aplikovane zaplaty na urovni operacnich systemu a procesoru. V prakticke casti je popsana samotna realizace peti variant utoku na operacnim systemu Linux. V popisu jsou zdurazneny prekazky zabranujici uspesnemu utoku a jejich reseni. Posledni kapitola analyzuje uspesnost implementovanych variant a zneuzitelnost zranitelnosti.
Utajená komunikace použitím steganografie
Autor
Ondřej Voronecký
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Josef Kokeš
Katedra
Anotace
Tato práce se zabývá steganografií, konkrétně ukrytím libovolných dat do
poskytnutého obrázku, při použití samoopravných kódů. V práci jsou analyzovány
způsoby ukrytí dat do obrázku, různé druhy samoopravných kódů
a jejich možnosti ve vztahu k rozsahu a typu poškození obrázku. Na základě
toho je vytvořena aplikace, včetně uživatelského rozhraní, která ukryje poskytnutá
data do zvoleného obrázku za pomoci vybraného samoopravného kódu
a metody vkládání. Pomocí aplikace jsou samoopravné kódy a metody vkládání
prakticky analyzovány. Aplikace je vytvořena a testována pro operační
systém GNU/Linux.
Analýza útoku Fallout
Autor
Radek Jizba
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jiří Dostál, Ph.D.
Katedra
Anotace
Tato práce se zabývá proveditelností útoku Fallout spadajícím do skupiny
architekturálních útoků také známých jako MDS a implementuje tento útok na procesoru
nepodporujícím instrukce typu TSX. Práce identifikuje předpoklady nutné k provedení
tohoto druhu útoku a následně analyzuje proveditelnost útoku v praxi a odhaduje závažnost
celé problematiky. Součástí práce je program umožňující detekovat zranitelné operační
systémy a architektury procesorů, které dovolují předat nesprávná data procesu bez
kontroly, zdali má tento proces k daným datům právo přistupovat.
Software pro odhad věku na základě snímku pánevní kosti
Autor
Natália Pohanková
Rok
2021
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Mgr. Pavla Vozárová, Ph.D., M.A.
Katedra
Anotace
Táto bakalárska práca popisuje proces tvorby softvéru slúžiaceho na odhad veku dospelého jedinca na základe skenu jeho panvovej kosti. Strojové učenie má v súčasnosti rozsiahle uplatnenie v rôznych oblastiach vrátane v oblastiach ako sú forenzná antropológia, paleontológia či história. Používanie tohto softvéru ich časť práce zameranej na určenie veku jedincov značne uľahčí. V práci sa zameriavam na analýzu vstupných dát, návrh rôznych modelov strojového učenia, ktoré slúžia na predikciu veku jedincov, ich následnú validáciu a napokon aj na implementáciu a testovanie používateľského rozhrania.
Studie zranitelností Linuxového jádra
Autor
Jan Pánov
Rok
2021
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
doc. RNDr. Ing. Petr Zemánek, CSc.
Katedra
Anotace
Práce se zabývá zranitelností CVE-2019-9213 související s chybou \mbox{v pa}\-mě\-ťo\-vém substému operačního systému Linux. Umožnuje namapování virtuální adresy 0. Zranitelnost je včetně dvou dalších (Mutagen Astronomy a Dirty COW) analyzovaná a je navržen útok za účelem eskalace oprávnění na danou zranitelnost. Na adresu 0 je nahrán škodlivý kód a spuštěn v privilegovaném režimu. Útok je úspěšný, nic\-méně jsou vypnuté některé systémové ochrany
Odhad dožitého věku pomocí metod strojového učení
Autor
Alexandr Czerný
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jitka Hrabáková, Ph.D.
Katedra
Anotace
Odhad dožitého věku je jedním ze základních úkolů při vytváření biologického profilu ve forenzní antropologii. Pro odhad se využívají nejrůznější kosterní pozůstatky. Acetabulum aktuálně stojí v popředí výzkumného zájmu. Tato práce se zabývá odhadem dožitého věku ze snímků acetabula pomocí konvolučních neuronových sítí. Kromě toho je kladen důraz na předzpracování vstupních dat a na optimalizaci hyperparametrů zvoleného modelu. Výsledkem práce je regresní model strojového učení pro odhad dožitého věku ze snímků acetabula.
Studie zranitelností moderních procesorů a jejich řešení
Autor
Matyáš Černý
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jiří Kašpar
Katedra
Anotace
Tato bakalářská práce se zabývá rešerši vybraných bezpečnostnich zranitelnosti v modernich procesorech. Teoretická část práce obsahuje popis zranitelnosti Rogue In-Flight Data Load, Load Value Injection a Foreshadow. Do větši hloubky je popsána zranitelnost Lazy FP State Restore včetně teoretických návrhů útoků na tuto zranitelnost. Představuji pokus o implementaci útoku na tuto zranitelnost, která má za cil odhalit omezené množstvi soukromých dat jiného programu uložených v procesorových registrech. Popisuji vybrané části zdrojového kódu implementace, které tvoři jádro útoku. Poznatky z tvorby implementace a analýza předpokladů k provedeni útoku vedou k závěru, že LazyFP nepředstavuje v současnosti závažnou bezpečnostni hrozbu.
Studie problémů elastických optických sítí
Autor
David Zeman
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
RNDr. Ing. Vladimír Smotlacha, Ph.D.
Katedra
Anotace
Hlavním obsahem této bakalářské práce je studie problémů elastických optických sítí a jejich teoretická řešení. Jsou zde představena optická vlákna jako celek, jejich rozdělení a jejich vlastnosti. V práci se zaměřuji i na porovnání elastických optických sítí s technologií hustého vlnového multiplexu "DWDM". Výsledkem porovnávací části je zjištění, jakého objemu spektra a za jakých podmínek dokáže novější technologie ušetřit. Přínosem práce je také detailní představení RSA problému, v nemž se probírá hlavní funkce optických vláken, a to sice směrování a alokace spektra.
S tím jsou však spojené mnohé problémy, jako například fragmentace spektra, modulace signálu a další, které jsou v práci taktéž představeny. Na závěr práce se detailněji zabývám problémem odolnosti vůči chybám, který jsem rozebral do detailu.
Návrh superskalární mikroarchitektury RISC-V procesoru
Autor
Tomáš Věžník
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Katedra
Anotace
Zaměřením této práce je přiblížení činnosti superskalárních procesorů a navržení superskalární mikroarchitektury procesoru využívající instrukční sady RISC-V RV32I. Navržená mikroarchitektura se nazývá VTM Veznik Tomas Microarchitecture) a je popsána jazykem SystemVerilog. VTM je superskalární mikroarchitektura, která zpracovává dvě instrukce najednou a ve vykonávacím stupni vykonává do čtyř instrukcí najednou. Hlavním výstupem této práce jsou zdrojové kódy popisující VTM. Zdrojové kódy spolu s teoretickou částí této práce mohou posloužit jako učební pomůcka, která ukazuje fungovaní superskalárních procesorů, cílená na studenty.
Implementace superskalární mikroarchitektury ve HDL
Autor
Aleksei Egorov
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Jan Bělohoubek, Ph.D.
Katedra
Anotace
Tato bakalářská práce se věnuje studiu principů fungování superskalárních mikroarchitektur procesorů a návrhu vlastní mikroarchitektury založené na ISA RISC-V RV32I, konkrétně jejímu popisu v jazyce HDL. Vytvořený procesor je v ideálním případě schopen číst z paměti 2 instrukce najednou a dokončit také 2 instrukce najednou. Zdrojové kódy napsané v jazyce Verilog lze použít jako podklad pro budoucí bakalářské práce nebo využít při výuce.
Predikce skoků v superskalární mikroarchitektuře
Autor
Štěpán Šebek
Rok
2025
Typ
Bakalářská práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Matej Hulák
Katedra
Anotace
Práce se zabývá prediktory skoků, zásadní součástí moderních superskalárních procesorů. Nejdříve je diskutována role prediktorů skoků v superskalárních procesorech a několik existujících návrhů těchto prediktorů. Celkem 6 diskutovaných návrhů prediktorů směru skoku je implementováno v jazyce pro popis hardware Verilog. Následně jsou nezbytné nástroje pro simulace navrženy a implementovány. Jsou provedeny verifikační simulace a simulace 8 různých reálných programů. Na konci práce jsou data ze simulace vyhodnoceny z hlediska úspěšnosti predikcí a je diskutováno zajímavé chování konkrétních programů na konkrétních prediktorech, provedené simulace zároveň potvrzují funkčnost implementací.
Diplomové práce
Analýza a optimalizace vybrané RISC-V open-source mikroarchitektury
Autor
Ondřej Golasowski
Rok
2025
Typ
Diplomová práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Stanislav Jeřábek, Ph.D.
Katedra
Anotace
Tato diplomová práce se zaměřuje na návrh soft-procesoru a systému na čipu (SoC). Procesor je založen na rozšíření stávající RISC-V mikroarchitektury. Cílem je analyzovat a implementovat funkcionality, které umožní využít procesor v praktických aplikacích, přičemž je kladen důraz na zachování jednoduchosti původní mikroarchitektury. Tato vlastnost je klíčová pro využití ve výuce počítačových architektur.
Výsledkem práce je procesor s jednocyklovou mikroarchitekturou podporující instrukční sadu RV32IMZicsr, privilegovaný režim Machine Mode a ladění prostřednictvím nástroje GNU Debugger dle oficiální specifikace. Procesor je taktován na frekvenci 50 MHz a využívá systémovou sběrnici Wishbone. V rámci práce byl rovněž vyvinut systém na čipu integrující navržený procesor a širokou škálu periferií, včetně 512 KiB systémové RAM, HDMI audio-video adaptéru, sériového portu, univerzálních vstupů a výstupů, ladicího modulu a dalších komponent. Systém je syntetizovatelný pro FPGA platformu Nexys Video a obsahuje kompletní simulační konfiguraci s podporou virtuálního JTAG rozhraní. Syntéza i simulace jsou řízeny jednotným konfiguračním nástrojem, který slouží jako uživatelsky přívětivé rozhraní nad nástroji hardwarového návrhu (EDA tools).
Součástí práce je také softwarová podpora v podobě vývojové sady (SDK) pro jazyk C. Sada zahrnuje nízkoúrovňové i vysokoúrovňové ovladače pro periferie a je demonstrována na vzorových aplikacích, například hudebním přehrávači.
Celkový návrh systému byl koncipován s důrazem na jednoduchost a srozumitelnost, což z něj činí vhodný nástroj pro vzdělávací účely.
Implementace RISC-V soft-core procesoru na FPGA s podporou operačního systému reálného času
Autor
Jan Medek
Rok
2025
Typ
Diplomová práce
Vedoucí
Ing. Michal Štepanovský, Ph.D.
Oponenti
Ing. Pavel Píša, Ph.D.
Katedra
Anotace
Cílem této diplomové práce je implementovat malý počítačový systém založený na FPGA a vytvořit podporu pro vybraný operační systém reálného času. První část práce analyzuje vybrané open-source operační systémy reálného času, podporující architekturu RISC-V, a vybrané open-source RISC-V soft procesory, společně se systémy, které tyto procesory integrují a propojují je s periferiemi. Výsledkem analýzy je výběr NuttX, vysoce konfigurovatelného a modulárního operačního systému, který podporuje POSIX rozhraní a přebírá velké množství konceptů z ostatních Unixových operačních systémů, a výběr soft systému zvaného Ibex Demo System, integrující malý 32 bitový RISC-V soft procesor zvaný Ibex, paměť, RISC-V kompatibilní debug modul a několik základních periferií pro vnější komunikaci. Druhá část práce popisuje spojení zvolených systémů do jednoho funkčního počítačového systému. Ibex Demo System je nejprve přizpůsoben pro běh na FPGA deskách Basys 3 a Nexys Video, a jeho UART modul je rozšířen. Dále je proveden port NuttX na Ibex Demo System, společně s vytvořením podpory pro obě zmíněné FPGA desky. V obou případech jsou vytvořeny konfigurace pro existující aplikace, demonstrující funkčnost vytvořeného počítačového systému. Výsledkem práce je průhledný počítačový systém, jehož činnost lze sledovat na systémové úrovni pomocí tradičního nástroje GDB, což ho činí ideálním i pro edukativní účely.