New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Näennäismuisti – Wikipedia

Näennäismuisti

Wikipedia

Näennäismuisti tai virtuaalimuisti on mekanismi, jonka avulla ohjelmille näkyvät ja koneen fyysiset muistiosoitteet voidaan eriyttää toisistaan.

Nykyiset virtuaalimuistit toimivat sivuperiaatteella, eli yhden sivun (esim. 4kt) verran peräkkäisiä virtuaalisia osoitteita osoittaa aina peräkkäisiin fyysisiin osoitteisiin.

Virtuaalimuistin käytön mahdollistaa prosessorilla tai muistiohjaimella oleva muistinhallintayksikkö (MMU).

Virtuaalimuistia voidaan hyödyntää lähinnä kahdella tavalla:

1) Moniajoon ja muistinsuojaukseen, jolloin jokainen ohjelma näkee vain oman muistinsa, eikä esim. pääse lukemaan muiden ohjelmien käyttämiä muistialueita

2) Tarjoamaan ohjelmille enemmän muistia kuin, mitä koneessa on fyysistä muistia; virtuaalimuistisivu voidaan sijoittaa esimerkiksi järjestelmän kiintolevylle, josta käyttöjärjestelmä voi sitten tarvittaessa ladata sen takaisin muistiin.

Levylle kirjoittaminen ja sieltä lukeminen on noin kertaluokkaa 1000 x hitaampaa kuin keskusmuistista, mutta toisaalta virtuaalimuistin avulla voidaan suorittaa ohjelmia, joiden ajaminen ei olisi muuten lainkaan mahdollista. Toisaalta ajossa olevien ohjelmien muistissa saattaa olla hyvin suuria objekteja, joihin viitataan hyvin harvoin. Tällöin niiden sivuttaminen levylle ja muistin vapauttaminen muuhun käyttöön (esim. välimuistiksi) voi jopa nopeuttaa järjestelmän toimintaa.

[muokkaa] Muistinhallintayksikön toiminta

Virtuaalimuistia käsitellään aina sivu kerrallaan. Alimmat bitit(esim. PCssä normaalisti 12 alinta sivun ollessa 4kt kokoinen) muistiosoitteesta kertovat suoraan, kuinka mones tavu sivua on kyseessä. Ylemmät bitit kertovat, mihin sivuun viitataan.

Muistin sivuosoitteen muunnos tehdään tyypillisesti taulukolla; muistiin tallennetaan taulukko, jossa on alkio jokaista virtuaalimuistisivua kohden, että mihin fyysiseen sivuun kyseinen virtuaalimuistisivu viittaa. Tämä taulukko on tosin usein useampitasoinen, osoitteen ylimmät bitit(esimerkiksi 10) kertovat, mitä sivutaulua käytetään, ja seuraavat 10 bittiä sitten kertovat, miltä kohtaa kyseistä sivutaulua löytyy tieto halutun muistisivun fyysisestä osoitteesta.

Syy tähän jakoon on taulukoiden vaatima tila muistista; yksi 22-bittinen taulukko veisi muistista tilaa 4 megatavua, mikä olisi ollut aivan liikaa esimerkiksi ensimmäisille 386-tietokoneille, ja 64-bittisten prosessoreiden vaatima sivutaulukon koko olisi liikaa nykyisille muistimäärille. Lisäksi yhden suuren taulukon alustaminen voisi olla hidas operaatio; Kun taulukko on useampitasoinen, tarvitsee alemman tason taulukot luoda vain niille virtuaaliosoitteille, jotka oikeasti ovat käytössä, ja säästetään muistia sekä työtä sivutauluja luotaessa. 64-bittisillä koneilla saattaa sivutaulu olla jopa 4-tasoinen, ja joillain prosessoriarkkitehtuureilla kuten PowerPCllä ei ole suoraa monitasoista sivutaulu vaan hajautustauluun perustuva käänteinen sivutaulu.

Sivutaulun lataus erikseen jokaisen muistioperaation yhteydessä olisi erittäin hidasta, koska se tarkoittaisi aina kohta ylimääräistä toisistaan riippuvaa muistista latausta jokaista muistioperaatiota kohden, joten prosessorilla on sivutauluille oma välimuistinsa, jota kutsutaan englanninkielillä nimellä translation lookahead buffer, TLB.

Kuten normaalikin välimuisti, voi myös TLB olla monitasoinen; suoraan prosessorin lataus- ja talletusyksiköillä on hyvin nopeat ja pienet ensimmäisen tason TLBt, näistä hiukan kauempana hiukan hitaammat kakkostason TLB. Ensimmäisen tason TLBn koko on tyypillisesti joitain kymmeniä alkiota, esim. alkuperäisellä Athlonilla on 24 alkion kokoinen L1-käsky-TLB, 32 alkion kokoinen L1-data-TLB sekä erilliset 256 alkion L2-TLBt molemmille. Tämä tarkoittaa että normaalilla 4 kiB virtuaalisivukoolla Athlonin ensimmäisen tason TLBihin mahtuu maksimissaan optimitilanteessa 96 ja 128 kiB kokoisten muistialueiden osoitteet, toisen tason TLBihin megatavun kokoisten muistialueiden osoitteet.

[muokkaa] Aiheesta muualla

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu