cpu-cache 相关问题

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

测量C ++代码的CPU周期

我的目标是使用简单的代码来衡量(不同)缓存的效果。我正在关注这篇文章,特别是第20页和第21页:https://people.freebsd.org/~lstewart/articles/cpumemory.pdf我...

回答 1 投票 2

为什么只有在存储初始化循环时才计算用户模式L1存储未命中事件?

总结考虑以下循环:loop:movl $ 0x1,(%rax)add $ 0x40,%rax cmp%rdx,%rax jne loop其中rax被初始化为大于L3缓存的缓冲区的地址...

回答 1 投票 4

访问各种缓存和主内存的近似成本?

任何人都可以给我大概的时间(以纳秒为单位)来访问L1,L2和L3缓存,以及Intel i7处理器上的主内存吗?虽然这不是一个具体的编程问题,但知道......

回答 5 投票 155

在迭代2D数组时,为什么循环的顺序会影响性能?

下面是两个几乎相同的程序,除了我切换i和j变量。它们都运行在不同的时间。有人能解释为什么会这样吗?版本1#...

回答 7 投票 332

为什么线性读取混洗写入不比混乱读取线性写入快?

我目前正在努力更好地了解内存/缓存相关的性能问题。我在某处读过,记忆位置对于阅读比写作更重要,因为在......

回答 5 投票 51

WBINVD指令用法

我正在尝试在linux上使用WBINV指令来清除处理器的L1缓存。以下程序编译,但在我尝试运行它时会产生分段错误。 int main(){asm(“wbinvd”); ...

回答 2 投票 7

clflush还会删除TLB条目吗?

clflush1是否也刷新相关的TLB条目?我认为不是因为clflush以缓存行粒度运行,而TLB条目存在于(更大)页面粒度 - 但我...

回答 2 投票 2

实际上索引物理标记的缓存同义词

我无法完全掌握VIPT缓存中的同义词或别名的概念。考虑将地址拆分为: - 这里,假设我们有2个页面,不同的VA映射到相同的物理地址(...

回答 1 投票 5

VIPT到PIPT转换如何在L1-> L2驱逐上工作

这个场景出现在我脑海中,看起来有点基本,但我会问。因此,L1中有一个虚拟索引和物理标记,但该集合已满,因此被逐出。 L1控制器如何获得......

回答 1 投票 2

汇编语言如何使具有特定缓存设计的计算机运行得更快?

我是汇编语言和缓存设计的新手,最近我们的教授向我们提出了一个关于编写汇编语言指令的问题,以使具有特定缓存设计的计算机运行得更快。一世 ...

回答 1 投票 2

优化CPU流水线和缓存访问

我试图建立关于如何编写有效代码的直觉,最小化CPI(每个指令的周期)并最小化缓存未命中和后端绑定性能。我想了解数据如何......

回答 1 投票 1

Write-Combining Buffer位于何处? 86

Write-Combine缓冲区是如何物理连接的?我已经看到了一些框图,说明了许多变体:L1和内存控制器之间CPU的存储缓冲区和内存控制器之间......

回答 2 投票 6

处理器在高速缓存一致性操作期间是否停止

假设变量a = 0处理器1:a = 1处理器2:打印(a)处理器1首先执行它的指令然后在下一个周期处理器2读取变量以打印它。那就是:处理器2会......

回答 2 投票 3

在循环中有效地访问2个结构数组

我有以下2个结构数组和一个容器类:[Serializable] public struct Pointer {public byte State; } [Serializable] public struct Data {public uint Hash;上市 ...

回答 1 投票 0

什么是“缓存友好”代码?

“缓存不友好代码”和“缓存友好”代码之间有什么区别?如何确保编写高效缓存代码?

回答 9 投票 676

将512KB主内存映射到1KB缓存作业问题

如果我发布此错误,我很抱歉。如果我需要改变什么,请告诉我。我收到了我的计算机架构作业,我错过了这个问题。我的教授......

回答 1 投票 1

是否存在任何现代CPU,其中缓存的字节存储实际上比字存储慢?

一个普遍的说法是,缓存中的字节存储可能导致内部读 - 修改 - 写周期,或者与存储完整寄存器相比会损害吞吐量或延迟。但我从未见过任何......

回答 2 投票 5

L1缓存命中的周期/成本与x86上的Register相比?

我记得在我的架构类中假设L1缓存命中是1个周期(即与寄存器访问时间相同),但在现代x86处理器上实际上是这样吗? L1有多少个周期......

回答 4 投票 26

当L1未命中与L2访问有很大不同时... TLB相关?

我已经在一些算法上运行了一些基准测试并分析了它们的内存使用和效率(L1 / L2 / TLB访问和未命中),并且一些结果对我来说非常有趣。 ...

回答 2 投票 7

我们如何知道struct是在CPU缓存上还是丢失到内存缓存? [关闭]

我正在尝试编写C#游戏框架,因此这里的性能至关重要。这是我发现的参考。问题是,我们怎么知道结构是否仍在CPU缓存中?如果我们不能,那么......

回答 2 投票 -1

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