阅读 87

名字重名,2行1列解析异常

摘要处理器访问存储器时,要访问的所有地址都是虚拟地址,经过TLB和MMU的映射后就是物理地址。 TBL仅用于加快从虚拟地址到物理地址的转换过程。 获得物理地址后,如果每次直接从物理存储器中读取数据,明显会变慢。 实际上,处理器配置了多级高速缓存以加快对数据的访问。

物理高速缓存处理器查询MMU和TLB以获得物理地址,然后使用物理地址查询高速缓存。 这个缓存称为物理缓存。

缺点:使用物理高速缓存的缺点是,在处理器查询MMU和TLB之前,无法访问高速缓存,从而增加了管线延迟时间。

物理缓存的工作流程如下图所示。

虚拟缓存

如果处理器使用虚拟地址寻址高速缓存,则将其称为虚拟高速缓存。 处理器在指定地址时,首先将虚拟地址发送到缓存,如果发现缓存所需的数据,就不需要访问TLB或物理存储器。

缺点:引入问题。 1 .重名(aliasing )问题,2 .同名(homonyms )问题

虚拟缓存的流程图:

总结:

1 .无论是物理缓存还是虚拟缓存,实际上都是缓存。 这里使用虚拟/物理来区分查询缓存的类别。

2 .在查询TLB之前,查看缓存是否已命中。

重名(Aliasing)问题操作系统上,多个不同的虚拟地址可能会映射同一个物理地址。 由于采用了高速缓存体系结构,这些不同的虚拟地址占用高速缓存中不同的高速缓存行,但它们对应于同一物理地址。

示例: VA1和VA2都映射到PA,cache上有两条cache line缓存VA1和VA2。 当程序向VA1写入数据时,VA1对应的缓存行和PA的内容会发生更改,但VA2中存储的是旧数据。 这样,一个物理地址中有两个数据存储在缓存中,因此会产生歧义。

同名问题是相同的虚拟地址对应于不同的物理地址。 操作系统中的不同进程有许多相同的虚拟地址,MMU转换后会得到不同的物理地址,从而导致同名问题。

同名问题最常见的地方是过程切换。 当一个进程切换到另一个进程时,如果新进程使用虚拟地址访问缓存,则新进程将访问旧进程留下的缓存。 这个缓存数据对新流程来说是错误的,也是徒劳的。 解决方案是禁用在进程切换时保留在旧进程中的缓存。 这将确保在运行新进程时有干净的虚拟缓存。

缓存分类

虚拟地址索引域和虚拟地址标记域中的虚拟缓存(vivt ) :等效于虚拟缓存。

物理解释标签(pipt ) :使用物理地址的索引字段和物理地址的标记字段等效于物理缓存。

虚拟链路扩展标记(vipt ) :使用虚拟地址索引和物理地址标记域。

VIPT的动作流程

处理器输出的虚拟地址同时执行两件事。

向TLB/MMU发送虚拟地址,进行地址翻译。

2 .在缓存中进行索引和查询缓存。

在结束了上述两个事情之后,从1获得PFN,获得物理地址的标签域(PT ),从2获得缓存的标签域(tag ),比较这两个标签域,如果相等,则意味着命中了缓存

VIPT的重复问题

如果采用VIPT方式,也有可能引起缓存重复名称的问题。 VIPT使用虚拟地址的索引域来搜索cache组。 在这种情况下,多个cache组可能映射到同一物理地址。 以linuxkernel为例,由于将4KB大小作为一个页面进行管理,所以对于一个页面来说,虚拟地址和物理地址的低位12位(bit )是相同的。 因此,不同的虚拟地址映射到同一物理地址,这些虚拟地址页的后12位相同。 如果索引域位于bit[11:0]范围内,则不会出现缓存重复名称。 例如,如果cacheline为32Byte,则5bit用于数据域的偏移offset,如果有128个cache组,则索引域使用7bit。 在这种情况下,不会出现重复名称。

VIPT的重复实例

以Linuxkernel为例,假设page为4KB,索引域为bit[12:0],缓存路径为8KB,则bit12索引缓存路径为

主题

在与32KB路组相关的cache中,cacheline为32Byte,请描绘此cache的cacheline、way、set的图像。

a )在Cortex-A7和Cortex-A9处理器中,可以看到cache与32KB大小的四路组相关联。 让我们分析一下这个cache的结构图。

cache的总大小为32KB,为4路,因此每路大小为8kb (way _ size=32/4=8) kb )

由于cache line的大小为32字节,因此一个过程中包含的cache line的数量为num_cache_line=8KB/32B=256


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐