1. neobvezna domača naloga - MiMo model CPE

Na predavanjih in vajah smo predstavili zgradbo in delovanje mikroprogramirane CPE - poimenovali smo jo MiMo CPE (Mikroprogramiran Model CPE). Celotna distribucija in vsi spremljajoči dokumenti so objavljeni v poglavju s predavanji.

Nekaj idej za razširitve obstoječega modela CPE:

  • dodajte implementacije bolj kompleksnih ukazov (npr. mehanizem za klice podprogramov, morda celo gnezdenje, sklad)
  • lahko dodate kakšen element tudi v Logisim-u in ga uporabite v vašem programu (recimo priklop in prižiganje LED diode, uporaba Terminala, prikazovalnik FB z višjo ločljivostjo).
  • lahko dodate strojni ukaz, ki še ni podprt s strani zbirnika. V tem primeru seveda morate popraviti tudi zbirnik, ki je napisan kot Perl skripta, da ga bo pravilno prevedel v strojni jezik (predvsem operacijsko kodo in registre oz. operande).
  • lahko naredite tudi zbirni jezik bolj podoben ARMovemu, morda kaj spremenite tudi v samem modelu, da bi se lahko delovanju ARM-a še bolje približali (npr. dolžina registrov, vpliv na zastavice, pogojno izvajanje ukazov, različno dolgi pomnilniški operandi, razširjanje do polne dolžine v registrih, itd...). Lahko tudi opravite analizo in opišete tiste poglavitne razlike, ki nam otežujejo implementacijo arhitekture ARM na MiMo organizacijskem modelu CPE.
  • lahko sprogramirate mikro-zbirnik ali zbirnik v drugih programskih jezikih - npr. Pythonu. Za osnovo lahko uporabite obstoječa programa, napisana v Perlu.

Seveda lahko naredite tudi karkoli po lastni ideji oziroma zamisli. Rešitve nalog oddajte v obliki poročil v PDF formatu. Vsebine vseh pomembnejših datotek naj bodo v prilogi poročila in oddanem .zip arhivu.

Dodatno delo oziroma izvrstnost rešitev bo nagrajeno in upoštevano pri končni oceni.

Z oddajo domače naloge jamčite vaše izvirno avtorstvo. Vso zunanjo pomoč (viri,...) navedite v poročilu.