微机原理 f4-关于有BHE的扩展
微机原理
第四章
关于有BHE的扩展
上一节的内容是除8086以外的所有CPU包括8088,因为8088对外只有8位数据总线,不用区分奇偶地址体,没有BHE非。
对上一节RD非和WR非的指正,实际上芯片为OE非是读使能,接读信号,WE非为写信号。
CS非为片选信号,有的芯片可能是CE非。
8086的BHE非是用来检测高8位数据总线是否有效,通过BHE非来区分奇偶地址体。
BHE非和A0的组合来区分奇偶地址体:
01为奇地址读字节,10为偶地址读字节,00为偶地址读字。
8086的特点:数据高8位是奇地址的数据,数据低8位是偶地址的数据。
第一种做法
D0-D7(偶地址8位)、D8-D15(奇地址8位)是CPU引出来的数据总线,CPU的D0-D7是芯片上(怎么接)的。
芯片为1k所以需要10条线。
如果选中A0-A10那么就是2k,但是芯片为1k,所以需要在接出的线做或运算(用BHE非和A0在38译码器做输出端)。
如果要取出偶地址的字节,那么A0就为0,下面的BHE非为1。
如果要取出奇地址的字节,那么A0就为1,BHE非为0。
如果要取出偶地址的字,那么A0为0,BHE非也为0。
第二种做法
用到两个38译码器,让译码器做选择,不再让BHE非和A0做输出端。
其中一个的G2A非或者G2B非连接A0,另外一个连接BHE非。
需要取偶地址字节时,让第一个译码器(A0)的G2A非为0,第二个译码器(BHE非)的G2A非为1。
需要取奇地址字节时,让第一个译码器(A0)的G2A非为1,第二个译码器(BHE非)的G2A非为0。
需要取偶地址字时,让第一个译码器(A0)的G2A非为0,第二个译码器(BHE非)的G2A非为0。
(分时复用)用锁存器把地址和数据信息分开。
AD15连DI7;经过ALE非锁存器,ALE非连接STB非,右边DO7输出的才是地址信息,才会变成A15。
数据信息直接(接入)经过图中的下行的线。