[OSy] Ticks per second
Martin Decky
decky at d3s.mff.cuni.cz
Sat Nov 15 23:08:17 CET 2014
Hezky den,
> TL,DR: jak zajistim konverzi realneho casu na pocet taktu/ticku?
Pro ucely semestralky bude stacit, kdyz se 1 sekunda v simulatoru bude
alespon velmi ramcove blizit 1 sekunde realneho casu. Ale jestli to bude
presne 400 ms nebo 2500 ms, to hodnotit nebudeme. Podstatne je, aby 2
simulovane sekundy trvaly vicemene dvakrat dele nez 1 simulovana sekunda.
Cili bude stacit, pokud prevod realneho casu na takt procesoru provedete
pomoci konstanty, kterou si rucne zkalibrujete na Vasem hostovskem stroji.
Nicmene pokud si prejete dosahnout vetsi presnosti a realistictejsiho
chovani, muzete pouzit zarizeni realneho casu dtime, ktere ma MSIM, a
pomoci nej provest kalibraci. Ani v tomto pripade sice nebude presnost
dokonala (MSIM sice provadi kazdou instrukci MIPSu za 1 logicky takt,
ale slozitost a tudiz realna doba provadeni ruznych instrukci se lisi;
navic jeho rychlost je zavisla na aktualnim zatizeni hostovskeho
stroje), ale presnejsi prostredek MSIM nenabizi.
> Jak se tohle resi v realnem svete?
V realnem svete mate typicky dva prostredky, jak se tento problem resit.
V mnoha pripadech jsou navic k dispozici oba, takze je muzete vhodnym
zpusobem kombinovat.
(a) Dovedete zjistit frekvenci procesoru a procesor pocita takty
nezavisle na slozitosti instrukci. Takze i na zaklade velmi hrubeho
zdroje realneho casu dovedete pocet taktu za jednotku realneho casu
docela dobre zkalibrovat. [Typicky jeste musite mit na pameti zmeny
frekvence procesoru z duvodu power managementu nebo pretaktovavani
jader, nepocitani taktu v rezimu spanku atd., ale to vse je v principu
resitelne.]
(b) Mate k dispozici nezavisle hodiny realneho casu, ktere maji jak
rozumnou presnost, tak rozumne jemnou granularitu, tj. frekvenci tikani
(casto konfigurovatelnou). Takze mnohe zalezitosti tykajici se casu
muzete resit prakticky nezavisle na samotnem procesoru a v jednotkach
odpovidajicich realnemu casu.
M.D.
More information about the NSWI004
mailing list