1.存储器容量的扩展

总片数=总容量/(容量/片)

例:存储器容量为8K×8b,若选用2114芯片(1K×4b),则需要的芯片数为:(8K×8b)/(1K×4b)=16(片)

(1)位扩展

只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。即b前面不一样,K前面保持一样。

例:用64K×1b的SRAM芯片组成64K×8b的存储器,所需芯片数为:(64K×8b)/(64K×1b)=8(片)

(2)字扩展

仅在字数方向扩展,而位数不变。即K前面不一样,b前面保持一样。

例:用16K×8b的SRAM组成以64K×8b的存储器,所需芯片数为:(64K×8b)/(16K×8b)=4(片)

(3)字和位同时扩展

2.存储器地址译码方法

(1)线选法

用高位地址直接作为芯片的片选信号,每一根地址选通一块芯片(无位扩展情况)。

A13-A10作为片选,因为有反向器,所以拿第一块芯片举例,A10取1,经过反向器变为0,再变为1,其他A11-A13都为0。

(2)全译码法

除了将地址总线的低位地址直接与芯片的地址线相连之外,其余高位地址全部接入译码器,由译码器的输出作为各芯片的片选信号。

Y0-Y7都是低电平有效,即=0时才有效。同样,有反向器。

(3)部分译码法

将高位地址线中的一部分进行译码,产生片选信号。该方法适用于不需要全部地址空间的寻址能力,但采用线选法地址线又不够用的情况。

练习:

解:

(1)(4K×8b)/(1K×8b)=4(片)

(2)512/128=4(片) 

512KB=2^9×2^10B=2^19B(这里有个技巧,1后面写19个0就是这个二进制数)

所以,=1000,0000,0000,0000,0000B=80000H

80000H-1=7FFFFH    (减去首元素)

7FFFFH+10000H=8FFFFH   (最后一个元素地址就是这个)

(3)EFFFFH-A0000H+1=50000H=101,0000,0000,0000,0000B=101,0000,0000,00KB=(2^8+2^6)KB=320KB

320KB/32=10(片)

(4)第六块芯片看Y5,Y5取1,其余取0。Y5取1相当于A15-A15=101

所以1010,0000,0000,0000=A000H

1011,1111,1111,1111=BFFFFH
--------------------- 
原文:https://blog.csdn.net/wonz5130/article/details/80721032