gpt4 book ai didi

caching - 如何查看末级缓存中有多少个切片?

转载 作者:行者123 更新时间:2023-12-04 15:11:02 25 4
gpt4 key购买 nike

我在一篇论文中看到了对末级缓存的介绍。介绍中说末级缓存有很多片。每个切片就像一个传统的集合关联缓存。通过set index和slice id找到对应的cache set(如下图所示)。

enter image description here

我想检查我的服务器有多少个切片。以及每个分片的信息(有多少个cache set,每个cache set有多少cacheline)。我在google上搜索的方法是查看文件夹/sys/devices/system/cpu/cpu0/cache/index3下的缓存信息。

但是查了一下,发现这个文件夹下的介绍和l1、l2没什么区别。该文件夹下的文件有

coherency_line_size  level           physical_line_partition  shared_cpu_list  size  uevent
id number_of_sets power shared_cpu_map type ways_of_associativity

如何查看服务器上有多少个切片?此处显示的 number_of_sets 是否为切片缓存集?

我正在使用服务器。版本是:Linux version 4.15.0-122-generic (buildd@lcy01-amd64-010) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #124~16.04。 1-Ubuntu SMP。

最佳答案

哈斯韦尔和布罗德韦尔

以下处理器集合使用服务器非核心微架构:

  • 核心X
  • 至强E5
  • 至强E7

在这些处理器上,L3 缓存片的数量可以通过以下方式获得:

第 1 步:在 Linux 终端上运行以下命令:

setpci | grep Power

这会向您显示系统中每个处理器包的 PCU 的 PCI 设备功能列表。双 Xeon E5 v4 处理器系统上的示例输出如下所示:

df:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)

总线 df 上的设备功能在一个处理器上,而总线 ff 上的设备功能在另一个套接字上。唯一需要的信息是公交车号码。以总线df为例

第 2 步:运行以下命令:

sudo setpci -s df:1e.3 98.l

一个例子是 46000f2e。此值的位 0-23 表示位向量,其中位值为零表示启用的 L3 缓存片,位值为零表示禁用的缓存片。您实际上不能自己禁用任何切片;只有 PCU 可以在包 C 状态转换期间执行此操作。在正常操作期间,将启用所有可用的切片。因此,设置位的数量就是切片的数量。在此示例中,位向量 000f2e 设置了 8 位,因此所选处理器上的切片数为 8。

通常,同一个共享内存系统中的所有英特尔处理器都是同类的,但如果需要,您可以为每个处理器重复上述状态。

一般来说,最多可以有 24 个切片,每个切片的大小最大为 2.5 MiB。

桑迪桥和 Ivy 桥

以下处理器集合使用服务器非核心微架构:

  • 核心X
  • 至强E5
  • 至强E7

第 1 步:与之前相同。

第 2 步:运行以下命令:

sudo setpci -s XX:0a.3 94.l

其中 XX 是第 1 步中的总线编号。位 0-14 表示缓存切片位向量。通常,最多可以有 15 个切片,每个切片的大小最大为 2.5 MiB。

我不确定这种方法是否适用于 Sandy Bridge 处理器和 Ivy Bridge 的 Core X 系列,但检查它是否有效没有坏处。

Skylake、Cascade Lake 和 Cooper Lake

以下处理器集合使用服务器非核心微架构:

  • 核心X
  • 至强SP
  • 至强W
  • 至强D

第 1 步:与之前相同。

第 2 步:运行以下命令(感谢@JohnDMcCalpin):

sudo setpci -s XX:1e.3 9c.l

其中 XX 是第 1 步中的总线编号。位 0-27 表示缓存切片位向量。通常,最多可以有 28 个切片,每个切片的大小为 1.375 MiB。

Intel 发布的所有具有服务器非核心的处理器型号都具有由 1.375 MiB 片组成的 L3 缓存。切片数是总缓存大小除以 1.375 MiB。我不知道有任何异常(exception)。

冰湖

以下处理器集合使用服务器非核心微架构:

  • 至强SP

在我看来,这些处理器上的切片大小为 1.5 MiB。

尼哈勒姆和韦斯特米尔

以下处理器集合使用具有分布式 L3 缓存的服务器非核心微架构:

  • 至强 6500
  • 至强 7500
  • 至强E7

这些处理器上的切片大小可以达到 3 MiB。

所有其他采用服务器非核心设计的英特尔处理器

它们不使用分布式缓存架构,因此这些处理器上不存在切片的概念。

关于caching - 如何查看末级缓存中有多少个切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65195656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com