📜  内存交错

📅  最后修改于: 2021-06-28 14:14:28             🧑  作者: Mango

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

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

模块中的连续单词:

图1:模块中的连续单词

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

从模块1的上图中,先传输10个[数据],然后传输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中可以使用高位从模块获取数据。此方法有效地使用内存。