【计算机组成&体系结构】双端口RAM和多体结构主存储器

一、存取周期回顾

DRAM的电容结构决定了DRAM的破坏性读出,因此DRAM需要在存取过程中不断的恢复刷新才能使数据不丢失。

由此引发了两个问题,多核CPU的每个核都要访存怎么办?以及如何解决恢复时间长的问题?

二、双端口RAM 

双端口RAM技术支持双核CPU同时访问一根内存条,当然有些操作是可以进行,有些则不能,如上图中列举的3,4会发生错误,这种情况要分先后执行操作,即将一个端口延时。 

三、多体结构主存储器

多体并行存储器,如上图所示,有四个存储体,每个存储体各自的地址应该是连续的,那么如果把它们合在一起,它们的地址可以列优先的依次增加,也可以行优先的依次增加。而这也就是高位交叉编址和低位交叉编址,本质区别就是在编码中是用高2位的二进制数表示第几个存储体还是用低位的2位二进制数表示第几个存储体。

低位交叉编址的好处就是我们顺序访问内存的时候,在访问下一个地址的时候不需要等待恢复刷新,因为下个地址在下一个存储体当中,而访问下一个存储体的时候,上个存储体的刷新不影响当前访问的地址。上图中的耗时计算说明了这个问题。

存储体的数量应该≥ T/r,T是存取周期,r是存取时间。原因如上图所示,如果小于T/r,会导致CPU仍然被存储体的恢复时间拖累。而如果大于的话会导致存储体有闲置时间,这个时间被浪费了。因此其实我们应该尽可能保证存储体的数量 = T/r。

至于通过地址判断属于第几个存储体,二进制直接看低位两位即可,十进制则对x取模即可。

多体并行和单体多字

我们上面提到的多体结构是多体并行,各个存储体直接是相互独立的,可以选择从哪个存储体读出哪一个字,灵活性较高。

而与之相对的就是单体多字存储器,就是把四个存储体合并,整个存储器只有一套读写电路,地址存器,数据寄存器。每次可读出m个字,每个存储单元存储m个字,总线宽度也要随之提升。灵活性较差,不能单独读某个字,只能读某一行(可能会读入冗余信息)。

但两种方案的时间平均来看,平均读取一个字的时间是一样的。 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值