가상 메모리를 처리 할 때 종종 TLB를 사용합니다 (소프트웨어 관리 TLB에 대해 묻습니다). 가상 주소를 페이지 테이블에 연결하여 매핑되는 실제 주소를 가져 오는 대신 중간에 TLB를 사용하여 최근에 사용한 페이지를 저장할 수 있습니다.TLB는 어떻게 그렇게 빠른가요?
그렇다면 가상 주소를 가져 와서 TLB에 주소가 포함되어 있는지 확인하십시오. 가상 주소가 매핑되는 물리적 주소를 반환하는 경우 가상 주소에 매핑되지만 조회가 발생하지 않으면 페이지 테이블로 이동하여 해당 페이지를 TLB에로드하고 실제 주소를 반환합니다.
제 질문은 : 가상 주소를 항상 검색해야하는 경우 TLB가 너무 빠를 수 있습니까? 항목은 겉으로보기에 어떤 순서로도 나오지 않으므로 그들을 통과하는 것이 매우 느릴 것입니다.
문맥의 경우, 이것은 내 머리 속에있는 TLB 조회 이미지입니다 (그림은 Wikipedia에서 가져온 것입니다).
TLB는 하드웨어입니다. – user3344003
@ user3344003 나는 소프트웨어 관리 TLB를 의미했습니다. – Zyphicx
소프트웨어 관리 TLB는 여전히 하드웨어입니다 (인덱싱 및 병렬 검색이 가능한 [Content-addressable/associative memory (https://en.wikipedia.org/wiki/Content-addressable_memory)의 일부 버퍼). TLB 미스 만 소프트웨어로 관리됩니다. - https://en.wikipedia.org/wiki/Translation_lookaside_buffer#TLB_miss_handling "TLB 미스를 처리하기위한 두 가지 계획은 현대 아키텍처에서 흔히 볼 수 있습니다 : .. 하드웨어 TLB 관리 ... 소프트웨어 관리 TLB 사용" – osgx