Vad är Cache Coherence?

cache koherens är det naturliga problemet som utvecklas när ett systems datamängd nås och förändras av flera agenter. 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 jagS lagrade inom det området för minne ändras, systemet kommer antingen 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. Lägre bandbreddskrav gör det möjligt för katalogbaserade koherenssystem att vara praktiska i storskaliga tillämpningar av cache-koherens. MMalmprocessorer 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 -koherens. 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 för att upprätthålla cache -sammanhållning.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?