jan*_*b04 12 c++ x86 cpu-architecture cpuid
我想知道当前处理器上的二级缓存大小是多少。幸运的是,有一个名为的库cpu_features
可以实现这一点,甚至更多。在内部,它使用cpuid
指令来获取所有这些信息。
我想知道,如果我尝试在混合架构(例如 Alder Lake)上使用它会发生什么?其效率和性能核心具有不同的特点。我假设该cpuid
指令返回有关当前线程运行的核心的信息。所以基本上,如果它被安排在性能核心上运行,它会描述性能核心。
这样做的问题是操作系统可以决定稍后将线程移动到效率核心,在这种情况下,从中接收到的任何信息都cpuid
不再正确。并且该程序甚至不知道它已被迁移。这可以通过手动将线程“固定”到核心并设置其亲和力来解决。为了区分性能和效率核心,我可以按顺序将线程固定到每个核心,并比较cpuid
.
不过,我想知道cpuid
结果是否确实依赖于核心,以及是否有更好的方法来查询有关处理器的信息,而无需循环遍历所有核心,只需将它们分类为其中一个两类。
归档时间: |
|
查看次数: |
186 次 |
最近记录: |