CN1105134A - 分类系统和方法 - Google Patents
分类系统和方法 Download PDFInfo
- Publication number
- CN1105134A CN1105134A CN94108249A CN94108249A CN1105134A CN 1105134 A CN1105134 A CN 1105134A CN 94108249 A CN94108249 A CN 94108249A CN 94108249 A CN94108249 A CN 94108249A CN 1105134 A CN1105134 A CN 1105134A
- Authority
- CN
- China
- Prior art keywords
- local
- classification
- record
- merge sort
- local processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种可对其记录个数两倍于分类系
统的存储容量的数据串进行分类的系统和方法,这种
系统和方法甚至能在常规大小的硬件归并分类器中
完成较大文件的高速有效分类。该分类系统配有一
常规大小的硬件归并分类器和一包括一大型缓冲器
的分类控制器。该硬件归并分类器配有n个串联的
流水线级,其中每一级含一局部处理器和一局部存储器。这些局部存储器的总存储容量达2n个记录。该硬件归并分类器还配有用以控制在一独创的专门分类中存储器的存取的选择器。
Description
本发明涉及在分类系统中进行的高速分类,更准确地说,本发明涉及可用以对大量数据以高速度进行处理的基于选择器的高速分类方法和设备。
图16系一包括常规技术的硬件归并分类器的常规分类系统的整体框图,该技术在日本未审查专利公开号86043/1988中公开。
图16中的分类系统包括硬件归并分类器22、外存储器或磁盘单元30、一个盘控制器31、一个系统控制器41和一个通道接口42。根据该图,公用数据总线40在系统控制器41和通道接口42之间传递数据。数据总线43在通道接口42和主机之间传递数据。数据总线32在盘单元30和盘控制器31之间传递数据。盘控制器31和公用数据总线40之间的数据传递则由数据总线34来完成。分类数据输入总线33将分类数据付给硬件归并分类器22。已分类数据输出总线35将已分类数据自硬件归并分类器22传至公用数据总路线40。硬件归并分类器22将n个流水线级顺序线性排列并串行级联在一起。每一流水线级有一分类组件或局部处理器和一与之耦合的响应专用存储器或局部存储器。具体说来,第一流水线级有局部处理器P11和存储容量为1(2°)个记录的局部存储器M111;第二流水线级有局部处理器P22和存储容量为2(21)个记录的局部存储器M212;第三流水线级有局部处理器P33和存储容量为4(22)个记录的局部存储器M313,以此类推,直至最后流水线级有局部处理器Pn6和存储容量为2n-1个记录的局部存储器Mn16。每一局部处理器配有内部缓冲器。相邻局部处理器间则配有行缓冲器。
图17系图16中所示常规分类系统的简化框图。图中,局部存储总线106在硬件归并分类器22中任一流水线级上的局部处理器和相关局部存储器之间传递数据。分类控制器100是一包括一大型缓冲器、盘单元30、系统控制器41、盘控制器31和一通用处理器的多功能装置。
根据图16,待分类数据流由盘控制器31自盘单元30读出,并通常经数据总线32和分类数据输入总线33传至硬件归并分类器22。另外,该数据流可经系统控制器41和通道接口42传至主机,然后再经通道接口42和系统控制器41回到盘控制器31,以备输入至硬件归并分类器22。
当硬件归并分类器22收到分类数据后,局部处理器P11至Pn6便与响应的局部存储器M111至Mn16一起进行一系列流水线归并分类器操作。当对输入数据通过各流水线级进行的分类后,所得已分类数据串便自硬件归并分类器22经已分类数据输出总线35传给公用数据总线40。该已分类数据流可随即被传至系统控制器41或经通道接口42并通过数据总线43传至主机。
根据常规技术,图16或17中的常规硬件归并分类器22可利用n个含局部处理器和局部存储器的流水线级对N(N≤2n,n为整数)个记录进行分类。常规硬件归并分类器22是根据二路归并来对数据进行分类的。N个记录被串行地输入至局部处理器P11并通过流水线级,以便这些记录被按序排列且有一串N个已分类记录被输出。二路归并分类输入并处理已存入每一流水线级的局部存储器和内部缓冲器这些个存储单元里的两串记录。这一操作完成后,局部处理器便将所得已分类记录串传至流水线级上的下一个局部处理器。例如,有一响应局部处理器Pi的局部存储器Mi能容纳2i-1个记录。局部处理器Pi自前一流水线级的局部处理器Pi-1连续地接过两条各含2i-1个记录的记录中,然后将这两条记录串合并成一条含2i个记录的记录串。该含2i个记录的已分类记录串接着又被输出至邻近的流水线级的局部处理器Pi+1供进一步归并分类用。
现在参考图16或17详细描述常规技术中的二路归并分类的基本操作。该操作分两阶段:存储阶段和归并分类阶段。存储阶段是归并分类阶段的准备。在存储阶段,自流水线级上的前一局部处理器相继传来的两串已分类数据被输入至局部处理器,并被分别存入相应的局部存储器和内部缓冲器。在归并分类阶段,局部处理器每次自己存储的两串记录中的每一串取一个记录供比较用。该对记录被按照给定的要求进行比较并被按序排列。例如,记录可按自最高初值起递减的顺序分类,或自最低初值起按递增的顺序分类。结果,该对已分类记录中排在较先的那一个记录便自局部处理器输出,以便归并进作为流水线节的行缓冲器中的已分类记录串。这样的归并分类操作可重复进行直至两存储单元中的每一个均已不再存有记录,从而所得记录串是有序的。上述已分类记录串随后被传至的流水线级上的下一台局部处理器供进步归并分类用。由此可见,常规技术中的二路归并分类由于需要将两串记录合并成一串已分类记录而使得每一流水线级上的数据量增加了一倍。
图18系用于图解常规分类方法中的一连串常规流水线归并分类操作的概念图。图中,阴影三角,实际上应呈指数曲线状,标明各局部存储器的存储容量,而阴影方格则代表分类组件或局部处理器。根据图18,分类数据流串行输入至局部处理器P11,在那里接受一连串常规归并分类操作,然后作为一已分类数据串自局部处理器P11输出。该完整的已分类数据串接着被传至分类控制器。
在二路归并分类中,存储中的已分类数据串当其领头记录被输出至局部处理器供比较用时便失去了该领头记录。局部处理器中的领头记录的输入顺序在存储单元之间是随机的,主要取决于比较的结果。为了维持存储中的已分类数据串的领头记录的连续输出,一存储单元中的一个已分类串领头记录的地址空间应总是由同一数据串中余下的已分类数据串的领头记录所占据。换言之,存储中的数据串应每输出一个记录便向前移位一个记录或地址空间以保持分类的序列。维持存储中的已分类数据串的分类序列及不停地输出领头记录是至关重要的。从这一点看来,有必要采取或考虑一些措施以解决这一问题。
以下就通过处理定时来讨论一下二路归并分类。一般地讲,数据分类中的处理单位可以是一个记录、一个字或一个字节。常规技术采用基于记录的单字处理。图19系图解二路归并分类操作中相邻局部处理器之间基于记录的单字处理的定时图。
根据图19,一个记录由两个字段组成:含一定字数的数据段和一个双字指针。每一个字有三个周期:读周期R0、读周期R1和写周期W。按照基于记录的单字处理的二路归并分类基本上是通过一个记录逐字工作的。为了在归并分类步骤中进行比较,二路归并分类应访问三个存储单元:局部存储器、局部处理器中的内部缓冲器及行缓冲器。换言之,局部处理器在读周期R0和R1中分别自两存储单元各接收一个字或记录以备进行比较,比较后在写周期W中将其中一个输出。因此,从每一流水线级出来的所得记录串是逐字顺序排列的。
如前所述,常规硬件归并分类器通常是由线性排列的串联流水线构成,其中任一流水线级包括一局部处理器和一相应局部存储器,后者的存储容量是前一流水线级的局部存储器的两倍。如果硬件归并分类是有n个流水线级,那么最后一个流水线级的局部存储器的存储容量便是2n-1个记录,为所有局部存储器的总存储容量的一半。根据常规技术,最后一个流水线级的局部存储器的存储容量限制住了常规硬件归并分类器的最大可分类记录数。换言之,常规硬件归并分类器只能对其记录数两倍于最后一流水线级的局部存储器的存储容量的数据串进行分类。这也可简单理解为只要能扩展常规分类系统中局部存储器的总存储容量,则其可分类记录数便没有上限,理论上,即便是就高速有效分类而言这也是可能的。然而,实际上,从体系结构或组装角度考虑,含局部存储器的流水线级数或硬件归并分类器尺寸的无限制扩大对于一计算系统来说是不可能的。超过上限数的记录事实上只能依赖软件来进行处理。这就形成了一个瓶颈并限制了高速有效分类。
本发明的目的显然就是要能提供一种在常规大小硬件归并分类器中可对较大文件中的数据进行高速有效分类的分类系统和方法。本目的以及别的目标可由本发明所给出的分类系统和方法来实现。
根据本发明,一种可对多个记录进行分类的分类系统包括:
(A)一硬件归并分类器,它又包括:
(A-1)多个串联的局部处理器,其中每一局部处理器接收前一局部处理器输出的记录,将其分类成经过分类的数据串,并将经过分类的数据串输出至下一局部处理器,从而硬件归并分类器在通过该分类器进行的第一轮分类中产生至少一条经初次分类的数据串;
(A-2)一存储容量为2n个记录并含多个局部存储器的存储器;
(A-3)多个处于局部存储器和相关局部处理器之间并与二者耦合的选择器,用以在第一轮分类中使局部存储器和相关局部处理器耦合,而在第二轮分类中使多个局部存储器与专门一局部处理器耦合;和
(B)一控制局部处理器和选择器的控制器,以便硬件归并分类器在第一轮分类中产生第一和第二条各含N个记录的已分类数据串,而在第二轮分类中产生一条含2N个记录的已分类数据串。
根据本发明,在本分类系统中,多个局部存储器中至少有两个局部存储器,其每一个存储容量达2n-1个记录,且在第二轮分类中由选择器将这两台局部存储器与一专门局部处理器耦合。
根据本发明,本分类系统还包括一连接在控制器和多部选择器之间的用来将第一和第二条分类数据串中的一条从控制器传至局部存储器以备第二轮分类用的专用存储总线。
根据本发明,在本分类系统中,每一局部存储器具有2n-1+1个记录的存储容量且由两台局部处理器访问。
另据本发明,能对多个记录进行分类的分类系统包括:
(A)至少两个串联的硬件归并分类器单元,每一单元包括:
(A-1)串联在一起的多个局部处理器,其中各局部处理器接收前一台局部处理器输出的记录,将其分类成经过分类的数据串,并将经过分类的数据串输出至下一局部处理器,从而保证硬件归并分类器单元在第一轮通过该硬件归并分类器单元产生至少一串经初次分类数据串;
(A-2)一个存储容量为2n个记录并含多个局部存储器的存储器;
(A-3)多部位于局部存储器和相应的局部处理器之间并与二者耦合的选择器,用来在第一轮分类中使局部存储器与相应的局部处理器耦合,在第二轮分类中将多个局部存储器与第一台专门的局部处理器耦合,而在第三轮分类中将多个局部存储器与第二台专门的局部处理器耦合;
(A-4)多个与多台局部处理器串联的输入/输出总线选择器,用以连接各硬件归并分类器单元;和
(B)一台用来控制局部处理器、选择器和输入输出总线选择器的控制器,以便在第一轮分类中将多个数据分类成四条各含N个记录的已分类数据串,在第二轮分类中又将该四串已分类数据分类成两条各含2N个记录的已分类数据串,最后在第三轮分类中将前述两条已分类数据串分类成一条含4N个记录的已分类数据串。
又根据本发明,一种使用硬件归并分类器对多个记录进行分类的方法,其中的硬件归并分类器包括多个局部处理器、多个局部存储器及多个置于多个局部存储器与一相关局部处理器之间并与二者耦合的选择器,用于在第一分类步骤中将局部存储器与相应的局部处理器耦合,在第二分类步骤中则使得若干局部存储器与专门的局部处理器耦合。本方法包括下述步骤:
(A)在第一分类步骤中利用每一局部处理器和每一局部存储器将N个记录分类成第一条已分类数据串;
(B)在第一分类步骤中将另外N个记录分类成第二条已分类数据串;
(C)在第二分类步骤中将上述第一条和第二条已分类数据串中的一条存入多个局部存储器;和
(D)在第二分类步骤中将第一条和第二条已分类数据串中的另一条与已存储的那条数据串进行分类以产生一条含2N个记录的已分类数据串。
根据本发明,一种使用至少两个硬件归并分类器单元对多个记录进行分类的方法,其中每一单元包括多台局部处理器、多台局部存储器及多台置于多台局部存储器和一台相关局部处理器之间并与二者耦合的选择器,用于在第一分类步骤中将局部存储器与相应的局部处理器耦合,在第二分类步骤中则将多台局部存储器与专门的局部处理器耦合,以及多个输入/输出总线选择器;它们与多个局部处理器串联并在第二和第三分类步骤中连接各硬件归并分类器单元。本方法包括下述步骤:
(A)在第一分类步骤中利用第一硬件归并分类器单元里每一台局部处理器和每一台局部存储器将N个记录分类成第一条已分类数据串;
(B)将第一条已分类数据串存入第二硬件归并分类器单元的多个局部存储器中;
(C)在第一硬件归并分类器单元中进行的第一分类步骤中将另外N个记录分类成第二条数据串;
(D)在第二分类步骤中将第二条已分类数据串和已存入第二硬件归并分类器单元的第一条已分类数据串进行分类以产生第一条含2N个记录的已分类数据串;
(E)通过重复步骤(A)到(D)并使用第一和第二硬件归并分类器单元将另外2N个记录分成第二条含2N个记录的分类的数据串;
(F)在第三分类步骤中将上第一和第二个条各含2N个记录的数据串的一条存入第一和第二硬件归并分类器单元的多个局部存储器里;和
(G)将上述第一和第二条各含2N个记录的数据串的另一条与已存入的那条含2N个记录的数据串进行分类以便在第三分类步骤中产生一条含4N个已分类记录的数据串。
根据本发明,一种使用含多台局部处理器和多台局部存储器的硬件归并分类器来对多个记录进行分类的方法,本方法包括下述步骤:
(A)在第一分类步骤中利用每一台局部处理器和每一台局部存储器将N个记录分类成第一条已分类数据串;
(B)将余下的多个记录中取出的一个记录存入每一局部存储器里;
(C)在第二分类步骤中将第一条已分类数据串与那个已存入每一局部存储器的记录进行分类;和
(D)必要时重复步骤(B)和(C)至少一次以产生一串已分类记录。
根据本发明,本分类系统还包括置于各相关的多个局部处理器和控制器之间的分类结束信号线,从而每一相关处理器能通知控制器它已完成了第一轮分类,并且,该控制器便可以将两条经初次分类的数据串中的一条的一部分存入相关局部存储器。
附图中,图1系说明第一和第二实施例中所述硬件归并分类器配置和分类控制器的本发明分类系统的简化方框图;
图2系图1中总线控制区110的数据总线结构的一般局部方框图,用以说明第一实施例中所述数据控制技术;
图3系用来进一步说明图2中所示数据控制技术的数据总线结构的局部方框图;
图4系用来说明第一实施例中所示的已实现于大规模集成电路中的基于选择器的数据控制技术的局部示意方框图;
图5系用来说明第一实施例中所述地址控制技术的一般方框图;
图6系进一步说明图5中所示地址控制技术的地址总线结构的局部方框图;
图7系用来说明第一实施例中所述的基于控制信号的数据控制技术的地址总线结构的局部方框图;
图8系本发明的分类系统的方框图,用以说明第一实施例中所述的由硬件归并分类器在第一步归并分类中实行的一系列常规流水线归并分类操作;
图9系用来说明第一实施例中所述的在第二步归并分类中实行的存储器和归并分类操作的本发明分类系统的方框图;
图10系本发明的一分类系统配置的方框图,用以说明第三实施例中所述的适用于在多分类器系统中进行的串联操作的硬件归并分类器;
图11系用来说明第四和第六实施例中所述的适用于在多分类器系统中进行串联操作的另一硬件归并分类器的本发明分类系统结构的方框图;
图12系用来说明第一实施例中所述的本发明的基本分类方法的概念图;
图13系用来说明第三实施例中所述的多分类器系统中本发明的一种基于串联的分类方法的概念图;
图14系用来说明第五实施例中所述的适用于较小文件的独创分类方法的概念图;
图15说明根据第五实施例中所述独创分类方法进行的串行流水线归并分类操作的实例;
图16系一常规分类系统的总方框图;
图17系图16中所示常规分类系统的简化方框图;
图18系说明常规分类方法的概念图;
图19系说明在二路归并分类操作中基于记录的单字处理的定时图。
实施例1
图1系说明第一实施例中所述的硬件归并分类器配置和分类控制器的本发明分类系统的方框图。图1中的硬件归并分类器是在图7中的常规硬件归并分类器基础上改装而成,其改进之处在于增加了一台存储容量为1个记录的辅助存储器8、总线控制区110及局部存储器总线120,并用局部存储器总线111替换了局部存储器总线106。总线控制区110包括选择器或驱动/接收器9和10及局部地址/数据总线121至124。硬件归并分类器由几个流水线级构成,其中第一流水线级含一局部处理器P11,第一流水线级含P22,第三流水线级含P33,以此类推,直至倒数第二流水线级含局部处理器Pn-15及最后一流水线级含Pn6。每一局部处理器有一响应的局部存储器经由总线控制区110中的驱动/接收器9并通过局部存储器总线111与之相连。存储器包括局部存储器M111、M212、M313等等,直至Mn-115和Mn16,它们分别与编号为P11至Pn6的局部处理器相耦合。局部处理器Pn6在完成整个系列归并分类操作之后将已分类数据输出至已分类数据输出总线35。分类控制器101是一包括图16中的系统控制器41和盘控制器31的多功能装置。分类控制器101通过分类数据输入总线33将分类数据传至硬件归并分类器。完成分类后的数据被传至分类控制器101,否则经图16中所示的通道接口42和数据总线43被传至主机。
本发明的分类系统,其特征为通过分类控制器101和驱动/接收器10来控制的专门或单独分配给一专用的局部处理器或局部处理器Pn6的单一的操作。为实现这些单一操作,局部处理器Pn6可通过局部地址/数据总线121至124访问包括辅助存储器8在内的流水线各级的所有局部存储器。
图2至4均系图1中的总线控制区110中的一种数据总线结构的局部方框图,用以说明本实施例所述的局部处理器与局部存储器之间的数据控制技术。图2中,基本时钟信号660提供使各局部处理器同步的信号。处理器间数据总线650将来自局部处理器的已分类数据串传至流水线级中的下一台局部处理器。图2可用来说明用于一种通过驱动/接收器9和10进行的双向数据控制技术的数据总线配置。当流水线中每一台处理器执行完一个归并分类操作后,数据通过驱动/接收器9而在流水线级上一对局部处理器和响应的局部存储器之间进行传递。另一方面,数据通过多个驱动/接受器10而在每一局部存储器与一专用的局部处理器之间传递。
基于图2的图3和4展示在硬件归并分类器含19个流水线级(n=19)的条件下本发明的硬件归并分类器的最后三个流水线级。图3说明在此情况下图2中的数据控制技术。
图4说明一种实现在基于大规模集成电路(LSI)的配置中的基于选择器的数据控制区。图4中的虚线方框表示LSI线路图,它们包括一组写入和读出选择器21a和21b、三个输入/输出缓冲器20(驱动/接收器)和一台局部处理器。写入选择器21a当一个归并分类操作是在每一流水线级内执行时便自LSI中局部处理器中选取要写进局部存储器的数据流,而对于由局部处理器P196执行的唯一存储操作则自专门局部处理器P196里选取要写进局部存储器的数据流。读出选择器21b自流水线级上的局部存储器或自前一流水线级中的LSI选取数据流以备传至专门局部处理器供进行单一归并分类操作用。
图5至7系图1中的硬件归并分类器的总线控制区110中的地址总线结构的局部方框图,用来说明本实施例所述局部处理器和局部存储器之间的地址控制技术。图5系说明由驱动/接受器9或10控制的地址控制技术的地址总线结构的全景。基于图5的图6展示在硬件归并分类器含19个流水线级的条件下该归并分类器的最后三个流水线级。
根据图6,当驱动/接收器10被停用时驱动/接收器9使被启用以便当每流水线级执行归并分类操作时将地址数据自局部处理器传至每一流水线级上响应的局部存储器。另一方面,当驱动/接收器10被启用时驱动/接收器9便被停用,以便当局部处理器Pn6利用所有流水线级中的局部存储器进行存储和归并分类操作时地址数据能自专门的局部处理器Pn6被传至流水线级中的每一局部存储器。
根据上述地址数据控制技术,当所有局部存储器为一静态随机存取存储器(SRAM)时可使用芯片选择信号。当这些局部存储器为一动态随机存取存储器(DARM)时,则使用如列地址选通信号这样的地址控制信号。图7展示在DRAM存储器情况下的另一地址控制技术。根据图7,地址控制信号是在地址译码器91中根据地址总线上的地址数据产生的。通过各流水线级上的局部处理器或向地址译码器91选择一总线,一存储器阵列控制信号选择器90控制地址数据向每一流水线级的局部存储器的写入。
现在参照图8和9详细描述根据图1中本实施例所述的独创硬件归并分类器的基本操作。图8和9展示包含第一和第二步归并分类的本发明的硬件归并分类器中进行的一系列独创归并分类。图8说明每一局部处理器是如何在分类的第一步归并分类操作中利用驱动/接收器9来访问其响应的局部存储器的:除了总线控制是由驱动/接收器9完成以外,该阶段的串行流水线归并分类操作与常规技术的一样。图9则说明局部处理器Pn6何以能在分类的第二步归并分类操作中利用总线控制区中的局部地址数据总线121至124和驱动/接收器10来单一地访问所有流水线级的局部存储器。
如前所述,常规分类方法可对N(N≤2n)个数据进行分类。另一方面,当要对其值介于2n与2n+1并含2n+1的某N′(2n<N′≤2n+1)个数据进行分类时,便得用本发明独创分类法来对这样较大量的数据进行分类。根据本发明的独特分类方法,较大文件中的数据应采用如图8和9中所示的常规和创新分类方法的组合在本发明的硬件归并分类器里分类两次。如图8所示,N′个记录被串行输入进本发明的硬件归并分类器并在第一轮分类中通过接受一系列常规流水线归并分类操作而被分类。结果,硬件归并分类器便连续地将所得到的经初始分类的分别含2n和N′-2n个记录的数据串输出至已分类数据输出总线35。这些数据串接着又被传入分类控制器101。
如图9所示,上述分类控制器101来自第一步归并分类的两串经初次分类的记录再在第二步归并分类中在本发明的硬件归并分类器里接受第二轮分类。这第二步归并分类的特征是那些只由局部处理器Pn6执行的单一和不可兼的操作。为了这种单一操作,所有流水线级上的局部存储器受到控制而只对局部处理器Pn6响应,而这种控制是借助总线控制区110中由驱动/接收器10控制的局部地址数据总线121至124来完成的。换言之,局部处理器Pn6利用一包括所有流水线级上的局部存储器M111至Mn16以及M8的联合存储器独特地执行上述存储或归并分类操作,而这样的联合存储器的存储容量为2n个记录。第二步归并分类由两个不同的操作组成,即存储操作和归并分类操作。在存储操作中,两条经初始分类的记录串中的一条被通过专门局部处理器存入上述联合存储器中。为了这种单一操作,分类控制器101可以在记录串前头置一跳过标记并跳过局部处理器P11至Pn-15将该记录串直接传至局部处理器Pn6。局部处理器Pn6在收到该记录串后便开始访问联合存储器以存储输入数据。将数据传到联合存储器后,局部处理器Pn6便为单一归并分类操作作好了准备,为了保证此阶段的存储操作的成功,前面关于应用驱动/接收器的地址数据控制技术的讨论应参照图2至7加以考虑。
当存储操作完成后,分类控制器101便通过分类数据输入总线33将余下的已初始分类的记录串传至硬件归并分类器以接受单一的归并分类操作。该记录串也可因使用了跳过标记而被直接传至局部处理器Pn6。局部处理器Pn6在收到此串记录便开始将其单一地与联合存储器中的那串记录归并。结果便得到含N′个已分类记录的记录串由局部处理器Pn6输出至已分类数据输出总线35。这样便完成了本实施例中所述的整个系列独创归并分类操作。
如上所述,本实施例所述的本发明的硬件归并分类器能够对较大数据文件进行分类。当处理N′或2N(=ΣNi)个分类记录时,本发明的硬件归并分类器在第一步归并分类中将这些记录归并成两条分别含N1和N2个记录的记录串。在第二步归并分类中,硬件归并分类器又将上述两条经初次分类的记录串合并成一条经第二次分类的含2N个记录的记录串。
从而,本实施例中涉及的本发明的分类系统通过一能够对超过2n个之多的记录也即超出常规归并分类器所能设法分类最大数目进行分类,而尺寸大小与常规硬件归并分类器无异的硬件归并分类器。
且对高速分类作进一步改善。
在本实施例中所讨论的本发明的分类方法可在常规技术中的硬件归并分类器上执行。但是,为了在第二步归并分类中使本发明的单一归并分类操作生效,需要增加一些选择技术或机构,如选择器或驱动/接收器。
图12系说明本发明的可在常规归并分类器上执行的分类方法的概念图。图中,三角形代表局部存储器,方块代表局部处理器,长方形代表分类控制器,而箭头则表明数据流的方向。这些记号若投上了阴影则表示其功能处于执行之中。根据本实施例,硬件归并分类器可对介于2n与2n+1之间的N′之多的记录进行分类。
图12(a)说明第一步归并分类中执行的一系列常规流水线归并分类操作。根据本实施例,N′个记录在第一步归并分类中以在下列两步骤(S1-1和S1-2)中讨论的方式被分类成两条经初次分类的记录串。
S1-1:2n个记录经过一系列常规流水线归并分类操作的处理并被作为一条含2n个经初次分类的记录的记录串N1而传至分类控制器。
S1-2:余下的N′-2n个记录相继被以与S1-1中所述相同的方式处理,然后作为一条含N′-2n个已初次分类记录的记录串N2而被传至分类控制器。
图12(b)说明在第二步归并分类中的单一操作这一阶段包括如下的存储操作步骤(S2-1)和归并分类操作步骤(S2-2)。
S2-1:含2n个经初次分类的记录的记录串N1自分类控制器被直接传至最后一流水线级上的专门局部处理器供单一的存储操作之用。该局部处理器随后又将记录串N1传到包括一增加的存储容量为一个记录的辅助存储器的联合存储器供单一的操作用。
S2-2:当上述单一存储操作完成后,含N′-2n个记录的经初次分类的记录串N2被自分类控制器传至专门局部处理器供单一归并分类操作之用。局部处理器通过单一归并分类操作将两记录串N1和N2合并,然后输出一条完整的含N′(2n<N′≤2n+1)个记录的已分类记录串。
实施例2
再据实施例1,本发明的硬件归并分类器能提供另一局部存储器,即图1中的局部存储器15a,它具有与流水线级中最后一局部存储器16相同的存储容量2n-1个记录。这意味着这两台局部存储器具有图1中所有流水线级上的局部存储器所共有的存储容量。换言之,专门局部处理器第二步归并分类中只须访问两台局部存储器而不是所有局部存储器。从体系结构角度出发,一方面本实施例所涉及的本发明的归并分类器由于一局部存储器的存储容量被增加,因而根据局部存储器的总存储容量则其尺寸将被扩大。另一方面,由于在第二步归并分类中采用了只访问两台局部存储器用的较简单的总线结构,本发明的硬件归并分类器所需的总线控制区110的尺寸将会缩小。由此看来,本实施例中涉及的硬件归并分类器就第二步归并分类中通过地址数据控制而进行的单一操作而言是有利的。
实施例3
图10系本发明的又一实施例中所述的本发明的一分类系统配置的方框图,用以说明本发明的适用于在多分类器系统中实行串联操作的归并分类器。图10包括图1,但增加了输入总线选择器50、输入总线选择信号51、分类器间数据总线52、输出总线选择器53、输出总线选择信号54、驱动/接收器113和115以及串联存储总线114和116。
图10中的硬件归并分类器可单独运行也可串联运行,这可通过使用输入总线选择器50和输出总线选择器53控制数据流来实现。输入总线选择信号51选择一条自分类控制器101或自前一级上的分类器传来的数据流。换言之,如需硬件归并分类器单独运行,输入总线选择器50使将分类数据输入总线33上的数据流输出至局部处理器P11。而若需该分类器在一多分类器系统中串联,则输入总线选择器50便往分类器间数据总线52输出一数据串。输出总线选择信号54为输出所得到的已分类记录串选择一总线。也就是说,若需分类器单独运行,输出总线选择器53将自局部处理器Pn6传来的所得已分类记录串输出到已分类数据输出总线35。而若需分类器在一多分类器系统中串联运行,则输出总线选择器53使将已分类记录串输出至分类器间数据总线52供下一级在一分类器进行进一步操作之用。在已分类数据输出总线35上的已分类数据串被传至分类控制器101或如图16所示经通道接口42被传至主机。
当更多的本发明的硬件归并分类器被通过将其中一分类器的输出总线选择器53联到另一分类器的输入总线选择器50上而互相串联在一起时,所得多分类器系统的规模就会变得越来越大。结果,该系统的可分类数据量也将随着多分类器系统中的硬件归并分类器的数目增加而增加。
现在更具体地讨论一下当一多分类器系统有如图10所示的两串联的本发明的硬件归并分类器单元时该多分类器系统的基本操作。本实施例中所述上述两分类器系统可用三步归并分类操作来对N″(2n+1<N″≤2n+2)个记录进行分类。在第一和第二步归并分类中,两台硬件归并分类器中的每一台以如第一实施例中所述的方式(参看图8和9)单独运行。在第三步归并分类中,该两台分类器为第三步分类串联以产生一条完整的已分类记录串。
在第一步归并分类中,所有硬件归并分类器共用N″个记录并通过常规流水线归并分类操作串行地对其进行处理。换言之,上述两硬件归并分类器分别输出1或2串不多于2n个的记录。结果,N″个记录被分成3或4串经初次分类的记录并被传至分类控制器101。
分类控制器101中的这3或4串经初次分类的记录经过第二步归并分类归并成两串,然后分别从两分类器输出至分类器控制器。根据本实施例,由两条各含2n个记录的记录串合并而成的2n+1个记录和自前述1或2条记录串生成的N″-2n+1个记录在两台分类器中被单独进行分类。结果,分类控制器收到两条分别含2n+1和N″-2n+1个记录的经第二次分类的记录串。然而,在此阶段,在分类器中处理的记录串的组合方式是可在分类控制器101中3或4条经初次分类的记录串变化的。
在第三步归并分类中,两硬件归并分类器串联并先后共同完成归并分类操作。这一阶段的操作基于涉及单一存储和归并分类操作的本实施例的第二步归并分类中的那些操作。为了此单一操作,在后面的级中应在分类器中提供专门局部处理器Pn6。
为了取得基于两串联分类器联合存储器,前面一级的分类器的串联存储总线114与后面一级的另一分类器的串联存储总线116相联。为了此阶段的单一操作,后一分类器的局部处理器Pn6或专门局部处理器包括两个分类器的局部存储器M111至Mn16和辅助存储器8在内的存储容量为2n+1个记录的一联合响应存储器。为确保成功的存储操作,先前关于图2至7中所示地址数据总线控制技术的讨论应与本实施例结合起来加以考虑。
为了此阶段的单一存储操作,两条经第二次分类的记录串中的一条被输入至前面的分类器的局部处理器P11,然后又自分类控制器101直接传入后面的分类器的专门局部处理器Pn6。专门或独有的局部处理器Pn6将输入数据传到联合存储器。完成存储操作后,专门局部处理器Pn6使为利用联合存储器进行单一归并分类操作作好了准备。分类控制器101将余下的串记录直接传至专门局部处理器Pn6。局部处理器Pn6接着便开始对数据进行单一归并分类操作。结果,一条完整的含N″(2n+1<N″≤2n+2)个记录的已分类记录串便自后面的分类器输出至输出数据总线35。
因此,据本实施例,在图10所示两串联硬件归并分类器的多分类器系统中,在第一步归并分类中4N个记录被分类成3或4条经初次分类记录串。在第二步归并分类中,上述3或4条经初次分类记录串合并成两条各含2N个记录的经第二次分类的记录串。在基于串联的第三步归并分类中,上述两经第二次分类的记录串又合并成一条完整的含4N个记录的经第三次分类的记录串。
一般说来,对于能对两倍于总存储容量的记录进行分类的分类器或多分类器系统来说,存储容量是唯一限制最大可分类数据数的因素。由此看来,随着多分类器系统通过串联越来越多的分类器而不断扩展自身,在多分类器系统中可分类数据量可显著增加。
又据实施例1及其附图图12,本发明的分类方法也可在多分类器系统上执行。图13就是用来说明本发明可在一串联的多分类器系统上执行的分类方法的概念图。根据本实施例,该系统可对介于2n+1和2n+2之间的N″(2n+1<N″≤2n+2)个记录进行分类。
图13(a)说明由两串联的硬件归并分类器各自单独执行的第一和第二步归并分类。前面级上的硬件归并分类器专用于第一步归并分类中的操作。后面级上的另一分类器则专用于第二步归并分类的操作,根据本实施例,N″个记录通过两分类器以下列两步骤中所讨论的方式在第一和第二步归并分类中被分类成2条经第二次分类的记录串。
S11-1:N″个记录被输入至前面级上的分类器。最初的2n个记录被分类成一条含2n个经初次分类的记录的记录串N1。该记录串N1接着被传入后面的分类器供第二步归并分类中的单一存储操作之用。另外2n个记录则在前面的分类器中被连续地分类成一条也含2n个经初次分类的记录的记录串N2。该记录串N2接着被传至后面的分类器。
记录串N1和N2通过单一归并分类操作被合并成一条含2n+1个第二次分类的记录的记录串N1+N2。该记录串N1+N2接着被传至分类控制器。
S11-2:余下的N″-2n+1个记录必要时可接受第一步归并分类中的两系列操作并按S11-1中所描述的方式被处理,最后以一条含N″-2n+1个记录的经第二次分类的记录串N3(+N4)被输出至分类控制器。
图13(b)说明由一组包括两台分类器的装置进行串联操作的第三步即基于串联的归并分类。本实施例的第三步归并分类中的操作与第三实施例的第三步即基于串联的归并分类中所描述的操作相同。两条分别含2n+1和N″-2n+1个记录的经第二次分类的记录串N1+N2和N3(+N4)以在如下两个基于串联的步骤即单一存储操作(S12-1)和单一归并分类操作(S12-2)中所描述的方式被分类。
S12-1:两条经第二次分类的记录串N1+N2和N3(+N4)中的一条通过前面的分类器自分类控制器被直接传至后面的分类器的专门局部处理器,并存储在两分类器的联合存储器中。
S12-2:余下的那串记录则自分类控制器直接传入专门局部处理器。该串记录通过单一归并分类操作与存储器中的那串记录合并而成一条完整的含N″(2n+1<N≤2n+2)个记录的已分类记录串。
实施例4
又据图10,本发明的硬件归并分类器可享有一专用总线以便在第二步归并分类中的存储操作中将分类数据从分类控制器里直接传至硬件归并分类器中的局部存储器。
图11系另一实施例中所述的本发明的一分类系统配置的方框图,用以说明另一适用于在多分类器系统中进行串行操作的硬件归并分类器。图11包括10,但增加了一专用存储总线70。专用存储总线70通过局部存储总线120将分类数据自分类控制器101和局部地址/数据总线121至124直接传至分类器中的局部存储器。驱动/接收器113是将专用存储总线70与局部存储总线120相联的接口。
根据本实施例,分类控制器101为第二步归并分类中的存储操作将经过第一步归并分类的得到的两条经初次分类的记录串当中的一条通过专用存储总线70直接传至局部存储器M111至Mn16和辅助存储器8。此后在第二步归并分类中执行的单一归并分类操作与第一实施例(参看图9)中所述相同。
实施例5
又据第一实施例,本发明的分类方法适用于较小的文件。图14系说明本发明的可在常规硬件归并分类器上执行的分类方法的概念图。根据本实施例,可通过下面三个步骤来处理2n个记录。然而,本实施例所述的本发明的分类方法适用对任何超过2n个的记录进行分类。图14(a)、14(b)和14(c)分别说明第一、第二和第三步。
在如图14(c)所示的第一步(步骤1),2n个记录通过一系列常规流水线归并分类操作被处理,并以一条含2n个记录的经初次分类的记录串而被输出至分类控制器。
在如图14(b)所示的第二步(步骤2)中,余下的n个经预分类的记录以n个流水线级的每一局部存储器接收一个记录的方式被存储进各局部存储器中。对于本步骤中的存储操作来讲,记录自分类控制器的成功的传递可通过该每一个记录带上一个地址标记来实现,或者设置一条专用存储总线来将记录直接自分类控制器存入局部存储器。
在如图14(c)所示的第三步(步骤3)中,步骤1中产生的一条含2n个记录的经初次分类的记录串在步骤2中被输入至硬件归并分类器。存储着的n个记录通过一系列流水线归并分类操作的逐一归并进一条含2n个记录的经初次分类的记录串。结果,硬件归并分类器输出一条完整的含2n+n个记录的已分类记录串。
当记录数超过2n+n时,可重复步骤2和3的组合直至下面没有归并可作。换言之,2n+kn个记录可通过步骤1被处理一次然后再经k次步骤2和3的组合(kn<2)而得到处理。这种分类方法当数据量为2n时特别适宜。
图15展示在如图14(c)所示的步骤3中所执行的流水线归并分类操作的一个具体例子。该图说明存储着的一个记录是如何在一含局部处理器的流水线级上被合并进一条按升序排列的已分类输入记录串中的。
在图15(a)中,在第一流水线级上的局部处理器P1输入一串已分类记录和一个其值为5的存储中的记录并将它们按升序分类。在图15(b)中,上面得到的那串含置于3和6之间的5这个记录的已分类记录随后便被输入至下一流水线级的局部处理器P2。局部处理器P2将存储中的一其值为2的记录并处自局部处理器P1传来的一已分类记录串中。这样得到的一串含置于1和3之间的2这个记录的已分类记录又自局部处理器P2输出至下一流水线级的局部处理器P3。因此,步骤2中存储着的记录在每一流水线级上被重复地归并进一记录串直至局部存储器中不再留有记录。
根据本实施例,通过两种不同系列的流水线归并分类操作,本发明的分类方法可对其记录被介于2n以上和2n+n之间的数据进行分类,而这些系列流水线归并分类操作涉及利用具有能对2n个记录分类的n个流水线级的常规归并分类系统来实施的三个步骤。
实施例6
根据前述若干实施例,通过给每一流水级提供一分类结束信号及一如图11所示的分类结束信号线400,本发明的分类系统和方法就能在第二步归并分类中提前开始存储操作。在第一和第二步归并分类之间或更具体地说在单一存储操作之前应有潜在的空闲时间。例如,根据第一实施例,存储操作要待最后一流水线级上的局部处理器完成第一步归并分类中最后一个归并分类操作才能开始。与此同时,前面各流水线级上的局部处理器在完成本流水线级上的归并分类操作后使处于无事可做的状态。根据本实施例,当第一流水线级上的局部处理器通过将一串已完成分类的记录输出于下一流水线级而完成一次归并分类操作时,第二步归并分类中的存储操作级可开始。换言之,每一流水线级上的局部处理器通过分类结束信号向分类控制器通报其在本流水线级上的归并分类操作的结束。分类控制器一接到该分类结束信号使通过分类数据输入总线33将数据传至该局部处理器供存储。这意味着局部处理器可在第一步归并分类中刚完成一归并分类操作后使存储数据供下一步归并分类用。这就通过减少空闲时间而节省了时间。
因此,本实施例所述的本发明的分类系统和方法具有将第二步归并分类中的存储操作提前的特点,从而可对较高速分类作出贡献。
实施例7
再据第五实施例,本发明的分类系统和方法可通过将图14(c)所示的步骤3中的流水线归并分类操作与图14(b)所示的步骤2中的存储操作并行而提早步骤3中的流水线归并分类操作。在步骤2中的存储操作与步骤3的归并分类操作之间应有潜在的空闲时间。根据本实施例,分类控制器101可在步骤2中的存储操作当中便传递记录供步骤3的归并分类操作用。每一局部处理器可在收到来自一流水线级的记录串及响应的局部存储器收到一个记录之后便开始执行归并分类操作。因此,就改善分类速度来讲,上述流水线归并分类操作对本实施例的步骤3是优化的。这也可因减少了空闲时间而节省了时间。
因此,本实施例所述的本发明分类系统和方法具有起因于提前进行归并分类操作并行操作的特点,从而提高了分类速度。
实施例8
再据前述若干实施例,在不改变2n个记录这一总存储容量的前提下,本发明的分类系统和方法可配以经改进的存储器或若干局部存储器。可能的改进之处便是给一台存储器配以n/2(n为偶数)个流水线级。在此情况下,每一流水线级具有2n-1+1个记录的存储容量,并且应访问n台局部处理器中的两台。
此设想对多分类器系统也适用,如两串联的硬件归并分类器。一可能的改进之处就是给两分类器的联合存储器配以n个流水线级。在此情况下,每一流水线级具有2n-1+1个记录的存储容量,并且应访问两分类器的2n台局部处理器中的两台。
Claims (18)
1、一种用于对若干记录进行分类的分类系统,包括:
一硬件归并分类器,它又包括:
若干串行级联的局部处理器,其中所述一台局部处理器接收由前一局部处理器输出的记录,将其分类成已分类数据串,并将所述已分类数据串输出至下一局部处理器,这样,所述硬件归并分类器在第一轮通过该硬件归并分类器进行的分类中便产生至少一条已初次分类的数据串;
一存储容量为2n个记录且含若干局部存储器的存储器;
若干处于局部存储器和相关局部处理器之间并与两者耦合的选择器,以便在所述第一轮分类中使局部存储器与相关局部处理器耦合,并为了第二轮分类而使上述若干局部存储器与一专门局部处理器耦合;和
一台控制所述局部处理器和选择器的控制器,以便所述硬件归并分类器在所述第一轮分类中产生第一和第二条各含N个记录的已分类数据串,而在所述第二轮分类中产生一条含2N个记录的数据串。
2、根据权利要求1所述的分类系统,其特征在于所述若干局部存储器包括至少存储容量各为2n-1个数据的二个局部存储器,且所述选择器在上述第二轮分类中使所述二局部存储器与所述专门局部处理器耦合。
3、根据权利要求1或2所述的分类系统,其特征在于还包括一耦合于所述控制器和所述若干选择器之间的专用存储总线,用以将所述第一和第二条已分类数据串中的一条从所述控制器传至所述局部存储器供所述第二轮分类用。
4、根据权利要求1所述的分类系统,其特征在于所述第一和第二条已分类数据串中的一条当所述第一轮分类还在进行当中时便被存储所述局部存储器。
5、根据权利要求1所述的分类系统,其特征在于所述每一局部存储器具有2n-1+1个数据的存储容量且由所述局部处理器中的两台来访问。
6、一种可对若干记录进行分类的分类系统包括:
至少两个串行级联的硬件归并分类器单元,每一单元包括:
若干串行级联的局部处理器,其中每一局部处理器接收由前一局部处理器输出的记录,将其分类成一条已分类数据串,并将所述已分类数据串传至下一局部处理器,这样,所述硬件归并分类器单元在第一轮通过所述硬件归并分类器单元进行的分类中便产生至少一条经初次分类的数据串;
一存储容量为2n个记录且含若干局部存储器的存储器;
若干处于局部存储器和相关局部处理器之间并与两者耦合的选择器,用以在所述第一轮分类中使局部存储器与相关局部处理器耦合,为了第二轮分类使所述若干局部存储器与第一台专门局部处理器耦合,并为了第二轮分类而使若干所述局部存储器与第二台专门局部处理器耦合;
若干用于连接所述硬件归并分类器单元的与若干局部处理器串行级联的输入输出总线选择器;和
一台控制所述局部处理器、所述选择器和所述输入输出总线选择器的控制器,以便将若干记录在所述第一轮分类中分类成四条各含N个记录的已分类数据串,再将所述4条已分类数据串在所述第二轮分类中分类成两条各含2N个记录的已分类数据串,最后又将所述两条已分类数据串在第三轮分类中分类成一条含4N个记录的已分类数据串。
7、根据权利要求6所述的分类系统,还包括一耦合于所述控制器和所述若干选择器之间的专用存储总线,用以将所述四条经初始次分类的数据串中的两条自所述控制器至所述局部存储器供上述第二轮分类用。
8、根据权利要求6所述的分类系统,其特征在于所述四条经初次分类的数据串中的一条当所述第一轮分类还在进行当中时便被存入每个分类器单元的所述局部存储器中供所述第二轮分类用。
9、根据权利要求6所述的分类系统,其特征在于所述局部存储器,其每一台具有2n-1+1个记录的存储容量且由所述每个硬件归并分类器单元中的所述局部处理器中的两台来访问。
10、一种使用硬件归并分类器对若干记录进行分类的方法,该分类器包括若干局部处理器、若干局部存储器和若干耦合于并位于该若干局部存储器和一相关局部处理器之间的选择器,后者被用来在第一步分类中使局部存储器与相应的局部处理器耦合,而在第二步分类中使上述若干局部存储器与一专门局部处理器耦合,该方法包括下述步骤:
(A)在所述第一步分类中使用所述每一局部处理器和所述每一局部存储器将N个记录分类成第一条已分类数据串;
(B)在所述第一步分类中将另外N个记录分类成第二条已分类数据串;
(C)在所述第二步分类中将所述第一和第二条已分类数据串中的一条存入所述若干存储器;和
(D)将所述第一和第二条已分类数据串的另一条与所述已存储的已分类数据串进行分类以便在所述第二步分类中生成一条含2N个记录的已分类数据串。
11、一种使用至少两个硬件归并分类器对若干记录进行分类的方法,每一硬件归并分类器单元包括若干局部处理器、若干局部存储及若干处于数台局部存储器和一相关局部处理器之间并与二者耦合的选择器,后者在第一步分类中使局部存储器与相关局部处理器耦合,而在第二步分类中使所述若干局部存储器与一专门局部处理器耦合,此外,每单元还包括若干用于在第三步分类中连接所述硬件归并分类器单元的与若干局部处理器串行级联的输入输出总线选择器,本方法包括下述步骤:
(A)在所述第一步分类中使用所述第一个硬件归并分类器单元中的每一所述局部处理器和每一局部存储器将N个记录分类成第一条已分类数据串;
(B)在所述第一步分类中用所述第一个归并分类器单元将另外N个记录分类成第二条数据串;
(C)在第二步分类中将所述第一和第二条已分类数据串中的一条存入所述第一个归并分类器单元中的若干所述局部存储器;
(D)在所述第二步分类中用所述第一个归并分类器单元将所述第一和第二条已分类数据串中的另一条与所述已存储的那条已分类数据串分类成一条含2N个记录的已分类数据串;
(E)利用第二个硬件归并分类器单元和自(A)至(D)各步骤将第二批2N个记录分类成第二条含2N个记录的已分类数据串;
(F)在所述第三步分类中将所述第一和第二条各含2N个记录的已分类数据串中的一条存入上述第一和第二个硬件归并分类器单元中的若干上述局部存储器;和
(G)将第一和第二条各含2N个记录的数据串中的另一条和已分类的也含2N个记录的数据串进行分类以便在所述第三步分类中生成一条含4N个记录的已分类数据串。
12、一种使用至少两个硬件归并分类器单元对若干记录进行分类的方法,每一硬件归并分类器单元包括若干局部处理器、若干局部存储器及若干处于数台局部存储器和一相关局部处理器之间并与二者耦合的选择器,后者在第一步分类中使局部存储器与相关局部处理器耦合,而在第二步分类中使所述若干局部存储器与一专门局部处理器耦合,此外,每一单元还包括若干用于所述第二和第三步分类中连接上述硬件归并分类器单元的与若干局部处理器串行级联的输入输出总线选择器,本方法包括下述步骤:
(A)在所述第一步分类中使用第一个硬件归并分类器单元中每一所述局部处理器和每一所述局部存储器将N个记录分类成第一条已分类数据串;
(B)将所述第一条已分类数据串存入第二个硬件归并分类器单元的若干所述局部存储器;
(C)在所述第一个硬件归并分类器单元里进行的所述第一步分类中将另外N个记录分类成第二条数据串;
(D)在所述第二步分类中将所述第二条已分类数据串和已存入所述第二个硬件归并分类器单元的所述第一条已存储的数据串分类成一条含2N个记录的已分类数据串;
(E)利用上述第一和第二个硬件归并分类单元并通过重复(A)至(D)各步骤将第二批另外2N个记录分类成第二条含2N个记录的分类的数据串;
(F)在所述第三步分类中将所述第一和第二条各含2N个记录的数据串中的一条存入所述第一和第二个硬件归并分类器单元中的若干所述局部存储器;和
(G)将第一和第二条各含2N个记录的数据串中的另一条和已存储的那条含2N个记录的数据串进行分类以便在所述第三步分类中生成一条含4N个记录的已分类数据串。
13、根据权利要求10或11所述的方法,其特征在于所述第一和第二条已分类数据串中的一条的存储步骤当上述将另外N个记录分类成第二条数据串的操作还在进行时便已开始。
14、一种使用硬件归并分类器对若干记录进行分类的方法,该分类器包括若干局部处理器和若干局部存储器,该方法包括下列各步骤:
(A)在第一步分类中使用每一所述局部处理器和每一所述局部存储器将N个记录分类成第一条已分类数据串;
(B)将余下的记录中的一个记录存入每一所述局部存储器中;
(C)在第二步分类中将第一条已分类数据串和所述那个已存入每一所述局部存储器的记录进行分类;和
(D)必要时,重复步骤(B)和(C)至少一次以便产生一串已分类记录。
15、权利要求14所述的方法,其特征在于当所述第一步分类还在进行时将那一个记录存入每一局部存储器的步骤便已开始。
16、权利要求14所述的方法,其特征在于将第一条已分类数据串与那一个已存入每一所述局部存储器的记录进行分类步骤在所述第二步存储仍在进行时便已开始。
17、根据权利要求1所述的分类系统,还包括置于每一相关组局部处理器和控制器之间的分类结束信号线,以便每一相关处理器在已完成第一轮分类及控制器可以将两条经初次分类的数据串中的一条的一部分存入相关局部存储器时,能通知控制器。
18、根据权利要求4所述的分类系统,其特征在于每一局部处理器一旦收到一串来自前一局部处理器的已分类记录及所述两条经初次分类的数据串中的一条被存入相关的局部存储器时便开始进行所述第二轮分类。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5173167A JPH0728624A (ja) | 1993-07-13 | 1993-07-13 | ソート装置及びソート方法 |
JP173167/93 | 1993-07-13 | ||
JP173167/1993 | 1993-07-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1105134A true CN1105134A (zh) | 1995-07-12 |
CN1069423C CN1069423C (zh) | 2001-08-08 |
Family
ID=15955348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94108249A Expired - Fee Related CN1069423C (zh) | 1993-07-13 | 1994-07-13 | 排序系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5535384A (zh) |
JP (1) | JPH0728624A (zh) |
CN (1) | CN1069423C (zh) |
GB (1) | GB2280523B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082852A1 (fr) * | 2007-12-28 | 2009-07-09 | Zte Corporation | Dispositif de tri de données pour traiter des données de communication |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3352786B2 (ja) * | 1993-11-01 | 2002-12-03 | 三菱電機株式会社 | プロセッサ回路 |
US5727200A (en) * | 1994-03-07 | 1998-03-10 | Nippon Steel Corporation | Parallel merge sorting apparatus with an accelerated section |
JP3518034B2 (ja) * | 1995-03-30 | 2004-04-12 | 三菱電機株式会社 | ソート方法並びにソート処理装置並びにデータ処理装置 |
US5898856A (en) * | 1995-09-15 | 1999-04-27 | Intel Corporation | Method and apparatus for automatically detecting a selected cache type |
US5799210A (en) * | 1996-04-18 | 1998-08-25 | Oracle Corporation | Method for allocating either private or shared buffer memory for storing data from sort operations in accordance with an assigned value or threshold value |
DE19625869C2 (de) * | 1996-06-27 | 2001-01-04 | Fraunhofer Ges Forschung | Verfahren zum parallelen Zusammenfassen von N Datensätzen |
US6271693B1 (en) * | 1997-12-12 | 2001-08-07 | United Microelectronics Corp. | Multi-function switched-current magnitude sorter |
US6377258B1 (en) * | 1998-04-20 | 2002-04-23 | Broadcom Corporation | Method and system for providing a hardware sort in a graphics system |
US6556993B2 (en) * | 2000-05-30 | 2003-04-29 | Broadcom Corporation | Method and system for providing a hardware sort in a graphics system |
US6182071B1 (en) | 1998-05-20 | 2001-01-30 | Mitsubishi Denki Kabushiki Kaisha | Sorting and summing record data including generated sum record with sort level key |
US6711558B1 (en) * | 2000-04-07 | 2004-03-23 | Washington University | Associative database scanning and information retrieval |
JP2005078596A (ja) * | 2003-09-03 | 2005-03-24 | Hitachi Ltd | データ転送装置の制御方法、データ転送装置、チャネル制御装置、及び記憶デバイス制御装置 |
US7917299B2 (en) | 2005-03-03 | 2011-03-29 | Washington University | Method and apparatus for performing similarity searching on a data stream with respect to a query string |
US7797326B2 (en) * | 2006-04-18 | 2010-09-14 | International Business Machines Corporation | Method of obtaining data samples from a data stream and of estimating the sortedness of the data stream based on the samples |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US8326819B2 (en) | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
JP5871619B2 (ja) | 2008-12-15 | 2016-03-01 | アイ・ピー・リザブワー・エル・エル・シー | 金融市場深度データの高速処理のための方法および装置 |
US8190943B2 (en) * | 2009-03-13 | 2012-05-29 | Massachusetts Institute Of Technology | Systolic merge sorter |
JP5960639B2 (ja) * | 2013-04-17 | 2016-08-02 | 日本電信電話株式会社 | 情報処理装置および情報処理方法 |
TWI511038B (zh) | 2013-06-19 | 2015-12-01 | Univ Nat Chiao Tung | 可重組之排序裝置與排序方法 |
US10896022B2 (en) | 2017-11-30 | 2021-01-19 | International Business Machines Corporation | Sorting using pipelined compare units |
US10936283B2 (en) * | 2017-11-30 | 2021-03-02 | International Business Machines Corporation | Buffer size optimization in a hierarchical structure |
US11048475B2 (en) | 2017-11-30 | 2021-06-29 | International Business Machines Corporation | Multi-cycle key compares for keys and records of variable length |
US11354094B2 (en) | 2017-11-30 | 2022-06-07 | International Business Machines Corporation | Hierarchical sort/merge structure using a request pipe |
CN111949241B (zh) * | 2019-05-15 | 2024-04-12 | 瑞昱半导体股份有限公司 | 排序装置 |
US20240036818A1 (en) * | 2022-07-27 | 2024-02-01 | Untether Ai Corporation | Computational memory for sorting multiple data streams in parallel |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4090249A (en) * | 1976-11-26 | 1978-05-16 | International Business Machines Corporation | Apparatus for sorting records in overlap relation with record loading and extraction |
US4110837A (en) * | 1976-12-30 | 1978-08-29 | International Business Machines Corporation | Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus |
JPH0625964B2 (ja) * | 1985-04-19 | 1994-04-06 | 日本電信電話株式会社 | デ−タ整列方法 |
JPS6386043A (ja) * | 1986-09-30 | 1988-04-16 | Mitsubishi Electric Corp | ソ−ト機構を有するメモリ装置 |
US5179699A (en) * | 1989-01-13 | 1993-01-12 | International Business Machines Corporation | Partitioning of sorted lists for multiprocessors sort and merge |
US5146590A (en) * | 1989-01-13 | 1992-09-08 | International Business Machines Corporation | Method for sorting using approximate key distribution in a distributed system |
US5307485A (en) * | 1991-05-31 | 1994-04-26 | International Business Machines Corporation | Method and apparatus for merging sorted lists in a multiprocessor shared memory system |
-
1993
- 1993-07-13 JP JP5173167A patent/JPH0728624A/ja active Pending
-
1994
- 1994-06-08 US US08/255,375 patent/US5535384A/en not_active Expired - Fee Related
- 1994-06-15 GB GB9412003A patent/GB2280523B/en not_active Expired - Fee Related
- 1994-07-13 CN CN94108249A patent/CN1069423C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082852A1 (fr) * | 2007-12-28 | 2009-07-09 | Zte Corporation | Dispositif de tri de données pour traiter des données de communication |
Also Published As
Publication number | Publication date |
---|---|
JPH0728624A (ja) | 1995-01-31 |
GB9412003D0 (en) | 1994-08-03 |
GB2280523B (en) | 1998-01-07 |
CN1069423C (zh) | 2001-08-08 |
US5535384A (en) | 1996-07-09 |
GB2280523A (en) | 1995-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1069423C (zh) | 排序系统和方法 | |
CN1125006A (zh) | 动态互连于一个动态逻辑内核的现场可编程逻辑设备 | |
US20130212304A1 (en) | Asynchronous id generation | |
CN1029047C (zh) | 具有把组块脉冲式操作转换为流水线操作装置的数据处理系统 | |
CN1113365C (zh) | 实现数据的读修改写操作的方法和电路以及半导体存储器 | |
CN1728114A (zh) | 使用页信息的页替换方法 | |
CN1008017B (zh) | 并行处理计算机 | |
CN1790548A (zh) | 快闪存储器数据存储装置 | |
CN1311366C (zh) | 快闪存储器的平行双轨使用方法 | |
CN1662993A (zh) | 用于流水线存储器的有效读取/写入方法 | |
CN1271439A (zh) | 在数据库中存储元素的方法 | |
CN100341009C (zh) | 在管线微处理器使用卷标以执行结合写入的装置及方法 | |
CN1177784A (zh) | 纹理数据的方法和设备 | |
CN1390331A (zh) | 基于知识产权的大型集成电路设计系统及设计方法 | |
CN1133454A (zh) | 半导体集成电路 | |
CN1497850A (zh) | 具有数据反相电路的集成电路设备 | |
CN1967720A (zh) | 半导体存储器件及其控制方法 | |
CN1471670A (zh) | 存储器件、存储控制方法以及程序 | |
CN1088701A (zh) | 三维计算机图形设备 | |
CN1691061A (zh) | 数据存储设备和控制设备,数据存储控制方法及程序 | |
CN85107929A (zh) | 存贮器电路 | |
CN1379409A (zh) | 半导体存储器件 | |
CN100340971C (zh) | 运算装置 | |
CN1591035A (zh) | 用于选择测试模式输出通道的测试布置及方法 | |
CN1577634A (zh) | 半导体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |