分类电路和方法技术

技术编号:8682692 阅读:251 留言:0更新日期:2013-05-09 02:41
本发明专利技术涉及对数据值集合(202)分类的电路(200),包括:p+q个寄存器(220a-c)的第一集合(220),用于存储包含p个统计野值的数据值集合的p+q个最大数据值;p+q个寄存器(230a-c)的第二集合(230),用于存储包含p个统计野值的数据值集合的p+q个最小数据值,p是非负整数,q是正整数;控制器(210),耦合到第一和第二集合的每个寄存器,控制器布置为:接收数据值集合,以及针对每个数据值,获得该数据值与每个寄存器中对应数据值的比较结果;以及根据比较结果更新寄存器;该电路还包括数据处理电路(260),其耦合到第一和第二集合中的至少q个寄存器,例如响应于控制器,生成q个寄存器中存储的数据值的平均值(204)。本发明专利技术还涉及使用这种电路的分类方法。

【技术实现步骤摘要】

本专利技术涉及用于对数据值集合进行分类(sort)的电路。本专利技术还涉及使用这种电路对数据值集合进行分类的方法。
技术介绍
当前,许多电子系统必须能够以鲁棒和容错的方式处理同时传输的大量数据。这些需求例如在应用领域中非常重要,在这些应用领域中,复杂系统的纠错功能取决于该复杂系统中包含的电子系统的无故障操作。这种复杂系统的示例包括在错误操作时可能会危害操作该系统的人的安全的那些系统,例如车辆。由于这个原因,使得电子系统花费很长时间才能够管理这种复杂系统的关键功能,例如,这种关键功能的非限制性示例是线控飞行(fly-by-wire)和线控驾驶(drive-by-wire)。但是,不断增加的实现复杂功能的电路能力近来呈现出对在复杂系统中赋予多种或多或少的关键功能操作的电子设备正趋于更易被接受的态度。例如,在汽车工业中,正在持续努力为车辆提供标准化电子控制网络,由于网络多个组件之间的通信协议可以是标准中定义的,所以可以更容易的为这种标准化网络设计附加功能。这种车载网络通信协议的示例是FlexRay 协议,可以在www.flexray.com找到该协议的描述。提供鲁棒和容错的车载网络的一个主要挑战是,网络可能包括大量离散和独立的组件,这些组件可能需要以同步的方式彼此通信。为此目的,可能需要定义通信周期,但是,对每个这些独立的组件同时初始化其通信周期是具有挑战性的任务。在FlexRay 中采用了多主控(mult1-master)分布式时钟同步机构,其中多达15个主控组件发送同步消息,每个节点基于接收这些同步消息来调整他们对全局时间的局部视图。但是,由于这些消息的某一些可能遭受某些形式的讹误,例如不期望的延迟,每个节点基于容错中点算法(FTMA)实施投票机制。在FTMA中,丢弃P个最高值和P个最低值,之后根据q个最高的剩余值和q个最低的剩余值,针对剩余值的集合,计算平均值,这里P是非负整数,q是正整数。FTMA也可以在FlexRay 内或外的其他应用中,在这些应用中有必要通过例如多数投票的方式实现容错。与实现FTMA相关的实际问题是在硬件需求方面很昂贵。由于FTMA依赖于分类(sorting)算法识别p+q个最高值和p+q个最低值,当前FTMA的实施可能依赖于提供可以存储所有接收的要被分类的值的存储器,以及操作存储器中存储的数据集合以识别最高值和最低值的集合、根据FTMA计算该集合的平均值的微控制器。对于大的数据集合,这可能需要非常大的存储器,其可能由于成本和/或可用硅面积等因素而不可行。此外,分类必须在后处理步骤中进行,例如在已经接收到所有数据值之后进行,这可能导致大数据集合的处理时间长得不可接受,特别是在必须对大量数据求平均,和/或数据具有较大的值,例如由大量比特表示的情况下
技术实现思路
本专利技术提供一种用于对数据集合进行分类的电路,该电路在面积和吞吐时间方面更闻效。本专利技术还提供使用这种改进电路对数据值进行分类的方法。根据本专利技术第一方面,提供了一种对数据值集合进行分类的电路,该电路包括:具有P+q个寄存器的第一集合,用于对包含P个统计野值的数据值集合的P+q个最大数据值进行存储;具有P+q个寄存器的第二集合,用于对P+q个最小数据值进行存储,其中P是非负整数,q是正整数;控制器,耦合到第一和第二集合中的每个寄存器,所述控制器布置为接收数据值集合,以及针对每个数据值获取该数据值与每个寄存器中相应数据值进行比较的结果;以及根据比较结果更新寄存器;该电路进一步包括数据处理电路,其耦合到第一和第二集合中的至少q个寄存器,用于响应于所述控制器,处理每个寄存器中存储的数据值中的至少一个。本专利技术基于容错分类算法Hf^nFTMA)的实施,而不需要像通常那样存储所有数据值,而是只有少量数据值用于产生处理的数据值,例如平均值、和值、差值等等。因此,通过提供组合大小典型地实质上小于要平均的数据值集合中的数据值总数的两个寄存器集合,可以在接收的数据值和已经存储在寄存器中的数据值之间进行运行中(on-the-fly)比较,从而使得一旦接收到最后的数据值,则几乎可以立即获得分类结果。因此,由于实际上仅存储输入数据值总数量的一部分,本专利技术的电路提供了这种分类算法的更紧凑的实施,同时,由于是在数据值接收过程中而不是在接收之后进行数据值分类,因而大大改善了吞吐时间。相比于这种分类算法已知的实施方案,本专利技术进一步具有明显的功率节省的效果O在优选实施例中,控制器适于:如果接收的数据值大于寄存器中存储的数据值,将该接收数据值插入到第一集合的寄存器中;如果接收的数据值小于寄存器中存储的数据值,则将该接收数据值插入到第二集合的寄存器中;以及,如果接收的数据不大于在第一集合的寄存器中存储的任何数据 值,也不小于在第二集合的寄存器中存储的任何数据值,则丢弃该接收数据值。为此目的,控制器可以布置为通过从指令集合中选择的指令来更新寄存器,该指令集合包括用于利用当前数据值盖写寄存器数据值的加载指令,以及用于将寄存器数据值移位到相邻移位寄存器的移位指令。控制器还可以进一步布置为在电路初始化时,在第二集合的每个寄存器中存储最高可能数据值,以及在第一集合的每个寄存器中存储最低可能数据值。这确保了后来电路接收的所有数据值会放置在寄存器中的正确位置。在实施例中,每个寄存器包括:比较器,用于将寄存器中存储的数据值与由控制器提供的数据值进行比较,并向控制器提供比较结果。这例如使得可以在接收的数据值与第一和第二集合的相应寄存器中存储的数据值之间并行地进行比较。可选地,控制器可以包括2(p+q)个比较器,以便于这种并行比较。在不需要对每个寄存器集合的所有q个数据值求平均的情况下,电路还可以包括:第一复用器,其耦合在第一寄存器集合和平均电路之间;以及第二复用器,其耦合在第二寄存器集合和平均电路之间,该第一和第二复用器由控制器产生的选择信号控制,以选择要由平均电路求平均的寄存器数据值。这有助于在每个寄存器集合的q个寄存器中选择特定的一个寄存器。例如,如果不能预先预测电路会接收到多少个数据值,并且这个数量会影响q个寄存器中的哪一个或多少个寄存器应被选择来用于求平均,则上述本专利技术的方案是有利的。在实施例中,控制器还包括:查找表,用于根据接收的数据值的数量,生成选择信号;以及计数器,用于对接收的数据值的数目进行计数,所述查找表响应于所述计数器。这有助于简单明了地选择合适的寄存器来求平均,并具有这样的附加优势:可以对查找表进行(再)编程,使得电路可以实现具有不同数据选择要求的不同的分类算法。本专利技术的电路可以有利地包括在通信控制器中,例如FlexRay 通信控制器中。根据本专利技术的另一方面,提供了利用本专利技术的电路对数据值集合分类的方法,该方法包括重复以下步骤:接收数据值;将所述数据值与第一和第二集合的寄存器中的数据值进行比较;以及,在必要时,根据所述比较,更新第一和第二集合的寄存器中的数据值;在已接收到所有数据值之前,所述方法还包括:对第一寄存器集合中存储的至少一个数据值和第二寄存器集合中存储的至少一个数据值进行处理;以及产生指示了经处理的值的输出信号。因此,由于上文已经详细阐述的原因,该方法减少了得到处理结果(例如求均值结果,求和结果,求差值结果等)之前的处理时间。优选地,所述方法中根据所本文档来自技高网
...

【技术保护点】
一种对均匀分布的数据值的集合(202)进行分类的电路(200),该电路包括:具有p+q个寄存器(220a?c)的第一集合(220),用于对包含p个统计野值的数据值集合的p+q个最大数据值进行存储;具有p+q个寄存器(230a?c)的第二集合(230),用于对包含p个统计野值的数据值集合的p+q个最小数据值进行存储,其中p是非负整数,q是正整数,其中数据集合包含多于2(p+q)个的数据值;控制器(210),耦合到第一和第二集合中的每个寄存器,所述控制器被布置为:接收数据值集合,以及针对每个数据值,获取该数据值与每个寄存器中的相应数据值的比较结果;和根据所述比较结果更新寄存器;所述电路还包括平均电路(260),平均电路(260)耦合到第一和第二集合中的至少q个寄存器,用于响应于所述控制器对来自所述q个寄存器中每一个寄存器的至少一个数据值求平均。

【技术特征摘要】
1.一种对均匀分布的数据值的集合(202)进行分类的电路(200),该电路包括: 具有P+q个寄存器(220a_c)的第一集合(220),用于对包含p个统计野值的数据值集合的P+q个最大数据值进行存储; 具有P+q个寄存器(230a_c)的第二集合(230),用于对包含p个统计野值的数据值集合的P+q个最小数据值进行存储,其中P是非负整数,Q是正整数,其中数据集合包含多于2 (p+q)个的数据值; 控制器(210),耦合到第一和第二集合中的每个寄存器,所述控制器被布置为: 接收数据值集合,以及针对每个数据值,获取该数据值与每个寄存器中的相应数据值的比较结果;和 根据所述比较结果更新寄存器; 所述电路还包括平均电路(260),平均电路(260)耦合到第一和第二集合中的至少q个寄存器,用于响应于所述控制器对来自所述q个寄存器中每一个寄存器的至少一个数据值求平均。2.根据权利要求1的电路(200),其中控制器(210)适于: 如果所接收的数据值大于寄存器中存储的数据值,则将所接收的数据值(202)插入到第一集合(220)的寄存器(220a-c)中; 如果所接收的数据值小于寄存器中存储的数据值,则将所接收的数据值插入到第二集合(230)的寄存器(230a-c)中;以及 如果所接收的数据值不大于第一集合的寄存器中存储的任何数据值,也不小于第二集合的寄存器中存储的任何数据值,则丢弃所接收的数据值。3.根据权利要求1的电路(200),其中控制器(210)进一步被布置为在所述电路初始化时,在第二集合(230)的每个寄存器(230a-c)中存储最高可能数据值,以及在第一集合(220)的每个寄存器(220a-c)中存储最低可能数据值。4.根据权利要求1-3中任一项的电路(200),其中每个寄存器(220a-c;230a-c)包括:比较器,用于将寄存器中存储的数据值与由控制器(210)提供的数据值(202)进行比较,并向控制器提供比较结果。5.根据权利要求4的电路(200),其中控制器(210)被布置为通过从指令集合中选择的指令来更新寄存器(220a_c ;230a-c),所述指令集合包括: 加载指令,利用当前数据值盖写寄存器数据值;和 移位指令,将寄存器数据值移位到相邻寄存器。6.根据前述权利要求任一项的电路(200),还包括: 第一复用器(240),稱合在寄存器(22...

【专利技术属性】
技术研发人员:胡伯特斯·杰拉德斯·亨德里克斯·维梅伦简·斯特库拉特安德烈·克林·尼由兰德伊丽莎白·弗兰西卡·玛丽亚·斯特芬斯
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1