Nektere otazky - Obdrzalek

David
Matfyz(ák|ačka) level II
Příspěvky: 80
Registrován: 7. 11. 2004 18:57
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Nektere otazky - Obdrzalek

Příspěvek od David »

Ahoj,

nasel jsem par otazek ze zkousek u Obdrzalka a z minulych let a s nekterymi si nevim rady.
Poradil byste mi s tim prosim nekdo?
U kazde otazky uvadim i navrh meho "reseni".


1. Odvodte vztah pro velikost pameti pro mikro a nanoprogramovani

Kód: Vybrat vše

mikroprogramovani
  - horizontalni format: 
    - sirka bude pocet jednotek
    - ale co delka; nebude to 2^(sirka)??
  - vertikalni format
    - ??

Kód: Vybrat vše

nanoprogramovani
  - velikost bude soucet 1. urovne (vertikalni format) a 2. urovne (horizontalni)
    - 2. uroven: 
      sirka ... w = pocet jednotek
      delka ... m = to moc nevim: ?? pocet moznych kombinaci jednotek
    - 1. uroven
    	sirka ... |log m|
    	delka ... ??
2. Princip retezeni vektoru
- Netusite, co to je?

3. Indirect registr adresace s postinkrementaci + priklad instrukce
- Nevite prosim nekdo priklad te instrukce?

4. Optimalizace skoku v procesorech RISC
- nevite, co to je?
- predikce skoku asi ne..
- veci okolo decode / branch unit se zase tykaji post RISC...

5. V cem je problem vzniku preruseni u procesoru post-RISC?
?? vyjimky
- pri vzniku vyjimky musi procesor zastavit cinnost na tomto miste
- instrukce po teto instrukci nesmi ovlivnit stav stroje
- nesmi existovat nezpracovane instrukce lezici pred touto instrukci
- vsechny vyjimky zpusobene predchozimi instrukcemi jsou vyrizeny
= precizni preruseni

6. Jake jednotky ovlivnuje Branch unit v architekture post-RISC
?? Fetch / Flow unit, Branch / decode unit, dispatch and reorder buffer, completed instrucion buffer


Diky moc
Xerxes
Matfyz(ák|ačka) level I
Příspěvky: 37
Registrován: 23. 1. 2007 16:32
Typ studia: Informatika Bc.
Bydliště: Zlínský kraj / Kolej 17. listopadu
Kontaktovat uživatele:

Příspěvek od Xerxes »

Tak dobře.

1) Mikroprogramování používá paměť pro mikroinstrukce. Každá mikroinstrukce se skládá z řídících bitů (těch bude třeba n) a (většinou) adresy další mikroinstrukce. Takže pokud bude paměť obsahovat k mikroinstrukcí, bude mít velikost k * n, popřípadě k * (n + log2(k)), pokud obsahuje ještě adresu další mikroinstrukce, která musí být schopná adresovat kterýkoliv z k řádků, takže bude mít log2(k) bitů.

Nanoprogramování naopak využívá toho, že se některé mikroinstrukce opakují. Zde figuruje nanopaměť, ve které je v nanoinstrukcí, každá po n řídících bitech, takže je velká n * v bitů. Mirkoinstrukce tedy nemusí obsahovat řídící bity, ale místo nich pouhý odkaz do nanopaměti, který musí umět adresovat v řádků a mít tedy velikost log2(v) bitů.

Tedy:
Mirko = k * (n + log2(k))
Nano = k * (log2(v) + log2(k)) + v * n

Jinak vertikální / horizontální mikroprogramování s tím moc nesouvisí...

2) Jde o to, že když se mají sečíst dvě dvojice vektorů
c = a + b
e = c + d
tak druhý výpočet může začít jestě před dokončením prvního, a to tehdy, jakmile je hodový výsledek první složky prvního výpočtu.

3) Těžko říct...

4) Pokud si dobře vzpomínám, používají RISC kromě zpožděného skoku i predikci při vyzvednutí a vyhodnocení při dekódování (aby byl skok co nejdříve hotov a nezdržoval, musí kvůli tomu být i snadné podmínky).

5) Máš to veměs správně. Problém je právě v tom, že to (precizní přerušení) nemusí být splněno. Proto se odkládájí instrukce v původním pořadí, nebo se nedejbože tento efekt zanedbává a pak může být sranda.

6) V případě neúspěšné predikce se musí zrušit vykonané i na vykonání čekající instrukce z neplatné větve programu, musí se updatovat historie skoků a predikční jednotka se musí upozornit na chybu, aby si dala příště pozor.

Jinak se mrkni sem:
http://www.osklivy-sup.cz/mff/dok/principy.rtf
David
Matfyz(ák|ačka) level II
Příspěvky: 80
Registrován: 7. 11. 2004 18:57
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od David »

Jezisimarja, diky moc :D

Snad se to do pozitrka vsechno naucim
David
Matfyz(ák|ačka) level II
Příspěvky: 80
Registrován: 7. 11. 2004 18:57
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od David »

Jeste jenou dekuju, dost mi to pomohlo. Uz se tesim zitra na zkousku... :)

Jeste mam ale jednu nejasnost:
Tedy:
Mirko = k * (n + log2(k))
Nano = k * (log2(v) + log2(k)) + v * n
co presne znaci promenna "v" ve vzorci?

k ... pocet (mikro)instrukci
n ... pocet ridicich signalu (resp. jednotek)
v ... ?? pocet pripustnych kombinaci, jak spolu ridici signaly muzou byt ??

diky
Odpovědět

Zpět na „2006“