首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高速缓存一致性协议AMD Opteron芯片(MOESI?)

高速缓存一致性协议AMD Opteron芯片(MOESI?)
EN

Stack Overflow用户
提问于 2011-07-27 21:38:26
回答 1查看 571关注 0票数 4

如果我可以从一个例子开始。

假设我们有一个由4个插槽组成的系统,其中每个插槽有4个内核,并且每个插槽都有2 2GB内存ccNUMA (高速缓存一致性非一致内存访问)类型的内存。

假设运行的4个进程都在每个套接字上,并且都在P2的RAM中分配了一些共享内存区,表示为SHM。这意味着对该区域的任何加载/存储都会引起对P2目录的查找,对吗?如果是这样,那么.当这种查找发生时,就延迟而言,这等同于访问RAM吗?这个目录的物理位置是什么?(见下文)

举一个更具体的例子:假设P2在SHM上执行加载,数据被带到P2的L3缓存中,标记为'(O)wner‘。此外,假设P4在同一SHM上执行加载。这将导致P4查找P2的目录,由于数据被标记为P2所有,因此我的问题是:

P4是从P2的内存中获取SHM,还是总是从P2的L3缓存中获取数据?

如果它总是从L3缓存中获取数据,那么直接从P2的内存中获取数据不是更快吗?因为它已经在P2目录中进行了查找?我的理解是,目录实际上位于RAM的顶部。

如果我严重误解了这里发生的事情,我很抱歉,但我希望有人能帮助澄清这一点。

另外,有没有关于这样的目录查找有多快的数据?在数据检索方面,是否有关于此类查找的平均延迟的文档?L3读取命中、读取未命中、目录查找的周期是多少?等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-06 21:33:55

这取决于Opteron处理器是否实现了HT辅助机制。

如果没有,那么就没有目录。在您的示例中,当P4发出加载时,内存请求将到达P2内存控制器。P2将使用缓存线进行应答,还将向其他两个核心发送探测消息。最后,这另外两个核心将用确认应答P4,表示它们没有高速缓存线的副本。

如果启用了HT辅助(通常用于6核和更高的插槽),则每个L3缓存都包含一个监听过滤器(目录),用于记录哪些内核保持一行。因此,在您的示例中,P4不会向其他两个核心发送探测消息,因为它会查找HT辅助目录,以发现没有其他人拥有该行的副本(这是一种简化,因为该行的状态将是独占的,而不是拥有的,并且不需要查找目录)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6845267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档