Latest:
- Sailfish OS and memory
- Hillshade tile server
- Statistics of OSM Scout for Sailfish OS
- Nebezpečný router
- Tree model with Silica components
By month:
- November 2021
- January 2019
- December 2017
- December 2016
- May 2014
- April 2014
- November 2013
- April 2013
- April 2011
- February 2011
- January 2011
- August 2010
- May 2010
- March 2010
- January 2010
- October 2009
- April 2009
- February 2009
- October 2008
- September 2008
- August 2008
- April 2008
- March 2008
- February 2008
Topic:
Moje bakalářka: jSimDOP
Dnes jsem si uvědomil že jsem zde ještě nenapsal ani jeden post o své bakalářské práci. To i přesto že na tomto projektu pracuji déle jak půl roku (s přestávkami). Tento týden jsem si k ní po dlouhé době zase sednul a tak jsem si řekl že nadešel čas napsat o co vlastně jde a jak jsem se k tomu dostal.
Trocha formalit
Implementujte simulátor firmwaru výukového procesoru DOP (verze 3) v programovacím jazyku Java. Simulátor musí obsahovat editor zdrojových kódů, podporovat breakpointy a krokování po jednotlivých hodinových taktech. Syntaxe zdrojového souboru (mikroassembleru) musí být shodná se stávajícím simulátorem používaným pro výuku (SimDOP).
Co je to vlastně ten DOP
DOP je střadačově orientovaný (ISA) procesor vyvinutý na Katedře počítačů Fakulty eletrotechnické (FEL) na ČVUT. Hlavní motivací bylo vytvořit jednoduchý procesor implementovatelný v logických obvodech FPGA XC4000 (hradlové pole). První návrh tohoto procesoru pochází z roku 1994 (tým kolem Ing. Drápala). V té době měl procesor obvodově řešený řadič.
Aby byl procesor lépe rozšiřitelný a jeho návrh více názornější, bylo později jádro procesoru přepracováno s použitím horizontálního (mikroprogramového) řadiče. První nasazení ve výuce se datuje do roku 1999. S drobnými úpravami (přidány registry, vnější přerušení) je ve výuce používán dodnes.
Proč jsem si vybral toto téma
Tento procesor mě od první chvíle fascinoval. Byl první u kterého jsem měl možnost vidět kompletní návrh. Za vykonáváním instrukce jsem si tak poprvé mohl představit práci firmwaru a konkrétní data na sběrnicích. Toto objevování „nového světa“ mi kazil pouze jeden fakt. A to stávající simulátor mikroprogramu (firmwaru), který je určen pro systém MS DOS! Z použitelnosti tohoto simulátoru mi nepřetržitě tekly nervy. Tenkrát se zrodil nápad napsat si simulátor vlastní.
V březnu 2008 jsem se na Strahově účastnil dvoudenního maratonu přednášek „NetBeans Certified Training“ kde nám byly představeny NetBeans jako platforma pro vývoj aplikací v Javě. Bylo rozhodnuto. Na této platformě zkusím napsat svůj simulátor.
Současný stav
Pro vývoj IDE s podporou projektů, zvýrazňováním kódu, navigací pomocí odkazů (…) je platforma NetBeans naprosto ideální. Některé api jsou sice špatně zdokumentovány a tak jsem musel danou část kódu nějak „zprasit“, dobře navržený základ platformy to ale plně vynahrazuje.
- podporu projektů
- spuštění simulace (debuggeru), krokování, „run to cursor“, řádkové breakpointy
- zvýrazňování kódu
- doplňování kódu (zatím pouze závorky)
- navigace v kódu pomocí okna navigátoru a odkazů v kódu (ctrl+klik na návěští)
- označování syntaktických i sémantických chyb během psaní
Následující semestr mám v plánu poskytnout program studentům kurzu JPO na testování. Proto chci program uvést do použitelného stavu ještě před začátkem semestru.
Projekt je umístěn na serveru SourceForge: http://jsimdop.sourceforge.net/