存储芯片可以通过位扩展和字扩展来增大存储容量,其中有一类题型涉及到地址线的分配,问需要多少地址线。此时按字节寻址和按字寻址,两者所需的地址线数量是不同的。
这里贴一下别人的解释,我觉得很通俗具体。
- 按字节寻址:最通俗的理解就是一组地址线的每个不同状态对应一个字节的地址。比如说有24根地址线,按字节寻址,而且每根线有两个状态,那么24根地址线组成的地址信号就有2^24个不同状态,每个状态对应一个字节的地址空间的话,24根地址线的可寻址空间2^24B,即16MB。
- 按字寻址:最通俗的理解就是一组地址线的每个不同状态对应一个字的地址。因为字节是计算机中最基本的计量单位且一个字由若干字节构成,所以计算机在寻址过程中会区分字里面的字节,即会给字里面的字节编址,这样就会占用部分地址线。比如说有24根地址线,按字寻址,字长16位,16位即两个字节,这样就会占用一根地址线用来字内寻址,这样就剩下23根地址线,所以寻址范围是2^23W,即8MW,这里W是字长的意思。
一个例子:512K*8位的芯片,扩展成4M*32位的芯片。
扩展之后是一个8行4列的矩阵,每一行有4个原芯片,这个就不解释了。
每一行视作一组,一组有四个芯片,每个芯片一个字节,一行共有4个字节,4个字节构成了一个字。
注意,虽然有8组,但是每次能寻址一组。
按字寻址:一组一个字,共有512K行,需要9根线。
按字节寻址:一组4个字节,共有512K行,512K*4=2^11,需要11根线。
8个组的选择就是片选信号的问题了,需要三根线来做片选信号。
(但是这里我感觉如果用译码器的话,译码器的使能信号是不是也要算上....但是答案里并没有提)