Skip to main content

Vad är Cache Coherence?

Cache Coherence är det naturliga problemet som utvecklas när en systemdatauppsättning nås och förändras av flera medel.Det primära området för datorarkitektur där detta blir ett problem är i multiprocessordatorer.Varje processor i en multiprocessordator har sin egen cache som laddar och lagrar information från RAM -minnet (RAM).När två processorer har tillgång till samma minnesområde skulle cache -koherensen gå förlorad om vissa försiktighetsåtgärder inte vidtogs.

Utan cache -sammanhållning skulle ett multiprocessorsystem inte kunna fungera.Det finns flera metoder som har utvecklats för att ta itu med detta problem och undvika potentiella problem.Katalogbaserad koherens, snooping och snarfing är tre metoder som används för att förhindra förlust av cache-koherens.

Katalogbaserad koherens fungerar som ett filter för att säkerställa koherens.Data placeras i en del av minnet som är tillgängligt för alla processorer.När informationen som lagras inom det minnesområdet kommer systemet att uppdatera cacharna eller ogiltigförklara dem.

Snooping kräver att processorn övervakar alla åtkomst till minnesplatserna som har cachat.Detta gör det möjligt för processorn att veta när en skrivoperation har inträffat.Genom att veta när en skrivoperation inträffar kan processorn uppdatera sin cache.

Snarfing är ganska lik snooping.SNARFING innebär inte bara att övervaka åtkomsterna till minnesplatser som har cachat utan också övervakning av den faktiska informationen som lagras i minnet.När ett minnesskrivning inträffar kan cachen uppdateras med den nya informationen.

Katalogbaserade koherenssystem har en relativt hög latens, vilket resulterar i långsammare bearbetning.Krav på lägre bandbredd gör det möjligt för katalogbaserade koherenssystem att vara praktiska i storskaliga tillämpningar av cache-koherens.Ju fler processorer som ett system använder, desto fler fördelar kan det ha genom att använda ett katalogbaserat koherenssystem.

Snooping är en mycket snabbare metod.Denna metod kräver mer bandbredd än den katalogbaserade metoden.Denna metod kan användas effektivt i system som har relativt få processorer.

Snarfing används vanligtvis inte som en metod för att upprätthålla cache -sammanhållning.Detta beror främst på att SNARFING kräver att fler resurser ska användas jämfört med både snooping- och katalogbaserade metoder.För att ett SNARFING -system ska fungera måste det hålla reda på både minnesadresserna och de data som lagras i de områden i minnet.Mängden bandbredd och bearbetning som tas upp av denna metod gör det oönskat för de flesta tillämpningar av att upprätthålla cache -sammanhållning.