Muistin hierarkia

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 6. lokakuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .

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]

  1. Prosessorin sisäinen muisti ( rekisterit järjestetty rekisteritiedostoon ja prosessorin välimuistiin ).
  2. Järjestelmän RAM ( RAM ) ja lisämuistikortit.
  3. Hot-access-asemat (On-line-massamuisti) - tai toissijainen tietokoneen muisti. Kiintolevyt ja SSD-asemat , jotka eivät vaadi pitkiä (sekunteja tai enemmän) toimia tietojen vastaanottamisen aloittamiseksi.
  4. Asemat, jotka vaativat median vaihtamisen (off-line bulk storage) - tai kolmannen osan muistia. Tämä sisältää magneettinauhat , nauha- ja levykirjastot , jotka vaativat tallennusvälineiden pitkää kelausta tai mekaanista (tai manuaalista) vaihtoa.

Useimmat nykyaikaiset tietokoneet käyttävät seuraavaa muistihierarkiaa:

  1. Rekisteritiedostoon järjestetyt prosessorirekisterit  ovat nopeimpia (1 jakson luokkaa), mutta vain muutaman sadan tai harvoin tuhansia tavuja kooltaan.
  2. Taso 1 prosessorin välimuisti (L1) - useiden jaksojen luokkaa oleva käyttöaika, kymmeniä kilotavuja
  3. Prosessoritason 2 välimuisti (L2) - pidempi käyttöaika (2-10 kertaa hitaampi kuin L1), noin puoli megatavua tai enemmän
  4. Tason 3 prosessorin välimuisti (L3) - käyttöaika on noin sata jaksoa, joiden koko vaihtelee muutamasta megatavusta satoihin
  5. Tason 4 prosessorin välimuisti (L4) - useiden satojen syklien käyttöaika, kooltaan yhdestä useaan sataan megatavuun. Käytetään viidennen sukupolven Intel-prosessoreissa
  6. Järjestelmän RAM - käyttöaika satoista jopa tuhansiin jaksoihin, mutta valtavia kokoja, useista gigatavuista useisiin teratavuihin. RAM-muistin käyttöaika voi vaihdella sen eri osissa NUMA -luokan kompleksien tapauksessa (epätasainen muistin käyttö)
  7. Levymuisti  - useita miljoonia jaksoja, jos tietoja ei ole välimuistissa tai puskuroitu etukäteen, koko on useita teratavuja
  8. Tertiäärinen muisti - viiveet jopa useita sekunteja tai minuutteja, mutta käytännössä rajattomat määrät ( nauhakirjastot ).

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.

Katso myös

Kirjallisuus

Muistiinpanot

  1. Ty, siipi; Jep, Benjamin. Tietokonelaitteisto-/ohjelmistoarkkitehtuuri  (uusi) . - Bell Telephone Laboratories, Inc, 1986. - s  . 30 . — ISBN 0-13-163502-6 .