内存交织是一种抽象技术,它将内存分为多个模块,以便将地址空间中的连续字放置在不同的模块中。
假设一个由4 MB芯片组成的64 MB内存,如下所示:
我们将内存分为4 MB的存储区,每个存储区包含4 MB芯片中的八个。因此,该存储器具有16个存储区,每个存储区为4 MB。
64 MB内存= 2 ^ 26,因此26位用于寻址。
16 = 2 ^ 4,所以地址的4位选择存储体,而4 MB = 2 ^ 22,所以每个芯片的地址为22位。
通常,N = L + M的N位地址分为两部分:
- L位存储区选择,用于激活2 ^ L个存储区之一,以及
- 发送到每个存储体的M位地址。
当其中一个存储体处于活动状态时,另一个(2 L – 1)处于非活动状态。所有存储体都接收到M位地址,但是无效的存储体不响应。
内存交错的分类:
内存交错分为两种类型:
1.高阶交织–
在高阶交织中,地址的最高有效位选择存储芯片。最低有效位作为地址发送到每个芯片。一个问题是连续的地址往往在同一芯片中。数据传输的最大速率受存储周期时间限制。
也称为存储库。
2.低阶交织–
在低阶交织中,最低有效位选择存储体(模块)。在这种情况下,连续的存储器地址位于不同的存储器模块中。这样可以以比循环时间所允许的快得多的速率访问内存。