关联性和页面大小如何限制虚拟地址缓存架构中的缓存大小?
特别是我在以下声明中寻找一个例子:
如果C≤(page_size x associativity),则缓存索引位仅出现
来自页面偏移量(虚拟地址和物理地址相同)。
答案 0 :(得分:0)
出于这个原因,英特尔CPU多年来一直使用8路关联32kiB L1D和64B线路。页数为4k,因此页面偏移量为12位,与构成缓存行中的索引和偏移量的位数完全相同。
有关如何让缓存避免像PIPT缓存这样的混叠问题的更多详细信息,请参阅“L1也使用速度技巧,如果它更大则不会起作用”段in this answer,但仍然如此快VIPT缓存。
这个想法是页面偏移下面的虚拟地址位已经是物理地址位。因此,以这种方式工作的VIPT缓存更像是一个PIPT缓存,可以自由转换索引位。