Osoiteavaruus
Osoiteavaruus(myösmuistiavaruus)tietotekniikassatarkoittaa yksilöllisten osoitteiden määrän laajuutta.
Laajuuden ilmoittamisessa normaalisti kerrotaan montakobittiäosoitteeseen ilmaisuun käytetään.Tavunollessa pienin osoitettavissa oleva yksikkö, muistiavaruuden koko on kaksi potenssi osoitteen koko. Esimerkiksi 32-bittisessä osoiteavaruudessa osoitettavissa olevan muistin määrä: 232= 4 gigatavua.
Suoritin voi tukea sisäisesti osoiterekisterissä32-bittistä osoiteavaruutta, mutta ulkoisen muistiväylänleveys voi olla pienempi kustannuksissa säästämiseksi. Esimerkiksi ensimmäinenMotorola 68000 -sarjansuoritin tuki sisäisesti 32-bittistä avaruutta mutta ulkoisesti pystyi osoittamaan vain 16-bittistä avaruutta.
Käyttöjärjestelmäusein jakaa muistinytimenja käyttäjän osoiteavaruuksiin. Ydin voi käyttää fyysisiä osoitteita (laitteiden oikeat osoitteet) ja käyttäjäsovellukset loogisia osoitteita, joiden käsittelyssä auttaamuistinhallintayksikkö.
Tietokoneen osoittamassa muistiavaruudessa voi olla aukkoja (memory hole), joka on varattu laitteistolle. Käyttöjärjestelmä voi käyttää tätä aluetta tiedon välitykseen laajennuslaitteille. Suorittimet tyypillisesti tukevat suurempaa osoiteavaruutta kuin mitä tietokoneessa voi fyysisesti olla kerralla. Tämä kapasiteetti voidaan hyödyntäänäennäismuistissa,jossa varsinainen sisältö vaihdetaan levyltä keskusmuistiin tarvittaessa.
Tietokoneissa laajennuslaitteilla voi olla oma muistiavaruutensa eivätkä ne näe tietokoneenkeskusmuistiasuoraan tai lainkaan riippuen järjestelmän toteutuksesta. Oikosiirron(DMA) tapauksessa muistikäsittelyn on huomioitava että laajennuslaitteella voi olla rajoittuneempi kyky osoittaa muistia (pienempi osoiteavaruus) kuin tietokoneen omalla suorittimella.
HSA-arkkitehtuuri(engl.Heterogeneous System Architecture) laitteissaCPUjaGPUvoivat jakaa saman muistiväylän ja käyttää samaa muistia. Tämä vähentää mahdollisia muistisiirtoja ja voi parantaa suorituskykyä. EsimerkkinäPlayStation 4.
Historia
[muokkaa|muokkaa wikitekstiä]Alkujaantietokoneenmuistilleei ollut abstraktiota:tietokoneohjelmaoli tietyssäfyysisessäosoitteessa ja oli ainoa suoritettava ohjelma (prosessi).[1]Moniohjelmoinninmyötä aiemmat olettamukset eivät enää pitäneet paikkaansa ja ohjelmaa voitiin vaihtaa milloin vain, muun muassa tietokoneen odottaessa IO-järjestelmän toimintaa.[1]Myösosituskäytönjainteraktiivisuudenmyötä tuli tarve jakaa muisti osoitevaruuksiin sekä lisätä näiden välisiä suojauksia.[1]
Katso myös
[muokkaa|muokkaa wikitekstiä]Lähteet
[muokkaa|muokkaa wikitekstiä]- ↑abcArpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.:The Abstraction: Address Spaces(PDF)pages.cs.wisc.edu.Viitattu 1.3.2020.(englanniksi)