📜  内存交错

📅  最后修改于: 2021-09-27 15:36:28             🧑  作者: Mango

先决条件 – 虚拟内存
抽象是计算最重要的方面之一。它是计算领域广泛实施的实践。

内存交错或多或少是一种抽象技术。虽然它与抽象有点不同。它是一种将内存划分为多个模块的技术,以便将地址空间中的连续字放置在不同的模块中。

模块中的连续词:

图 1:模块中的连续单词

让我们假设 16 个数据要传输到四个模块。其中模块 00 是模块 1,模块 01 是模块 2,模块 10 是模块 3,模块 11 是模块 4。此外,10、20、30….130 是要传输的数据。

从上图模块 1 中,传输 10 [Data],然后传输 20、30 和最后的 40,它们是数据。这意味着数据在模块中连续添加直到其最大容量。

最高有效位 (MSB) 提供模块的地址,最低有效位 (LSB) 提供模块中数据的地址。

例如,为了获得90(数据)1000将通过处理器来提供。这 10 表示数据在模块 10(模块 3)中,00 是模块 10(模块 3)中 90 的地址。所以,

Module 1 Contains Data : 10, 20, 30, 40
Module 2 Contains Data : 50, 60, 70, 80
Module 3 Contains Data : 90, 100, 110, 120
Module 4 Contains Data : 130, 140, 150, 160 

连续模块中的连续词:

图 2:连续模块中的连续单词

现在我们再次假设 16 个数据要传输到四个模块。但是现在连续的数据被添加到连续模块中。即在模块1中添加10个[数据],在模块2中添加20个[数据],依此类推。

最低有效位 (LSB) 提供模块的地址,最高有效位 (MSB) 提供模块中数据的地址。

例如,为了获得90(数据)1000将通过处理器来提供。这个 00 表示数据在模块 00(模块 1)中,10 是模块 00(模块 1)中 90 的地址。那是,

Module 1 Contains Data : 10, 50, 90, 130
Module 2 Contains Data : 20, 60, 100, 140
Module 3 Contains Data : 30, 70, 110, 150
Module 4 Contains Data : 40, 80, 120, 160 

为什么要使用内存交错? [优点]:
每当处理器从主存储器请求数据时。一个数据块(块)被传输到缓存,然后到处理器。因此,无论何时发生缓存未命中,都将从主存储器中获取数据。但是主存相对比缓存慢。所以为了提高访问时间,主存交错被使用。

我们可以同时访问所有四个模块,从而实现并行。从图 2 中,可以使用高位从模块获取数据。此方法有效地使用内存。