存储器容量的扩展

存储器容量的扩展

一般而言,要构成一个存储器,一般需要多个存储芯片一起来构成。那么多个存储芯片是如何构成一个大的存储器来进行工作的呢?一般有如下三种方式:

方式一:位扩展(增加存储字长)

             假设现在有1K(1024个)*4位的存储芯片(容量为4096bit)若干,要想构成一个1K*8位的存储器,我们可以使用两片1K*4位的存储芯片来构成,如下图

           

我们通过片选信号CS同时选中两片存储芯片,同时进行8位数据的读出和写入,更形象的图可看如下、

对于如上例子,位扩展的关键就是将两个存储芯片当成一个存储芯片来用,让两个存储芯片同时工作,同时被选中,同时做读操作,同时做写操作,要想保证同时,就是把两个芯片的片选,用相同的信号进行连接。

方式二:字扩展 (增加存储字的数量)

             假设现在有1K*8位的存储芯片若干,要想构成一个2K*8位的存储器,我们可以使用两片1K*8位的存储芯片来构成,如下图

每一个存储芯片的容量是1K*8位,因为我们要构成一个2K(11位2进制位)*8的存储器,我们发现有2K有11位二进制位,而存储芯片的每一片的容量是1K(10位二进制位),多了一位,恰好我们可以使用这一位二进制位来作为片选信号,更形象的图可看如下

总共有11条地址线,对于A10,我们将它当成片选信号线,当A10=0时,选中左边的存储芯片工作,右边不工作,当A10=1时,通过一个取反,选择右边的芯片工作,这从外部看来就是从 0 0000000000 ~ 1 1111111111 刚好是从0~2047共2K个存储单元,每一个存储单元存放8位的二进制代码

方式三:位,字同时扩展 

假设现在有1K*4位的存储芯片若干,要组成4K*8位的存储器,我们可以使用八片1K*4位的存储芯片来构成,首先拿两片,来构成1K*8bit这样一组芯片,接着,我们需要4组来构成4K*8bit的存储器,如何进行连接呢?其实就是将上述两种方法进行综合,4K*8的存储器,4K(12位二进制位,即12根地址线),8bit,就是8根数据线,1K*4bit的芯片有需要10根地址线,也就是说系统给出的从A0-A11 12根地址线,其中的10根A0-A9是直接送到芯片当中构成1K*8的一个小的存储器,剩余的2根地址线A11-A10,我们用来做片选信号,如下图

 

4K的空间我们分配到了4个存储器当中,每个存储器包含了两片1K*4bit的存储芯片,

第一个存储器的范围为 00 0...0(10个0)~00 1...1(10个1)

第二个存储器的范围为 01 0...0(10个0)~01 1...1(10个1)

第三个存储器的范围为 10 0...0(10个0)~10 1...1(10个1)

第四个存储器的范围为 11 0...0(10个0)~11 1...1(10个1)

由A11和A10来判断要访问的地址在哪一个存储器当中,我们采用译码器进行译码,当

A11 =0    A10=0  选择第一个存储器

A11 =0    A10=1  选择第二个存储器

A11 =1    A10=0  选择第三个存储器

A11 =1    A10=1  选择第四个存储器

  • 99
    点赞
  • 287
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值