Tietokoneen muistin hierarkia on käsite luoda yhteys eri tietokonemuistitasojen luokkien välille hierarkkisen rakenteen perusteella.
Hierarkkisen muistin rakentamistarpeen ydin on tarve tarjota laskentajärjestelmä (erillinen tietokone tai klusteri), jossa on riittävä määrä sekä toiminnallista että pysyvää muistia.
Tiettyjen tietueiden ( sisäiset prosessorin rekisterit , välimuisti , sivut ja tiedostot ) käyttötiheyden heterogeenisyyden vuoksi käytetään erilaisia teknisiä ratkaisuja, joilla on erinomaiset ominaisuudet, sekä tekniset että hinta ja paino ja koko. Pitkäaikainen tallennus kalliissa ultranopeassa ja jopa hajasaantimuistissa ei yleensä ole kannattavaa, joten tällaiset tiedot tallennetaan asemille - levylle , nauhalle , flashille jne.
Tietojen varmuuskopioinnin varmistamiseksi esimerkiksi turvallisuussyistä käyttäjät voivat luoda kirjastoja siirrettävälle tietovälineelle (esimerkiksi virtuaaliselle nauhakirjastolle tai levyryhmälle ) ja täyttää ne omilla eri muotoisilla tiedostoilla. Pääsy näihin tietoihin kestää pisimpään, mutta samalla niiden kapasiteetti on valtava.
Pohjimmiltaan tekniset ominaisuudet ovat väliaikaisia, eli mitkä aikakriteerit sopivat tiettyyn ratkaisuun. Nopean muistin tarvetta rajoittavat yleensä joko korkeat yleiskustannukset piirien toiminnan varmistamisessa tai korkea virrankulutus tai ratkaisun korkea hinta.
Erityyppiset muistit muodostavat hierarkian, jonka eri tasoilla on muisteja, joilla on eri pääsyajat, monimutkaisuus, kustannukset ja volyymi. Mahdollisuus rakentaa muistihierarkia johtuu siitä, että useimmat algoritmit käyttävät joka aikavälillä pientä tietojoukkoa, joka voidaan sijoittaa nopeampaan, mutta kalliiseen ja siksi pieneen muistiin (katso en:locality of reference ). Nopeamman muistin käyttö lisää laskentakompleksin suorituskykyä. Muisti tarkoittaa tässä tapauksessa tietojen tallennuslaitetta ( muistilaitetta ) tietojenkäsittelyssä tai tietokoneen muistissa .
Suorituskykyisiä tietokoneita ja järjestelmiä suunniteltaessa on tehtävä monia kompromisseja, kuten koko ja tekniikka kullekin hierarkian tasolle. Voit tarkastella joukkoa erilaisia hierarkiassa sijaitsevia muisteja (m 1 ,m 2 ,…,m n ), eli jokainen m i -taso on ikään kuin alisteinen hierarkian m i-1 -tasolle. Odotusajan lyhentämiseksi korkeammilla tasoilla alemmat tasot voivat valmistella dataa paloina puskuroimalla ja kun puskuri on täynnä, signaloida ylemmälle tasolle, että dataa voidaan vastaanottaa.
Usein hierarkialla on 4 päätasoa (suurennettu): [1]
Useimmat nykyaikaiset tietokoneet käyttävät seuraavaa muistihierarkiaa:
Useimmat ohjelmoijat olettavat yleensä, että muisti on jaettu kahteen tasoon, päämuistiin ja levymuistiin, vaikka kokoonpanokielillä ja kokoonpanoyhteensopivilla kielillä (kuten C ) on mahdollista työskennellä suoraan rekistereiden kanssa. Muistihierarkian hyödyntäminen vaatii ohjelmoijalta, laitteistolta ja kääntäjiltä yhteisiä toimia (sekä käyttöjärjestelmän perustukea):
Monet ohjelmoijat eivät ota huomioon monitasoista muistia ohjelmoiessaan. Tämä lähestymistapa toimii niin kauan kuin sovelluksen suorituskyky ei heikkene muistialijärjestelmän heikon suorituskyvyn vuoksi. Korjattaessa koodia ( refaktorointi ) on tarpeen ottaa huomioon muistihierarkian ylempien tasojen työn olemassaolo ja erityispiirteet parhaan suorituskyvyn saavuttamiseksi.
![]() |
---|