cpu-cache 相关问题

CPU高速缓存是CPU用来减少平均访问存储器时间的硬件结构。

现代 Intel CPU L3 缓存是如何组织的?

鉴于CPU现在是多核的并且有自己的L1/L2缓存,我很好奇L3缓存是如何组织的,因为它是由多个核心共享的。我想如果我们有,比如说,4...

回答 2 投票 0

64 字节 CPU 缓存行读取是否与 64 字节边界对齐?

CPU 缓存行通常为 64 字节。当 CPU(例如现代 Intel 处理器)从内存中读取缓存行时,CPU 是否从 64 字节对齐的内存块或任何连续的 64 字节块中读取...

回答 1 投票 0

RISC-V SH 和 SB 指令是否允许与缓存通信?

sb、sh等risc-v指令是否允许访问缓存?还是直接与主存通信?我在主内存结构中见过 Wstrb 事件,但一般没有...

回答 1 投票 0

VIPT 缓存中别名的性能影响

VIPT 缓存中的虚拟地址同义词(别名)对性能有何影响?我对最近的 x86_64 架构特别感兴趣,但了解更多其他架构也没什么坏处。

回答 1 投票 0

为什么在多个线程上运行时快速内存写入比在单个线程上运行时花费更多时间?

我有一个程序,它分配一些内存(2亿个整数),进行一些快速计算,然后将数据写入分配的内存。 当在单线程上运行时,该过程大约需要 1 ...

回答 1 投票 0

CPU缓存是如何工作的(里面问题的全部描述)?

最近,我对面向数据的设计产生了兴趣。到目前为止,我已经阅读了一些有关该主题的文章和出版物。我了解缓存的工作原理以及它是如何构建的(一般来说,抽象地)...

回答 1 投票 0

不同Set中是否可以存在相同Tag-ID的缓存块?

我目前正在调查我的 CA 课程之前的一些考试。 有一个问题让我感到非常困惑,这是要使用的数据: 考虑 32 位地址(标签 20 位,...

回答 1 投票 0

在 Skylake 中使用 MSR 正确禁用硬件预取

我正在尝试禁用我的机器上的硬件预取: CPU系列:6 型号:78 型号名称:Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz 我已经检查过: gcc -march=

回答 1 投票 0

Mutex 和 CPU 缓存(和内存栅栏)的关系

假设我有一个具有多个线程的应用程序需要访问一些共享数据。 我知道可以使用互斥锁(关键部分)来确保一次最多有一个线程可以访问

回答 1 投票 0

一个CPU有可能有多个L3级缓存吗?

多核CPU的核心必须全部共享L3缓存吗?一个CPU有可能有多个L3级缓存吗?例如,假设一个 cpu 有 24 个核心,并且没有三个核心共享 L3 缓存,那么...

回答 1 投票 0

物理地址不连续时cpu如何缓存

例如我的进程中使用连续虚拟地址的数组。但是CPU在物理地址上使用CPU缓存,该地址在我的数组中可能不连续。 cpu缓存在这种情况下会失败还是那种情况......

回答 1 投票 0

如何使用linux性能计数器计算L3缓存带宽?

我正在尝试使用 linux perf 或 python 脚本来分析 L3 缓存带宽。我发现没有可用的命令可以直接测量它。但我知道如何获得 llc 绩效

回答 1 投票 0

有没有比cpuid更便宜的序列化指令?

我已经看到了相关问题,包括这里和这里,但似乎唯一提到的用于序列化 rdtsc 的指令是 cpuid。 不幸的是,我的 cpuid 大约需要 1000 个周期......

回答 4 投票 0

缓存对齐的数据结构如何在L1缓存行中失效

我正在尝试了解CPU的L1缓存机制。 假设 CPU 有 4 个核心,L1 缓存行大小为 64 字节,每个核心有 N 个条目,使用 MESI 协议。 从而成为回忆

回答 1 投票 0

在Linux中测量C程序缓存命中/未命中和CPU时间的最简单工具?

我正在用C编写一个小程序,我想测量它的性能。 我想看看它在处理器中运行了多少时间以及它进行了多少次缓存命中+未命中。有关上下文的信息

回答 4 投票 0

AMD CPU 中的无开销监控代码显着增加了总同步持续时间

我正在进行一个测试来测量CPU不同核心之间的消息同步延迟。具体来说,我正在测量 CPU2 需要多少个时钟周期来检测

回答 1 投票 0

CPU中的L2毒是什么意思?

我也遇到过和这个一样的问题。 L2毒是什么意思? 我使用的是AMD CPU。

回答 1 投票 0

x86_64。如何避免内存取消引用占用 390 个处理器周期而不是 3.6 个或最多 10 倍(36 个周期)而不是 100 倍

为了优化并发链表访问,我尝试对 x86_64 中取消引用所需的平均时间进行基准测试(我的特定处理器是 Ryzen)。 虽然我知道过去的美好时光...

回答 1 投票 0

ARM Cortex-M7 (STM32F7) MCU 上的 DMA 操作存在数据损坏问题

我正在使用 ARM Cortex-M7 微控制器(特别是 STM32F767ZG)通过 4 个 USART(配置为异步发送器/接收器,并使用 DMA 来与外部设备通信)...

回答 1 投票 0

有没有办法检查处理器缓存最近是否被刷新过?

在 i386 Linux 上。如果可能的话,最好在 c/(c/posix std libs)/proc 中。如果没有,是否有任何程序集或第三方库可以做到这一点? 编辑:我正在尝试开发测试是否有内核

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.