缓存了多少个缓存线

How many cache lines are cached?

本文关键字:缓存 多少      更新时间:2023-10-16

好的,所以我找不到太多答案,这是内存管理中的一个简单问题。我知道,当计算机从内存中拉出时,它会根据处理器在缓存线中缓存32-64位的内存。我的问题是,如果有多少个?

例如,说我们使用的是C ,然后使用for循环拉动vector<int>,然后我使用这些整数将信息从另一个vector中撤出,这很可能是在内存中靠近它的地方。那会符合2次拉力,然后一切被缓存,还是只是从内存中持续拉出?基本上,它是否会拉出vector<int>并将其存储在缓存中,然后将另一个vector拉动并将其存储在不同的接线线中?因此,从那时起,只能从其缓存的内存中拉出两次?假设每个矢量=一个值的1个电源线的大小。

编辑:好的,在同一行上。...我有一个问题:让我们假设我的初始vector<int>被调用并在for循环中迭代,然后引用多个vectors。当它缓存这些向量时,显然它将有一个限制,因此它将开始在先前的缓存上写作吗?在哪种情况下,它将在以前的缓存线上编写什么顺序,FIFO,filo,其他方式?

有不同类型的缓存。通常,缓存的量取决于处理器。模型处理器具有3个级别的缓存,其中最快(和最小)称为L1,通常范围在128KB和512KB之间,其中最慢(最大)为1MB至4MB。

无论处理器体系结构如何,对内存的每个访问均长64位。因此,使用64位长操作数访问内存是最有效的。

缓存也可以从不同页面存储内存。