Skip to main content

캐시 일관성이란 무엇입니까?

Cache Cache Coherence는 시스템 데이터 세트에 여러 에이전트가 액세스하고 변경할 때 발생하는 자연스러운 문제입니다.문제가되는 컴퓨터 아키텍처의 주요 영역은 멀티 프로세서 컴퓨터에 있습니다.멀티 프로세서 컴퓨터의 각 프로세서에는 RAM (Random Access Memory)에서 정보를로드하고 저장하는 자체 캐시가 있습니다.두 프로세서가 동일한 메모리 영역에 액세스하는 경우 특정 예방 조치를 취하지 않으면 캐시 일관성이 손실됩니다.

캐시 일관성이 없으면 멀티 프로세서 시스템이 작동 할 수 없습니다.이 문제를 해결하고 잠재적 인 문제를 피하기 위해 개발 된 몇 가지 방법이 있습니다.디렉토리 기반 일관성, 스누핑 및 스나 핑은 캐시 일관성의 손실을 방지하는 데 사용되는 세 가지 방법입니다.

디렉토리 기반 일관성은 일관성을 보장하기 위해 필터로 작동합니다.데이터는 모든 프로세서가 액세스 할 수있는 메모리의 일부 내에 배치됩니다.해당 메모리 영역 내에 저장된 정보가 변경되면 시스템은 캐시를 업데이트하거나 무효화합니다.스누핑은 프로세서가 캐시 된 메모리 위치에 대한 모든 액세스를 모니터링해야합니다.이를 통해 프로세서는 쓰기 작업이 언제 발생했는지 알 수 있습니다.쓰기 작동이 언제 발생하는지 알면 프로세서가 캐시를 업데이트 할 수 있습니다.

으르렁 거리는 스누핑은 스누핑과 매우 유사합니다.스나 핑에는 캐시 된 메모리 위치에 대한 액세스를 모니터링 할뿐만 아니라 메모리에 저장된 실제 정보를 모니터링하는 것이 포함됩니다.메모리 쓰기가 발생하면 캐시는 새로운 정보로 업데이트 될 수 있습니다.

디렉토리 기반 일관성 시스템은 비교적 높은 대기 시간을 가지므로 처리가 느려집니다.낮은 대역폭 요구 사항을 사용하면 디렉토리 기반 일관성 시스템이 캐시 일관성의 대규모 응용 프로그램에서 실용적 일 수 있습니다.시스템이 사용하는 프로세서가 많을수록 디렉토리 기반 일관성 시스템을 사용하면 더 많은 장점이 있습니다.이 방법은 디렉토리 기반 접근법보다 더 많은 대역폭이 필요합니다.이 방법은 프로세서가 상대적으로 적은 시스템에서 효과적으로 사용될 수 있습니다. snarfing은 일반적으로 캐시 일관성을 유지하는 방법으로 사용되지 않습니다.Snarfing은 주로 스누핑 및 디렉토리 기반 방법에 비해 더 많은 리소스를 사용해야하기 때문입니다.으르렁 거리는 시스템이 작동하려면 메모리 주소와 해당 메모리 영역에 저장된 데이터를 추적해야합니다.이 방법에 의해 채택 된 대역폭 및 처리량은 캐시 일관성을 유지하는 대부분의 응용 프로그램에 바람직하지 않습니다.