Recent Posts
PHP | 6 sec ago
Java | 10 sec ago
None | 16 sec ago
None | 21 sec ago
None | 1 min ago
None | 1 min ago
XML | 6 min ago
Bash | 7 min ago
Pascal | 8 min ago
None | 8 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
Learn a little bit about the new Pastebin.com on our help page. hide message
By Anonymous on the 10th of Feb 2010 12:08:12 AM Download | Raw | Embed | Report
  1. Poravnanost operandov v pomnilniku in slabosti neporavnanosti
  2.  
  3.  
  4. Kaj vpliva na velikost strani                                   348
  5.  
  6. Velikost sektorja na magnetnem disku
  7.  
  8. Ker se lahko vedno prenese samo cel sektor je optimalno, če je velikost strani enaka nekemu večkratniku velikosti sektorja (najpogostejša dolžina sektorja je 512 bajtov)
  9.  
  10.  
  11.  
  12. Izkoriščenost pomnilnika
  13.  
  14. Ker je dolžina programa ali segmenta redko enaka dolžini strani, bodo zato deli strani neizkoriščeni, to lahko odpravimo z zmanjševanjem strani, ampak se tako poveča tabela deskriptorjev ki prav tako zavzema prostor v pomnilniku
  15.  
  16. VEDI FORMULO !!
  17.  
  18.  
  19.  
  20. Število napak strani
  21.  
  22. Bistveno pomembnejše kot izkoriščenost pomn. Če sta zaporedna naslova oba naslova operandov ali ukazov potem bo najverjetneje razdalja med njima kratka. V tem primeru povečanje strani zmanjšuje možnost napake. Če sta pa zaporedna naslova mešana, potem lahko sklepamo, da bo razdalja velika in tam s povečevanjem strani večamo možnost napake, saj je večjih strani lahko manj v gl. pomn.
  23.  
  24.            
  25.  
  26.  
  27.  
  28. Kaj vpliva na izkoriščenost pomnilnika                348
  29.  
  30.             Odvisen je od povprečne velikosti segmenta (ali programa pri čistem odstranjevanju). Če je velikost segmenta Ss, velikost strani Sp besed in dolžina deskriptorja c besed je v povprečju v vsakem segmentu izkoriščenih N besed. N = Sp/ 2    + c*(Ss/Sp)
  31.  
  32.  
  33.  
  34. kam shranjujemo tabele strani TLB                                  343
  35.  
  36.             V poseben TLB predpomnilnik
  37.  
  38.  
  39.  
  40.  
  41.  
  42. Kontrolne nevarnosti                                              226
  43.  
  44. Do njih pride pri vseh programih, ki spreminjajo vsebino PC (pogojni, brezpogojni skoki, klici, vrnitve). Ukaza v IF in ID se ob izpolnjenem pogoju za skok zavržeta, saj sta neveljavna.
  45.  
  46.            
  47.  
  48. dinamična predikcija                                   231
  49.  
  50.             Prediktorske tabele,
  51.  
  52.  korelacijski prediktor (več tabel ki hranijo zgodovino za več skokov nazaj)
  53.  
  54.  turnirski prediktor(korelacijski in in prediktorska tabela, uporabi se tisti, ki je bolj natančen.
  55.  
  56. Skočni predpomnilnik(hrani zgodovino pravilno napovedanih skočnih naslovov lahko pa tudi ukaze).
  57.  
  58.             Vrnitveni prediktor (sklad z vrnitvenimi naslovi procedur).
  59.  
  60.  Enota za prevzem ukazov (namesto stopnje IF ta enota prevzame ukaz, opravi predikcije in prevzemu ukazov iz predpomnilnika, tako obdelane ukaze pošlje ostalim stopnjam naprej v obdelavo.
  61.  
  62. katera vrsta zank pride v poštev pri dvobitni prediktorski tabeli (vgnezdene zanke)
  63.  
  64.  
  65.  
  66. kako je z zadevo, če se predvidi, da skok bo
  67.  
  68. V PC se mora naložiti skočni naslov (pri HIP skočni naslov gre v PC, v register IR se vstavi mehurček (oboje je v stopnji IF) Tudi ob pravilni napovedi moramo počakati 1up, da bo skočni naslov znan )
  69.  
  70.  
  71.  
  72.  
  73.  
  74. Zunanja fragmentacija, notranja fragmentacija  329-338
  75.  
  76. Notranja fragmentacija nastane pri navideznemu pomnilniku z odstranjevanjem. Do nje pride, ker program skoraj nikoli ne dolg celo število strani, zato je del (ponavadi zadnje) strani neizkoriščen.
  77.  
  78. Zunanja fragmentacija nastane pri segmentaciji, saj spremenljiva velikost segmentov v glavnem pomnilniku pušča luknje praznega prostora. Po daljšem obratovanju postanejo te luknje tako majhne, da je potrebno zgoščanje pomnilnika, kar je zelo počasna operacija.
  79.  
  80. Ponavadi je predpomnilnik realiziran kot kombinacija obojega, kar izniči zunanjo fragmentacijo in omogoči prenašanje samo tistih delov segmenta, ki jih zares potrebujemo.
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. WS (working set) algoritem                                                           358
  89.  
  90. W(t,T)  --- množica tistih strani, ki so bile uporabljene v času t-T do t (čas t teče samo ko se program izvaja)
  91.  
  92. D – stopnja multiprogramiranja
  93.  
  94. 1.      Dodeljevalna strategija. Vsakemu programu se na začetku dodeli fiksno št okvirov strani.
  95.  
  96. 2.      Polnilna strategija. Ob vsaki napaki se v enega od okvirjev prenese stran iz pomožnega pomn. Če ni prostih okvirov se program izloči iz množice aktivnih programov(d-1).
  97.  
  98. 3.      Zamenjevalna strategija. Strani ki niso v množivi W(t,T) prenesejo nazaj v pomožni pomn. Pripadajoči okvirji so sedaj prosti.
  99.  
  100. Če število prostih okvirjev preseže neko določeno vrednost se aktivira nov program (d+1)
  101.  
  102.  
  103.  
  104. PFF (page fault frequency) algoritem  359
  105.  
  106.             Deluje podobno kot WS
  107.  
  108. t-navidezni čas
  109.  
  110. T - parameter
  111.  
  112. &#268;e je t_i-1 – t_i < T (&#269;as od zadnje napake strani) algoritem ne naredi ni&#269;esar razen prenosa strani
  113.  
  114. Sicer deluje enako kot WS algoritem
  115.  
  116.  
  117.  
  118. Kako deluje predpomnilnik                                                                       288
  119.  
  120.             &#268;e je predpomnilink en ga imenujemo homogen, sicer je nehomogen. Lahko je sestavljen iz ve&#269; nivojev kjer so ponavadi vsi razen prvega nivoja homogeni. Majhni predpomnilniki delujejo zaradi lokalnosti pomnilniških naslovov. Zmogljivost se meri v verjetnosti zadetka(zgrešitve).
  121.  
  122.             kako je zgrajen
  123.  
  124. Iz kontrolnega in podatkovnega dela. Podatkovni del vsebuje bloke(ve&#269; zaporednih pomnilniških besed). Kontrolni pa informacijo ki enoli&#269;no opisuje vsak blok in ponavadi tudi kontrolne bite (veljavni, umazani bit …)
  125.  
  126.             kakšne vrste predpomnilnikov poznamo
  127.  
  128. Homogene, nehomogene in ve&#269;-vhodne(pri superskalarnih ra&#269;unalnikih omogo&#269;a ve&#269; isto&#269;asnih dostopov do pomnilniških celic, je pa zgradba bolj zapletena kar ponavadi pomeni manjši predpomnilnik).
  129.  
  130.             kako dostopamo do njega
  131.  
  132.  
  133.  
  134.  
  135.  
  136. Stati&#269;na predikcija                                                  229
  137.  
  138.             Predpostavimo neizpolnjen pogoj. Zakasnjeni skoki, po sko&#269;nem ukazu se vedno izvrši še toliko ukazov kolikor je sko&#269;na zakasnitev(pri hip 2). V&#269;asih se sko&#269;nih rež ne da polno izkoristiti in je potrebno vstavljanje NOPov,
  139.  
  140.  
  141.  
  142.  
  143.  
  144. Zakasnjeni skoki       229
  145.  
  146. Po sko&#269;nem ukazu se vedno izvrši še toliko ukazov kolikor je sko&#269;na zakasnitev(pri hip 2). V&#269;asih se sko&#269;nih rež ne da polno izkoristiti in je potrebno vstavljanje NOPov,
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154. Kako zmanjšamo tabele strani                   347
  155.  
  156. 1.      Ve&#269;nivojske tabele strani
  157. Namesto ene velike tabele strani uporbljamo ve&#269; manjših, ki se lahko prilagajajo velikosti programa.
  158.  
  159. 2.      Invertirana tabela strani
  160. Tabela v kateri so samo tiste strani, ki so v glavnem pomnilniku. Ker je gl pomn manjši od navideznega prostora je taka tabela majhna. Težava je, da iz številke strani v navideznem naslovu ni razvidno kje in &#269;e sploh je stran v glavnem pomnilniku.
  161.  
  162. 3.      Shranjevanje tabel v navideznem prostoru
  163. dolo&#269;ene tabele, ki niso absolutno nujne (take ki niso del op.sistema.) so lahko shranjene izven gl. pomn. Takšna rešitev ponavadi nekoliko pove&#269;a število napak strani in zahteva dodatno previdnost pri zasnovi OS. ampak se vseeno pogosto uporablja.
  164.  
  165.  
  166.  
  167. kakšna je razprševalna funkcija HASH
  168.  
  169.  
  170.            
  171.  
  172.  
  173.  
  174. Podatkovne (operandne) nevarnosti kje so kako se jih odpravlja                     221
  175.  
  176. kadar kak ukaz nalaga vrednost iz pomnilnika in kateri od naslednjih ukazov dostopa do te iste vrednosti (registra) pride do podatkovne nevarnosti. Pri hip prihaja do teh samo v stopnji ID saj le tam nalagamo vrednosti iz pomnilnika v registre. Najenostavnejše je &#269;e stopnja ID takrat stoji in se v stopnje naprej podajo mehur&#269;ki. V splošnem mora logika preveriti &#269;e v i-ti stopnji obstaja nevarnost, &#269;e je ni (ve&#269;) potem se lahko izvršijo operacije v stopnji i. &#268;e nevarnost je se mora stopnja ustaviti in v stopnje naprej vstavlja mehur&#269;ke. Stopnje pred i-to morajo &#269;akati.
  177.  
  178.             Premoš&#269;anje:
  179.             Lahko, da rezultati ukazov ki povzro&#269;ajo nevarnost že obstajajo v kakšni stopnji, a še niso zapisani v registre/pomnilnik. &#268;e lahko to vrednost prenesemo(premostimo) v stopnjo kjer je ugotovljena nevarnost potem &#269;akanje ni potrebno.(pri HIP se premoš&#269;a iz EX, MEM in WB v stopnjo ID) Pri HIP pri ukazu load se &#269;akanja ne da popolnoma odpraviti s premoš&#269;anjem potreben je 1 mehur&#269;ek. Nevarnostim se lahko izognemo tudi s preureditvijo ukazov.
  180.  
  181.             Vrste pod nevarnosti:
  182.  
  183. 1.      Read After Write
  184.  
  185. 2.      Write After Read
  186.  
  187. 3.      Write After Write
  188.  
  189.  
  190.  
  191.  
  192.  
  193. Na&#269;ini naslavlanja                123
  194.  
  195. 1.      Takojšnje naslavljanje
  196. operand je podan kar z vrednostjo in je del ukaza
  197.  
  198. 2.      Neposredno naslavljanje
  199. operand je podan z konkretnim naslovom v pomnilniku
  200. (registrsko naslavljanje &#269;e je operand v registru je podan naslov registra)
  201.  
  202. 3.      Posredno naslavljanje
  203. naslovimo polje v pomnilniku kjer je shranjen naslov operanda (pomnilniško posredno naslavljanje, potrebna sta 2 dostopa do pomnilnika) naslov operanda je lahko tudi v registru(registrsko posredno naslavljanje)
  204.  
  205. 4.      Bazno naslavljanje(naslavljanje z odmikom)
  206. Naslov operanda dobimo tako da vsebini registra(baze) prištejemo odmik.
  207.  
  208. 5.      Indeksno naslavljanje
  209. Bazno naslavljanje kjer lahko z odmikom zajamemo celotni pomnilniški prostor. (ali &#269;e uvedemo še en register tako da je A = r2 +r3 +d)
  210.  
  211. 6.      Pred dekrementno naslavljanje
  212. indeks(vrednost baze) se avtomati&#269;no zmanjšuje pred izra&#269;unom naslova
  213.  
  214. 7.      Po inkrementno
  215. indeks se pove&#269;uje po izra&#269;unu naslova
  216.  
  217. 8.      Velikostno indeksno
  218. A = r2 +r3*ß + D kjer je ß velikost operanda (popravljanje registra r3 ni vklju&#269;eno v izra&#269;un naslova)
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  Zakaj se pri naslavljanju predpomnilnika uporabljajo fizi&#269;ni naslovi in ne navidezni          326
  225.  
  226. 1.      Ker želimo pri navideznem pomnilniku imeti možnost, da se dva ali ve&#269; navideznih naslovov preslika v enega fizi&#269;nega (imenujemo jih aliasi ali sinonimi). To omogo&#269;a, da ve&#269; programov dostopa do istih procedur ali podatkov. Pri navideznih predpomnilnikih lahko en program takšno vsebino spremeni drugi pa je ne vidi in pride do napak. Pri fizi&#269;nih naslovih do te težave ne pride.
  227.  
  228. 2.      Za V/I naprave je lažje, &#269;e uporabljajo fizi&#269;ne naslove, saj bi bilo sicer potrebno dodatno preslikovanje.
  229.  
  230. Obe to&#269;ki je mogo&#269;e realizirati tudi z navideznimi naslovi, vendar je taka realizacija komplicirana.
  231.  
  232.  
  233.  
  234. Zaš&#269;ita pomnilnika                           283
  235.  
  236. Zaš&#269;ita pred poseganjem programov v pomnilniške lokacije drugih programov(predvsem OS). Ponavadi se zaš&#269;iti pred pisanjem, branje zaš&#269;itimo takrat ko je pomembna tajnost.
  237.  
  238. 1.      Par registrov ki dolo&#269;ajo spodnjo in zgornjo mejo pomnilniškega prostora dolo&#269;enega programa. (lahko tudi spodnja meja in dolžina). Slabost je da mora program zasedati zvezen prostor v pomnilniku in vse besede so zaš&#269;itene na enak na&#269;in(vse samo read only ali read/write…)
  239.  
  240. 2.      Metabiti:
  241. biti, ki vsaki besedi dolo&#269;ajo kateremu programu pripadajo. Danes se ne uporablja, ker zahteva veliko &#269;asa za spreminjanje teh bitov in veliko dodatnega prostora.
  242.  
  243. 3.      Delitev na zaš&#269;itene strani/bloke (druga&#269;na stran kot pri navideznem pomnilniku)
  244. programu je dodeljen prostor, ki je enak celemu številu strani. Vsaka stran ima svoje zaš&#269;itne metabite, ki jim pravimo klju&#269;. Klju&#269;i so shranjeni v posebnem pomnilniku, ki ni del gl.pom. in dostop z obi&#269;ajnimi ukazi ni možen. Teh bitov je v primerjavi s prejšnjo rešitvijo manj in je zato &#269;as in prostor potreben za realizacijo ob&#269;utno manjši.
  245.  
  246.  
  247.  
  248. Kako še druga&#269;e re&#269;emo zgrešitvi v navideznem pomnilniku (napaka strani)
Submit a correction or amendment below. Make A New Post
To highlight particular lines, prefix each line with @h@
Syntax highlighting:
Post expiration:
Post exposure:
Name / Title:
Email: