obdrzalek 25.1.2007

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: obdrzalek 25.1.2007

od Kudo » 27. 1. 2007 14:31

super tak ten mikrokod pre add som mal bezchyby dobre vediet.dik

od char_t » 26. 1. 2007 12:31

a tady http://www.cs.clemson.edu/~mark/uprog.html jsou zas konkrétně mikroprogramy pro instrukce ADD, LOAD, STORE, BRZ

od David » 26. 1. 2007 09:22

4.) princip prevodu virtualnej adresy na fyzicku, popisat pri ktorych krokoch sa zucastnuje cpu, mmu, os...
No, tak jsem se na to podival a tohle jsem zjistil o MMU
MMU - Memory Management Unit zajistuje
1. mapovani
mapuje LAP (logicky adresovy prostor - virtualni pamet) do FAP (fyzicky adresovy prostor)
Existuje celá řada transformačních předpisů a metod. Vždy se však opírají o hodnoty v transformačních registrech MMU. Prostřednictvím transformace procesor v každém okamžiku vidí jen určitou část fyzické paměti, čímž je realizována ochrana paměti.
2. virtualizace:
LA generovaná CPU je kontrolována MMU, zda adresovaná lokace je (přesněji stránka s touto lokací) přítomna v operační paměti či zda je odložena na disk. V druhém případě nastává tzv. výpadek stránky (page fault), který vyvolá kritickou výjimku. Tato výjimka je obhospodařována servisní rutinou, která je součástí komponenty jádra operačního systému - správce virtuální paměti.
Pricemz pri pouzivani virtualni pameti, tak jak se bezne chape se dela i mapovani i virtualizace (neni to tak, ze kdyz to je virtualni pamet, tak se dela jen virtualizace :) )

Takze celkove je to takhle:
1. virtualni adresu generuje CPU.
2. Virtualni adresa se rozdeli na dve casti (p - cislo stranky resp. segmentu, d - offset ve strance, segmentu).
3. MMU prelozi p na p1 (ziska cislo fyzickeho ramce na kterem je stranka / segment) a secte p1 s d. Tim ziska cislo fyzickeho ramce.
4. Pokud dojde k vypadku stranky (pri prekladu p na p1 se zjisti, ze p1 neni ve fyzicke pameti), kontroly se ujme OS a nahraje stranku / segment do fyzicke pameti (pokud je pamet plna, neco vyhodi - vyse zminene LRU aspol)

No, do pisemky jsem dal, ze p na p1 prelozi CPU, tak nevim, jestli mi to uzna. Ja bych si to teda uznal, protoze to MMU muze byt vlastne take procesor:
The translation from virtual to physical addresses is implemented by a memory management unit (MMU). This may be either a module of the CPU, or an auxiliary, closely coupled chip.
No, skoda, ze si pisemky neopravujeme sami... ;)

od nardew » 26. 1. 2007 01:04

ak je toto jedina vec co mas zle tak to si stastny clovek... ja som tam toho dovrzal podstatne viac

od David » 26. 1. 2007 00:01

Instrukcia ADD ma do akumulatoru pripocitat aktualnu hodnotu v akumulatore a hodnotu v MDR pokial viem, teda namiesto Temp_out tam ma byt Acc_out
aha, sakra Obdrzalek jeste primo rekne, ze to ma secist s Akumulatorem a ja "myslim", ze s Temp. To uz je fakt krize :(

od nardew » 25. 1. 2007 20:44

David píše:T6: Temp_out (dodam druhy operand, secte to -> ulozi do Temp), reset to T0
Instrukcia ADD ma do akumulatoru pripocitat aktualnu hodnotu v akumulatore a hodnotu v MDR pokial viem, teda namiesto Temp_out tam ma byt Acc_out

od char_t » 25. 1. 2007 19:42

MMU = Memory Management Unit

od David » 25. 1. 2007 17:57

5.) popisat priklad statickej a dynamickej bunky pamate plus funkcie
myslim, ze tam bylo napsat, kde se pouzivaji. Nevite to nekdo? :) Ty dynamicke asi v procesorech?
4.) princip prevodu virtualnej adresy na fyzicku, popisat pri ktorych krokoch sa zucastnuje cpu, mmu, os...
Strankovani a segmentaci myslim rozumim dobre (ze Zakladu operacnich systemu mam za 1 ;) ), ale nevedel jsem podotazku: popisat pri ktorych krokoch sa zucastnuje cpu, mmu, os...

Teda, ani nevim, co to je mmu :(
No, je jasne, ze kdyz dojde k vypadku stranky (stranka neni fyzicky v pameti), vypusti se vyjimka a kontroly se ujme OS. OS stranku do pameti zavede (napr. pomoci first fit, next fit, wortst fit, best fit), pokud je pamet plna, tak predtim musi nejakou stranku vyhodit (LRU, NRU, NFU, Clock aj.)...
Ale jinak nevim nevim... :(

od David » 25. 1. 2007 17:50

8.) naprogramovat instrukciu ADD
Jenom doplnim, ze ADD znamena, ze se ma to, cehoz adresa je v PC secist s tim, co je v Temp a ulozit do temp.
UPDATE: tak ne, ADD pricita to, cehoz adrese je v PC k Akumulatoru a ulozi to do temp. Takze v T6 bude ACC_out!!!.


Virtualni procesor je stejny jako na slajdech.

Nechtel by nekdo napsat, jak se to presne dela? Ja si nejsem uplne jisty, jak provest zaverecne secteni.

Jinak moje verze:

Kód: Vybrat vše

1. fetch:
T0: PC_out, MAR_in (adresu do Memory address register)
T1: read, pcincr (data do MDR, zvysit citac na dalsi instrukci)
T2: MDR_out, IR_in (do instrukcniho registru)

2. decode:
T3: decode opcode in IR

3. execute
T4: IR_out, MAR_in
T5: read (timto mam data v MDR - 1. operand je pripraveny)
T6: Temp_out (dodam druhy operand, secte to -> ulozi do Temp), reset to T0
tim execute si ale nejsem uplne jisty... :(

od David » 25. 1. 2007 17:39

Ja tam byl taky :)

No, je dobre si sebou vzit hodinky. Je na to hodina casu (ani o minutu vice) a mobily jsme museli vypnout a schovat do tasky, takze mobil clovek jako hodinky nepouzije.
Ja hodinky nemel a nestihl kvuli tomu prvni otazku (zacinal jsem posledni abych mel obrazek na stejny strane listu a nemusel obracet list)... :( Celkem to nastve... Jeste kdyz to je jedna z mala veci, kterou jsem vedel :twisted:

obdrzalek 25.1.2007

od nardew » 25. 1. 2007 16:40

1.) diskusia k zobrazeniu cisel podla IEEE754
2.) co je to modalita instrukcii, zakladne rozdelenie
3.) popisat plnoasociativne mapovanie v cache-i
4.) princip prevodu virtualnej adresy na fyzicku, popisat pri ktorych krokoch sa zucastnuje cpu, mmu, os...
5.) popisat priklad statickej a dynamickej bunky pamate plus funkcie
6.) popisat prenos dat po zbernici bez ucasti procesora, rozdelenie plus popis
7.) napisat rozdelenie podla zotavenia z chyb
8.) naprogramovat instrukciu ADD

Nahoru