Нужно "Определить размер страницы буфера ассоциативной трансляции команд" с помощью cpuid.
С intel-ом понятно, там по дескриптору выбирать описание.
А с AMD не до конца понял. Написано, что в EAX будет:
15:8 instruction TLB associativity for 2 MB and 4 MB pages
7:0 instruction TLB number of entries for 2 MB and 4 MB pages
В EBX тоже самое, но для 4KB страниц.
В ECX и EDX для L1 кэша.
Делаю:
Получаю:
Показывает инфу и про 2-4MB и про 4KB. То есть поддержка и того и другого.
Но что из этого ответ на поставленный вопрос?
Или просто писать, что 4MB\4KB если в соответствующем регистре выдало инфу.
На стэковерфлоу сказали, что "TLB cache sizes are 64 items L1" - как это понимать)
С intel-ом понятно, там по дескриптору выбирать описание.
А с AMD не до конца понял. Написано, что в EAX будет:
15:8 instruction TLB associativity for 2 MB and 4 MB pages
7:0 instruction TLB number of entries for 2 MB and 4 MB pages
В EBX тоже самое, но для 4KB страниц.
В ECX и EDX для L1 кэша.
Делаю:
Код:
mov eax, 80000005h
cpuid
Код:
EAX = FF30FF10 EBX = FF30FF20"
FF - full assoc. data, 48d entries data, FF - full assoc. instr, 16d entries instr
Показывает инфу и про 2-4MB и про 4KB. То есть поддержка и того и другого.
Но что из этого ответ на поставленный вопрос?
Или просто писать, что 4MB\4KB если в соответствующем регистре выдало инфу.
На стэковерфлоу сказали, что "TLB cache sizes are 64 items L1" - как это понимать)