Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

courses:a4m36pap [2013/01/08 17:10]
dusatzde
courses:a4m36pap [2025/01/03 18:23] (aktuální)
Řádek 22: Řádek 22:
   *[[courses/​a4m36pap/​semestralka2b| Druhá semestrální úloha - B]]   *[[courses/​a4m36pap/​semestralka2b| Druhá semestrální úloha - B]]
   *[[courses/​a4m36pap/​semestralka3| Třetí semestrální úloha]]   *[[courses/​a4m36pap/​semestralka3| Třetí semestrální úloha]]
 +
 +===== 2015/2016 =====
 +{{:​courses:​a4m36pap:​jirkamatparal.zip|Semestralka MPI-OMP}}
 +
  
 ===== 2012/2013 ===== ===== 2012/2013 =====
Řádek 32: Řádek 36:
  
 ===== Zkouška ===== ===== Zkouška =====
 +
 +==== 6.1.2014 ====
 +  * (2b) Vyjmenujte alespoň 3 techniky statické predikce větvení a 3 techniky dynamické predikce větvení. Porovnejte výhody a nebáhody statické a dynamické predikce.
 +  * (3b) Uvažujte základní Schmithův algoritmus predikce větvení a **2-bitové počítadlo**,​ tj. záznam v BHT má 2 bity. Určete počet správných a špatných predikců pro níže uvedený program. Předpokládejte,​ že nedochází k interferenci,​ počáteční stav je WNT. Výsledek zdůvodněte,​ jak jste k němu přišli.
 +<​code>​
 +int, i, j, c=0;
 +for (i=0;​i<​500;​i++)
 + for (j=0;​i<​4;​j++)
 +     c++;
 +</​code>​
 +> správný výsledek je 503, jinak interference je to, že každý cyklus má své počítadlo a ty se neovlivňují
 +
 +  * (3b) Uvažujte dvou-úrovňový paměťový systém tvořený jednou skrytou pamětí (L1 cache) a hlavní pamětí. Přístupová doba nechť je 1 a 100 cyklů pro L1 cache a hlavní pamět, přičmež jeden cyklus trvá 1 ns. Předpokládejte,​ že L1 cache miss rate je 5%. Jaký bude pruměrný čas přístupu do paměti (AMAT)?
 +
 +> pozor na chyták, když je miss, sahá i do té cache, tj. započítat i čas přístupu do ní, tj. průměr je 6 ns (ne 5,95 ns, jak by si někdo spočítal)
 +
 +  * (1b) Klasifikujte hazardy v zřetězeném procesoru. Jak lze tyto hazardy řešit (uveďte techniky)? Kdy dochází k hazardům?
 +
 +  * (4b) Určete miss rate vykonávání následovné části programu při pouřití přímo mapované INSTRUKČNÍ cache o velikosti 16 slov, velikost bloku 2 slova. Předpokládejte paměť slovně zarovnanou, velikost slova 4B, tj. nejnižší bity adresy jsou 00. Cache je na počátku prázdná.
 +<​code>​
 +ADDRESS ​     CONTENT
 +8002FFFFC ​   00 00 00 00   NOP
 +800200000 ​   3C ...        LUI ...
 +800200004 ​   26 ...        ADDIU ...
 +800200008 ​   28 ...        ADDI ...
 +80020000C ​   06 ...        RLL ...
 +</​code>​
 +{{:​courses:​a4m36pap:​pap-2013-zk1-im1.jpg?​300|}}
 +> princip je takový, ze podle obrázku jsou nejnižší dva bity nepodstatné,​ pak je bit určující slovo (sloupec) a další tři bity pak řádek. Zbytek je tag. Vyplněné tak jsou první dva řádky instrukcemi v pořadí \\
 +3C ... 26 ... \\
 +28 ... 06 ... \\
 +a vpravo dole je pak NOP
 +  * (1b) Pro PC-relativní skokové instrukce je adresa skoku vždy stejná (pokud nepředpokládáme samomodifikující program). Nicméně nepřímé skoky můžou mít různé cílové adresy. BTB zaznamenává pouze nejaktuálnějsí cílové adresy, proto může být značně neefektivní pro predikce často měnícíh cílových adres nepřímých skoků. Jak můžeme modifikovat strukturu BTB, abychom zlepšili predikci pro tyto případy?
 +  * (1b) Vyjmenujte metody pro zajištění koherence skrytých pamětí víceprocoserového systému.
 +  * (2b) Vyjmenujte modely paměťové konzistence. Jak lze zajistit konzistenci (obecně)?
 +  * (1b) Klasifikujte závislosti v programech. Jak lze eliminovat závislosti (ne hazardy!) a kterého typu (uveďte používané techniky)
 +  * (1b) Nakreslete graf datových závislostí níže uvedeného programového fragmentu
 +<​code>​
 +P1: X = D+S
 +P2: S = G*X
 +P3: A = B-X
 +P4: S = A+S
 +P5: A = G/Y
 +</​code>​
 +{{:​courses:​a4m36pap:​pap-2013-zk1-im2.jpg?​150|}}
 +  * (2b) Nastiňte základní myšlenky, jak se vypořádat se zotavením po chybné predikci skoku (co všCechno musíme zabezpečit pro podporu spekulace a jaké HW prostředky použijete?​)
 +  * (1b) K čemu slouží Load bypassing a Load forwarging? Uveďte základní myšlenku těchto technik!
 +  * (3b) Uveďte, zda souhlasíte či nesouhlasite s tvrzením a v krátkosti svůj postoj zdůvodněte a přípasdně doplňte. Podtrhněte spornou část věty.
 +     * Multicast, Broadcas, Rediction a Allreduce patří mezi tzv. point-to-point kolektivní neblokující komunikaci. ANO, NE, Proč?
 +     * Prodpora přesného přerušení se dosahuje speciálními instrukcemi vloženými kompilátorem při překladu programu a slouží k dosažení okamžité odezvy procesoru na danou událost, ANO, NE, Proč? (Pokud NE? jak se podle Vás dosahuje přesného přerušení?​)
 +     * Programy komunikující pomocí Message Passing se nehodí pro systémy se sdílenou pamětí, ANO, NE, Proč?
 +
 ==== 1. termin 2013 === ==== 1. termin 2013 ===
   * příklady:   * příklady:
courses/a4m36pap.1357661447.txt.gz · Poslední úprava: 2025/01/03 18:16 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0