[OSy] MSIM 1.3.6

Martin Decky decky at dsrg.mff.cuni.cz
Thu Jan 22 17:42:45 CET 2009


Vazeni kolegove,

jak jste si mozna vsimnuli, vydali jsme novou verzi MSIMu 1.3.6.
Zdrojove kody i binarni balicky muzete stahovat z obvykle adresy

http://dsrg.mff.cuni.cz/osy

Duvodem vydani nove verze jsou opravy dvou chyb, jez v simulatoru
nalezli Vasi kolegove (podrobneji nize).

Resitele semestralek bych vsak chtel ubezpecit, ze obe chyby se
manifestovaly jen ve velmi specifickych pripadech, takze se Vas
pravdepodobne vubec nedotkly (ostatne zustaly bez povsimnuti po
predchozich 6 let behu predmetu Operacni systemy).

V pripade potizi pri opravovani Vasich semestralek budeme vzdy overovat
chovani ve stare o nove verzi simulatoru, aby nebyl nikdo znevyhodnen.


Prvni chybu objevil pan Ondrej Cerny (pravdepodobne ve spolupraci se
svymi tymovymi kolegy Petrem Hoskem a Petrem Sobotkou): V pripade, ze
doslo v vyvolani TLB Refill vyjimky na instrukci v branch delay slotu,
nebyla do registru EPC ulozena adresa predchozi instrukce skoku (jak
pozaduje specifikace), ale adresa instrukce v branch delay slotu. Tim
padem po osetreni vyjimky procesor dal provadel kod sekvence bez ohledu
na to, jakou cilovou adresu vygenerovala predchozi instrukce skoku.

Tato chyba se manifestovala jen v tom pripade, kdy instrukce skoku byla
posledni instrukci ve strance a zaroven fetch instrukce v branch delay
slotu v nasledujici strance vyvolal vyjimku TLB Refill.


Na druhou chybu upozornil pan Tomas Petrusek a projevovala se pouze
v pripade, ze MSIM bezel na platforme se striktnimi pozadavky na
zarovnany pristup do pameti (tedy napr. SPARC nebo AMD64). Pokud
simulovany kod obsahoval instrukci, ktera pristupovala na 8bitove nebo
16bitove polozky, ovsem na adresach, ktere nebyly zarovnany na 32 bitu,
byl MSIM ukoncen s vyjimkou nezarovnaneho pristupu (protoze vzdy k datum
pristupoval jako k poli 32bitovych polozek).


Za upozorneni na chyby dekujeme.


M.D.




More information about the NSWI004 mailing list