先谈位拓展,位拓展是一个必须的操作,如果存储字长没CPU数据总线那么长,必须拓展

位拓展的本质就是把一个二进制数分到了多个存储芯片的同一地址内存储

所以也是能看到地址总线是接到每一个芯片上面的

即将N位变成了N/M1·M位

这里的话,不需要区分片选信号,因为所有片都需要提供某几位二进制数的位

所有都需要工作

字拓展实际上相当于把原先的64K变为了16K+16K+16K+16K的形式

而这里不必要修改输出的位数,因而就直接连接即可,不过需要单独区分选片信号

然后每次根据不同的地址信号去选取不同的存储芯片即可,这里又衍生出两类信号选择法

一类是用某一位去选择一块芯片,并且为了防止选中别的芯片,只能这一位有效

其他位必须都是无效的,这个就是线选法,一般称CPU地址高位为选择地址位(虚拟位

低位的话就是片内选地址了,低位都是和芯片接着的,数目一样

所以说这个非常浪费,8个芯片就需要8个引脚,明明依靠值选择就可以3个引脚解决的事

一类就是译码片选法,一般采用一个MCU来进行输出选择,这里就是三个引脚解决的事

值选择,而非位选择,利用率高

这两种考起来的区别还是比较明显的,注意点

另外么,就是因为CPU引脚实在多的要死,所以可能会空几位出来

把13、15做选择位,14空着,但给信号的时候14依旧会给信号,无非没什么用罢了

字位拓展,一般是为了充分利用CPU引脚吧,一般而言就算CPU引脚不满也是没有事情的

内部采取位拓展,多个芯片重叠,每个芯片提供某几位数值位,叠加出为数据通路的宽度

外部采取字拓展,将每个部分视作一块芯片去做字拓展

译码器而言,基本不怎么考,主要是和CPU有一个MERQ信号相关,所以谈几句

MREQ信号是为了送出地址信号以后,让地址信号先稳定,然后再使能译码器,使得选中芯片时

片内地址的选中一定是稳定的