近似状态控制装置的制作方法

文档序号:7587150阅读:152来源:国知局
专利名称:近似状态控制装置的制作方法
技术领域
本发明涉及一种数据处理系统,特别是涉及在中央控制器的控制下由外围控制器执行的数据包处理。
这种系统的一个示例可以是一种数据交换结构(例如在国际专利申请PCT/GB99/03748中所描述的系统),其中,外围控制器处理数据包的发送和接收,在数据包通过交换结构之前在队列中存储包。中央处理器利用关于队列长度的信息来影响它如何建立该交换结构内的连接,一般情况下其目标是尽可能使队列长度小一些。在该系统中,可能会有大量的队列要记录,因为可能有单独的队列对应每个源/目的对,也可能单独的队列对应不同的包优先级。由于在中央处理器执行时空间的限制,在中央处理器中保留这些队列的每个队列之精确长度的副本也许是不可能的。
本发明的目的在于解决上述问题。
按照本发明提供的一种数据包交换系统,它具有一个中央控制器和多个外围控制器,每个外围控制器至少包括一个队列存储器,用于储存从外围数据包源接收的信息包,该外围数据包源连接该外围控制器,其特征在于,在每一个外围控制器中与每一个队列相关联的是一个队列长度检测逻辑装置,该装置适于向中央控制器传递相应队列之长度的近似状态。
在以上所述数据交换结构的状况中,该中央控制器实际上并不必知道外围控制器中队列的精确长度。以“空”、“几乎空”、“激活”、“忙”、“很忙”、“几乎满”、“满”之方式表示的近似等级可能足以作为调度和仲裁决定的基础。用数字逻辑表示这种有限数量的状态,与表示队列之精确的、准确的队列长度相比,在中央控制器中所要求的空间要少得多。精确队列长度和近似队列长度之间的映射在外围控制器中完成,每个外围控制器所管理的队列数目相对少得多,因此,要求存储状态和映射信息量的该逻辑之长度是不成问题的。
以下根据附图描述一个实施例,本发明将更易于被理解。


图1表示根据发明的一个实施例的数据处理系统的外围控制器和中央控制器之间的相互连接;图2以方框示意图的形式表示外围控制器中的队列状态控制逻辑;图3的示意图表示该中央控制器中的近似状态控制逻辑。
图1表示外围控制器PE1至PEN和中央控制器CC之间的相互连接。典型的外围控制器PE1至PEN等同于尚未授权的国际专利申请PCT/GB99/03748中的入口及相应出口路由器,而中央控制器CC等同于交换机控制器。在运行中,外围控制器将输入信息包集合成也按优先级分隔的虚拟输出队列,中央控制器要求知道队列的级别(存储于每个队列中的包编号),以便在分配该交换结构的连接之中有效地执行调度和仲裁功能。
在每个外围控制器中有一个队列状态控制逻辑,它由一个精确状态计数器PS1和一个近似状态逻辑AS1、状态增加/减少逻辑SIDL1和包控制逻辑CL1组成。精确状态计数器PS和近似状态逻辑AS的示意图参见图2。
图2表示外围控制器中对应于单个队列的队列状态控制逻辑PS。该队列状态控制逻辑包含一个寄存器PR,它存储有相关队列的精确队列长度。精确状态寄存器PR输送增加/减少逻辑和近似状态控制逻辑AS。在每个交换时钟周期,精确队列寄存器PR的状态限定相应的外围控制器中相关输入队列的实际状态。
队列状态控制逻辑的运行,使得存储于寄存器PR中的精确计数通过增量器INC在每个包到达外围控制器时加1,由引线PI上的指令显示,当每个包离开外围控制器时,该计数通过减量器DEC减1,由PO上的指令显示。
当指令PI和PO出现时,复接器MUXI和MUXD通过分别传送增量器INC和减量器DEC的输出进行工作,或者当指令PI和PO没出现时,直接传送队列状态寄存器PR的输出。
该精确计数PC也被施加于近似状态设备AS,该设备用于检测以下7个状态的阈值空E(即,计数=0)、接近空NE(即,计数>0)、激活A(即,计数>阈值1)、忙B(即,计数>阈值2)、很忙VB(即,计数>阈值3)、接近满NF(即,计数>阈值4)和满F(即,计数=最大值)。
当每一个阈值被穿过时,一个增量指令CCI或减量指令CCD被发送到中央控制器CC,如图3所示,中央控制器在其近似状态逻辑CCASL中重现近似状态情况,这些情况是在对应的外围控制器队列状态控制逻辑中产生的,即空E、几乎空NE、激活A、忙B、很忙VB、几乎满NF及满F。
这个系统的两个主要优点是1、需要集中保存的信息量被显著减少,能够建立比用其它方法可能实现之系统更大的系统。
2、由于在中央控制器中没有“实际的”队列长度,这就提供了更大程度的可升级性。同样的中央控制器可以用于设计采用外围控制器处理的队列长度可达100个包的系统,以及其外围控制器处理数百万个包之队列的系统。由于正是外围控制器限定了精确和近似状态之间的映射,所以该中央控制器不必为实现更大或更小的最大队列长度而被改变。
在国际专利申请PCT/GB99/03748中公开了一种数据交换系统,本发明的典型应用是在这种系统中的输出控制单元。
上述的近似状态控制装置是对具体实施的一点概括。实际应用中有16个“近似状态”,它代表队列中从0到1024个信息包之范围的“精确状态”。实际实施的设计要求是,中央控制器不会试图为不存在的包建立连接。由于上述的近似状态控制装置中内在的时间延迟,这种情形是可能的。例如,当中央控制器CC为队列中最后一个包创建一个连接时,从外围控制器(例如PE1)发送该包(其队列长度减小至零)之时间,到中央控制器CC发现对应该外围控制器PE1的队列长度已经减小之时间,亦即当CCD指令到达该中央控制器CC之时,这两个时间中有一个延迟。在这段时间内,中央控制器CC可能创建另一个基于错误假定的连接,即假定该队列不空;然后外围控制器PE1将被告知发送一个它没有的包。
防止这个问题出现的办法就是将近似状态分成两个范围,即“精确”和“模糊”。在“精确”范围中,位于该等级的小队列长度终端,精确和近似队列状态之间存在一对一的映射,例如,近似状态3意味着在该队列中精确地具有3个包。在“模糊”范围中,单个的“近似”状态代表了上述之不同的“精确”状态的一个范围。这样做的好处是,中央控制器CC可以在该范围(相关区域)的小队列长度终端自己记录外围控制器的精确状态,当它建立一个连接时,它可以直接对近似状态进行减量,而不必等待外围控制器通知它这样做。在这些情况下,中央控制器CC不会为不存在的包建立连接。而且,在“精确”范围中,由于中央控制器已经减少了其近似状态的再现量,外围控制器甚至都不需要发送CCD指令。这就减少了在外围控制器PE1至PEN与中央处理器CC之间接口所要求的带宽。
还可以设想另一个可选的实施例,当状态改变时,外围控制器不发送CC1和CCD指令给中央控制器,而可以发送一个实际的状态。这样,如果需要的话,在二者之间的接口所要求的额外带宽很小,并使得在接口的纠错更简单。
在第一实施例中,如果在该接口的错误导致CCI和CCD指令出错时(且此错误被检测出),该指令或是必须被重发,或是必须进行重新同步(实际状态被发送)。在此错误恢复过程之期间,另一个错误可能意味着还要再进行一次重发,等等。如果该错误没有检测出来,该中央控制器CC和外围控制器PE1至PEN将会相互不同步。
在另一个可选的实施例中,一旦有状态变化,就发送实际的近似状态。如果在该接口发生错误,所要做的只是简单的重发。如果又有错误发生,仍有必要再做一次重发以恢复现状。此外,如果错误未被检测到,无论如何,当外围控制器(例如PE1)发生变化时,该错误将被纠正,因为它将发送正确的新状态给中央控制器CC作为更新信息。
权利要求
1.一种数据包处理系统,设有一个中央控制器和多个外围控制器,每个外围控制器包括至少一个用于存储信息包的队列,该信息包是从与外围控制器相连的外围数据包源接收的,其特征在于在每一个外围控制器中与每一个队列相关联的是一个队列长度检测逻辑,它适于向中央控制器传递相应队列之长度的近似状态。
2.如权利要求1所述的数据包处理系统,其中,当一个阈值被穿过时,该队列长度检测逻辑检测多个队列长度阈值和信号给中央控制器。
3.如权利要求2所述的数据包处理系统,其中,对于每一个外围控制器中的每个队列,该中央控制器包括一个相应的队列长度检测装置,由该装置响应来自相应外围控制器队列长度检测逻辑的阈值穿过信号。
4.如上述权利要求之任一项所述的数据包处理系统,其中,近似状态阈值为空、几乎空、激活、忙、很忙、几乎满及满。
5.如权利要求4所述的数据包处理系统,其中,外围控制器中的队列长度检测逻辑是由外围控制器中的一个寄存器来驱动的,该寄存器存储相应队列的实际长度,当一个数据包进入该队列时,该队列长度加1,当一个包从该队列离去时,该队列长度减1。
6.如权利要求5所述的数据包处理系统,其中,空和接近空阈值表示实际的队列情况。
7.如上述权利要求之任一项所述的数据包处理系统,其中,每当阈值被穿过时,就由外围控制器发送实际近似状态。
8.一种数据包处理系统,其实质上如附图中所描述和显示。
全文摘要
一种数据包处理系统,设有一个中央控制器和多个外围控制器,每个外围控制器包括至少一个用于存储信息包的队列,该信息包是从外围数据包源接收的。在每一个外围控制器中的每一个队列包括一个队列长度检测逻辑,它适于向中央控制器传递相应队列之长度的近似状态。对应于近似状态的等级被设置为:空、几乎空、激活、忙、很忙、几乎满及满。
文档编号H04L12/56GK1331875SQ99814799
公开日2002年1月16日 申请日期1999年12月14日 优先权日1998年12月22日
发明者伊恩·戴维·约翰逊, 保罗·豪沃思 申请人:鲍尔·埃克斯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1