# 2.2.2012 - Bulej

<{ForumPost(poster="Arcanus", timestamp=2012-02-03 14:05:48)}>
Bylo 19 otázek, maximálně šlo získat 20 bodů. Hodnocení jako u předchozího termínu.  
  
1. Vysvětlete, jak a proč velikost bloku/řádku (cache line) ovlivňuje výkonnost cache.  
2. Vysvětlete, kdy vzniká datový hazard při zřetězeném (pipelined) zpracování instrukcí a uveďte krátkou sekvenci instrukcí, kde takový hazard nastává. Vysvětlete, jaké jsou důsledky datových hazardů na propustnost pipeline a jak tyto problémy řešit.  
3. Vysvětlete, co je to semafor, k čemu se používá a jak se liší od klasického zámku (mutex).  
4. Popište, jak se jeví periferie z pohledu OS (ovladače) a jakým způsobem může kód vykonávaný procesorem komunikovat s periferiemi. Jaký je rozdíl mezi zařízeními mapovanými do paměti a zařízeními v odděleném vstupně/výstupním adresovém prostoru?  
5. Kdy se používá inverzní stránkování a jak se liší proces překladu adresy od klasického stránkování?  
6. Uvažujte následující procesory, které implementují stejnou instrukční sadu a vykonávají stejný program:  
  
Procesor | Frekvence |   CPI  |  
    P1      |     2 Ghz      |  1,5   |  
    P2      |   1,5 Ghz   |  1,0   |  
    P3      |     3 Ghz    |  2,5   |  
  
Snažíme se snížit dobu vykonávání programu procesorem P3 o 20%, což má bohužel za následek zvýšení CPI o 10%. Na jaké frekvenci musí tento procesor pracovat, abychom toho dosáhli?  
7. Vysvětlete, co to je a co dělá řadič datové cesty procesoru.  
8. Popuište obecný průběh transakce na sběrnici a uveďte příklad přenosu dat mezi dvěma účastníky (procesor - paměť, procesor - zařízení, zařízení - paměť). Co a vjakém okamžiku se na sběrnici objeví a proč?  
9. Jak se po zapnutí počítače dostane operační systém z disku do paměti počítače?  
10. Vysvětlete, v čem spočívá univerzálnost konceptu počítače s vnitřním řízením (stored-program computer).  
11. Vysvětlete, co je to spin-lock, k čemu se používá a jak se liší od mutexu. Kdy je vhodné použít spin-lock a kdy mutex?  
12. Vysvětlete, jak se chová write-back cache při zápisu do paměti, pokud se jedná o write-hit. Jak se tato strategie projeví na rychlosti operací čtení a zápisu, využití přenosové kapacity do paměti a konzistenci dat?  
13. Program běžící na procesoru Intel uložil do paměti slovo 12345678<sub>16</sub>, odkud jej poslal po síti počítači s procesorem MIPS, kde je program načetl z paměti do registru, zvýšil hodnotu o 1 a poslal zpět. Program na procesoru Intel slovo opět načetl z paměti a na konzoli vypsal hodnotu 13345678<sub>16</sub>. Vysvětlete, proč k nežádoucímu výsledku došlo a jak tomu zabránit.  
14. Vysvětlete rozdíl mezi synchronním a asynchronním řízením sběrnice a k čemu jsou oba typy vhodné.  
15. Vysvětlete, co to je page fault (výpadek stránky). Kdy může k výpadku dojít a jak se v těchto případech chová operační systém?  
16. (otázka za 2 body) Nakreslete blokové schéma cache s přímým mapováním. Vysvětlete účel všech dat uložených v cache a jakým způsobem se ukládají a vyhledávají data z paměti v cache.  
17. Převeďte číslo DAC2C3B4 v šestnáctkové soustavě do dvojkové soustavy.  
18. Vysvětlete, jak se zrychlení nějaké části systému projeví na zrychlení celku. Zapište vztah pro zrychlení algebraicky a vysvětlete, jaké důsledky z toho plynou pro návrh systémů.  
19. Vysvětlete a popište jednotlivé kroky, ve kterých procesor vykonává program uložený v paměti počítače.
<{/ForumPost}>

