tlb
2021-02-26 本文已影响0人
周荣华zte
经常会有人问,经常访问的内存超过多大会出tlb miss,或者说超过多大就有必要启用巨页内存,启用何种规格的巨页内存,以Intel的Nehalem处理器为例,4k页面的L1 DTLB 有64条,最多覆盖256k内存,常用的数据内存超过256k就会经常触发一级tlb miss了。2/4 MiB巨页的是32条,也就是说数据用巨页可以覆盖64M或者128M。4k的L1 ITLB有128条,常用代码段超过512k就容易出miss了。14条巨页指令tlb支持28M或者56M的代码段。二级tlb有4k页面的缓存512条,相当于2M内存。
另外,上面这些tlb都是对单个核说的,实际上,Intel会把单个核虚拟成2个超线程,每个超线程能使用的itlb实际上只有一半,dtlb则是2个超线程共享使用的