本发明涉及数据处理的技术领域,更具体地说,涉及一种具有既支持动态读/写存储器的直接存取也支持对该存储器的交叉存取的存储器控制器的数据处理系统。 个人计算机通常采用编址或选择的动态存储器读/写芯片,作为实际存储体,这些芯片排列成单列的存储器模块(SIMM)。用行地址选通(RAS)信号选择存储器的实际存储体。在具有例如16个存储体的系统中就需要有16个特定的RAS线。廉价的高性能存储器系统是为使其在直接存取方式下工作而设计的,在直接存取方式下,每次只有一个RAS线起作用。相反,高价的高性能存储器系统则设计得使其存储器数据通路较宽,而且在交叉存取方式下工作,因而两个RAS线路是为两个存储器体的交叉存取而同时起作用的。
一般说来,存储器制控制是连接在存储器与微处理器、直接存储器存取(DMA)控制器和其它访问该存储器的器件之间的。存储器控制器的其中一个功能是对待访问的存储单元的地址进行译码,并根据存取方式(直接和交叉存取)产生适当地RAS选择信号以触发适当存储器的存储体,在直接存取方式下,存储器控制器的每一个存储体只需要一个译码器,而在交叉存取方式下,控制器的每两个存储体只需要一个译码器,存储体成对配置。支持两种存取方式的存储器控制器必须要为两种存取方式提供译码手段。一般说来,这是用两套译码器进行的,一套对直接存取方式,每个存储体一个译码器,另一套对交叉存取方式,每一对存储体一个译码器。要选取适当的一套译码器需要有另外的译码逻辑电路。
本发明的一个目的是提供这样一种数据处理系统,该系统有一个动态存储器和一个存储器控制器,该控制器不仅支持直接存取的工作方式,而且也支持交叉存取的工作方式,控制器还设计得使其电路的数目少于上述讨论的现有技术所需要的数目。
本发明的另一个目的是提供一种这样的存储器控制器,该控制器可在直接取方式下工作,这时每个存储器的存储体需用一个译码器,也可在交叉存取方式下工作,这时只采用直接存取方式所用的译码器和一个简单的逻辑电路,该逻辑电路不需要另外象原先交叉存取方式所需用的译码器。
简单地说,之所以要以上述方式实现上述和其它目的是要提供这样一种存储器控制器,该控制器中各存储体译码器的输出可以被有选择地直接传送到有关存储器的存储体中,采取直接存取的工作方式,或配对并通过简单的逻辑电路传送,以便以交叉存取的方式同时访问两个存储体。
从下面结合附图进行的说明可以清楚了解本发明的其它目的和优点。附图中:
图1是在直接存取方式下工作的存储器存储体译码系统方框图;
图2是与图1类似的方框图,但示出了能以交叉存取方式工作的现有技术的系统;
图3是与图1和图2类似的方框图,但示出了能以直接存取方式或交叉存取方式工作的现有技术的系统;
图4是与图3类似的方框图,示出了对本发明进行改进的一个例子;
图5是采用本发明的一个数据处理系统的详细方框图;
图6则是图5所示存储器控制器的一部分的方框图。
图1-3示出了经本发明加以改进的那种现有技术存储器系统,图4则是说明本发明的对比方框图。参看图1。以下我们是就一个动态存储器系统110来说明本发明的,该系统有两个单列存储器模块(SIMM)贮存体112和114。每个SIMM有1兆的可编址的存储单元,位宽度为32位。就是说,每次存取进可传送32位或一个双字。两个有效的低态地址译码器116和118连接到地址总线120上。当所访问的存储单元在头1兆存储单元范围内时,译码器116产生有效的“存储体选择”输出信号,而当所访问的存储单元在1至2兆范围内时,译码器118会产生有效输出“存储体选择”信号。译码器116和118的输出线分别连接到定时电路126和128。其中一个对应于访问中的存储体的译码器116和118将根据出现在总线120上的地址产生有效“存储体选择”信号,传送到定时电路,定时电路于是产生包括RAS信号在内的适当操作信号,以访问所选取的存储体中所要访问的存储单元。这种存取工作方式叫做直接存取方式。
图2示出了用于交叉存取工作的同样存储器的存储体,其中各存储体组合使其提供64位宽的存储器数据通路。在此情况下,地址译码器130连接到总线120上,且在所访问的地址在0-2兆的范围内时将根据总线120上的地址产生有效的“存储器选择”信号。译码器130连接到定时逻辑电路126和128,且根据收到有效“存储体选择”信号和在线路129上的RAS定时信号的情况分别将RASO和RASI信号传送到存储体112和114。RAS定时信号控制各RASO和RASI脉冲的高/低定时过程。
图3举例说明了支持直接存取和交叉存取方式两者的系统。寄存器132存储有限定存取工作方式的控制信号(D/I),存储器则视乎控制信号以直接存取方式或交叉存取方式加以存取。为达到这个目的,该系统还包括两个多路转换器,即MUX 134和136,该两个转换器连接到寄存器132上,且工作时当处于交叉存取方式时根据控制信号D/I将“存储体选择”信号从译码器130传送到各存储体,或者当处于直接存取方式时将“存储单体选择”信号从译码器116和118传送到各存储体。
在设计用于高性能个人计算机的存储器控制器的过程中(这种设计的一个目的是提供一种既支持交叉存取工作方式也支持直接存取工作方式的存储器控制器),我们分析了上述现有技术的设计,且注意到这样一个关系:用一个简单的“与”电路代替译码器130可以使原来用于直接存取方式的两个译码器还可用于交叉存取方式,从而在达到同样效果的同时减少了电路的数目。参看图4,“与”电路140的两个输入端连接到译码器116和118的输出端,一个输出端连接到MUX 134和136的输入端。在直接存取方式下工作时,MUX134和136会只传送来自译码器116或118的有效输出信号,这取决于哪一个“存储体选择信号”有效。在交叉存取方式下工作时,MUX 134和136会同时传送来自“与”电路140的有效信号,以便同时访问两存储体112和114。电路40能有效地从两个实际存储体产生单逻辑存储体,其中逻辑存储体的地址在0-2兆范围内。
从下面的逻辑论据应该可以理解本发明之所以简单以及采用“与”电路的原因。译码器116的输出只有当所访问的存储器单元在0-1兆范围内时才起作用或处于低态。译码器118的输出只有当所访问的存储单元处在1-2兆范围内时才起作用或处于低态。若所访问的存储单元超出上述范围,则上述两译码器的输出都不起作用或处于高态。“与”电路140的逻辑是这样的,即当其中一个或两个输入起作用时,其输出起作用。若两个输入处于高态或不起作用,则输出会同样处于高态或不起作用。
现在参看图5,图中所示的数据处理系统包括一微处理器10、一存储器控制器12、一具有多个SIMM 16-1至16-n的存储器14、一总线接口18、一用以存储基本输入/输出操作系统(BIOS)的只读存储器(ROM)20、一用以存储准备和构形信息的固定RAM(NV RAM)22、一直接存储器存取(DMA)控制器24、一连接到多个扩展插口27-1至27-n的扩展总线26和一连接到扩展插口27-1的总线主控器28。控制器12是个连接到一CPU总线30和系统总线32上的双端口控制器。微处理器10与缓冲器34之间连接有数据总线30D,接口18与缓冲器35之间则连接有数据总线32D。缓冲器34和35由存储器总线36的数据总线36D连接到存储器14。应该指出,总线26、30、32和36的地址、控制和数据总线分别采用其各自的后缀A、C和D命名。
除下面即将谈到的控制器12的某些细节和操作方式外,本系统是按周知的原理构成并采用有许多资料证明、市面上出售的器件的,因而为理解本发明所需要的有关细节在这里不再赘述。应该理解的是,为使说明简明起见,这里都没有画出通常数据处理系统中应有的许多配套器件和其它器件。
到此为止所述的系统中,存储器14可由微处理器10、DMA控制器24或总线主控器28存取。鉴于各这类器件的存储器存取都是类似的,因而下面仅说明处理器10如何对存储器14进行存取。熟悉本技术领域的人士都知道其它器件也能以类似的方式访问存储器。
此外,大家都知道,存储器有许多不同的配置方式,但为举例说明本发明的内容,我们假设存储器14的最大容量为8个32位宽的SIMM,各SIMM具有一个或两个存储体,各存储体的容量为1或4兆字节,且能以30-100毫微秒的RAS速率工作。通过使用扩展总线可以增设辅助存储器。
图6示出了如何将本发明结合到存储器控制器12中。地址总线120接收来自总线30的存储体地址(图5)并将该地址输入译码器116和118中。各译码器的输出端接到逻辑电路42的各输入端,逻辑电路42则包括MUX 134和136以及“与”电路140。输入/输出端口40包含寄存器132。当初始配置系统且使用者确定了系统在直接存取方式还是交叉存取方式工作时,寄存器132中的控制信号就借助访问该端口并在寄存器中书写适当的D/L信号加以设定。在正常情况下,系统一旦设定以某给定存取方式工作,就保持处于这种存储方式。连入寄存器132是为将方式控制信号D/L传送到逻辑电路42上。控制器12还包括状态机44,状态机44根据来自总线30的微处理器的地址和控制信号给逻辑电路42提供定时信号,使适当的存储器工作信号(包括RAS信号)传送到存储器14中,以访问包含在编址存储器存储单元中的存储体。
虽然上面是就1兆SIMM来介绍本发明的,一其中它具有这样的好处,即可用单一的“与”电路代替一八级译码器一但通过增加译码器的复杂程度还可以进一步增加上述优点,使其可以处理各种大小的SIMM和各种起始地址。
熟悉本技术领域的人士都知道,在不脱离本发明在本说明书所附的权利要求书中所规定的范围的前提下是可以对本发明的各步骤和各部分的细节和配置方式进行种种修改的。