cpu-cache 相关问题

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

计算2个缓存级别的CPI?

假设主存储器访问时间需要30个时钟周期,则存储器访问数量占指令总数的20%。内存系统使用L1数据高速缓存,未命中率为8%。 ...

回答 1 投票 0

直接映射的缓存示例

我对Direct Mapped Cache主题感到非常困惑,我一直在寻找一个很好的解释示例,这让我比以往更加困惑。例如:我有2048个字节...

回答 1 投票 0

缓存一致性:侦听基于v的目录

据我了解:基于目录的系统更像以服务器为中心的设计,而侦听则更像以对等为中心。这就是基于目录的原因,对于任何读取丢失都需要较少的消息的原因,因为它可以...

回答 1 投票 0

缓存的内部级别可以写在包含的外部级别的缓存内部吗?

我曾问过类似的问题:较低级别的缓存是否可以具有较高的关联性,并且仍然保持包含性?假设我们有2级缓存。 (L1最接近CPU(内部/较低级别),L2 ...

回答 1 投票 1

能否将缓存的外部级别写回并仍保留包含?

我曾问过类似的问题:较低级别的缓存是否可以具有较高的关联性,并且仍然保持包含性?假设我们有2级缓存。(L1最接近CPU,L2最接近main ...

回答 1 投票 1

PIPT L1高速缓存也为VIPT,在不将索引转换为物理的情况下访问集合的最小关联性

这个问题是在本科计算机架构课程中有关虚拟内存的部分中提出的。助教和教授都无法充分回答,...

回答 1 投票 3

MESI中排他状态的优势?

我了解,使用MSI,如果我们有一块处于共享状态的内存,即使没有其他人使用它,我们也必须广播要修改的消息。这是MESI解决的问题。 ...

回答 1 投票 0

缓存一致性和内存屏障之间的关系是什么?

据我所知,内存屏障用于避免乱序执行。但是,在谈论缓存一致性时,也经常提到存储障碍。我不确定这两个概念是如何...

回答 1 投票 0

在MESI高速缓存一致性协议中,如果需要从内存中获取数据,高速缓存行的状态到底何时准确改变?

在采用CPU的MESI协议中:执行读取操作,发现高速缓存行处于无效状态,其他高速缓存中没有其他非无效的副本,它将需要从...中获取数据。

回答 2 投票 1

为什么通过值传递有时比通过引用传递更好

这是一个普遍的事实,在某些情况下最好通过引用传递参数以避免昂贵的复制。但是最近我看了一个手工制作的英雄系列,其中凯西说,如果...

回答 1 投票 0

MSI / MESI:如何在共享状态下获得“读缺失”?

在Jim Handy的Cache Memory Book(以下是摘录)中,作者具有MESI协议的表说明。该表对我来说似乎很不清楚,但是不幸的是,该文本没有帮助。 ...

回答 2 投票 7

std :: array在存储大对象时仍然对缓存友好吗?

我知道std :: array是缓存友好的,因为存储在std :: array中的所有项目彼此紧紧地包装在一起。如果我遍历数组,当我尝试访问一项时,...

回答 1 投票 0

4位CPU如何处理无限数据并从内存中调用该数据?

考虑一下,只有四个晶体管的处理器。一次只能代表一个半字节。我们需要处理由无限字节组成的数据。我们从第一个字节开始。它将如何保存?这样我们...

回答 1 投票 0

性能三角洲造成指针赋值或增量(严格走样?)

更新:小例子,证明在锵7.0的问题 - https://wandbox.org/permlink/G5NFe8ooSKg29ZuS https://godbolt.org/z/PEWiRk我遇到的一个功能的性能的变化...

回答 1 投票 -1

如何计算集合关联的高速缓存的大小?

一个32位的处理器具有一个使用32位地址如下双向关联高速缓存组:31-14标签,13-5索引,4-0偏移。计算:高速缓存行的大小在口头上的数...

回答 1 投票 2

在此示例中,数据缓存如何路由对象?

考虑图解数据缓存架构。 (ASCII艺术如下。)-------------------------------------- | CPU核心A | CPU核心B | | | ------------ | ------------ |设备| | ...

回答 1 投票 4

VIPT Cache:TLB和Cache之间的连接?

我只是想澄清这个概念,并且可以找到足够详细的答案,这些答案可以说明一切在硬件中的实际效果。请提供任何相关细节。如果 ...

回答 1 投票 3

科学计算中缓存最重要的特征是什么?

我最近开始学习并行编程技术以及在尝试创建高效程序时要注意什么。例如,了解有关您的缓存的具体细节...

回答 1 投票 0

有没有办法刷新与程序相关的整个CPU缓存?

在x86-64平台上,CLFLUSH汇编指令允许刷新与给定地址对应的缓存行。不是刷新与特定地址相关的缓存,而是有办法......

回答 2 投票 3

优化简单模板操作将变量保存到寄存器中

我试图让下面的代码更快地保留两个变量(我们需要重用的变量)在寄存器或比缓存更近的任何地方。代码采用了三个相邻的元素...

回答 2 投票 2

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