Toto je starší verze dokumentu!
Pokročilé architektury počítačů
-
Přednášející: Ing. Michal Štěpanovský, Ph.D., Doc.Ing. Miroslav Šnorek, CSc.
Cvičící: Ing. Michal Štěpanovský, Ph.D.
Cvičení
Studijní materiály
Úlohy
2012/2013
Přednášky
Zkouška
1. termin 2013
příklady:
MESI (co se bude dit kdyz)
pocet chyb predikce skoku (1 bitovy prediktor)
zadan kod na tri procesu, jaka muze byt sekcence vypisu pri paralelnim behu
stav instrukcni CACHE po vykonani programu
otázky:
obecne otazky o vsem s variantami, ale i bez variant
2. termin 2013
1) (3 body)
Klasifikace datových závislostí (raw, war, waw),
nakreslit diagram závislostí,
rozvrhnutí na superskalárním počítači tak, aby se operace vykonaly co nejrychleji
2) Výpis paměti ram, kde byl uložen program v MIPS assembleru. Vyřešit se mělo to, co bude uloženo v registru 18 po vykonání programu. Byly tam nějaké load/strore instrukce, posun, sčítání (1 bod)
3)(3 body)
Obrázek cache ze slajdů APS. Určit co to je za cache, byla to přímo mapovaná.(možnosti přímomapovaná, plně asociovaná, s omezenou asociací a nepřímo mapovaná)
Příklad na který řádek se uloží jedna instrukce a jak bude tento řádek vypadat. Na jednom řádku byly uloženy dva datové bloky, každý blok měl 32 bitů.
Dopočítat šířku tagu. Viz kurz APS.
Jaký stupeň asociace má tato cache. (Byla to přímo mapovaná cache, takže stupeň asociace byl 1)
2. termín - 6. ledna 2011
Ahoj, doufám, že mě někdo dopní, ale pro ty co ještě na zkoušce nebyli, tak aby tušili do čeho jdou…
Začíná se písemnou částí, která má čtyři úkoly:
Zadáno, že jedna instrukce trvá jeden takt, pokud se podaří načíst nebo uložit data. 50% všech instrukcí je čtení - ukládání dat. Miss rate je 2% a když je miss, tak je penalizace 25 cyklů. Vypočítat, jak bude rychlejší vykonávání, když nebude žádný miss. (Nevím, jak se to má správně počítat, ale já na to šel selsky… řekl jsem si, že mám třeba 100 instrukcí, to znamená, že 50 je jich Load/Save a 50 ostatních. Těch 50 ostatních je 50 cyklů. Z těch 50 Load/Save může být taky 50 cyklů, pokud neni miss = 100 cyklů. Nebo 2% z 50 je 1, to znamená, že může nastat 1 miss, takže k těm 50 cyklů přidám penalizaci 25, to je dohromady 50 cyklů ostatní instrukce, 50 Load/Save a 25 penalizace = 125 cyklů. Takže vidim, že se mi to zvýší 1,25x)
Zadáno pár instrukcí, prázdná cache o 8 volných místech a byla to takov8 ta cache, co ukládá vždycky na jedno místo „adresa mod velikost cache = místo v cache“. Měli jste zjistit miss rate pro ten kus kódu. Byl to cyklus, kterej 5x proběhnul a při každým průchodu načítal 2x z paměti. Prvn9 z adresy 0x4 a druhý z 0x14. (Mělo to vyjít 100%. 0x4 se ptá na 4. buňku a 0x14 je dec 20 a ta se prá taky na 4 buňku, takže to pokaždý vyhodí miss. Já to zapomněl převést z hex na dec a proto jsem měl miss jenom 20%, protože 14 mi dávalo, že se ptá na buňku 6, čili to při prvním průchodu je dvakrát miss a dohromady je těch načítání 10. Ale na ústní jsem to ukecal, že jsem se jenom přehlídl a nepřevedl to :))
Udělat graf datových závislostí, to samý, co je v přednášce 2.
Bylo tam pár tvrzení a napsat k tomu jestli jsou nebo nejsou pravdivý, proč to tak je, nebo byla vynechaná věta a měli jste ji doplnit. Už si nepamatuju, co tam přesně bylo. Vim, že dvě byly lehký a čtyři jsem si nějak tipnul.
pak jste si vylosovali otázku a udělali si na papír přípravu. Oboje si pak vybral. Protože přišel o půlhodinu později, tak jsme nakonec byli v tý učebně s nějakym jinym předmětem a na ústní se šlo ke Štěpanovskýmu do kanceláře. Jednoho zkoušel a zbytek čekal na chodbě, takže si šlo ještě něco dostudovat. Já tam šel s t9m, že bych rád za E. Napsal mi za A :) Když nevíte, což se mi stávalo u tý teorie skoro pořád, tak to z vás páčí a páčí a páčí. Ale jinak je podle mě zlatej. Přeju všem hodně štěstí!
Nahoru