我对CPU-cache 和 Physical address 之间的“别名”的含义有些困惑。首先,我在 Wikipedia 上找到了它的定义:
然而,VIVT存在别名问题,其中几个不同的虚拟地址可能引用同一个物理地址。另一个问题是同音异义词,其中相同的虚拟地址映射到几个不同的物理地址。
但过了一会儿,我在 DAC'05 的演示文稿(ppt)上看到了不同的定义:“具有虚拟内存的嵌入式处理器的节能物理标记缓存”
缓存别名和同义词:
别名:来自不同上下文的相同虚拟地址映射到不同的物理地址同义词:不同的虚拟地址映射到相同的物理地址(数据共享)
由于我不是母语人士,我不知道哪个是正确的,尽管我觉得 Wiki 的定义是正确的。
编辑:
CPU缓存中的“aliasing”概念通常是“同义词”,相反是“同义词”。在更通用的层面上,“混叠”是“混乱”或“混乱”或类似的东西。所以在我看来,“混叠”恰好意味着 (X->Y) 的映射是“非双射的”,其中
“X” = 已缓存的物理地址单元的子集。(每个元素是一行字节)
“Y” = 有效缓存行的集合。(元素a也是“线”)