변환 색인 버퍼
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Translation_Lookaside_Buffer.png/220px-Translation_Lookaside_Buffer.png)
변환 색인 버퍼(Translation Lookaside Buffer, TLB)는 가상 메모리 주소를 물리적인 주소로 변환하는 속도를 높이기 위해 사용되는 캐시로, 약칭은 TLB이다.[1] TLB는 최근에 일어난 가상 메모리 주소와 물리 주소의 변환 테이블을 저장하기 때문에 일종의 주소 변환 캐시라고 할 수 있다. TLB는 CPU와 CPU 캐시 사이, CPU 캐시와 메인 메모리 사이 등 여러 가지 다른 레벨의 캐시들 사이에서 주소를 변환하는데 사용할 수 있다. 현재 모든 데스크탑 및 서버용 프로세서는 하나 또는 그 이상의 TLB를 메모리 관리 하드웨어에 가지고 있다. 페이지 단위나 세그먼트 단위로 처리하는 가상 메모리를 사용하는 거의 모든 하드웨어는 TLB를 사용한다. CPU는 1차적으로 TLB에 접근하여 원하는 페이지가 존재하는지 탐색하고, TLB에 존재하지 않을 경우 MMU의 페이지 테이블을 참조한다.
개요
[편집]TLB는 페이지 테이블 또는 세그멘트 테이블의 항목들 중 일부를 미리 저장한다. 페이지 테이블에서는 각 항목이 가상주소와 그에 해당하는 물리주소를, 세그멘트 테이블에서는 가상 주소와 그에 해당하는 세그멘트 주소를 저장한다. 가상 메모리는 페이지 또는 세그멘트라고 하는 작은 단위로 쪼개서 사용된다. 페이지의 크기는 고정되어 있는 반면 세그멘트는 가변적인 사이즈를 갖는다. 페이지 테이블은 주로 메인 메모리에 저장되는데, 가상 페이지가 실제 물리주소에서 어느 곳에 저장되는지를 관리한다. 가상 주소를 찾을 때 페이지 테이블은 먼저 프레임을 찾고, 프레임과 페이지 오프셋 비트들을 결합해 실제 주소를 만들어내어 데이터를 읽기 위해 그 실제주소로 접근하게 된다. 가상주소를 도입하게 되면 이런 식으로 실제 데이터를 읽어내기 전에 먼저 페이지 테이블을 읽어야 하므로 메모리에 접근하는 시간이 두배로 늘어나게 된다. 이 시간을 줄이기 위해 도입한 것이 TLB이다. TLB는 페이지 테이블의 캐시 역할을 하고 테이블의 일부만을 저장한다.
같이 보기
[편집]각주
[편집]- ↑ Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), 《Operating Systems: Three Easy Pieces [Chapter: Faster Translations (TLBs)]》 (PDF), Arpaci-Dusseau Books
외부 링크
[편집]![]() |
이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |