본문 바로가기
미국 개발자/HOOTips

[Programming] TLB(Translation Lookaside Buffer)

by Henry Cho 2022. 3. 23.
728x90

TLB(Translation Lookaside Buffer)


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# Translation Lookaside Buffer

TLB는 Translation lookaside buffer의 줄임말로써 Processor에 포함된 기능 중 하나이다.

Program을 실행하고 운영하는 과정에서 바로 Physical addresses로 데이터가 전달되는 것이 아니라 Virtual memory를 통해 Physical addresses들로 전달이 이루어진다.

이 과정에서 TLB는 최근에 이루어진 과정을 기록해놓고 추후에 같은 작업을 반복할 때 빠르게 작업을 수행할 수 있도록 도움을 준다.

한마디로 TLB는 물리적 메모리의 위치를 빠르게 참조할 수 있도록 도와주는 역할을 담당한다는 것이다.

따라서 TLB는 memory cache의 한 종류라고 생각하면 된다.

TLB에서 특정 메모리 주소를 확인할 수 없을 경우 Crawling 과정을 거쳐서 특정 주소를 검색한다.

이후에 가상 메모리가 변환되고 참조된 값이 TLB에 추가가 된다.

TLB에서 특정 값을 검색할 수 있다는 것은 결과적으로 특정 메모리 주소를 빠르게 확인할 수 있다는 것이기에 가상 메모리 작업 속도를 높여주는 효과를 가져온다.

또한 여러 Users가 사용하는 컴퓨터의 경우에는 관리자와 사용자 간의 read, write에 대한 권한을 부여함으로써 메모리를 사용하는데 별도로 유지할 수 있게 도와준다.

TLB는 Multitasking이나 code error 문제로 기능적 문제가 발생할 수도 있는데 이러한 기능 저하 문제를 Cache Thrash라고 부른다.

 


728x90

댓글