안녕하세요.


오늘도 MMU에 대하여 공부해 보겠습니다.

페이지 테이블 워크


페이지 테이블 워크는 


TLB 미스를


처리하는


과정을 말하는 것이였죠?


기억 나시나요~?


TLB 미스가 발생하면 MMU는 페이지 테이블에 접근하는데,


L1 마스터 테이블을 접근하면,


1단 페이지 테이블 워크가 발생하며,


L2 페이지 테이블에 접근하면,

2단 페이지 테이블 워크가 


발생합니다 ^^

1. 1단 페이지 테이블 워크


MMU가 L1 페이지 테이블에 접근하면,


1단 페이지 테이블 워크


를 한다고 공부했습니다.


1단 페이지 테이블 워크는 무엇을 하는 것일까요?


어렵게 한번 말해 보겠습니다.


MMU는 


L1 마스터 페이지 테이블에서 


4096개의 엔트리 중 하나를 선택하기 위해 


주소의 비트 [31:20]을 사용하게 


됩니다.


페이지 테이블 엔트리 안에 있는 데이터는 


TLB로 변환되며 


물리 주소는 이것과 가상 주소의 오프셋 부분과의 조합에 의해 


변경 됩니다.


캬~ 정말 무슨 말인지 하나도 모르겠네요!! ㅠㅠ


쉽게 한번 적어 볼까요?


MMU가 


4096개나 되는 L1 마스터 페이지 테이블에서,


특정 페이지 테이블을 접근하기 위해 


가상 주소(32비트) 중 31번째 비트부터 20번째 비트[31:20]를 


사용합니다.


페이지 테이블 엔트리 안에 있는 데이터는


TLB로 복사가 되며,


물리주소는 


TLB와 


가상 주소의 오프셋 

조합의 의해 변환 된다.


정도로 쉽게(?) 말할 수 있습니다 ㅠㅠ


좀 더 이해를 돕기 위해 주절주절 적었지만..


뭔가 더 복잡 하기도 하네요 ㅠㅠ

2. 요악


오늘은 1단 페이지 테이블 워크에 대하여 공부 했습니다.


공부한 내용을 요약하자면,


1. 페이지 테이블 워크는 1단계와 2단계가 있다.


2. 1단 페이지 테이블 워크를 이용해 가상 주소를 물리 주소로 변환할 수 있다.


3.  MMU는 L1 마스터 페이지 테이블로 접근하기 위해 가상 주소의 31~20 비트를 이용한다.


위 3가지로 요약해 볼수 있습니다. 

앞으로?

 

다음에는 2단 페이지 테이블 워크에 대하여 공부해 봐야겠지요!?


그럼 다음 시간에는 2단 페이지 테이블 워크에 대하여 공부해 보겠습니다 ^^