Meriti vreme ili oscilacije, koja je razlika? - Software engineering deep level optimization - uvod u merenje - V deo
Nastavljamo gde smo stali. Već smo pisali na temu merenja u prethodna četiri blog posta, i napomenuli da se meri zapravo broj oscilacija takta mikroprocesora, kako bih tačno znali koliko je zapravo potrebno procesorskog vremena da izvrši nama značajan programski kod. Postoje različiti profajleri za isto, međutim postavlja se pitanje u čemu je razlika? Da bi razumeli razliku između merenja vremena i merenja broja oscilacija takta procesora, potrebno je razumeti nekoliko koncepata, na osnovu kojih je baziran rad savremenih računarskih sistema.
Boost mikroprocesorskog takta
Dovoljno je za isto pogledati aplikaciju koja se naziva CPU-Z i pogledati u sekciju Clocks (core). U istoj sekciji možemo primetiti da postoji BUS speed (brzina magistrale računara) i MULTIPLIER (množilac). Oba parametra se menjaju u vremenu, na gore ili na dole. Ukoliko se parametri menjaju na veće vrednosti dobijamo takozvani BOOST mikroprocesorskog takta, te samo jezgro funkcioniše na većoj frekvenciji. BOOST se obično dešava kada je računarski sistem pod opterećenjem, tj. kada je ptorebno izvršiti (odraditi) dosta "računanja" te mu je i potrebno dati veću frekvenciju kako bih izvršio sve što je potrebno u što je moguće kraćem roku. BOOST mikroprocesorkog takta nema uticaja na merenje ukoliko BROJIMO otkucaje mikroprocesorkog takta, kako bih saznali brzinu izvršavanja programskog koda. Ukoliko izmerimo da je potrebno 100 oscilacija mikroprocesorskog takta, nema veze kolika je frekvencija istog, i da li je računarski sistem uradio BOOST ili ne. Jednostavno, bila frekvencija mikroprocesorskog takta 100MHz ili 1GHz, mi smo sigurni da je za izvršavanje programskog koda potrebno 100 oscilacija. Ono u šta ne možemo biti sigurni, je da li će doći do promene u broju oscilacija, ukoliko se proizvođač procesora odluči za optimizaciju kontrolera za izvršavanje instrukcija. Recimo, ukoliko se smanji broj mikrooperacija po instrukciji mikrosekvencera CPU-a za određeni instrukcijski set, možemo biti sigurni da se promenio i broj oscilacija mikroprocesorskog takta u odnosu na prvobitno merenje koje smo izvršili.
CPU-Z Clocks |
Vreme i oscilacije CPU-a |
Comments
Post a Comment