Hukommelsessammenhæng

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 12. juli 2018; checks kræver 6 redigeringer .

Hukommelsessammenhæng er en  egenskab ved computersystemer, der indeholder mere end én processor eller kerne , der har adgang til ét hukommelsesområde , hvilket består i, at en hukommelsescelle ændret af én kerne/processor får en ny værdi for andre kerner/processorer.

I uniprocessor - systemer (mere strengt single -core ) håndteres hukommelsen af ​​en enkelt processorknude: kun én node kan læse data fra hukommelsen eller skrive data til hukommelsen. Efter at have skrevet en ny værdi til en hukommelsesplacering, der er tilgængelig på en adresse, vil læsning af data fra den samme placering hente den skrevne værdi (selvom der er caching til stede ).

I systemer med flere processorer ( multikerne ) arbejder flere processorknudepunkter samtidigt og kan samtidigt (parallelt) få adgang til én hukommelsesplacering (til læsning eller skrivning). Noder kan samtidigt læse en værdi fra én hukommelsesplacering, kan gemme læseværdien i deres cache. Så snart en af ​​noderne skriver en ny værdi til cellen, skal de værdier, der er gemt i den lokale hukommelse på andre noder, markeres som forældede. En mekanisme er nødvendig for at underrette alle noder om, at værdien, der er gemt i deres cache, er forældet; en sådan mekanisme kaldes memory coherence -protokollen .  Hvis et system bruger en sådan protokol, så siges systemet at have " kohærent hukommelse " ( eng. kohærent hukommelse ).  

Den nøjagtige karakter og betydning af kohærensmekanismen bestemmes af konsistens-/samhørighedsmodellen implementeret i protokollen. For at kunne skrive korrekte "parallelle" programmer, skal programmører være opmærksomme på præcis hvilken model/metode for cache-konsistens/kohæsion der bruges i deres systemer.

Hvis kohærens/synkroniseringsprotokollen er implementeret i hardware, kan programmører bruge bus sniffing til at finde ud af den anvendte konsistens/forbindelsesmodel , de kan læse specielle mappebaserede tabeller .  Et eksempel på en kohærensprotokol er MSI -protokollen ( eng. m odified , s hared, invalid ) ( eng. ) og dens varianter ( MESI ( eng. ), MOSI ( eng. ), MOESI , MESIF ).  

Se også

Litteratur

Links