# Obdržálek --- 28.1.2009

<{ForumPost(poster="drobas", timestamp=2009-01-28 16:43:29)}>
Tak v prvni casti otazky typicky jako loni..tzn  
1)rozsah N bitoveho cisla v jednickove soustave   
(2^N-1 - 1) - (2^N-1 - 1)  {protoze nula je zaporna i kladna takze 2 cisla vypadnou}  
2)Coffmanovy podminky -- co tam nepatri  
 vysledek byl preemptivni pridelovani  
3)rendezvous (napsal v zadani on :-))  
 vysledek --- setkani dvou entit na jednom miste v kodu pomoci synchronizacnich primitiv...(neco v tom smyslu)  
4) pro DRAM je typicke  
 vysledek obnova bunek  
5) asociativni pamet  
 vysledek paralelni vyhledavani podle klice  
6) semafor --- kdy se zablokuje kdyz je DOWN  
 vysledek kdyz je <= 0  
...sorry ale vic si nevzpomenu, kdyztak me doplnte
<{/ForumPost}>

<{ForumPost(poster="drobas", timestamp=2009-01-28 16:48:04)}>
v druhe casti...  
1) Turinguv stroj (graf, vysvetlit), kde vystup doplnuje vstup na lichou paritu  
  
2) Zadana tabulka (prvni radek adresa, druhy radek data)...melo se urcite A:=A+B kde A a B jsou nejake adresy z te tabulky..standart IEEE 754, Big-endian  
  
3) mnozinove asociativni cache s mapovanim..vysvetlit, nakreslit a vsechno okolo...jak to funguje, vyhody...  
  
4) byl tam obrazek procesoru a ukol byl napsal mikrokod pro addi (indirect)...+ vysvetlit atp.  
  
{vyletel sem takze se moc neptejte na vysledky :-D}
<{/ForumPost}>

<{ForumPost(poster="Poligla", timestamp=2009-01-28 17:22:06)}>

 > drobas wrote:v druhe casti...  
 > 1) Turinguv stroj (graf, vysvetlit), kde vystup doplnuje vstup na lichou paritu

Lidi, prosim, nemohl by mi nekdo vysvetlit, jak to mysli s tou paritou?  
  
Mysli tim automat nad abecedou {0,1} nebo celymi cisly?  
Pokud nad {0,1}:  
a) Takze po nas chce, aby pri sudem poctu (buno) jednicek jsme pri prichodu nuly vypsali jednicku? a pak zase pocitali nuly podle toho, jak nam budou chodit?  
b) A nebo ten automat ma v klidu chroustat vsechna data a nejak na konci dopsat chybejici prvky do lichosti (coz je blbost, kdyz muze byt paska nekonecna)  
Nad celymi cisly:  
c) A nebo ten automat ma byt pro libovolne cifry a vystup je tedy 0 (pokud na vstupu bylo liche cislo) a nebo 1 (pokud na vstupu bylo sude cislo)?  
  
Predpokladam, ze c) je spravne, ale stejne se chci pro jistotu zeptat...  
  
Vsem, kteri zkousku zvladli: gratuluji! :)
<{/ForumPost}>

<{ForumPost(poster="drobas", timestamp=2009-01-28 17:31:42)}>

 > Poligla wrote:v druhe casti...  
 > Vsem, kteri zkousku zvladli: gratuluji! :)

jojo Dave mel dneska obzvlast dobrou naladu jak sme videli...uspesnost se rovnala cely 0% :-)  

 > Poligla wrote:Lidi, prosim, nemohl by mi nekdo vysvetlit, jak to mysli s tou paritou?

Jinak je to mysleno tak, ze vstupem jsou jednicky a nuly a vystup je vzdy takovej, aby vstup dohromady s vystupem byla vzdy licha parita...  
tzn pro vstup 1001110 je vystup 0001110 (jestli sem je neprepsal :-))  
 ---> v kazdem kroku musi byt soucet jednicek lichy
<{/ForumPost}>

<{ForumPost(poster="Poligla", timestamp=2009-01-28 18:04:13)}>
Diky hrozne moc!  
A vysvetlil to u zkousky poradne? Ja totiz uz jednou tenhle priklad mela a vysvetleni nulovy (respektive: "to preci musite chapat"), takze jsem delala uplne neco jinyho a po zkousce mi to zase nevysvetlil.  :?   

 > drobas wrote:
 > jojo Dave mel dneska obzvlast dobrou naladu jak sme videli...uspesnost se rovnala cely 0% :-)

Drsny. Ma vubec cenu tam zitra chodit?  :roll:
<{/ForumPost}>

<{ForumPost(poster="Návštěvník", timestamp=2009-01-28 18:12:15)}>
Doplnění na lichou paritu se tu už několikrát řešilo (v minulých letech) a např. z této diskuze:  
[http://forum.matfyz.info/viewtopic.php? ... itu#p12770](http://forum.matfyz.info/viewtopic.php?f=349&t=2660&p=12770&hilit=paritu#p12770)  
podle mne vyznívá, že je to něco trochu jiného... Tedy, že vstup je konečný a výsledkem má být jedno číslo (takové, že pokud na vstupu byl lichý počet jedniček, tak je to 0 - ale pokud byl na vstupu sudý počet jedniček, tak je to 1). Tak tedy nevím...
<{/ForumPost}>

<{ForumPost(poster="Poligla", timestamp=2009-01-28 18:21:39)}>
Nu dobra, tak tedy budu zdrzovat zacatek zkousky tak dlouho, dokud to nevysvetli hodne podrobne (pokud bych tedy za a) se dostala do druheho kola a za b)dostala nejaky turinguv stroj). :)
<{/ForumPost}>

<{ForumPost(poster="Tinka", timestamp=2009-01-31 23:54:18)}>
Zdroj wikipedia:  
An odd parity bit is set to 1 if the number of ones in a given set of bits is even (making the total number of ones, including the parity bit, odd).   
  
Takze ak to spravne chapem, mam cislo, trebars 11010000, a pokial je pocet 1tiek lichy, parity bit je 0, a dostanem cislo **0**11010000, tym padom celkovy pocet jedniciek v tom cisle je neparny. Naopak ak dostanem cislo 10101111, tak parity bit je set to 1, cize dostanem **1**10101111, a celkovy pocet jednotiek je opat neparny. Jednoducho povedane, ten parity bit sa vzdy stara o to, aby bol pocet jednotiek vzdy neparny :)  
  
Cize to chapem tak, ze ten Turingov stroj robi nasledovne:  
(vstup) ==> (vystup)  
(00001111) ==> (1)  
(11100000) ==> (0)  
atd.  
  
Teraz uz len nakreslit tu schemu...
<{/ForumPost}>

<{ForumPost(poster="hjk", timestamp=2009-02-01 01:47:37)}>

 > Tinka wrote:Zdroj wikipedia:  
 > An odd parity bit is set to 1 if the number of ones in a given set of bits is even (making the total number of ones, including the parity bit, odd).   
 >   
 > Takze ak to spravne chapem, mam cislo, trebars 11010000, a pokial je pocet 1tiek lichy, parity bit je 0, a dostanem cislo **0**11010000, tym padom celkovy pocet jedniciek v tom cisle je neparny. Naopak ak dostanem cislo 10101111, tak parity bit je set to 1, cize dostanem **1**10101111, a celkovy pocet jednotiek je opat neparny. Jednoducho povedane, ten parity bit sa vzdy stara o to, aby bol pocet jednotiek vzdy neparny :)  
 >   
 > Cize to chapem tak, ze ten Turingov stroj robi nasledovne:  
 > (vstup) ==> (vystup)  
 > (00001111) ==> (1)  
 > (11100000) ==> (0)  
 > atd.  
 >   
 > Teraz uz len nakreslit tu schemu...

Myslím, že to schéma na [http://mff.lokiware.info/PrincipyPocita ... zky?v=16n8](http://mff.lokiware.info/PrincipyPocitacu/ReseneOtazky?v=16n8) je správné. Je to, jak říkáš, jen s tím rozdílem, že Turingův stroj má neustále něco na výstupu - čili průběžně (ne)dorovnává tu jednu jedničku, podle aktuálního vstupu z pásky... :)
<{/ForumPost}>

<{ForumPost(poster="Tinka", timestamp=2009-02-01 03:22:17)}>
Tak teda oprava, ja som uviedla len poslednu cifru vystupu, cely vyzera takto:   
(vstup) ==> (vystup)  
(1001110) ==> (0001011)  
A to schema naozaj je spravne :)  
  

 > drobas wrote:4) byl tam obrazek procesoru a ukol byl napsal mikrokod pro addi (indirect)...+ vysvetlit atp.

Vedel by prosim toto niekto vypracovat? Aj s vysvetlenim, ze co tie dane instrukcie znamenaju?
<{/ForumPost}>

<{ForumPost(poster="peci1", timestamp=2009-02-01 04:00:30)}>

 > Tinka wrote:
 > 
 >  > drobas wrote:4) byl tam obrazek procesoru a ukol byl napsal mikrokod pro addi (indirect)...+ vysvetlit atp.
 > 
 > 
 > Vedel by prosim toto niekto vypracovat? Aj s vysvetlenim, ze co tie dane instrukcie znamenaju?

V rychlosti [http://www.cs.clemson.edu/~mark/uprog.html](http://www.cs.clemson.edu/~mark/uprog.html) . Moc vysvetlovani to nepotrebuje. 

* MAR = Memory Address register
* MDR = Memory Data Register
* ACC = akumulator
* PC = program counter
* IR = instruction register

_in znamena, ze se otevre vstup, _out, ze vystup.   
Definice operace read je tam nekde vyse myslim taky popsana (v podstate ulozi obsah pameti na adrese v MAR do MDR). Ty instrukce na stejnem radku probihaji soucasne (tj. kdyz je jedna vec out, tak pusti data na sbernici a vec, ktera je in je do sebe ulozi)  
  
Zmatlo me to, ze pri operaci add si aluadd bere data z MDR aniz by se MDR otevrel, ale ze schematu to vyplyva...  
  
Jinak ty indirect by byly akorat s tou zmenou, ze tam po nacteni adresy do MAR musis nacist jeste jednu adresu - snad nejak nasledovne:

    IR_out(addr part), MAR_in
    read (potud je to puvodni)
    MDR_out, MAR_in
    read
    

Pote by uz v MDR mela byt hodnota dat a ne jen adresy na ne ;)
<{/ForumPost}>

