Skip to content

Instantly share code, notes, and snippets.

@vojto
Created April 13, 2010 17:50
Show Gist options
  • Save vojto/364874 to your computer and use it in GitHub Desktop.
Save vojto/364874 to your computer and use it in GitHub Desktop.
* Priklad 1
400mhz
10 sekund
navrhnut rychlejsi pocitac, ktory by vedel vykonat
ten isty program za 6 sekund.
Konstrukter urcil, ze je mozne vyrazne zvysit taktovaciu
frekvenciu, avsak to sposobi, ze pocitac B bude potrebovat
1.2x viac hodinovych taktov ako pocitac A. Aka ma byt
taktovacia frekvencia pocitaca B.
-> Cas odozvy CPU = pocet hodinovych taktov / taktovacia frekvencia
10 sekund = (pocet_hodinovych_taktov/400e6 taktov/sekundu)
6 sekund = (1.2*pocet_hodinovych_taktov/(taktovacia_frekv?))
pocet_taktov_A = 4000e6
pocet_taktov_B = 4800e6
frekv = 4800e6/6 = 800e6 = 800 MHz
------------------------------------------------------------
pocet_hodinovych_taktov = suma |i,n| { CPIi x Ci }
Ci = pocet vykonanych instrukcii
CPIi = priemerny pocet taktov na instrukciu danej triedy
n = pocet rozlicnych instrukcnych tried
* Priklad 2
Predpoklada sa, ze existuju 2 implementacie toho isteho suboru
istrukcii. Pocitac A ma taktovaciu frekvenciu 1.0e-9 secs a CPI
pre dany program = 2.0
Pocitac B ma taktovaciu frekvenciu 2.0e-9 secs a CPI pre ten isty
program = 1.2
Ktory pocitac je pri spracovani daneho programu rychlejsi a o
kolko?
---------------------------------------------------------------
Ak je potrebne rozhodnut sa medzi dvoma sekvenciami kodu, pre urcity
pocitac, musi byt k dispozicii CPI a triedy instrukcii. Nasleduje
priklad vyberu rychlejsieho kodu pre 3 triedy instrukcii s definovanym
CPI podla tabulky.
V ktorej sekvencii kodu bude vykonanych najviac instrukcii, ktora
sekvencia bude rychlejsia, aky je CPI sekvencii?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment