组原_双端口RAM 和 多模块存储器

目录

1. 优化思路

2. 双端口 RAM

3. 单体多字存储器

4. 多体并行存储器


 

1. 优化思路

组原_双端口RAM 和 多模块存储器

对存储器工作的优化就在于能够把 恢复时间 通过一定的方法利用起来
基本的思路就是对多个不同时间能够进行不同存取的存储单元进行并行操作。或者采用流水线的方案,当某个存储单元进入恢复时间的时候,可以对其它单元进行存取。 

 

 

 

 

 

2. 双端口 RAM

组原_双端口RAM 和 多模块存储器

两个端口,两个CPU  (CPU1  CPU2)

 

 

 

 

3. 单体多字存储器

组原_双端口RAM 和 多模块存储器

限制:要取的东西必须是连续存放的,这样并行的取出去才有意义,如果要取的东西存在不同行,一次取出一行后,用到的只是小部分,这是非常浪费的。

 

 

 

 

4. 多体并行存储器

各模块都有相同的容量和存取速度;
各模块都有独立的读写控制电路、地址寄存器和数据寄存器;
既能够并行工作,又能够交叉工作。并行工作类似单体多字的模式,把每个个体的某一个单元同时取出去! 交叉工作可以理解为轮流工作,第一个存储器工作完之后,进入恢复时间,第二个存储器可以开始工作类似这样的。

 

多体并行存储器工作模式依赖于地址设置方式。

组原_双端口RAM 和 多模块存储器

 

 

 

组原_双端口RAM 和 多模块存储器

高位交叉编址方式下,和访问普通的存储体没有区别,只不过访问完了第一个存储体,可以访问第二个存储体。它的效果类似扩容,高位用于选片!(把低位的体内地址送到由高位体号确定的模块内进行译码)

低位交叉编址方式下,理解图中的耗时计算。可以将时间 τ 理解为 CPU 进行存取操作花费的时间(是存取时间,不是存储周期)。
(把高位的体内地址送到由低位体号确定的模块内进行译码)

【思考】上图共有 8x4=32编址单位,所以需要 5个(32=2^5) 二进制数来表示地址。地址空间是连续的,不同的是对地址的解读方式。高位交叉编址方式下是将地址的高位视为体号,所以连续访问地址情况下导致顺序访问同一个存储模块;低位则不同。

 

 

总线传送周期为 r 。 
理解: 传送一次数据所需的时间是 r 。
如果存取时间也设计成了 r (即上面的  τ ),这样整个系统效率最高,不存在谁等谁的情况。

 

组原_双端口RAM 和 多模块存储器

m < T/r 的情况:在一个 T 时间内,只能完成3次数据传输。 在 m = T/r 时,是可以完成4次数据传输的。
m > T/r  的情况: 虽然时间节约的效果一样,但是 M0 有等待情况(即有一段时间是空闲的),对存储体的利用率是不够高的。

==> 所以在设计的时候,一般直接设计成 m = T/r 。 利用率高且提速达到最大效果。

  

 

组原_双端口RAM 和 多模块存储器

多体低位交叉编址方式下,n 较大时,存储体的带宽为 W/r ;  ( 此时模块数为 m = T/r )
单个存储体则为: W/T 。

==> 所以有了结论:一个存储周期内,交叉存储器可以提供的数据量为单个存储体的 m 倍。