반응형
TLB에 대해서 다른 포스팅에도 적어놨는데
좀 더 자세히 알고 싶다면 참고하길 바란다.
아래 내용과 대부분 겹치기 때문에 아래 포스팅만 읽어도 된다. 간단히 알길 원하면 아래 포스팅은 스킵하면 된다.
2022.08.24 - [내가 하는 공부/Arm] - Arm TLB란? ( page table, 48bit 가상 공간, virtual memory, ASID , TTBR )
TLB ( Translation Look-aside Buffer )
page table는 메인 메모리에 존재하는데 그렇다면 CPU는 메인 메모리에 최소 2번은 접근해야 원하는 데이터를 얻을 수 있다.
1. page table에 한번 접근
2. page table을 기반으로 실제 메모리로 접근
그러니 이런 메모리의 접근을 줄이고자 나온 게 TLB ( Translation Look-aside Buffer )다. 하드웨어적으로 지원하여 page table의 임시저장 cache 역할을 한다.
TLB는 최근에 읽었던 page table을 매핑하여 저장하는데 굉장히 작다. 64 ~ 1024 entry정도다. 왜냐면 TLB에 있으면 메모리에 접근하기 전에 막아야 하기 때문에 크기를 작게 하여 속도를 높였다.
간단히 흐름을 보면,
CPU에서 나온 정보를 가지고 TLB를 탐색하고, 있다면 바로 물리 주소에 접근하고, 없다면 page table로 들어간다.
core별로 각각 level cache에 매핑되어 TLB가 존재한다.
반응형
'반도체 그 다음 학문 > 운영체제 (OS)' 카테고리의 다른 글
운영체제 Virtual Memory ( 필요한 이유 ) (0) | 2022.06.08 |
---|---|
운영체제 Swapping ( page in, page out ) (0) | 2022.06.08 |
운영체제 paging 페이징 ( page란, page table, TLB가 나온 이유, page table entry ) (0) | 2022.06.08 |
운영체제 Memory Allocation (논리메모리, 물리메모리, Dynamic Loading, paging이 나온 이유 ) (0) | 2022.06.08 |
운영체제 LRU ( Least Recently Used, FIFO, Belady's Anomaly, Page and Frame Replacement Alogorithms ) (0) | 2022.06.07 |
댓글