답변:
프로세서 (프로세서 시리즈뿐만 아니라 모델마다 다를 수 있음)와 운영 체제에 따라 다르지만 일반적인 원칙이 있습니다. 프로세서가 멀티 코어인지 여부는이 측면에 직접적인 영향을 미치지 않습니다. 동일한 프로세스가 여러 코어에서 동시에 실행될 수 있으며 (멀티 스레드 인 경우) 프로세스간에 메모리를 공유 할 수 있으므로 컨텍스트 스위치에서 발생하는 상황에 관계없이 캐시 동기화를 피할 수 없습니다.
프로세서가 캐시에서 메모리 위치를 검색 할 때 MMU 가있는 경우 해당 위치의 실제 주소 또는 가상 주소를 사용할 수 있습니다 (때로는 둘 다의 조합도 가능하지만 실제로는 관련이 없습니다).
실제 주소를 사용하면 어떤 프로세스가 주소에 액세스하는지는 중요하지 않으며 내용을 공유 할 수 있습니다. 따라서 컨텍스트 전환 중에 캐시 컨텐츠를 무효화 할 필요가 없습니다. 두 프로세스가 다른 속성과 같은 물리적 페이지를 매핑하는 경우이의 (a 역할을하는 MMU에 의해 처리됩니다 MPU (메모리 보호 장치)). 물리적으로 처리 된 캐시의 단점은 MMU가 프로세서와 캐시 사이에 있어야하므로 캐시 조회 속도가 느리다는 것입니다. L1 캐시는 물리적 주소가 거의 없습니다. 더 높은 수준의 캐시가있을 수 있습니다.
동일한 가상 주소는 다른 프로세스에서 다른 메모리 위치를 나타낼 수 있습니다. 따라서 가상 주소가 지정된 캐시를 사용하면 프로세서와 운영 체제가 협력하여 프로세스가 올바른 메모리를 찾도록해야합니다. 몇 가지 일반적인 기술이 있습니다. 운영 체제에서 제공하는 컨텍스트 전환 코드는 전체 캐시를 무효화 할 수 있습니다. 이것은 정확하지만 비용이 많이 듭니다. 일부 CPU 아키텍처에는 캐시 라인에 ASMU (주소 공간 식별자)를위한 프로세스 버전의 하드웨어 버전 인 MMU에서도 사용할 수있는 공간이 있습니다. 이렇게하면 캐시 항목을 다른 프로세스와 효과적으로 분리 할 수 있으며 같은 페이지를 매핑하는 두 프로세스가 동일한 실제 페이지에 대해 일관되지 않은보기를 갖게됩니다 (일반적으로 공유 페이지를 나타내는 특수한 ASID 값이 있음) 그러나 매핑 된 모든 프로세스에서 동일한 주소에 매핑되지 않은 경우 플러시해야합니다. 운영 체제가 서로 다른 프로세스가 겹치지 않는 주소 공간을 사용하도록 관리하는 경우 (가상 메모리 사용의 일부 목적을 상실하지만 때때로 수행 될 수 있음) 캐시 라인은 계속 유효합니다.
MMU가있는 대부분의 프로세서에도 TLB가 있습니다. TLB는 가상 주소에서 실제 주소로의 매핑 캐시입니다. 가능한 경우 물리적 주소를 신속하게 결정하기 위해 물리적 주소 캐시에서 조회하기 전에 TLB에 문의합니다. 프로세서는 캐시 라인에서의 오프셋을 결정하는 비트들과 페이지를 결정하는 비트들 사이에서, 어드레스의 중간 비트들로부터 후보 캐시 라인들이 종종 식별 될 수 있기 때문에, TLB 룩업이 완료되기 전에 캐시 룩업을 시작할 수있다. 캐시 적중이있는 경우 가상 주소가 지정된 캐시는 TLB를 우회하지만, 프로세서가 누락 된 경우 캐시를 쿼리하는 동안 TLB 조회를 시작할 수 있습니다.
TLB 자체는 컨텍스트 전환 중에 관리되어야합니다. TLB 항목에 ASID가 포함되어 있으면 그대로 유지할 수 있습니다. 운영 체제는 ASID의 의미가 변경된 경우 (예 : 프로세스가 종료 된 경우)에만 TLB 항목을 플러시하면됩니다. TLB 항목이 전역 인 경우 다른 컨텍스트로 전환 할 때 무효화되어야합니다.
캐시는 일반적으로 컨텍스트 전환을 잊어 버립니다. 액세스되는 일련의 메모리 주소 만 대체 할 캐시 라인을 결정합니다.
대체 정책은 일반적으로 제조업체 및 특정 마이크로 아키텍처에 따라 발견 적 방법입니다. 문제는 휴리스틱이 미래를 예측할 수 없으므로 다음에 캐시 주소에 액세스 할 주소를 결정합니다.
휴리스틱은 LRU (최근에 사용)처럼 단순 할 수 있습니다. 그러나 최신 CPU에서는 휴리스틱이 더 복잡합니다.
상기 봐 인텔 ® 64 및 IA-32 아키텍처 소프트웨어 개발자 설명서 제 3 권 제 11 장하면 메모리 캐시와 캐시 제어 메커니즘을 설명합니다. AMD는 AMD64 아키텍처 프로그래머 매뉴얼 제 2 권 : 시스템 프로그래밍의 7 장에 있습니다. ARM 기반 CPU의 경우 PDF는 등록 된 고객 만 사용할 수있는 것 같습니다.