在多重处理环境中动态随机存取存储器刷新监视和周期性的准确的分布式总线判优的制作方法

文档序号:6469528阅读:231来源:国知局
专利名称:在多重处理环境中动态随机存取存储器刷新监视和周期性的准确的分布式总线判优的制作方法
技术领域
本发明一般地涉及多处理器的计算机系统,更具体地说,涉及在多处理器的计算机系统中用来在多个处理器之间分配内务处理功能的方法和装置。
本发明的现有技术计算机除了在本文中被统称为“元器件”的存储器、总线判优单元、存储器刷新控制器和至少一个数据和命令高速缓冲存储器之类的专用的功能单元之外通常还具有至少一个中央处理器(“处理器”)。具有一个以上处理器的计算机系统将被称为多处理机系统。
处理器和元器件之间的通信发生在使元器件和处理器互连的系统总线上。总线上的通信是在“事物处理”中发生的。众所周知,一个以上处理器试图同时在总线上进行事物处理的情况可能出现。在这种情况下决定哪个处理器将控制总线并因此获准在总线上进行事物处理的过程被称为判优。在判优中获胜的处理器在本文中被称为“总线主控”。
判优发生在总线判优单元中。在单处理机系统中,对处理器而言总线判优单元可能是外部的,也可能是内部的。当功能单元所完成的功能至少部分地由处理器完成时,该功能单元(例如总线判优单元)将被称为“内部的”。反之,当功能单元所完成的功能不由处理器完成时,该功能单元被称为“外部的”。在技术上众所周知,外部的功能单元通常包括为完成一套特定的功能而配置的专用的电路系统。


图1图解说明用外部的总线判优器完成总线判优的典型的多处理机计算机系统。如图1所示,多处理器系统有主机10和众多处理器12a、12b…12n,它们全都被接到系统总线14上。外部的判优单元13接收总线请求线(R)上的信号并且根据任何已知的协议决定哪个提出请求的处理器应该被授予总线主控权。在判优中获胜的处理器(或主机)借助在连接判优器13和处理器或主机的确认线(A)上的信号得到通知。为了成为总线主控,处理器在它的总线请求线(R)上断言信号,然后等待外部的总线判优单元13借助在与它相关联的确认线(A)上的信号授予它总线主控权。因此,就每个处理器而言,使用外部总线判优器的判优需要请求线和确认线两者。
在许多计算机系统中,包括用图1图解说明的系统,很多的不同类型的事物处理被认为比其它类型的事物处理更重要。例如,计算机系统可能给予涉及直接存储器存取(DMA)的事物处理高于其它类型的事物处理的优先级。为了适应不同优先级的请求,用一条或多条优先级请求线(P)使处理器12a-12n与总线运送判优单元13互连是这样的系统中的共同点。当处理器希望在总线上进行优先级事物处理时,处理器在其优先级请求线上断言信号。外部的判优单元13处理请求并且把总线优先分配给在优先级请求线上断言信号的处理器。
使用外部的总线判优单元13的判优可能使空间变得密集,因为必须提供众多专用线才能使每个处理器12a-12n和主机10与外部的判优单元13互连。在图解说明的实例中,一条请求线、一条确认线和至少一条优先级请求线是对每个处理器完成总线判优必不可少的。当接在总线上的处理器数目大时,将需要大量的有效空间供判优使用。
除了多个处理器之外,计算机通常使用固态存储器元件,例如动态随机存取存储器(DRAM)之类的元器件。在本文中使用的术语DRAM指的是任何类型的动态随机存取存储器,包括DRAM(动态随机存取存储器)、SDRAM(同步动态随机存取存储器),DRDRAM(direct rambus DRAM)和其它类型的存储器。
保存在DRAM中的数字信息通常以电荷形式储存在电容器的二维阵列中。储存在每个电容器上的电荷可以在读操作期间被读出,或者在写操作期间发生变化。此外,由于漏电,电荷总是随着时间的推移逐渐消失。漏电量取决于处理和操作条件以及环境因素,例如温度和供电电压。由于这种泄漏,DRAM的电容器阵列中各个电容器上的电荷必须定期地被刷新。
为了完成刷新操作,按惯例先把数字信息从DRAM中读出,随后立即重新写入DRAM。这样,各个电容器上的电荷可以在不改变存储器数组内容的情况下得以增加。为了保证存储器数组内容的完整性,DRAM必须在泄漏使储存在电容器中的电荷下降到预定水平以下之前被刷新。由于DRAM通常是按行和列组织起来的,所以DRAM的刷新通常是逐行完成的,尽管其它刷新方案也是可能的。
在多处理器环境中DRAM刷新程序的控制通常是受外部的DRAM刷新控制器管理的。外部的DRAM刷新控制器具有指示即将被刷新的行的刷新计数器和使刷新计数器能复位(例如复位到第一行)的复位键。虽然DRAM刷新控制器完成的功能对于计算机的操作是重要的,但是DRAM刷新控制器占据在其它情况下可能用于其它元器件的宝贵的空间。此外,DRAM刷新控制器必须通过至少一条专用线或者在系统总线上连接DRAM。当DRAM刷新控制器用系统总线来控制DRAM刷新操作时,从整体上看系统的性能由于减少了以其它方式可能被转移的数据量而下降。当DRAM刷新控制器通过至少一条专用线连接DRAM时,在其它情况下可能用于其它目的的有价值的空间被占据了。
因此,所需要的是一种方法和装置,这种方法和装置在多处理器的环境中将有利于诸如总线判优和DRAM刷新操作之类的维护功能的性能,同时使完成这些功能所需要的空间量和其它系统资源量减少到最低限度。
在这项发明的一个实施方案中,为了同时完成总线判优每个处理器都备有配置与其它本地判优单元一样的本地判优单元。每个本地判优单元都独立地与其它处理器一起监视打算成为总线主控的请求,并且与其它判优器同步和备有类似的逻辑电路。因此,每个本地判优单元都独立地决定后续的总线主控的同一性。通过提供各自独立地决定总线主控权的分配,多处理机系统有能力取消使用与判优相关联的确认线的必要性。这大大减少了必须供判优使用的面积。
类似地,为了完成DRAM刷新操作,每个处理器都备有本地DRAM刷新控制器,该本地DRAM刷新控制器有至少一条引线被接在一条以上专用的DRAM刷新线上。在优选的实施方案中,每个处理器都有一条引线接在单一的DRAM刷新线上。每个本地DRAM刷新控制器在有责任完成DRAM刷新操作时在DRAM刷新线上把DRAM刷新信号发送给DRAM。在没有完成DRAM刷新操作的责任时,每个本地DRAM刷新控制器都监视DRAM刷新线,感测其它DRAM刷新控制器发出的DRAM刷新信号并且使用感测到的信号更新其DRAM刷新行计数器。为了使该计数器复位还可以提供复位线。作为替代,控制器的复位可以借助单一的DRAM刷新线来完成。为每个处理器准备本地DRAM刷新控制器将取消使用外部的DRAM刷新控制器的必要性,因此节约了空间并且取消了作为争夺总线主控权的元器件的DRAM刷新控制器。另外,通过保证每个DRAM刷新控制器都有关于DRAM刷新操作的当前信息,在处理器之间移交期间刷新操作的复制被减少到最低限度。因此,新负责的DRAM刷新控制器能够继续DRAM刷新操作,在这种情况下前一个处理器的DRAM刷新控制器停止操作。
图3是在图2的多处理机系统中使用的总线判优系统的功能方框图;图4是在图3的总线判优系统中使用的处理器的功能方框图;以及图5-8是图解说明基于这项发明的一个实施方案的总线判优协议的各个方面的定时器时钟图。
本发明的详细说明在一个实施方案中,这项发明的多处理器系统包括分布式总线判优系统,在该系统中总线判优是在每个与总线连接的处理器上同时发生的。每个处理器都有配置与其它本地判优器一样的本地判优器和专用的请求线。每个本地判优器都被接到每条专用的请求线上,以便监视表示处理器对总线主控权的请求的信号。由于每个本地判优器都有与其它本地判优器一样的配置,都与其它判优器同步地操作,并且都具备一套类似的输入,所以每个判优器对于哪个处理器将成为总线主控将得出同样的结论。因此,为了把表示总线判优结果的信号传达给处理器,外部的总线判优器并非是必不可少的,确认线也并非是必不可少的。此外,由于在另一个处理器检测优先级请求时要求提出请求的处理器不再断言(de-assert)对总线的请求,优先级请求线的数量可以明显地减少。
在另一个实施方案中,多处理器系统包括分布式DRAM刷新系统,其中每个处理器都有功能上等价的本地DRAM刷新控制器。在刷新线上的信号受每个本地DRAM刷新控制器的监视,为的是使本地DRAM刷新计数器的同步更新和本地DRAM刷新计数器的复位成为可能。因此,当总线的主控权从一个处理器移交给另一个处理器时,新总线主控的本地DRAM刷新控制器能继续DRAM刷新过程,不需要把信息从老总线主控移到新总线主控,也不重复DRAM刷新操作。
在图2的多处理系统中,主机10和众多处理器12a-12n通过系统总线14连接起来。DRAM16接在系统总线14上,而桥接器18把系统总线与外部总线20(例如外设元器件互连(PCI)总线)连接起来。诸如处理器22和存储器24之类的元器件可以象为数众多的其它元器件那样接在PCI总线20上。每个处理器12a-12n都包括本地判优单元26,26a-26n通过请求线和优先级访问线互连。主机10备有主判优单元,该单元可以具有与本地判优单元的26a-26n一样的配置,也可以有不同的配置,下面将更详细地介绍。系统总线14、主机10、处理器12以及判优线之间的互连在在图3中给予更详细的图解说明。
如图3所示,分布式判优系统包括接在系统总线14上的主机10和处理器12a-12n。系统总线14可以是任何已知的可以在上面进行事物处理的总线。本地判优器26a-26n被包含在每个处理器12a-12n中。主机判优器25同样被包含在主机10中。虽然判优器25和26a至26n对于主机10和处理器12a-12n可以是外部的,但是现在把判优器25、26a-26n分别想象成对于主机10和处理器12a-12n是内部的。本地判优器25、26a-26n可以是由同样的配置构成的。作为替代,主机判优器25可以有不同于本地判优器26a-26n的配置。形成配置一样的本地判优器26a-26n和非必选地形成配置一样的主机判优器25使这些判优器个个都能对已知的一套特定的输入得出同样的结果。
在下面的讨论中,假定主机10有主机判优单元25,该判优单元的配置不同于本地判优单元26a-26n。但是,如果需要这样做,主机10可以具备与本地判优单元一样的配置。在这种情况下,用主机10判优可能以类似于其余处理器的方式发生。图9图解说明这个替代实施方案。当处理器之一需要在系统总线14上进行事物处理时,该处理器将在与它相关联的总线请求线上断言打算成为总线主控的信号。由于每个本地判优器26a-26n都被接在处理器的总线请求线上,所以每个本地判优器26a-26n都将接收在处理器的总线请求线上的信号并且在任何即将来临的判优中使用那个输入。由于在本地处理器12a-12n群体中所有的判优器26a-26n都同步地操作(在一个周期接一个周期的基础上按锁定步骤(lock-step)),每个处理器12a-12n都保持跟踪和遵循系统总线14的判优顺序。所以,如果后续的判优结果是提出请求的处理器将成为总线主控,那么主控权将被授予提出请求的处理器,而不需要把判优结果传达给提出请求的处理器。在这种情况下,所有其它的处理器都将承认提出请求的处理器有权主控系统总线14和制止在系统总线14上进行事物处理。同样,如果判优的结果是提出请求的处理器将不成为总线主控,与它相关联的本地判优器将阻止提出请求的处理器试图在系统总线14上进行事物处理。
使用本地判优器26a-26n代替远程判优器13的一个独特的方面是没有必要把判优的结果传达给处理器12a-12n。而是每个处理器12a-12n都由其本地判优器26a-26n直接提供判优结果。因此,确认线是不需要的。这大大减少了完成判优所需要空间。
如图3和图4所示,总线判优是利用在线BR0-BR7、HBR和HBG上的信号完成的。这些信号可以是数字信号、模拟信号、光学信号或者可用于在主机10和处理器12a-12n之间传达信息的任何其它类型的信号。线BR0-BR7上的信号被用于处理器12a-12n之间的判优,而线HBR和HBG上的信号被用来把系统总线14的控制移交给主机10。在这层意义上,线BR0上的信号被处理器0用来请求对总线14的主控权,BR1上的信号被处理器1用来请求对总线14的主控权,依此类推。线HBR上的信号被主机10用来请求对总线14的主控权,而线HBG上的信号被用来把总线14的主控权移交给主机10。主机10和处理器12a-12n上的专用引线使继续访问供判优使用的线路和监视该线路上的信号成为可能。
由于本地判优器26a-26n必须具有专用的输入引线,以便监视在判优期间发生在主机10和每个处理器12a-12n的请求线上的信号,所以可以对系统总线14的主控权判优的处理器12a-12n的数量受用来实现本地判优器26、26a-26n的硬件的限制。因此,就在被图解说明的实施方案中的实例而言,每个判优器26、26a-26n都有接在线HBR,HBG和BR0-BR7上的10条输入引线。这样,在这个实施方案中,最多8个处理器12a-12n能同时对系统总线14的主控权判优。如果接在系统总线14上的处理器数量少于这个最大值,那么未被使用的引线被不再断言,以防止本地判优器试图把总线主控权授予不参与的处理器。虽然被图解说明的实施方案展示8个处理器被接在系统总线14上,但是这个数字可以通过改变总线请求线和引线的数量或者通过使几条总线请求线不再断言而被改变。因此,在本文中所揭示的概念不局限于使用8个处理器的系统,并且同样适用于使用至少两个处理器的系统。
每个处理器12a-12n都有标识号。在典型的实施方案中,标识号是利用至少一条识别引线28a-28n分配给处理器12a-12n的。任何其它识别处理器的方法也都可以使用。
当处理器12x之一希望成为总线主控时,它在自己的总线请求线上断言信号,同时监视其它总线请求线上的信号。如果没有来自优先级更高的处理器的信号在另一条总线请求线上被断言,那么在当前的总线主控完成其事物处理之后,总线的主控权被交给新请求者。新总线主控只要它是主控器它就通过在其总线请求线上断言信号保持总线主控权。作为总线主控的处理器保持总线主控权,直到(1)它没有什么悬而未决的事物处理;(2)计数器30终止并且主控权被移交给另一个提出请求的处理器,以防止总线的资源缺乏;或者(3)其主控权被中断,以使优先级更高的事物处理能够发生。主控权的转移是通过当前的总线主控在它的总线请求线上不再断言而发生的。
当现在的主控器放弃系统总线14时,它在与它相关联的总线请求线上不再断言信号,于是被分配到最低的优先级。在现在的实施方案中,当主控权从当前的主控器移交给新主控器时,空闲周期被插入。移交总线主控权的流水线技术可以利用已知技术使消除这种空闲周期成为可能,尽管在目前优选的典型的实施方案中没有在主控器之间采用流水线技术。
为了保证处理器12a-12n之间的总线公正,轮换总线优先级计划被实现了。如果至少两个处理器同时在与它们相关联的总线请求线上断言总线请求信号,那么优先级最高的处理器被授予总线的主控权。处理器之间的优先级可以以任何其它已知方法来决定。
当提出请求的处理器未被授予总线的主控权时,提出请求的处理器在与它相关联的总线请求线上继续断言它的总线请求信号,直到它被授予总线的主控权,或者为了适应优先级更高的请求信号要求它不再断言信号,或者它不再需要系统总线14的主控权为止。
为了防止系统中的其它处理器的总线资源缺乏,限制单个处理机保持总线主控权的时间可能是符合要求的。为了提供这种限制,在每个本地判优器26a-26n中提供了计数器30(见图4)。计数器30定义处理器在其它处理器请求总线的主控权时可以主控总线14的最长时间。计数器30被初始化到某个预定值,当处理器获得系统总线14的主控权时,计数器开始向上或向下计数。如果总线的主控权被暂时转移到主机或另一个处理器进行优先级更高的事物处理,计数被中止。如果计数器30达到第二个预定值,而另一个处理器正在请求总线14的主控权,该处理器将在完成其事物处理之后,至少持续一个周期放弃系统总线14的主控权。如果计数器30达到第二预定值时没有对系统总线14的主控权的其它请求被断言,计数器30被复位并且开始再次向上或向下计数,同时处理器12继续保持总线的主控权。在一个优选实施方案中,第一和第二预定值之一是零,因此导致只有一个预定值的系统。
正象前面暗示的那样,几种类型的事物处理被认为比其它类型的事物处理更重要。为了适应这些事物处理,有优先级事物处理的处理器或主机10可以暂时中断当前的总线主控,获得系统总线14的临时主控权。在图解说明的实施方案中,有核心优先级访问(CPA)的事物处理或DMA优先级访问(DPA)的事物处理的处理器被允许中断当前的总线主控并且获得总线的临时主控权。为了使这些优先级更高的事物处理变得容易,提供了CPA线和DPA线,在CPA线和DPA线上处理器12a-12n可以断言优先级的请求信号,以便获得总线的主控权。同样,主机10可以通过在主机总线请求线HBR上断言信号获得总线的临时主控权。CPA、DPA和HBR线的使用下面将予以更详细地讨论。
处理器12x在它有需要访问外部存储器的核心事物处理时将在CPA优先级请求线上断言信号。这允许处理器中断属于总线主控的DMA信道的后台转移并且获得对系统总线14的控制。在这种情况下,当前的总线主控终止其事物处理并且通过在与它相关联的总线请求线上不再断言信号把总线的主控权移交给提出请求的处理器。当信号在CPA优先级请求线上被断言时,只有带核心事物处理的处理器才能对总线14提出请求。当其它提出请求的处理器感测到那个在CPA优先级请求线上被断言的信号时它们将在它们的总线请求线不再断言。当一个以上处理器通过在其总线请求线上和在CPA优先级请求线上一起断言信号请求系统总线14时,优先级最高的处理器得到总线主控权。在优先级相等的处理器之间分配总线主控权上面已讨论过,并且可以用任何已知的协议来实现。
要求那些没有在CPA优先级请求线上断言信号的处理器在它们各自的总线请求线上不再断言信号使本地判优器26a-26n能用一条线同时处理优先级请求。具体地说,由于协议要求所有不在CPA优先级请求线上断言信号的处理器一旦感测到在CPA优先级请求线上的信号就不再断言表示请求总线主控权的信号,所以断言信号的任何总线请求线当信号有必要在CPA优先级请求线上断言时必定有高优先级的事物处理。因此,同时有优先级事物处理的多个处理器之间的判优只用一条优先级线就能发生。可以用实例说明这个过程。
参照图3,假定下述信号被同时断言处理器1…BR1、CPA处理器2…BR2、CPA处理器3…BR3处理器4…BR4。
处理器的3和4就已经在CPA优先级请求线上断言的信号做决定时,处理器3和4它们各自的总线请求线BR3和BR4上不再断言信号。在这个时刻,只有与处理器1和2相关联的总线请求线上(BRI、BR2)的信号和CPA优先级请求线上的信号被断言。于是,判优器26a-26n意识到两个处理器同时在CPA优先级请求线上断言信号,因此有两个高优先级的请求。从而,判优器26a-26n可以按照常用的优先级计划在处理器1和2之间分配总线主控权的优先级。这样,解释断言线的组合使优先访问系统总线14只用一条优先级请求线就能被处理,不需要为每个处理器12提供专用的优先级请求线。
多层次的优先级可以用追加的优先级访问线路以类似的方式得以实现。例如,在用图3图解说明的实施方案中,优先级的第二级是用DPA优先级请求线提供的。当处理器需要完成涉及外部存储器的高优先级DMA事物处理时,处理器在DPA优先级请求线上断言信号。由于这些事物处理被认为是优先级低于CPA事物处理的事物处理,所以当CPA优先级请求线上的信号不被断言时,处理器12a-12n将仅仅在DPA优先级请求线上断言信号。在DPA优先级请求线上信号的断言允许在属于从属处理机12的高优先级DMA信道中断属于主处理器的常规优先级DMA信道的后台转移和得到总线14的临时主控权。
当DPA优先级请求线上的信号被断言时,当前主控器终止其处理并且通过在其总线请求线上不再断言信号把总线主控权移交给提出请求的处理器。同样,在没有适合在DPA优先级请求线或CPA优先级请求线上的信号的断言的事物处理的任何提出请求的处理器在感测到在DPA优先级请求线上被断言的信号时在它们的总线请求线上不再断言信号。换言之,当DPA优先级请求线上的信号被断言时,只有带核心事物处理或涉及高优先级DMA转移的事物处理的处理器12a-12n才能请求总线。当一个以上处理器通过在其各自的总线请求线上和在DPA优先级请求线上一起断言信号请求系统总线14的时候,优先级最高的处理器得到总线主控权。通过要求处理器12a-12n在DPA优先级请求线上的信号被断言(而且它们没有在DPA优先级请求线上断言信号)时在它们各自的总线请求线上不再断言信号,使用一条线就可以为所有的处理器12a-12n提供DMA优先级访问。使用总线请求线和优先级请求线上的信号的组合使总线判优单元能用数量最少的线适应多重优先级水平。
在这个判优过程中,在CPA优先级请求线上断言信号提出请求的处理器具有高于在DPA优先级请求线上断言信号提出请求的处理器的优先级。因此,在DPA优先级请求线上断言信号提出请求的处理器在感测到另一个处理器在CPA优先级请求线上断言的信号时将在它们各自的总线请求线(和DPA优先级请求线)上不再断言信号。
其它优先级计划也可以使用,该计划涉及更多或更少的优先级请求线。例如,可以为3个、4个或更多个优先级水平准备3条、4条或更多条优先级请求线。另外,同一个处理器在至少两条优先级请求线上的信号的同时断言(例如,在CPA优先级请求线和DPA优先级请求线上的信号的同时断言)可以被用来提供优先级的追加水平。因此,请求信号和优先级信号的组合使利用数量最少的优先级请求线适应多层次的优先级水平成为可能。
主机10可以是总线主控。当主机10想成为总线主控时,它使其主机判优单元25在主机总线请求线(HBR)上断言信号。当前的总线主控在确定在线HBR上被断言的信号时完成其当前的事物处理,随后通过在主机总线授权线(HBG)上断言信号放弃系统总线14。主机10只要它需要总线就维持在线HBR上断言的信号。最后放弃系统总线14的主控器这样维持在其各自的总线请求线上被断言的信号,以致当主机10在线HBR上不再断言信号时它保持总线的主控权。
有时,总线主控可能从事不能被安全地中断的事物处理。因此,总线主控锁定系统总线14以便防止总线主控权被暂时性地重新分配可能变得至关重要。所以,判优系统把锁定总线的能力提供给处理器12。具体地说,为了锁定总线,总线主控在其总线请求线上断言并维持信号,获得总线的主控权,然后在致力于锁定总线的线(在本文中称之为锁定线)上断言信号。当锁定线上的信号被断言时,在CPA或DPA优先级请求线或主机总线请求线上的信号的断言将不影响总线的主控权。同样,计数器30的期满将不引起系统总线14的主控权被放弃。系统总线14被锁定之后影响系统总线14的主控权的唯一情况发生在主机总线请求线和退避线上的信号同时被断言的时候。在总线主控完成其需要锁定系统总线14的事物处理之后,锁定线上的信号被不再断言,而常规的判优重新开始。
每个处理器都备有接在被用来使当前的处理器退出总线的线(在本文中称之为退避线)上的退避引线。如果锁定线上的信号不被断言,当前作为总线主控的处理器将在退避线上断言信号的同时立即交出总线14的主控权。这个过程在下面予以介绍。
现在参照图2,可能发生的情况是本地处理器想进行从附着在PCI总线20上的存储器读数据的事物处理。本地处理器将对系统总线14的主控权判优并且获得该主控权,然后在桥接器18上与PCI总线20进行事物处理。同时,在PCI总线20上的处理器22可以试图从接在系统总线14上的存储器或者本地处理器的存储器上读数据。在这种情况下,本地处理器和接在PCI总线20上的外部处理器22两者同时试图得到对系统总线14的访问。另外,由于本地处理器和外部处理器彼此不相关联,所以没有在本地处理器和外部处理器22之间决定主控权的判优协议。这种情况被称为僵持。
为了解决僵持问题,每个处理器都备有接在退避线上的退避引线。感测到僵持已经发生的桥接器18将在退避线上断言信号。退避线上的信号的断言终止给全部处理器12和主机10的系统总线14的主控权直到远程处理器22完成事物处理为止。在远程处理器22完成事物处理上,桥接器18将在退避线上不再断言信号,而原来有系统总线14的主控权的本地处理器12将被允许完成其事物处理。在这种情况下,有系统总线14的主控权的本地处理器将被允许再次试图访问接在PCI总线20上的存储器。
现在参照用图5-8图解说明的信号图更详细地介绍判优协议的一个实施方案。任何能够在主机10和处理器12a-12n之间分配系统总线14的主控权的判优协议都可以被用来替代被图解说明的协议。这个示范协议图解说明一种使优先级更高的作业能获准优先访问总线的同时在众多处理器和主机之间移交总线主控权的方法。在被介绍的协议中,总线的主控权按下述的优先级顺序授予提出请求的装置(1)主机10(被HBR上的信号断言)(2)处理器12(被BR上的信号和CPA上的信号一起断言)(3)处理器12(被BR上的信号和DPA上的信号一起断言)(4)处理器12(被BR上的信号断言)
但是,即使处理器有总线的主控权,也还有几种情况,在这些情况下将要求该处理器让另一个提出请求的处理器或主机10暂时得到主控权。这些条件包括(1)退避线上的信号被断言,而主机总线上的信号同意,并且锁定线不被断言(外部处理器获得总线14的临时主控权);(2)当前的主控器不请求系统总线14,而另一个处理器或主机10断言其总线请求线或主总线请求线(新处理器或主机10获得总线14的主控权);(3)当前主控器通过断言其总线请求线上的信号并且非必选地断言DPA优先级请求线上的而不是信号除了CPA优先级请求线上的信号请求系统总线14,而另一个处理器断言在其总线请求线和CPA优先级请求线上的信号(新处理器成为临时的总线主控);(4)当前的主控器通过断言在其总线请求线上而不是在CPA或DPA优先级请求线上的信号请求系统总线14,而另一个处理器断言在其总线请求线和DPA优先级请求线上的信号(新处理器成为临时的总线主控);(5)当前的主控器通过断言在其总线请求上的信号和非必选地断言在CPA或DPA优先级请求线上的信号请求系统总线14,而主机10断言在主机总线请求线上的信号(主机10在当前的主控器完成当前的事物处理并且断言主机总线授权线上的信号时成为临时的总线主控);(6)当前的主控器通过断言在其总线请求线上的信号并且非必选地断言在CPA或DPA优先级请求线上的信号请求系统总线14,但计数器30的数值期满,而另一个处理器断言在其总线请求线上的信号(新处理器成为总线主控)。
判优线上的信号的信号图是用图5-8图解说明的。在这些图中,判优象前面介绍的那样同时发生在众多具有同样配置的本地判优单元26a-26n中。所有的判优单元都同步操作。时钟信号(MCLK)是为计算判优单元和系统总线的操作时间准备的。为了使理解判优过程变得容易,仅仅图解说明在与3个处理器相关联的总线请求线(BR0,BR1,并且BR2)上的信号。在图5-8所示信号图中,当信号低时,该信号被断言。相反的规则可能也是适用的。
图5图解说明在没有任何优先级请求的情况下多个提出请求的处理器之间的判优协议。在图5中,时钟周期1期间,处理器0是总线主控,总线请求线BR0上的信号被断言,而,总线请求线BR1和BR2上的信号不被断言。优先级请求线CPA、DPA和主级总线请求线HBR上的信号在这个脚本中也不被断言,并且在用图5图解说明的整个判优过程中将始终不被断言。CPA、DPA、HBR和HBG线上的信号的断言下面将结合图6-8更充分地予以讨论。
在时钟周期2期间,BR1线上的信号被断言,在时钟周期3期间,BR2线上的信号被断言。由于BR1或BR2线上的信号的断言不能中断当前的总线主控继续作为总线主控的权利,所以,BR1线和BR2上的信号的断言对总线的主控权没有直接的影响。因此,处理器0一直是总线主控,直到它完成其事物处理并且在周期5不再断言在其总线请求线BR0上的信号为止。周期5是移交周期,在此期间没有处理器是系统总线14的主控器而且没有数据在总线上被转移。在周期6,处理器1由于其优先权在处理器2之上而成为总线主控。请注意,处理器请求系统总线14的顺序不是处理器将成为下一个总线主控的决定因素。正象前面讨论过的那样,为了保证所有的处理器公平地访问系统总线14,我们采用的是轮换优先级计划。虽然在这个实施方案中使用的是轮换优先级计划,但是其它的优先级计划也可以被使用。因此,即使处理器1和处理器2请求系统总线14的顺序被颠倒过来,处理器1仍然将成为总线主控。
处理器1成为总线主控之后一直是总线主控,直到它在周期10完成其事物处理为止。当处理器1是总线主控的时候,处理器0在周期9断言在线BR0上的信号。在移交周期(周期11)之后,系统总线14的主控权移交给处理器2。之所以发生主控权移交给处理器2是因为处理器2具有在处理器0之上的优先级(处理器0具有最低的优先级,由于它是最后放弃总线14的主控权的处理器这一事实)。处理器2在周期16完成其事物处理时把系统总线14的主控权让给处理器0,处理器0在周期17期间接受系统总线14的主控权。
总线的主控权可以在两种情况之一下被中断,其一是在主机10(它在系统中具有最高的优先级)通过断言在主机总线请求线HBR上的信号请求系统总线14时,其二是在其它处理器之一请求系统总线14并且断言在优先级请求线CPA或DPA上的信号时。在优先级请求线上存在的信号的判优将结合图6-8予以讨论。
图6是图解说明当CPA优先级请求线上的信号被断言时判优协议的信号图。如图6所示,处理器0最初是总线主控。在周期1期间,处理器1断言BR1线上的信号。但是,正象前面注意到的那样这不影响总线主控权。于是在周期2期间处理器0保持总线主控权。
在周期3期间,处理器2断言BR2和CPA线上的信号。由于CPA线上的信号的断言确实影响临时的总线主控权,所以在BR2和CPA线上的信号的断言引起处理器1和处理器0采取行动。具体地说,处理器1在下一个时钟周期期间(周期4)不再断言BR1线上的信号。同样,在周期5期间处理器0不再断言BR0线上的信号,以便把系统总线14的临时主控权让给处理器2。在处理器2在周期10完成其优先级事物处理之后。它通过不再断言在其总线请求线上的信号和在CPA线上的信号出让对系统总线14的控制(周期11)。在周期12期间,处理器1和处理器0断言在它们各自的总线请求线上的信号。但是,由于处理器0在处理器2断言在CPA和BR2线上的信号之前就有系统总线14的主控权,所以处理器0具有在处理器1之上的优先权。因此,处理器0再次获得系统总线14的主控权并且能够完成其事物处理。在处理器0完成其事物处理之后在周期17放弃系统总线14的主控权,于是处理器1在周期18成为总线主控。
图7是涉及多个处理器判优的信号图,其中有一个处理器断言在DPA优先级请求线上的信号。象用图6表示的那样,处理器0最初具有总线的主控权。在周期1期间,处理器1断言在线BRI上的信号,但没有断言在CPA线或DPA线上的信号。正象参照图5所讨论的那样,这不影响总线的主控权。因此,处理器0继续是总线的主控器。
在周期3期间,处理器2断言在BR2线和DPA优先级请求线两条线上的信号。由于这确实影响总线的主控权,所以在周期4期间处理器1不再断言在BR1线上的信号而处理器0也不再断言在BR0线上的信号。因此,在一个空闲的移交周期(周期5)之后,处理器2成为总线主控。
处理器2完成其事物处理之后不再断言在BR2线和DPA线上的信号,于是放弃了总线的主控权。这使得处理器1在周期11期间再次断言在线BR1上的断定信号,使得处理器0在周期12期间再次断言在线BR0上的信号。由于处理器0在断言DPA线上的信号之前就是主控器,所以即使处理器1再次断言在其总线请求线上的信号比处理器0再次断言在其总线请求线上的信号早一个周期,处理器0具有在处理器1之上的优先权。因此,在周期13,处理器0再次获得总线的主控权。处理器0在完成其事物处理时在周期17不再断言BR0线上的信号,于是把系统总线14让给下一个优先级最高的处理器。如图6所示,在这种情况下,下一个优先级最高的处理器是处理器1。处理器1将通过断言在线BR1上的信号在其事物处理期间保持系统总线14的主控权。
在判优过程中,在CPA优先级请求线上断言信号的处理器具有在DPA优先级请求线上断言信号的处理器之上更高的优先权。因此,在DPA线上断言信号的处理器在感测到另一个处理器在CPA线上断言信号时将不再断言在DPA线和与它相关联的总线请求线上的信号。由于这是简单明了的,所以不再提供进一步的说明。
图8是涉及两个在CPA线上的信号的同时断言和主机10在HBR线上的信号的断言的判优的信号图。在图8中,在周期1期间,处理器0是主控,而且BR0线上的信号被断言。在周期2期间,处理器1和处理器2两者不仅断言在它们各自的总线请求线BR1和BR2上的信号,而且同时断言在CPA线上的信号。在周期3期间,主机10断言在线HBR上的信号。
在应答时,处理器0完成其事物处理。正象在这张图中表示的那样,完成处理器0的事物处理可能至少花费一个周期。因此,在周期5中,在完成处理器0的事物处理之后,处理器0不再断言BR0线上的信号,但同时断言HBG线上的信号。
在HBG线上的信号的断言把系统总线14的主控权交给主机10。主机通过断言和维持在HBR线上的信号保持系统总线14的主控权,持续时间可以与需要的一样长。主机10在完成其事物处理后在周期10不再断言在HBR线上的信号,以便交出总线的主控权,把总线的主控权还给处理器0。但是,由于处理器1和处理器2两者都已经断言在线BR1和BR2上的信号以及在CPA线上的信号,所以主控权不象其它情况下那样返还处理器0。而是由于一个以上处理器对CPA线上的信号的断言具有在非优先级事物处理之上的优先权,所以主控权移交给在线CPA上断言信号的处理器之一。在这种情况下,由于CPA线上的信号已经被处理器1和处理器2两者断言,所以优先级比较高的处理器获得总线的主控权。在图解说明的实例中,处理器1具有在处理器2之上的优先权,所以主控权在周期12移交给处理器1。处理器1在完成其事物处理时通过不再断言在其总线请求线BR1上的信号和不再断言在CPA线上的信号放弃系统总线14的主控权,以便在周期16把系统总线14的主控权移交给处理器2。
请注意,在这种情况下,即使CPA上的信号已被另一个处理器断言,在HBR线上的信号的断言也使处理器0能够完成其事物处理。如果不是这种情况,处理器0尚未得到允许在把总线主控权让给主机10之前完成其事物处理,那么在处理器2完成其事物处理时系统总线14的主控权将返还给处理器0,即处理器0将具有在随后断言在它们各自的总线请求线上的信号但没有同时断言在CPA或DPA线上的信号的处理器之上的优先权。
除了本地判优器之外,每个处理器都备有本地DRAM刷新控制器32。正象前面讨论过的那样,DRAM必须被定期地刷新,并且通常被逐行刷新。因此,DRAM刷新控制器32通常具有指示最后被刷新的行的行计数器34和当DRAM的最后一行被刷新时使行计数器34复位的复位器。
在多个处理器12之间移交DRAM的刷新由于为每个处理器提供了本地DRAM刷新控制器32而变得容易。此外,如图9所示,主机10可以备有DRAM刷新控制器32。为主机提供DRAM刷新控制器32仅仅在主机本身能访问DRAM时才是必要的。每个本地DRAM刷新控制器32都备有刷新输入引线,以便接收刷新线上的信号。涉及刷新过程的信号是在这条线上被断言的,以致所有的本地DRAM刷新控制器32都具有相同的输入。这些信号可以用来使DRAM刷新计数器34加1,或者使计数器34复位。DRAM刷新计数器34可以是非必选地为了在达到第二预定值时自动回复到第一预定值而配置的。因为所有的本地DRAM刷新控制器32具有同样的配置、彼此同步并且备有类似的输入,所以所有的本地DRAM刷新控制器32都处于关于DRAM刷新过程的当前状态。因此,当系统总线14的主控权从一个处理器12转移到另一个处理器12的时候,本地DRAM刷新控制器32能够继续DRAM的刷新过程,在这种情况下前一个总线主控无需过度的复制就可以停下来。
当总线的主控权移交给主机10的时候,刷新控制器在总线被授予主机之前使DRAM进入自刷新状态。在这种情况下,主机不需要进行任何刷新操作,并且被认为不具备DRAM刷新控制器(图3)。优选地,如果允许主机10直接访问DRAM是符合要求的,那么主机10可以非必选地备有DRAM刷新控制器,该DRAM刷新控制器具有与包含在处理器26a-26n中的其它DRAM刷新控制器一样的配置,如图9所示。
人们应该理解,本说明书中用附图展示并且予以说明的实施方案可以在不脱离本发明的精神和范围情况下作出各种各样的变化和修改。因此,包含在前面的描述中并且用附图展示的全部内容都倾向于在举例说明的意义上而不是在限制的意义上予以解释。本发明只受权利要求书及其等价文件所定义的内容的限制。
权利要求
1. 一种装置,包括总线;接在总线上的第一处理器;接在总线上的第二处理器;第一本地判优器,该本地判优器与第一处理器相关联并且是为了在第一和第二处理器之间对总线主控权进行判优而配置的;以及第二本地判优器,该本地判优器与第二处理器相关联并且是为了在第一和第二处理器之间对总线主控权进行判优而配置的。
2.根据权利要求1的装置,其中所述的第二本地判优器具有与第一本地判优器共同的配置。
3.根据权利要求2的装置,进一步包括接在第一和第二本地判优器上并且与第一处理器相关联的第一总线判优线,在该总线判优线上第一处理器可以断言表示请求总线主控权的信号;以及接在第一和第二本地判优器上并且与第二处理器相关联的第二总线判优线,在该总线判优线上第二处理器可以断言表示请求总线主控权的信号。
4.根据权利要求3的装置,其中第一本地判优器在第一处理器的内部,而第二本地判优器在第二处理器的内部。
5.根据权利要求1的装置,进一步包括多个追加的处理器和多个追加的本地判优器,它们全通过总线判优线互连。
6.根据权利要求1的装置,进一步包括主机;与所述主机相关联的本地主机判优器,该本地主机判优器是为了在主机、第一处理器和第二处理器之间对总线主控权进行判优而配置的。
7.根据权利要求3的装置,进一步包括至少一条接在第一和第二本地判优器上并且不与第一或第二处理器相关联的优先级访问线,其中优先级访问线上的信号的断言导致在第一和第二处理器之间判优时把至少高一级的优先级给在优先级访问线上发出断言信号的处理器,并且由于在优先级访问线上断言信号的处理器高于没有在优先级访问线上断言信号的处理器,因此导致总线主控权方面的临时中断。
8.根据权利要求3的装置,进一步包括接在第一和第二本地判优器上用来重新调解(remediating)总线上的死锁状态的退避线。
9.一种装置,包括总线;接在总线上的第一处理器;接在总线上的第二处理器;存储器;第一本地存储器刷新控制器,该本地存储器刷新控制器与第一处理器相关联,并且是为了控制存储器的刷新操作而配置的;第二本地存储器刷新控制器,该本地存储器刷新控制器与第二处理器相关联,并且是为了控制存储器的刷新操作而配置的;以及接在第一本地存储器刷新控制器和第二本地存储器刷新控制器上的刷新线,在该刷新线上刷新信号可以被第一本地存储器刷新控制器和第二本地存储器刷新控制器两者接收。
10.根据权利要求9的装置,其中第一和第二本地存储器刷新控制器配置是一样的。
11.根据权利要求10的装置,其中第一和第二本地存储器刷新控制器同步操作。
12.根据权利要求9的装置,其中第一和第二本地存储器刷新控制器两者都包括专用的输入引线、刷新计数器和复位键。
13.根据权利要求9的装置,其中存储器是动态随机存取存储器,而第一和第二本地存储器刷新控制器是本地动态随机存取存储器的刷新控制器。
14.一种为总线的主控权判优的方法,该方法包括提供具有第一本地判优器的第一处理器和具有配置与第一本地判优器一样的第二本地判优器的第二处理器;在与第一处理器相关联的第一总线请求线上断言表示对总线主控权的第一请求的第一信号;在与第二处理器相关联的第二总线请求线上断言表示对总线主控权的第二请求的第二信号;用第一和第二本地判优器感应第一和第二信号;第一本地判优器决定总线主控权;第二本地判优器决定总线主控权;以及把总线主控权授予第一和第二处理器之一,不需要在处理器之间传达被决定的主控权的结果。
15.根据权利要求14的方法,其中主控权是由第一本地判优器和第二本地判优器同时决定的。
16.根据权利要求14的方法,进一步包括第一处理器断言表示优先级请求的信号;第二判优器感应表示优先级请求的信号;以及第二处理器不再断言第二信号。
17.一种方法,包括在第一总线请求线上第一处理器断言对总线主控权的第一请求;在第二总线请求线上第二处理器断言对总线主控权的第二请求;与第一处理器相关联的第一本地判优器监视第一和第二总线请求线;由与第二处理器相关联的第二本地判优器监视第一和第二总线请求线;第一判优器决定第二处理器将成为下一个总线主控;第二判优器决定第二处理器将成为下一个总线主控;以及把总线的主控权授予第二处理器,不把第一处理器将不成为总线主控传达给第一处理器。
全文摘要
多处理机系统包括分布式总线判优系统,其中总线判优是在被接在总线上的多个处理器中每个处理器上同时发生的。每个处理器都有配置与其它的本地判优器一样的本地判优器和专用的请求线。每个本地判优器都被接在各自的专用请求线上,以便监视该线上表示处理器申请总线主控权的请求信号。多处理机系统还包括分布式动态随机存取存储器刷新系统,其中每个处理器都具有配置与其它动态随机存取存储器刷新控制器一样的本地动态随机存取存储器刷新控制器。因此,当总线的主控权从一个处理器移交给另一个处理器时,新总线主控的本地动态随机存取存储器刷新控制器能继续动态随机存取存储器的刷新过程,不用请求将信息从原总线主控转移到新总线主控,也不用重复动态随机存取存储器刷新操作。
文档编号G06F13/36GK1338075SQ00803003
公开日2002年2月27日 申请日期2000年1月14日 优先权日1999年1月22日
发明者罗伯特·科斯劳斯盖, 泽维·格林菲尔德, 阿伯塔·E·桑德班克 申请人:模拟装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1