主存与CPU的连接(位/字扩展)

您所在的位置:网站首页 字扩展与位扩展的区别 主存与CPU的连接(位/字扩展)

主存与CPU的连接(位/字扩展)

2024-07-11 07:40| 来源: 网络整理| 查看: 265

主存容量扩展——位扩展:

位扩展指的是用多个存储器器件对字长进行扩充,指的是用多个存储器器件对字长进行扩充。

如用2个16K * 4bit芯片组成16K * 8bit的存储器。

这是一块8k * 1bit的存储器芯片;

CS表示片选线;

WE表示读写控制线;

1bit表示存储单元的大小为1bit,而且因为这样的存储体是有限制的,一次只能使一个存储单元有效,在这样的芯片里一次只能传输1bit数据,所以数据线只需要一根就够了,也就是这里的D0;

8k表示8k个存储单元,8k对应二进制权值为2^13,也就是说需要13根地址线,也就是这里的A0……A12;

这里使用了高电平有效的工作模式。

这是一块CPU:

下面通过CPU控制存储单元,同时进行位扩展:

主存容量扩展——字扩展:

字扩展指的是增加存储器中字的数量。

如用4个16K * 8bit芯片组成64K * 8bit存储器。

如下图的话,因为这两块芯片同时工作,而且数据线连接到CPU中的数据线都是一样的,所以两块存储器芯片同时传输的话数据就会混乱,CPU无法区分接收到的数据是哪块芯片的。

所以为了避免这种结果,就不能让两块存储器芯片同时开始工作,这里CPU中A13 ~ A15还没有用到,就可以通过这几个地址信号来传递控制信息到存储器芯片的片选线,

假设,用A13来控制第一片存储器芯片的工作,用A14来控制第二片存储器芯片的工作。

第一种方法:

但是这种方法有个弊端,就是:

例如,此时需要第一片存储器芯片开始工作,A13就为1,A14就为0。

同理,如果需要第二片存储器芯片开始工作,A13就为0,A14就为1。

第一片存储器芯片地址:

第二片存储器芯片地址:

但是通过接入译码器,可以优化这种n条线对应n个片选信号的映射关系,优化为n条线对应2^n个片选信号。

译码器:

  例如:第一块芯片开始工作:   第二块芯片开始工作:   第三块芯片开始工作: ……

高电平有效时的译码器与存储器芯片(下图暂时忽略使能端):

低电平有效时的译码器与存储器芯片:

无圈的使能端输入高电平开始工作,有圈的使能端输入低电平开始工作:

常见的译码器一般有多个使能端状态,只有在无圈的使能端输入高电平,同时在有圈的使能端输入低电平,才能使译码器开始工作:

例如在如下状态下译码器是无法工作的:

所以,第二种方法就是:

下面举两个例子,

一根选线控制两块芯片:

比如在这里只有两片存储器芯片的情况下,只用A13就可以控制两块芯片哪块开始工作,A13为1时,第一片芯片工作,A13为0时,第二片芯片工作。

(注:图中三角为非门)

此时第一片存储芯片地址:

第二片存储芯片地址:

下面是用两根线控制4块芯片,

可以选用A13和A14:

当然不一定选择只规定选择A13和A14作为选线,可以选择地址线外任意线,例如下面选择的是A13和A15,与之对应的地址也会发生变化,但是因为A14也会出现在地址中(A14无论0或1都可以,访问的都是同一个存储单元),正因如此地址的位数超过了存储器所能容纳的最大容量,所以这样的设计在实际应用中会出现问题的,一般都是选择最近的相邻高位作为选线。

总结:

为什么说选线法的地址空间不连续呢?

因为选线法在所有选线中只能有一个在工作,也就是说假设在高电平有效时,选线中只能有一根线是1,

举个例子:假设两根选线控制两块芯片,选线只能有01、10两种情况,没有00和11,所以对应到地址中就会变得不连续。

而译码片选器的n条线可以体现出的状态是全0到全1连续变化的,所以地址空间可以连续变化。

主存容量扩展——字位同时扩展:

例题:

解题:

疑点分析:

1、求地址数时为什么要加1?

例如:

0~9一共十个数 = 9-0+1 = 10个数

2、如何选择选片信号?

74LS138译码器:

以低位占用的最多的这种存储器为准,向它的高位选三位。

3、选完地址信号和选片信号后剩下的位数怎么办?

剩下蓝色部分的10可以作为移码器的使能端。

习题总结:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3