CS/OS

[운영체제] TLB ( Translation Lookaside Buffer )

IT록흐 2021. 11. 16. 10:12
반응형

 

가상 메모리 기법은 메모리 참조시,

논리주소를 동적으로 물리주소로 변환하여 참조한다.

 

최소 두 번의 참조가 발생한다.

 

1) 페이지 테이블 참조

2) 실기억장치 참조

 

두 번의 참조는 두 배의 메모리 접근 시간이

걸리도록 만든다. 

 

이 문제를 해결하기 위해 TLB( Tranlation Lookaside Buffer)

즉, 고속 캐시를 사용한다. 

 

 

TLB

 

 

 

TLB는 고속 캐시이다. 즉, 하드웨어다. TLB는 병렬판독회로(하드웨어)가 있어 원하는 페이지를 단번에 찾을 수 있다. 이를 연관사상이라 한다. 굉장히 빠르다. 

 

가장 최근에 참조된 페이지를 TLB에 저장한다. 특정 페이지가 필요 시, 먼저 TLB를 검사한다. 적중(HIT)하면 바로 물리주소로 변환하여 주기억장치에 접근한다. 적중(HIT)하지 않으면 OS는 페이지테이블을 검사해야한다. 

 

만약 페이지 테이블에도 없다면 페이지 폴트 처리 루틴을 수행해야한다. 

 

운영체제는 CPU에게 페이지를 반입(Fetch)하도록 명령하다.  CPU는 입출력장치를 활성화시키고 디스크에서 주기억장치로 페이지를 전송한다. 만약 주기억장치가 가득찼다면 페이지 교체가 수행된다. 페이지가 주기억 장치에 할당되면 페이지 테이블을 갱신한다. 

 

다시 CPU는 TLB 검사를 한다. TLB에는 아직 페이지 정보가 없다. 페이지 테이블을 검사하면 새로 반입된 페이지가 존재한다. 새로 참조된 페이지이므로 TLB를 갱신한다. CPU가 논리주소를 물리주소로 변환하면 과정은 끝이난다. 

 

 


 

 

참고자료

 

운영체제

컴퓨터 공학 전공자들을 위한 운영체제 내부구조 및 설계원리를 소개하는 책이다.

book.naver.com

 

반응형