迁移和复制在缓存一致性方面有什么区别

Blu*_*n07 2 caching

在“计算机组织和设计,RISC-V 版”中,作为“强制一致性的基本方案”的一部分,我对迁移复制这两个概念感到困惑。

两个的给定定义如下:

在缓存一致性多处理器中,缓存提供共享数据项的迁移和复制:

  1. 迁移:数据项可以移动到本地缓存并以透明的方式使用。迁移减少了访问远程分配的共享数据项的延迟以及共享内存的带宽需求。

  2. 复制:当同时读取共享数据时,缓存会在本地缓存中复制该数据项。复制减少了访问延迟和读取共享数据项的争用。

支持迁移和复制对于访问共享数据的性能至关重要,因此许多多处理器引入了硬件协议来维护一致的缓存。

我认为复制在缓存系统中非常熟悉,但是我无法弄清楚迁移是如何工作的。

Kak*_*tor 5

共享数据的迁移和复制是缓存发挥作用的两种方式。

  1. 迁移:假设处理单元 A 想要对共享数据项执行大量操作。该数据项可能位于连接到处理单元B的存储器中,或者位于某种远程共享存储器中。因此,访问该项目会很慢。为了解决这个问题,我们将所述项目迁移/移动到附加到 A 的本地缓存,在这里我们可以更快地访问它,并且不会加载共享内存。这也是单处理器系统中缓存的一个好处。
  2. 复制:这仅在多处理器环境中相关。假设处理单元 A 和 B 同时想要访问共享内存中的数据。由于无法同时处理两个请求,因此两个请求之一必须等待另一个请求完成,从而引入额外的延迟。相反,如果该数据被复制/复制到 A 和/或 B 处的本地缓存,则它们将不必争夺共享内存资源,因为其中一个或两个可以访问它们自己的本地副本。

迁移意味着将数据移动到本地缓存,因为它比共享或远程内存更快。

复制意味着为多个处理单元提供数据的本地副本,这样它们就不必竞争对共享内存的访问。