首页> 中国专利> 动态存储系统中动态调定各时标用的数据处理设备

动态存储系统中动态调定各时标用的数据处理设备

摘要

一种数据处理系统,包括一存储器控制器,该控制器用以访问具有多个大小和工作速度不同的SIMM的动态存储器。该存储器控制器工作时能根据访问一给定SIMM的要求读出SIMM定义寄存器并动态地根据受访问中的该特定SIMM的定时要求产生存储器存取信号。这些信号是在每次访问SIMM时调定的。这些信号提供RAS预充时间、RAS至CAS时间和CAS脉冲宽度的不同时钟脉周期。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-11-04

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2006-12-27

    专利申请权、专利权的转移专利权的转移 变更前: 变更后: 登记生效日:20061117 申请日:19910830

    专利申请权、专利权的转移专利权的转移

  • 2002-06-12

    其他有关事项

    其他有关事项

  • 1994-12-07

    授权

    授权

  • 1992-04-29

    公开

    公开

  • 1992-03-25

    实质审查请求已生效的专利申请

    实质审查请求已生效的专利申请

查看全部

说明书

本发明涉及数据处理的技术领域,更具体地说,涉及能使用多个不同类型的动态随机存取存储器(DRAM)模件动态设定存储器中各时标的一种设备。

目前,象个人计算机之类的数据处理系统都装有这样的一种系统存储器,该系统存储器具有多个由许多DRAM模件组成的存储模件。这类模件的一般形式是:一个单列存储模件(SIMM),里面有多个DRAM芯片集装成单个组件。许多个人计算机是用多个插座构成的,SIMM即可插入这些插座中。在许多情况下,这些插座并不是一开始就全用上,而是随着使用者需要的增加而增设更多的SIMM的。

各模件在许多方面,例如大小(即存储容量)、速度、存储地址体系结构或行列比等,有着明显的差别。存储模件还需要根据其定时上的各项要求以精确定时的方式供给定时或控制信号。这种定时上的各项要求包括脉冲宽度、转移时间、占用时间、预充时间等。虽然有许多与DRAM有关的不同的时间,但DRAM的速度通常是用从RAS(行地址选通)的下降边缘计起的数据存取时间表示的。DRAM是通过按存储器功能的类型而定的预定顺序往其上加不同的启动信号实现访问的。典型的DRAM都具有接收各种信号用的端子,例如书写启动(WE#)、数据输入和输出、多路转换的行地址和列地址、行地址选通(RAS)和列地址选通(CAS)等信号。

在数据处理系统中,对存储器的存取是由存储器控制器控制的。存储器控制器一般是用来支援特定类型的存储器,且按系统时钟所决定的速率或微处理器的速度运行。存储器控制器硬件应设计得使其能适应不同速度的DRAM在定时方面的各项要求。此外,随着存储器控制器的工作频率增加,当DRAM的定时要求受到干扰时,存储器控制器硬件也必须改变。

当某一系统有增设存储模件的余地时,这些模件通常不得不在等于或高于原模件速度下运行,而相关的存储器控制器是为原模件设计的。当加设了速度更快的模件时,系统仍然在较低的设计速度下运行,这样就不能利用速度更快的模件的优点。

本发明所适用的典型数据处理系统包括一微处理机芯片、一具有多个SIMM的存储器、一存储器控制器、一存储器直接存取(DMA)控制器、一扩展总线和一I/O(输入/输出)装置。微处理机的类型可以是诸如周知的Intel  80386和80486的微处理机系统,且选取得能以合用的速度工作,例如80386就要能够在每秒钟内运算2500万次或3300万次。SIMM的型式从30毫微秒至100毫微秒,可采用各种不同大小和地址体系结构。对于如此选用处理机和SIMM,系统设计人员或用户就可以使某一系统适应广泛的要求和用途。因此,现在的问题就成了如何设计一种能以不同的速度工作控制不同类型存储模件的存储器控制器的问题。

因此本发明的一个目的是提供一种方法和设备,对装有多个在大小、存储体系结构和定时要求方面不同的存储模件的存储器进行动态控制存取。

本发明的另一个目的是提供一种存储器控制器它能以不同的时钟频率工作,对具有不同定时要求的存储模件进行控制存取。

本发明的另一个目的是提供一种存储器控制器,它能给具有不同定时要求的存储模件发送不同的定时信号。

本发明的另一个目的是提供一种存储器控制器,用以对具有多个不同存储模件的存储器的存取过程进行控制,其中存储器控制器动态地改变着发送的控制信号,从而适应各存储模件的不同定时要求。

本发明的另一目的是提供一种能产生不同宽度的定时信号的存储器控制器,并选择适当的信号,每次访问一个存贮件模件。

本发明的另一个目的是提供一种数据处理系统,它能使用不同存储模件以不同速度工作,且这个系统中的存储器控制器可编程,根据不同存储模件的定时要求动态地调定其定时信号,从而使系统发挥其最佳的工作性能。

本发明的另一个目的是提供这样一个系统,在这个系统中,存储器可采用不同的DRAM,由一可编程存储器控制器根据满足各DRAM的定时要求所需要的时钟脉冲同期存储每个DRAM的定时要求,该存储器控制器能根据所存储的信息动态地发出定时信号,每次访问一个DRAM。

简单说来,达到上述和其它目的和优点的方法是提供一种具有至少一个处理器、一存储器控制器和一装有多个存储模件的存储器的数据处理系统。明确限定各模件定时要求的信息存储在一可编程的存储器中。每次对一个模件进行存取,根据要加以存取的特定模件的定时要求,可编程存储器中的信息用来动态地设定存储器控制器,发出控制信号。

从下面结合各附图所作的说明可以清楚了解本发明的其它目的和优点。附图中:

图1是实现本发明的一个数据处理系统的方框图;

图2是图1所示的存储器控制器的一部分的方框图;

图3是图1所示的存储器中所使用的SIMM型存储模件的原理示意图;

图4是说明图3所示的模件的工作过程的定时图;

图5是示出页面击中(page  hit)和页面未击中(page  miss)周期以及各种可能有的脉冲宽度的定时图;

图6是存储器控制器一部分的状态图,有助于理解图5中的控制信号是如何产生的;

图7则是一些实例的定时图,示出了所列举的不同条件下的定时要求。

现在参看各附图。先参看图1,图中示出的数据处理系统包括一微处理机10、一存储器控制器12、一具有多个SIMM16-1至16-n的存储器14、一总线接口18、一用以存储基本输入/输出操作系统(BIOS)的只读存储器(ROM)20、一用以存储准备和配置信息的固定RAM(NVRAM)22、一直接存储器存取(DMA)控制器24、一连接到多个扩展插头27-1至27-n的扩展总线26和一连接到扩展插头27-1的总线主控器28。控制器12是个连接到CUP总线30和系统总线32的双端口控制器。数据总线30D连接在微处理机10与缓冲器34之间,数据总线32D则连接在总线接口18与缓冲器35之间。缓冲器34和35通过存储器总线36的数据总线36D连接到存储器14上。应该指出的是,总线26、30、32和36的地址、控制和数据总线分别采用相应的后缀A、C和D命名。

除控制器12和工作过程的某些细节之外,本系统是按照周知的原理构制,并采用有详细文件介绍、市面上出售的器件的,因此,对于了解本发明,无需知道的那些细节,在这里不加以介绍。应该理解的是,为简单说明起见,这里没有画出数据处理系统中一般装有的许多支援器件和其它器件。

在至此所介绍的系统中,存储器14可由微处理机10、DMA控制器24或总线主控器28加以存取。鉴于对这类存储器的存取过程对每一个这类器件来说都是类似的,因而下面只说明微处理机10对存储器14的存取过程。熟悉本技术领域的人士都知道,其它器件也可以类似的方式对该存储器进行存取。此外,大家都知道,存储器是有许多不同的配置方式的,但为了举例说明本发明起见,我们假设存储器14的最大容量为八个32位宽的SIMM,每个SIMM具有一个或两个存储体,每个存储体的容量为1个或4个兆字节,且能以30-100毫微秒和RAS速度工作。

在进一步介绍本发明的内容之前,我们认为举例参看一下SIMM的一般工作情况还是有好处的。参看图3和4,一SIMM具有多条输入线路,包括:一线路52,用以接收行地址选通(RAS)信号;四个线路54,用以接收列地址选通(CAS)信号(CAS  3∶0);一线路56,用以接收写启动(WE#)信号;和多个线路58,用以接收经多路转换的行地址和列地址信号;多个线路60,兼作输入和输出线路,用以将数据输入SIMM中和从SIMM中输出数据;电源线61供电,使SIMM工作。

SIMM的工作过程是循环性的。在一个循环开始时,设定WE#信号,读操作或写操作。在时间TO时加上RAS信号,启动SIMM循环,于是SIMM就内部预充行地址,RAS信号持续P1的时间,这个时间确定了RAS的预充时间。在时间T1,行地址信号成为有效,然后在时间T2,RAS下降,确定选通,告诉SIMM:行地址有效。行地址保持有效,历时P2的时间,然后开始行地址至列地址的转移过程,转移时间取决于MUX  76能从有效行地址信号转换到有效列地址信号的速度。各CAS信号在时间T4时下降或选通,这之后,列地址线路保持有效,历时P3的时间,使该地址可用于SIMM中。在读存取的过程中,从CAS选通时起经过P4的时间之后,来自SIMM的数据就作为有效数据输出出去。在写操作过程中,正在写入SIMM的数据只能在时间T5时有效,以便紧接着在T4的CAS选通之前提供数据准备时间P9。数据输入应使其在P5的时间内保持有效,使数据可以读入SIMM中。RAS至少保持P6那么长的时间,在这段时间RAS对SIMM进行存取。举例说,在70毫微秒的SIMM中,P6的时间(这就是RAS的存取)为70毫微秒。P7这个时间在RAS曲线的下降沿与CAS曲线下降沿之间,叫做RAS对CAS的定时。

与某一给定SIMM有关的定时要求是很多的,但对本发明来说极为重要的却只有三个:P1、P7和P8,它们分别限定RAS预充时间、RAS到CAS时间和CAS脉冲宽度。其理由如下。某一SIMM的各定时要求规定了SIMM本身正确工作所必须遵守的最短周期。定时和控制信号由以系统时钟脉冲速率工作的存储器控制器12提供。存储器控制器12产生信号使各存储模件与系统速度成比例地工作,从而达到或至少满足各存储模件的最低定时要求。更具体地说,控制器12会利用系统时钟所提供的时钟周期产生使SIMM工作的信号,所产生的信号为时钟脉冲周期的积分,以满足这种SIMM的最低定时要求。显然,如此所产生的信号可能比最低要求长,但绝不会更短。根据适当的时钟脉冲周期值调定RAS预充时间、RAS至CAS的时间和CAS脉冲宽度,能够容易地满足不同SIMM的大部分定时要求。

微处理机10最好是个工作速度为16兆赫、20兆赫、25兆赫或33兆赫的80386微处理机,或工作速度为25兆赫或33兆赫的80486微处理机。存储器控制器12应设计得使其在包括了微处理机10工作频率在内的频率范围工作。系统时钟脉冲(图中未示出)的工作频率控制存储器控制器,并确定各时钟脉冲的持续时间或周期。上面说过,SIMM  16会有各种不同的时标,控制器12则编程得使其提供具有以时钟脉冲量度的适当脉冲宽度的信号,以使SIMM工作。例如通过提高微处理机的等级使其工作速度提高从而改变工作频率时,能使已编程的时标变化,从而补偿时钟脉冲宽度的变化。

参看图2,存储器控制器12包括多个SIMM定义性寄存器(SDR)40-1至40-n,系统中每个SIMM有一个寄存器。各SDR  40是个八位寄存器,用以存储下列信息:

二进制位MS1,2-SIMM或存储器容量和RAS和CAS地址体系结构,即列地址位和行地址位的数目;

00=8×10

01=9×9

10=10×10

11=备用

二进制位CAS1,2-CAS脉冲宽度,即时钟脉冲或CAS保持有效的时钟脉冲的数目;

00=1个时钟脉冲

01=2个时钟脉冲

10=3个时钟脉冲

11=4个时钟脉冲

二进制位RTC1,2-RAS至CAS,即页面未击中期间从RAS下降沿至CAS下降沿的时钟脉冲数,或页面击中周期期间从周期开始至CAS下降沿的时钟脉冲数;

00=0个时钟脉冲

01=1个时钟脉冲

10=2个时钟脉冲

11=备用

二进制位RAS1,2-RAS预充,即对页面未击中RAS保持无效期间时钟脉冲的数目;

00=1个时钟脉冲

01=2个时钟脉冲

10=3个时钟脉冲

11=4个时钟脉冲

控制器12还包括多个基地址寄存器(BAR)42-1至42-2n,在有关的SIMM中的每个存储体都具有一个这样的寄存器。由于每个SIMM可能会有两个存储体,因此各相应的SIMM有两个BAR。各BAR  42是个八位寄存器,用以存储相应存储体的基地址或起动地址。

控制器12还包括多个SIMM选择电路44-1至44-n,每个SIMM有一个电路44。地址总线46用以接收来自CPU总线30A的地址,并将此地址传送到电路44。连接这些电路也用以接收来自有关BAR  42的基地址和来自有关的SDR  40的SIMM容量位MS1,2。根据该接收情况,每个电路44确定该地址是否对应于相应SIMM的范围,若对应,则电路44给逻辑电路47输出一个SIMM选择信号。若该地址不在该范围内,则不产生这种信号。当对存储器14进行存取时,一个SIMM选择信号具有效的。

锁存器49连接到总线46和比较器48上。锁存器49中存储有上一个存取的地址,比较器48则将该旧地址与新地址进行比较,看看两者是否来自同一页面。进行比较之后,新地址就作为旧地址存入锁存器49中。比较器48的输出是一个表明将发生一个页面击中循环的信号。一个页面是指用指定行地址存取的字节数。因此比较器48确定新旧地址的行地十是否相同。

逻辑电路47接收来自每个电路44和来自页面击中比较器48的输入。逻辑电路47在线路70、72和74上产生三个输出。控制器12还包括一地址多路转换器(MUX)76、多个n比1  MUX  77-79和一个定序器80,它们分别连接到总线70、74和72接收来自逻辑电路47的输出信号。MUX  77连接到各SDR上,并从各SDR接收RAS1,2信号。MUX  78连接到各SDR上,并接收RTC1,2信号。MUX  79连接到各SDR上,并从各SDR接收CAS1,2信号。MUX  77-79还有一个控制输入端连接到线路74和来自逻辑电路47的MUX控制输出端。

当SIMM选择电路44的任何一个输出变为有效时,逻辑电路47按下列方式产生输出信号。首先在74上输出,使各MUX选通,从而将RAS1,2、RTC1,2和CAS1,2信号从与所选取的SIMM有关的SDR传送到定序器80上。定序器装有三个计数器(图中未示出),用以接收这些信号并根据RAS1,2、RTC1,2和CAS1,2中指定的时钟脉冲产生RAS预充、RAS至CAS和CAS脉冲宽度等信号。其次,输出页面未击中信号会在线路上起作用,并输入到定序器80中,作为启动或开动信号,用页面未击中循环继续对存储器进行存取。第三,将控制信号放在线路70上,表明在页面未击中时应选取哪一个SIMM使MUX  76,根据所选择的SIMM的存储器结构位MS1,2和根据存储器周期的类型,进行多路转换行和列地址信号。MUX  76从总线46上的地址提取适当数量的行地址位和列地址位,该数量是由存储在所选取的SDR  40中的信息确定的。

控制器12还包括一更新寄存器90,该寄存器存储着四个供控制更新时标用的二进制位。该四个二进制位为RP1,2,用以控制更新预充宽度;和RPW1,2,用以控制更新脉冲宽度。更新请求由DMA控制。该四个二进制位是为SIMM的最坏情况要求而设定的,以满足所有SIMM。这样做减小了系统的复杂性,但由于更新不是经常性的,所以不致降低系统的性能。

存储器控制器的寄存器SDR  40、BAR  42和更新寄存器90可作为I/O端口加以存取,且可按下述方式编程。当数据处理系统准备并配置好之后,从准备盘上读取信息,或由使用者将信息输入并存储在固定CMOS  RAM  22中。其后,当系统接通电源时,ROM  18中的BIOS将信息拷贝入存储器控制器12的寄存器中。

控制器12连接到控制总线30C以接收下列存取信号:ADS#,M/IO#,D/C#和CLK。这些信号输入到定序器80中去。来自总线30A的信号MBE#(3∶0)输入到逻辑电路100中去。这些信号按微处理机10的传统操作方式提供,按下述方式控制存储器存取过程。定序器80连接到输出线路92、94、96和98上,这些输出线路则分别连接到逻辑电路100、逻辑电路102、逻辑电路102和MUX  76上。线路92上的输出CAS以及存储器字节启动信号MBE#(3∶0)能促使逻辑电路100将适当的CAS选择信号加到线路54上的SIMM。线路94和96上的输出信号控制线路52上各SIMM的RAS选择信号。线路98上的输出信号都是一些告诉MUX  76什么时候传送RAS和CAS地址的定时信号。

从下面关于状态和定时图的工作情况的说明可以清楚了解本发明的设备和方法更详细的细节。参看图5,图A示出了页面未击中周期期间出现的某些定时信号,图B示出了在页面击中周期期间相应的各信号。页面未击中周期领先一个或多个页面击中周期。应该理解的是,这除了图中所示的信号以外,还有一些信号为了简明说明起见而略去了,因为它们按传统方式工作,包括来自处理机的WE#、M/IO、D/C和MBE#(3∶0)等信号。CLK信号以控制器和微处理机的工作速度行进,而且是控制其它信号的基本定时信号。

定序器80将存储器存取周期分为四个状态或阶段:起动阶段S,RAS预充阶段P,RAS至CAS的阶段RC和CAS脉冲阶段C。这些阶段示于图6的状态图中,而图5定时图中相应的各阶段采用了同样的字母及表示各阶段中相应的时钟脉冲周期数的后缀数字表示。举例说,RC2表示RAS至CAS阶段中的第二时钟脉冲。

参看图5,在起动阶段S期间进行确定:存取周期是页面未击中周期还是页面击中周期,根据这个确定结果,周期为页面未击中周期时控制就转入阶段P,为页面击中周期时控制就转入阶段RC。在页面未击中周期期间,在时间P1中根据正在存取中SIMM的二进制位RAS1,2所确定的时钟脉冲周期数来确定是否需要另一个P周期。就是说,这些二进制位确定了在P阶段期间会出现多少个时钟脉冲周期。同样,二进制位RTC1,2和二进制位CAS1,2分别确定RC和C阶段中的时钟脉冲周期数。

参看图5,ADS信号在S1期间变小时周期开始,而在该低信号与其后CLK上升的交界处就开始进入下一个阶段。在页面未击中周期期间,下一个阶段为P,在该期间,各行地址随同RAS一起选通到SIMM上。在此实例中,P阶段为四个周期。这后面接着是两个周期的阶段RC。在第一周期RC1期间,RAS不起作用,且列地址选通到SIMM上。两个周期结束之后,出现四个周期的C阶段。在C1期间,下降着的CAS信号将列地址选通入SIMM中。在页面击中期间,采用类似信号,只是由于SIMM因先行的页面未击中周期而已预充到同一行地址上,因而没有经过P阶段。

在状态S1期间,不分析SDR。这样做的原因在于,在S1期间需要决定的仅仅是所发生的是页面击中抑或页面未击中情况,而那是由比较器48根据行地址决定的。在S1期间,还对存储器地址加以分析,并使适当的SIMM选择线路起作用。逻辑电路47在线路74上发送MUX控制信号,以便将适当的领事从所选择的SIMM的SDR选通入定序器80中。此外,适当驱动进入定序器80中的页面击中或页面未击中信号。

在P1期间(这个状态是在页面未击中周期时进入的),将RAS预充(RAS1,2)信号输入定序器80中的一个计数器(图中未示出)中,定序器80则根据规定的时钟脉冲数产生RAS预充脉冲。在页面未击中周期期间,总是至少有一个时钟脉冲RAS预充时间,因此,通过动态地选择在先状态下适当的SDR并在P1状态下从中分析该信号就不致使性能降低。

在页面击中周期期间,在S1期间发生上述同样的过程,只是通过确定产生页面击中循环,控制器从S1状态转入RC1状态。S1期间输入定序器80的RC1,2的值用于在RC1期间产生适当的RAS至CAS的时间。由于RC1为了妥善准备好各列地址而总是出现,因而基于前一段中所述的同样理由性能不致下降。

图7举例说明了如何将两个不同的SIMM编程,使其先在25兆赫系统中工作然后在33兆赫系统中工作的定时图的一些实例。这是页面未击中周期的一些例子。存储器SIMM的技术规格如下:

SIMM  1  SIMM  2

RAS  存取  30毫微秒  80毫微秒

RAS  预充  30毫微秒  70毫微秒

CAS  存取  14毫微秒  35毫微秒

系统的技术规格如下:

从RAS起作用的列地址有效时间  35毫微秒

读数据准备时间  10毫微秒

时钟脉冲周期(25兆赫)  40毫微秒

时钟脉冲周期(33兆赫)  30毫微秒

各图是配合下列各实例的:

图  SIMM  速度  P  RC  C

7a  SIMM  1  25兆赫  1  1  1

7b  SIMM  2  25兆赫  2  1  2

7c  SIMM  1  33兆赫  2  2  1

7d  SIMM  2  33兆赫  3  2  2

P,RC和C栏下面的数值表示满足SIMM  1和2的各定时要求所需要的各阶段的时钟脉冲周期数。这些数值应根据介绍SDR  40时所述的位调定值编程入有关的SDR中。各实例是以类似形式举出的,因而只要详述其中一个就行了。采用图7a的实例,SIMM  1需要30毫微秒的预充时间(图4中的P1)。由于时钟脉冲周期是40毫微秒,因而P阶段只需要一个时钟脉冲周期。RC调定值必须满足行地址保持时间P2、从行地址转换到列地址的转换时间和列地址准备时间。C或CAS脉冲宽度时间应在写周期期间满足具体SIMM技术规格定时要求中所规定的CAS脉冲宽度时间。在读周期期间,C时间必须满足器件数据锁存器中传播延迟和保持时间容许的CAS存取和数据准备时间。显然,根据任何已知的SIMM的各定时要求调定这些时间是本技术领域公知的技术。

这些实例说明了本发明的一些优点。首先,同一系统中的同一个微处理机可以采用不同速度的SIMM。每次对不同的SIMM进行存取时,存储器控制器应用所编程的调定值控制控制器并提供适当的时标。其次,若微处理机的速度变化,改变所编程的调定值使其满足该已改变的系统的速度,即可采用同样的SIMM。

熟悉本技术领域的人士不难理解,在不脱离本说明书中所附权利要求书中所述的本发明范围的前提下是可以对各步骤和部件的细节和配置方式进行种种修改的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号