使用不同速率处理器的多处理器系统的制作方法

文档序号:6412511阅读:137来源:国知局

专利名称::使用不同速率处理器的多处理器系统的制作方法
技术领域
:本发明涉及一种多处理器系统,尤其涉及这样一种多处理器系统,它使用多个最大运算速率不同的处理器。许多现代计算机系统为对称多处理器系统。在对称多处理器系统中,每一处理器被用于执行某个特定的任务。例如,每一处理器可能被用于执行同一进程的不同指令集或完全不同的进程,或者,每一处理器被设计出来用于高效地专门处理某些特定的任务。所以,可以想象的到,在计算机系统中使用一个以上的处理器通常会提高系统的性能。有些计算机制造商提供采用可替换处理器的对称式多处理器计算机系统。处理器通常以可拔插子卡的形式通过连接器与计算机系统的主板相连。这样,当某个处理器出现故障或需要更新时可以很容易地换成新的处理器。然而,该处理器必须与其它处理器的运行速率相同以符合该对称式多处理器系统结构。众所周知,处理器的运行速率提高非常快。像如今标准速率的处理器很可能在一年后就过时了。今后,随着时代发展,要找到一个与原来运算速率一样的处理器将会更加困难。所以,也许有一天会因为某个出现故障的处理器而要换掉系统中所有处理器以确保系统仍能正常工作。因为一个处理器出现故障而换掉所有处理器代价是相当昂贵的。所以,在技术上很有必要寻求一种支持在计算机系统中使用不同速率的多处理器的装置以及方法。本发明在技术上致力于满足这方面的需要。本发明提供了一种允许在多处理器系统中使用不同速率的处理器的装置。在本发明的一个实施例中,该装置包括一个可编程阵列逻辑(PAL)或现场可编程门阵列(FPGA)来用于检测每一个处理器的最大速率并且选择一个适合于所有处理器的共同速率作为所有处理器的运算速率。在本发明的另一个实施例中,该装置调整系统时钟来匹配处理器的速率。图1为本发明的一个最佳实施例中采用的计算机系统100的框图。图2为本发明采用的处理器以及电路结构的框图。图3(a)描述了提供处理器运算速率的两个逻辑图之一。图3(b)描述了提供处理器运算速率的两个逻辑图之二。图1为本发明的一个最佳实施例中采用的计算机系统100的框图。该计算机可采用IBM公司推出的RS/6000系统的工作站形式,尽管如此,本发明并不打算局限于此而是使它在本质上同样适合于其它任何计算机系统。仍就图1而言,计算机系统100包括一组中央处理器(CPU)110和120通过系统总线150上的主桥(hastbridge)130与系统存储器140相连。主桥与带有若干PCI设备162~168的外围部件互连(PCI)总线160相连。PCI设备可以包括以下设备图形适配器、通信适配器、网络适配器、光盘、软磁盘以及硬盘驱动器等等。CPU110和120分别地通过连接器170和180与计算机系统100相连。图2为本发明采用的处理器以及电路结构的框图。电路中包括一个通过连接器170和180与处理器110和120相连的可编程阵列逻辑(PAL)220。连接器170和180有许多管脚。PAL220还与多路转换器240相连。多路转换器有两路输入由振荡器250和260产生的66兆赫和60兆赫的信号。多路转换240的输出则与时钟发生器230相连。而时钟发生器具有多路输出270,其中之一连到处理器110和120上。根据本发明的最佳实施例,每个连接器的多个管脚其中有四个,即存在检测管脚0至3(PD),用于检测每个110和120处理器的存在和速率。这四个管脚定义的值如下表所示表1</tables>这四个管脚的值将通过信号线205和215提供给PAL220。通常如果两个处理器的最大速率相同则每一个连接器170和180的管脚的值将是一致的。如果值不一致则说明110和120处理器的最大速率不同。PAL220便选择两者之中最低的作为处理器的运行速率。PAL220还通过从信号线235传给多路转换器240一个信号来选择适当的系统时钟频率。一旦该频率被送入时钟发生器230则时钟发生器230输出适当的系统时钟,然后该系统时钟就从信号线280提供给各处理器110和120。PAL220所选择的每一处理器的速率与基于该系统所支持的最大总线频率的一个系数有关。以下两张表将阐明某个特定的系统将如何设定这个基于系统最大频率的系数。表2</tables>*=表示使用66Hz;**=表示使用60Hz表3</tables>该系数或比值用于使处理器通过系统总线时钟以PAL220所选择的速率运行。例如,假设处理器110最大速率为133兆赫而处理器120最大速率为166兆赫,当该计算机系统启动或复位时,处理器110将向PAL220送出信号0011,处理器120则送出信号0101。PAL220则选择133兆赫作为两个处理器的运算频率。所以PAL220将产生一个0011信号作为新的存在检测位(即N_PD)。通过查询表3可知PAL220将输出锁相环路设置信号(PLL_config)0100到处理器来为每一个处理器设置锁相环路(PLL)。而锁相环路将用于构造频率系数。此处引用的美国专利4,689,581号公开了PLL电路的一种实现。如表2所示,如果系统总线频率为50兆赫则PLL_config信号通知每个处理器的PLL将时钟信号乘以2.5,若总线频率为66兆赫则将时钟频率乘以2。在本实施例中,系统总线频率可以为60兆赫和66兆赫,PAL220将选择振荡器250(频率为66兆赫),因为处理器用66兆赫频率比60兆赫更容易获得接近133兆赫的运算速率。PAL220使用如下算法来产生新的存在检测位(N_PD)win0(0)=1,win1(0)=1;N_PD(0)=PD0(0)&amp;PD1(0);for(i=1;i<4;i++){/*计算出新的存在检测位要使用的项*/win0(i)=win0(i-1)&amp;[N_PD(i-1)|(win0(i-1)&amp;!PD0(i-1))];win1(i)=win1(i-1)&amp;[N_PD(i-1)|(win1(i-1)&amp;!PD1(i-1))];/*计算新的存在检测位*/N_PD(i)=(!win0(i)|PD0(i))&amp;(!win1(i)|PD1(i));};PD0为第一个处理器的存在检测位,PD1为第二个处理器的存在检测位。win0(i)项与第一处理器相关,win1(i)项与第二处理器相关。在上例中,PD0=0011,PD1=0101,以及N_PD(0)=0&amp;0=0,所以有如下计算当i=1时win0(1)=1&amp;=1;win1(1)=1&amp;=1;N_PD(1)=(0|0)&amp;(0|1)=0;当i=2时win0(2)=1&amp;=1;win1(2)=1&amp;=0;N_PD(2)=(0|1)&amp;(1|0)=1;当i=3时win0(3)=1&amp;[1|(1&amp;0)]=1;win1(3)=0&amp;[1|(0&amp;1)]=0;N_PD(3)=(0|1)&amp;(1|1)=1;所以有N_PD=0011。图3(a)和图3(b)描述了PAL220完成上述算法中当i>0时的逻辑框图。从算法中可以看到,使用了两套图3(a)所示的逻辑框图,每一处理器使用一套。简言之,在检测一个多处理器系统的各个处理器的运算速率后,本发明选择出适合所有处理器的速率(通常为最低的处理器速率)作为所有处理器共同的运算速率。本发明还调整系统时钟以匹配处理器的运算速率。而且,本发明驱动各个处理器的锁相环路(PLL)设置线(configurationLines)来给处理器提供正确的系数,以使处理器利用这个系数与系统时钟协调一致地按本发明所选择的运算速率运行。所以,对称多处理器系统中一个处理器出故障后,可以用一个不同运算速率的处理器来替换而不必换掉其它所有处理器。而且,本发明允许通过一次更换一个处理器来逐步对一个多处理器系统进行更新。尽管已参照一个特定的实施例对本发明进行了详尽的描述,而对于普通技术人员来说其它实施例也将是显而易见的。例如,在不脱离本发明的范围的情况下PAL220可以用一个现场可编程门阵列(FPGA)来代替。另外,处理器也不必在子卡上,它可以通过其管脚连到母板上。所以,本发明并不限于以上所述,所要求权利在权利要求书中说明。权利要求1.允许多处理器系统使用不同速率处理器的一种装置,包括用于检测每一处理器最大速率的装置;以及响应所述检测装置,为所有所述处理器选择一个共同速率作为所述处理器的运行速率的装置。2.如权利要求1所述的装置,其特征在于还包括用于调整所述多处理器的系统时钟来协调所述运行速率的装置,以及用于提供所述各处理器一个指示信号的装置。3.如权利要求2所述的装置,其特征在于所述的选择装置包括提供给所述处理器一个系数,所述系数和所述指示信号一起使得所述处理器工作于所述运行速率。4.如权利要求3所述的装置,其特征在于提供所述系数包括驱动所述处理器的适当的锁相环路设置线。5.如权利要求4所述的装置,其特征在于所述时钟调整装置包括从众多振荡器中选择一个,以及将所述选中的振荡器连到时钟发生器的装置。6.如权利要求5所述的装置,其特征在于所述检测和选择装置包括使用可编程阵列逻辑(PAL)或现场可编程门阵列(FPGA)的装置。7.允许多处理器系统中使用不同速率的处理器的方法,包括以下各步骤检测每一处理器的最大速率;以及为所有所述处理器选择一个共同速率作为所述处理器的运行速率。8.如权利要求7所述的方法,其特征在于进一步包括调整所述多处理器系统时钟使之匹配于所述的运行速率以及提供指示信号给所述处理器的步骤。9.如权利要求8所述的方法,其特征在于所述选择步骤包括提供一个系数给所述处理器,所述系数与所述指示信号一起使得所述处理器工作于所述运行速率。10.如权利要求9所述的方法,其特征在于所述系数是由驱动所述处理器的适当的锁相环路设置线所提供的。11.如权利要求10所述的方法,其特征在于调整所述时钟的所述步骤包括从众多振荡器中选择一个振荡器的步骤以及将所述选中的振荡发生器连到时钟发生器的步骤。12.如权利要求11所述的方法,其特征在于所述检测和选择步骤包括使用可编程阵列逻辑(PAL)或现场可编程门阵列(FPGA)的步骤。13.能够使用不同速率的处理器的多处理器系统包括用于把所述处理器安装到所述系统的装置;用于检测每一处理器的最大速率的装置;以及响应所述检测装置,用于为所有所述处理器选择一个共同的速率作为所述处理器的运行速率的装置。14.如权利要求13所述的多处理器系统,其特征在于进一步包括调整所述多处理器的时钟来匹配所述运行速率的装置和用于为所述处理器提供指示信号的装置。15.如权利要求14所述的多处理器系统,其特征在于所述选择装置包括为所述处理器提供一个系数,所述系数用于与所述指示信号一起使得所述处理器工作于所述运行速率。16.如权利要求15所述的多处理器系统,其特征在于提供所述系数包括对所述处理器的锁相环路设置线进行正确的驱动。17.如权利要求16所述的多处理器系统,其特征在于所述时钟调整装置包括从众多振荡器选定一个振荡器的装置以及提供把所述选中的振荡器连到时钟发生器的装置。18.如权利要求17所述的多处理器系统,其特征在于所述检测和选择装置包括使用可编程阵列逻辑(PAL)或现场可编程门阵列(FPGA)。全文摘要本文公开了允许在多处理器系统中使用不同速率处理器的一种装置和方法。该装置和方法包括一个可编程阵列逻辑(PAL)或现场可编程门阵列(FPGA)来检测每一处理器的最大速率并为所有处理器选择一个共同速率作为处理器的运行速率。该装置和方法还调整系统时钟以匹配处理器的速率。文档编号G06F1/08GK1184976SQ97122230公开日1998年6月17日申请日期1997年11月7日优先权日1996年12月10日发明者罗纳德·泽维尔·阿罗约,克洪·赫·法哈姆申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1