【技术实现步骤摘要】
本专利技术涉及微电子数字电路设计领域,具体涉及一种数据排序的硬件电路及其实现方法,可用于数据处理中对数据进行排序。
技术介绍
排序是数据处理中最基本也是最重要的操作之一,鉴于其重要性,近年来已经陆续提出了许多排序算法来解决实际问题。目前排序算法大致可以分为软件实现方式和硬件实现方式。软件排序算法有很多,如冒泡排序、选择排序、插入排序、快速排序、合并排序、计数排序等。这些软件实现方式都有一个共同的缺点,那就是速度比较慢而且需要利用处理 器资源。在图像处理、多媒体数据处理以及雷达探测等需要高速数据处理的场合,这些排序算法的软件实现方式很难达到要求的处理速度。而且在没有处理器资源的场合,也无法采用软件实现方式。而硬件实现具有并行性的特点,硬件排序的速度更快。目前,硬件排序的结构可以分为两种排序网络和线性排序阵列。排序网络的缺点是当需要排序的数据较多时,会导致排序网络的面积很大,而且如果要进行排序的数据块中一个数据发生变化,都需要重新进行排序。而线性排序在处理连续串行输入的数据时很有用,但是目前存在的问题是速度慢,需要较多的时钟周期才能得到排序结果,实时性不好。
技术实现思路
本专利技术的目的在于克服上述已有技术的不足,提出一种,以提高电路的排序速度,减少排序所需要的时钟周期数,满足实时性要求。为实现上述目的,本专利技术的并行排序电路,包括比较单元、控制单元以及输出单元,比较单元将新输入的待排序数据和已排序数据以及设定的数据的最大值进行比较,得到比较结果Ic1, C2,…,Ci,…,CN,CN+1},其中N为排序数据的个数,Ci为待排序数据与N个已排序数据的比较结果 ...
【技术保护点】
一种并行排序电路,包括比较单元、控制单元以及输出单元,比较单元将新输入的待排序数据和已排序数据以及设定的数据的最大值进行比较,得到比较结果{c1,c2,…,ci,…,cN,cN+1},其中N为排序数据的个数,ci为待排序数据与N个已排序数据的比较结果,i为自然数,取值范围为[1,N],cN+1为待排序数据与设定的数据的最大值的比较结果,该比较结果输出给控制单元,控制单元利用比较单元的比较结果产生插入地址ins和删除地址del并输出给输出单元,输出单元根据插入地址ins和删除地址del的值,将输入的待排序数据插入到已排序的数据中,并删除最早输入的待排序数据,得到排序结果,其特征在于:?所述的控制单元,包括:?插入地址子单元,它包含第一多路选择器A和第二多路选择器B;该第一多路选择器A的输入信号为{c1,c2,…,ci,…,cN,cN+1},控制信号为删除地址子单元的输出信号删除地址del,输出信号为标志信号flag,若del=N?i,则flag={c1,c2,…,ci?1,ci+1,…,cN,cN+1},i的取值范围为[1,N];该第二多路选择器B的输入信号为所有已排序数据的地址值N?j
【技术特征摘要】
1.一种并行排序电路,包括比较单元、控制单元以及输出单元,比较单元将新输入的待排序数据和已排序数据以及设定的数据的最大值进行比较,得到比较结果Ic1, C2,…,Ci,…,cN, cN+1},其中N为排序数据的个数,Ci为待排序数据与N个已排序数据的比较结果,i为自然数,取值范围为[1,N],cN+1为待排序数据与设定的数据的最大值的比较结果,该比较结果输出给控制单元,控制单元利用比较单元的比较结果产生插入地址ins和删除地址del并输出给输出单元,输出单元根据插入地址ins和删除地址del的值,将输入的待排序数据插入到已排序的数据中,并删除最早输入的待排序数据,得到排序结果,其特征在于 所述的控制单元,包括 插入地址子单元,它包含第一多路选择器A和第二多路选择器B ;该第一多路选择器A的输入信号为Ic1, C2,…,Ci,…,CN, Cn+1},控制信号为删除地址子单兀的输出信号删除地址del,输出信号为标志信号 flag,若 del=N_i,则 flag= (C1, c2,…,Ci^1, ci+1,…,cN, cN+1}, i 的取值范围为[1,N];该第二多路选择器B的输入信号为所有已排序数据的地址值N-j,j的取值范围为[1,N],输出信号为插入地址ins,控制信号为第一多路选择器A的输出信号flag,其位宽为N,若flag所有位中I的个数为Ν-j+l,则插入地址ins=N-j ; 删除地址子单元,它包含N个寄存器和N-1个多路选择器,该N个寄存器和N-1个多路选择器交替排列,第一个寄存器的输入信号为插入地址子单元的输出信号插入地址ins,其余N-1个寄存器的输入信号分别为它前面一个多路选择器的输出信号,第i个寄存器的输出信号为第i个中间删除地址hi; i的取值范围为[1,N-1],第N个寄存器的输出信号为该删除地址子单元的输出信号删除地址del ;第i个多路选择器的输入信号为它前面一个寄存器的输出信号hi;比+1以及h1-1,控制信号为插入地址ins,删除地址del以及它前面一个寄存器的输出信号hi;输出信号为中间插入地址gi,i的取值范围为[1,N-1],该中间插入地址iri按如下规则选取 若 ins>hi; (IeDhi,则 ; 若 ins<hi; (IeKhi,则 ;若 ins<=hi; (IeDhi,则 g^hj+l ;若 ins>=hi; (IeKhi,则 g^hj-lo2.根据权利要求1所述的并行排序电路,其特征在于,输出单元包含N个多路选择器和N个寄存器,N为排序数据的个数; 所述N个多路选择器,其每个多路选择器的控制信号相同,均为插入地址ins和删除地址del ;其每个多路选择器输入、输出信号不同,即第一个多路选择器的输入信号为待排序数据din、第一个寄存器的输出信号Cl1和第二个寄存器的输出信号d2共三个信号,第一个多路选择器的输出信号记为Hi1 ;第i个多路选择器的输入信号为待排序数据din、第1-Ι个寄存器的输出信号(Ip1、第i个寄存器的输出信号(Ii和第i+Ι个寄存器的输出信号di+1共四个信号,第i个多路选择器的输出信号记为IV i的取值范围为[2,N-1];第N个多路选择器的输入信号为待排序数据din、第N-1个寄存器的输出信号(V1和第N个寄存器的输出信号dN共三个信号,第N个多路选择器的输出信号记为mN ; 所述的N个寄存器,其每个寄存器的输入、输出信号不同,即第j个寄存器的输入信号为第j个多路选择器的输出信号nij,第j个寄存器的输出信号记为dj, j的取值范围为[1,N]。3.一种并行排序方法,包括 O初始化步骤 初始化删除地址Clel=O ;初始化第i个中间删除地址hi=N-1,i的取值范围为[1,N-1];初始化已排序数据dfO,j的取值范围为[1,N]; 2)数据大小比较步骤 将每个时钟周期输入的待排序数据与已排序数据以及设...
【专利技术属性】
技术研发人员:郝跃,袁莉,史江义,舒浩,邸志雄,马佩军,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。