1. domača naloga - MiMo model CPE
Na predavanjih in vajah smo predstavili zgradbo in delovanje mikroprogramirane CPE - poimenovali smo jo MiMo CPE v1 (Mikroprogramiran Model CPE). Celotna distribucija in vsi spremljajoči dokumenti so objavljeni v poglavju s predavanji oziroma na GitHub-u.
Rešite naslednje naloge oziroma probleme :
- Jasno zapišite število in zaporedje mikroukazov, ki se izvedejo pri izvedbi strojnega ukaza "SW Rd,Immed" (primer: "SW r3, 65535").
-
- ta ukaz je že implementiran v datoteki z definicijami mikroprogramskih realizacij
- ob vsakem mikroukazu krajše opišite njegovo delovanje (stanje podatkovne enote, kaj se pravzaprav takrat zgodi, itd....)
- Iz seznama strojnih ukazov, ki jih podpira zbirnik izberite vsaj štiri in zanje podajte ustrezna zaporedja mikroukazov za njihovo realizacijo. Izbrani ukazi naj bodo bolj zahtevni oz. netrivijalni (op.koda večja od 15) in iz različnih skupin - sestavljeni naj bodo iz vsaj 4 ali še bolje več mikroukazov (vaša uspešnost se bo merila tudi po tem kriteriju). Kratko opišite realizacijo in razložite predvsem mikroprogramske zapise dodanih strojnih ukazov v mikro-zbirniku:
-
- potrebno je določiti realizacijo strojnega ukaza s pomočjo mikroukazov
- zaporedje mikroukazov je potrebno dodati v datoteko "basic_microcode.def" in jo vnesti ter uporabiti v MiMo modelu.
- Nove strojne ukaze iz 2. naloge uporabite v lastnem testnem programu (enem ali večih) v zbirniku in preizkusite njihovo delovanje. Napišite tak(e) program(e), da se bodo dodani ukazi temeljito preizkusili. Razložite vsebino ustreznih strojnih ukazov. Opišite dogajanje ob vsakem strojnem ukazu in določite, koliko urinih period traja vsak od njih in vsi skupaj (zapišite trajanja za vsak ukaz v številu urinih period v posebni tabeli).
- Pravilno umestite v pomnilniški prostor izhodni napravi FB 16x16 in TTY po načelu "pomnilniško preslikanega vhoda/izhoda"- lahko uporabite nepopolno naslovno dekodiranje. Poskrbite, da se bo testni program za IO napravi po tej spremembi pravilno izvajal - torej se bosta izhodni napravi pojavili za pisanje res samo na njima dodeljenih naslovih. Spremenite testni program, da bo izrisoval vzorec na FB napravi po vaši zamisli.
Dodatno gradivo "OR_Naslovno_dekodiranje_gradivo.pdf" je vključeno v distribuciji za MiMo model, smo pa to temo pojasnili tudi na predavanjih in vajah..
- V MiMo modelu je pripravljen prostor za še eno vhodno izhodno napravo. Opišite vsa potrebna opravila za pravilno vključitev dodatne vhodno izhodne naprave v MiMo model in jo tudi realizirajte (vsaj v enostavnejši obliki) ter preizkusite z ustreznim programom v zbirniku. Podajte jasen opis vseh korakov z vsemi potrebnimi podrobnostmi.
Neobvezni izziv: Dodajte v MiMo model vhodno izhodno napravo z najmanj dvema registroma. Eden na bo namenjen za krmiljenje naprave (vsaj vklop in izklop), drugi pa za krmiljenje vhodnih ali izhodnih priključkov oziroma načina delovanja naprave. Napravo lahko npr. zasnujete podobno kot digitalni vhod/izhod na FRI-SMS ali STM32, kot časovnik ali kakšno tretjo funkcionalnost po svoji lastni zamisli. Opišite delo z napravo in jo tudi preizkusite z ustreznim programom.
Neobvezni »Mini seminar« (novost v l. 23/24): Vkolikor vas zanima implementacija kakšnih zanimivih lastnih idej, se lahko dogovorimo za izvedbo mini seminarja, ki lahko nadomesti reševanje nalog 1.-6. Lahko npr. dopolnite/spremenite MiMo model v1 (mikroprogramiran), kot je bil predstavljen, ali pa pomagate pri razvoju cevovodnih različic MiMo modela (v2,v2.x), ki imajo tudi že zaklenitev, premoščanje, nekaj osnovnih implementacij predikcij itd... Veliko podrobnosti se lahko preveri, izmeri s testnimi programi in dopolni.
Rešitve nalog oddajte v obliki poročil v PDF formatu ali kakšnem drugem lahko objavljivem formatu za spletno stran oziroma blog. Na začetku obvezno vključite tudi kratek povzetek vsebine – vam najbolj pomembnih in zanimivih delov. Vsebine vseh pomembnejših datotek naj bodo v prilogi poročila (samo pomembnejši izseki) in v celoti dodane v skupni arhiv, ki ga oddate v eni datoteki zip. Vključite samo datoteke, ki ste jih spremenili. V oddajo vključite tudi ustrezne datoteke za prikaz vizualnih rezultatov vašega dela (slike, video posnetki).
Dodatno delo oziroma izvrstnost rešitev izven osnovnih okvirjev naloge bo nagrajeno in upoštevano pri končni oceni (dodatno delo oddajte - tudi ali samo - v okviru 1. neobvezne domače naloge).
Z oddajo domače naloge jamčite vaše izvirno avtorstvo. Vso zunanjo pomoč (viri, delo v skupini, ...) navedite v poročilu.
Po možnosti vsebine objavite na katerem od javnih portalov (Youtube, Github, BitBucket, Gitbook, Wordpress, ...). Vključite tudi video predstavitev narejenega.
Vaše delo bomo po izbiri objavili tudi na novem portalu LapsyLAB.