TLB(Translation Lookaside Buffer)

OS/Theory 2016. 4. 18. 09:30

<TLB(Translation Lookaside Buffer)>

TLB는 고속 캐시의 일종 (Associative Memory)이며, (KEY)값으로 찾고자 하는 워드를 동시에 접근하는 연관 메모리로서 검색이 빠른 반면 비싼 하드웨어이다.

최근에 빈번하게 검색된 엔트리들을 TLB에 넣되, 페이지 번호(p)를 키 값으로 동시 검색하므로 TLB에 저장되는 각 엔트리는 페이지 번호도 함께 표시되어 있어야 한다.

 



 

가상 주소의 p를 키 값으로 먼저 TLB부터 검색하며, 이때 페이지 번호를 p로 가지고 있는 엔트리가 있을 경우 그 엔트리에 적혀 있는 프레임 번호를 가지고 실주소에 이른다. TLB의 검색에서 모든 엔트리에 표시된 화살표는 동시에 검색한다. (메모리상의 페이지 테이블과의 차이 -> 빠름)

TLB에서 p를 가지는 엔트리의 검색에 실패하면 메모리에 있는 페이지 테이블로부터 사상이 진행되어 실주소를 얻게되고, 이 엔트리는 TLB에 추가시킨다.

 


TLB에서의 검색 성공 확률을 적중률(hit ratio)이라 한다.

소량의 크기라도 90% 이상은 나올 수 있다는 실험 결과가 있다.

ex) TLB 검색과 메모리 접근에 각각 20100 나노 초(Nanosecond)가 걸리고, 적중률을 90%라 했을 때, 실주소로 메모리를 접근하는데 걸리는 시간 (실접근 시간(Effective Access Time))

0.9 × 120(TLB 접근 + 실주소 접근) + 0.1 × 220(TLB 접근 + 사상 테이블 접근 + 실주소 접근) =130 나노 초가 되므로 TLB를 사용하지 않을 경우의 200 나노 초보다 빠르다는 것을 알 수 있다.

 



Copyright2014 By 휴먼사이언스

 

'OS > Theory' 카테고리의 다른 글

2단계 페이징 사상, 역 페이지 테이블 사상  (0) 2016.04.19
페이지의 보호와 공유  (0) 2016.04.19
페이징(Paging)  (0) 2016.04.17
가상 메모리(Virtual Memory)  (0) 2016.04.17
메모리 관리  (0) 2016.04.16
posted by 경원구