2011-02-07 3 views
1

가상으로 32 비트 논리 주소가있는 2 단계 페이징 시스템이 있고 페이지 오프셋이 12 비트로 미리 결정되었다고 가정 해 봅시다. 이렇게하면 페이지 번호에 20 비트가 남습니다. 온라인 및 교과서에서 찾을 수있는 모든 예제는 페이지 번호가 10의 2 블록으로 나뉘어 표시되어 가상 주소가 다음과 같이 보입니다.2 레벨 페이징 시스템의 각 레벨에서 페이지 테이블 항목의 크기가 같아야합니까?

[p1 : 10-bits | p2 : 10 비트 | 오프셋 : 12 비트]

두 페이지 번호가 모두 10 비트 여야합니까? 예를 들어 다음과 같이 대신 할 수 있습니까?

[p1 : 8 비트 | p2 : 12 비트 | 오프셋 : 12 비트]

것과 같은 페이지 번호의 비트 홀수 사용에 관하여 :

[P1 : 9 비트 | p2 : 11 비트 | offset : 12-bit]

나는 이것들을 균등하게 나누어서 모든 것을 깨끗하게 정리할 수 있음을 이해한다. 나는 기술적으로 가능한 것이 무엇인지, 그리고 그것을 다르게 할 때 어떤 단점/이점이 있는지 알아 내려고 노력하고 있습니다.


* 전체 공개 : 그 자체가 숙제 문제가되지 않습니다이 질문에,하지만 숙제 문제를 해결하는 동안 발생한 질문. 나를 위해서 제 일을 할 사람을 얻으 려하지 않습니다. 가능한 일을 이해하려고 노력하고 어떤 방법 으로든 다른 방법으로 장점/단점이 있는지 파악하려고합니다.

답변

1

구현을 단순화하기위한 것 이외의 다른 크기가 필요하지는 않습니다. 실제로 x86과 같은 일부 시스템에서는 표시된 p2 필드가 여러 페이지 크기를 허용하기 위해 일부 페이지에서는 offset의 일부가 될 수 있고 다른 페이지에서는 표시되지 않을 수 있습니다.

+0

감사합니다. 아마도 그럴 것이라고 생각했지만 그렇지 않은 경우를 찾을 수 없었습니다. 잘못된 전제하에 문제를 해결하려고 시도하지 않았는지 확인하고 싶었습니다. –