Program Club

TLB 슛 다운이란 무엇입니까?

proclub 2020. 11. 16. 22:21
반응형

TLB 슛 다운이란 무엇입니까?


SMP에서 TLB 슛 다운이란 무엇입니까?

이 개념에 대한 많은 정보를 찾을 수 없습니다. 어떤 좋은 예라도 대단히 감사하겠습니다.


간단한 예 :

  1. 시스템의 모든 프로세서에서 일부 메모리를 공유합니다.

  2. 프로세서 중 하나가 해당 공유 메모리의 페이지에 대한 액세스를 제한합니다.

  3. 이제 모든 프로세서는 TLB를 플러시해야하므로 해당 페이지에 액세스 할 수있는 프로세서는 더 이상이를 수행 할 수 없습니다.

TLB가 다른 프로세서에서 플러시되도록하는 한 프로세서의 동작을 TLB 슛 다운이라고합니다.


TLB (Translation Lookaside Buffer)는 가상 메모리 주소에서 실제 메모리 주소로의 변환 캐시입니다. 프로세서가 주소의 가상-물리적 매핑을 변경하면 다른 프로세서에게 캐시에서 해당 매핑을 무효화하도록 지시해야합니다.

이 과정을 "TLB 슛 다운"이라고합니다.


질문에 더 자세한 답변이 필요하다고 생각합니다.

페이지 테이블 : 가상 메모리 (소프트웨어)와 물리적 메모리 (하드웨어) 간의 매핑을 저장하는 데이터 구조

그러나 페이지 테이블은 매우 클 수 있으며 페이지 테이블을 탐색 (가상 주소의 해당 물리적 ​​주소를 찾기 위해)하는 작업은 시간이 많이 소요될 수 있습니다. 이 프로세스를 더 빠르게하기 위해 최근에 액세스 한 가상 메모리 주소를 저장하는 TLB (Translation Lookaside Buffer)라는 캐시가 사용됩니다.

분명히 알 수 있듯이 TLB 항목 은 항상 해당 페이지 테이블 항목과 동기화되어야합니다 . 이제 TLB는 코어 당 캐시 입니다. 모든 코어에는 자체 TLB가 있습니다.

페이지 테이블 항목이 코어 중 하나에 의해 수정 될 때마다 해당 특정 TLB 항목이 모든 코어에서 무효화됩니다. 이 프로세스를 TLB 슛 다운이라고합니다.

TLB 플러싱은 페이지 마이그레이션, 페이지 해제 등과 같은 페이지 테이블 항목을 변경하는 다양한 가상 메모리 작업에 의해 트리거 될 수 있습니다.

참고 URL : https://stackoverflow.com/questions/3748384/what-is-tlb-shootdown

반응형