【发布时间】:2014-08-29 18:34:06
【问题描述】:
L1 指令高速缓存包含.....指令。对于什么类型的指令,CPU 会从 icache 中获取指令,然后需要使用 L1 指令转换后备缓冲区 (iTLB) 查找虚拟地址?我可以看到为什么会提取一条指令,然后使用 L1 数据 TLB 来查找虚拟地址,但我不明白为什么要使用 iTLB?什么类型的 x86 指令会导致这种情况?
【问题讨论】:
-
全部。每当处理器到达新页面时。
-
但是包含当前指令的页面已经在内存中,因为该指令在 L1 指令中。缓存?
-
在内存中有一个页面并不能保证它的翻译在 TLB 中。计算您的内存中可以驻留多少页,并检查您的 iTLB 中有多少条目(如果有的话,甚至是二级 TLB)。
标签: x86 cpu paging cpu-architecture tlb