对于英特尔,我使用:
mov, eax, 2h
cpuid
它给出了“描述符解码值” - 确定;
对于AMD,我使用:
mov, eax, 80000005h
cpuid
它给出了eax中4MB的关联性和条目(ebx中为4KB)。
这是:
EAX = FF30FF10 EBX = FF30FF20“ FF - 完全关联。数据,48d条目数据,FF - 完全关联。 instr,16d条目instr
所以我有4KB和4MB或者什么?
P.S。我是对的TLB页面和L1缓存 - 不同的东西?或者也许是L1 instr。缓存大小是我需要的吗?
答案 0 :(得分:0)
这个entry on wikipedia可以帮助您消除对不同TLB大小的一些混淆。它位于“多TLB”标题下:
例如,英特尔的Nehalem微体系结构有一个四路组关联L1 DTLB,其中64个条目用于4 KiB页面,32个条目用于2/4 MiB页面,一个L1 ITLB具有128个条目用于4 KiB页面使用四向关联性2/4 MiB页面的14个完全关联条目(ITLB的两个部分在两个线程之间静态划分)1和4个KiB页面的统一512条目L2 TLB,[2]都是4路关联。 [3]