本发明涉及在一系统中如微型计算机中控制存储器的地址分配的装置,特别是涉及用于扩展地址总线的地址控制装置。 一微型计算机系统如图1所示,一般有一个中央处理器CPU1和一个存储器M1(在本说明书中,假设该存储器M1包括多个连接在地址总线上的存储器,以及多个已被分配了存储地址的输入/输出接口)。存储器M1有许多可指定存储位置的地址。CPU1通过由多条地址线(如20条线)组成的地址总线1在存储器M1中的指定位置上进行存取;并且通过发送控制信号从M1中读出数据,例如,通过控制线3向存储器M1发送一个低电平读控制信号;另一方面,通过发送控制信号向存储器M1写入数据,如通过控制线4向存储器M1发送一个低电平写控制信号。应当注意所用的CPU具有固定数目地址线,并且由CPU控制能存取到的存储空间是由上述地址线的条数来决定的。例如,有20条地址线,那么就会有220=1,048,576个地址能被单独分配。这就意味着可以利用的存储空间高达1兆字节。
近年来,具有很大地址空间,或具有增大地址线数目的所谓扩展兼容的CPUs已经在市场上出售。可是,如果用一扩展兼容的CPU来替换现有产品中所用的CPU从而使现有产品的功能得到改善,当老产品和新产品连载时,就会不可避免地出现下列问题。例如,如现有CPU具有20条地址线和1兆字节的存储空间,而扩展兼容的CPU有24条地址线和16兆字节的存储空间,最好是扩展具有20条地址线端的现有存储器,使其存储空间扩展到16兆字节,以便减少更换CPU所需的设计更改。可是,当具有20条地址线端的存储器通过24条地址线存取数据时,由于每一存储器不能识别在另外4条地址线上的信号,则CPU不能正常地存取存储器中的数据。另一方面,如果所有地存储器都被换成具有24条地址线端的存储器,则现有的具有20条地址线端的存储器就无法使用。因而形成了资源浪费。而且,将需要较大的设计更改,由于设计费用太大,而使设计人员放弃设计更改。
本发明的目的是,通过使用具有和扩展前一样地址线端的存储器来实现所谓扩展兼容的CPUs的兼容性。
根据本发明,在第一存储器(例如,具有20条地址线端),这些存储器均被连在一地址总线上(例如,有24条线),用20条地址线来指定第一存储器的地址,用24条地址线来指定第二存储器的地址。
而且,为了防止错误的读写操作,可采用下列选择器装置。该选择器装置检测在那些没有用于第一存储器地址分配的地址线(例如是4条)上的信号。如果该信号是一予先决定的信号(例如,全为零),则该选择器装置只向第一存储器提供CPU的读/写控制信号,否则,选择器装置只向第二存储器提供CPU的读/写控制信号。由于CPU只从两个存储器中被选中的那个存储器中读出,或只向该存储器中写入,所以应写入一个存储器的数据被写入到另一个存储器中的错误操作就可以完全避免了。
图1是一微型计算机系统的方块图。
图2是图1中系统的地址总线根据本发明加以扩充的系统的方块图。
图3是一地址信号改变和产生读/写控制信号时序的时序图。
其中,M1为第一存储器,M2为第二存储器,6为第一地址总线,8为第二地址总线,CPU2为数据处理器,7为数据总线,17为选择器装置。
图2示出本发明的一个实施例,它是由图1中所示的一传统系统扩展组成的,因此,和图1中相同的符号用来表示相同的元件。CPU2具有和图1中的CPU1扩展相兼容的特性,并且,CPU1有由20条线组成的地址总线1,而CPU2有由24条线组成的地址总线6,8。必须清楚,本发明并不只限于具有这些数目地址线的配置。虽然地址总线6,8并不象图2所示那样被准确地分成两部分,但是为了描述方便,由24条线构成的地址总线被分成有20条线的地址总线6和有4条线的地址总线8。
存储器M2是一个扩展的存储器,且有24条地址分配线端。存储器M1是由地址总线6的20条线来指定地址,而存储器M2是由地址总线6,8的24条线来指示地址。存储器M1和存储器M2各自都有一个可读控制端R和一个可写控制端W,存储器M1和M2的R或W控制端从CPU2的R端或者W端接到一个低电平信号就能使得数据通过数据总线7写入或读出存储器M1和M2。
译码器DEC12连接在地址总线8上。当地址总线8的4条线上的信号都是“0”(低电平)时,该译码器12在线13上输出一个高电平信号;否则,(当在地址总线8上的4条线上的信号至少有一个为“1”)就输出一个低电平。CPU2的R端和W端通过线14和16连接到选择器SEL17的输入端。在图2中,为了说明方便,没有标出CPU2的其它控制端如中断控制端等。
选择器SEL17相当于开关,它使得CPU2的R和W端的一对信号接通到X端口和Y端口中的一个端口。X端口通过线18和20,分别地连接到存储器M1的可读控制端R和可写控制端W上。Y端口通过线22和24,分别地连接到存储器M2的可读控制端R和可写控制端W上。选择器SEL17的端口选择是由在线13上来自译码器DEC12的信号决定的。当线13上的信号是高电平时,则允许X端口输出,而禁止Y端口输出;当线13上的信号是低电平时,则允许Y端口输出,而禁止X端口输出。
地址总线6,8的24条线被指定为A。-A23,假定其中A0-A19用来负责存储器M1的地址分配,并且假定A0-A23用来负责存储器M2的地址分配。
当CPU2产生的地址信号为A23=A22=A21=A20=0,且A0-A19为任意时,则译码器12检测到A23=A22=A21=A20=0后在线13上输出一个高电平。然后,选择器17允许X端口输出,并禁止Y端口输出。CPU2能够通过线14和16X端口,和线18,20将读/写控制信号传送给存储器M1的读/写控制端,因而,通过数据总线7,由CPU2的A0-A19指定地址的在存储器M1中存储位置上读写数据成为可能。
其次,当CPU2产生的地址信号中,在A23,A22,A21和A20上至少有一个不为“0”,而其它在A0-A19上为任意,则译码器12检测在A23,A22,A21和A20中至少有一个不为“0”后,则在线13上输出一个低电平信号,借此,选择器17只允许Y端口输出,并且禁止X端口输出,则CPU2能通过线14、16,Y端口,和线22和24将读写控制信号传送给存储器M2的读/写控制端。换句话说,通过数据总线7,由CPU2的A0-A23指定地址的在存储器M2中存储位置上读/写数据成为可能。
图3是一时序图,从中可以看到地址信号的选择及产生读控制信号R和产生写控制信号W的时序。在图3中,地址信号在Tn,Tn+1,Tn+2……时间处改变。读控制信号R和写控制信号W则在时间Tr和Tw从地址信号的改变时刻延迟△t。由于在△t时间内,译码器12的译码工作和选择器17的端口选择工作都已完成,所以不会出现诸如写控制信号W已产生但端口还没选好的错误操作。
那些本技术领域中具有一般技术的人会很容易知道本发明也能应用于输入/输出地址空间。
如上所述,由于本发明可使得现有存储器被用在具有扩展的地址线的CPU中,且通过提供一用来选择CPU的读写控制信号通路的选择装置方便了设计修改,从而使得系统的存储空间得以扩展,同时在低费用下改善了其系统性能。