Välimuistin johdonmukaisuus

Välimuistin koherenssi on välimuistien ominaisuus , mikä tarkoittaa jaetun  resurssin paikallisiin välimuistiin tallennettujen tietojen eheyttä. Välimuistin koherenssi on muistin koherenssin erikoistapaus .

Kun järjestelmän prosessit käyttävät välimuistia jaetuille resursseille, kuten muistille, tietojen epäjohdonmukaisuusongelmia voi ilmetä. Tämä pätee erityisesti moniprosessorijärjestelmän prosessoreihin . Välimuistin johdonmukaisuus on suunniteltu hallitsemaan tällaisia ​​ristiriitoja ylläpitämällä tietojen johdonmukaisuutta eri välimuistissa.

Koherenssi määrittää samaan muistipaikkaan lukemisen ja kirjoittamisen käyttäytymisen. Välimuistia kutsutaan koherentiksi, jos seuraavat ehdot täyttyvät [1] :

Näissä olosuhteissa luku- ja kirjoitustoimintojen oletetaan tapahtuvan hetkellisesti. Käytännössä näin ei kuitenkaan tapahdu muistiviiveiden ja muiden arkkitehtonisten ominaisuuksien vuoksi. Prosessorin tekemät muutokset eivät välttämättä näy prosessorille, jos luku tapahtuu hyvin pian kirjoittamisen jälkeen. Muistin johdonmukaisuusmalli määrittää, milloin kirjoitettu arvo tulee näkyviin, kun se luetaan toisesta säikeestä.

Välimuistin koherenssin mekanismit

Kolme päämekanismia välimuistin johdonmukaisuuden varmistamiseksi ovat hakemiston käyttö ( hakemisto ), seuranta ( snooping ) ja sieppaus ( snarfing ).

Hakemistoa käytettäessä tieto fyysisen muistilohkon tilasta on vain yhdessä paikassa, jota kutsutaan hakemistoksi (tässä tapauksessa hakemisto voidaan jakaa fyysisesti järjestelmäsolmujen kesken).

Seurantamekanismissa jokaisella välimuistilla, joka sisältää kopion jonkin fyysisen muistin lohkon tiedoista, on myös vastaava kopio palvelutiedoista sen tilasta. Keskitettyä kirjaamisjärjestelmää ei ole. Tyypillisesti välimuistit sijaitsevat jaetulla (jaetulla) väylällä, ja kaikkien välimuistien ohjaimet tarkkailevat (katsovat läpi) väylää määrittääkseen, sisältävätkö ne kopion vastaavasta lohkosta.

Sieppausta käytettäessä, kun yhdestä välimuistista kirjoitetaan dataa RAM:iin, muiden ohjaimet saavat signaalin tästä muutoksesta ("sieppaus" tiedon muutoksesta) ja muuttavat tarvittaessa vastaavaa dataa välimuistissaan.

Hajautetut jaetut muistijärjestelmät [ käyttävät samanlaisia ​​mekanismeja säilyttääkseen johdonmukaisuuden muistilohkojen välillä löyhästi kytketyissä järjestelmissä.

Protokollat ​​johdonmukaisuuden ylläpitämiseksi

Koherenssiprotokollat ​​vastaavat tietojen oikeellisuuden ylläpitämisestä kaikkien hajautetun jaetun muistijärjestelmän välimuistien välillä. Protokolla ylläpitää muistikoherenssia valitun koherenssimallin mukaisesti . Useimmat prosessorien laitteistoprotokollat ​​(mukaan lukien ne, jotka tarjoavat välimuistin koherentin epäyhtenäisen muistin käytön ) vastaavat peräkkäistä johdonmukaisuusmallia , ja ohjelmistojen hajautettujen muistijärjestelmien ohjelmistoprotokollat ​​toteuttavat useammin tulostuksen yhdenmukaisuuden ( englanninkielinen  julkaisun yhdenmukaisuus ) tai heikon konsistenssin ( englanniksi ) malleja.  heikko konsistenssi ).

Tärkeimmät mallit ja protokollat ​​välimuistin yhtenäisyyden tukemiseksi ovat:

Muistiinpanot

  1. Yan, Solihin. Rinnakkaisen moniydinarkkitehtuurin perusteet  (uuspr.) .
  2. 1 2 [1] Arkistoitu 3. heinäkuuta 2010 Wayback Machine Multi Processorsissa, niiden muistiorganisaatioissa ja Intelin ja AMD:n toteutuksissa
  3. Välimuistin periaatteet - rivin tilailmaisimet . Käyttöpäivä: 15. lokakuuta 2009. Arkistoitu alkuperäisestä 25. tammikuuta 2009.
  4. StackPath . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 16. helmikuuta 2019.
  5. Kuinka AMBA CCIX ja GenZ vastaavat palvelinkeskuksen tarpeisiin - Prosessorit -blogi - Prosessorit - Arm Community . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 12. joulukuuta 2019.
  6. GitHub - westerndigitalcorporation/omnixtend: Avoimen standardin välimuistin koherentin kankaan rajapinnan arkisto . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 26. elokuuta 2020.
  7. Arkistoitu kopio (linkki ei saatavilla) . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 22. helmikuuta 2019. 
  8. Google, SiFive ja WD Form Alliance kehittämään avoimia siruja ja SoC:ita . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 14. maaliskuuta 2019.
  9. Western Digital paljastaa SweRV RISC-V Core, Cache Coherency over Ethernet Initiativen . Haettu 12. maaliskuuta 2019. Arkistoitu alkuperäisestä 25. huhtikuuta 2019.

Kirjallisuus