سؤال

In x86-64, long mode, do the recent Intel/AMD microprocessors allow TLB to convert virtual to physical addresses of pages 4K, 2MB and 1GB (huge page) at the same time?

As I understand after reading the manuals, it is possible if you set:

bit PDPE.PS=1 in a few records in Page Directory Pointer Table to mark 1GB pages
bit PDPE.PS=0 and PDE.PS=1 in a few records in Page Directory Table to mark 2MB pages
bit PDPE.PS=0 and PDE.PS=0 in a few records in Page Directory Table to mark 4K pages

But I have never tried it, so before I start coding, could you tell me if it will work?

هل كانت مفيدة؟

المحلول

Yes, you can use different sizes at the same time. I think this is just a typo, but your question indicates PDPE.PS=0 and PDE.PS=1 for both the 2MB and 4kB pages. For the 4kB pages, both page size bits should be 0.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top