【技術實現步驟摘要】
本專利技術涉及微電子數字電路設計領域,具體涉及一種數據排序的硬件電路及其實現方法,可用于數據處理中對數據進行排序。
技術介紹
排序是數據處理中最基本也是最重要的操作之一,鑒于其重要性,近年來已經陸續提出了許多排序算法來解決實際問題。目前排序算法大致可以分為軟件實現方式和硬件實現方式。軟件排序算法有很多,如冒泡排序、選擇排序、插入排序、快速排序、合并排序、計數排序等。這些軟件實現方式都有一個共同的缺點,那就是速度比較慢而且需要利用處理 器資源。在圖像處理、多媒體數據處理以及雷達探測等需要高速數據處理的場合,這些排序算法的軟件實現方式很難達到要求的處理速度。而且在沒有處理器資源的場合,也無法采用軟件實現方式。而硬件實現具有并行性的特點,硬件排序的速度更快。目前,硬件排序的結構可以分為兩種排序網絡和線性排序陣列。排序網絡的缺點是當需要排序的數據較多時,會導致排序網絡的面積很大,而且如果要進行排序的數據塊中一個數據發生變化,都需要重新進行排序。而線性排序在處理連續串行輸入的數據時很有用,但是目前存在的問題是速度慢,需要較多的時鐘周期才能得到排序結果,實時性不好。
技術實現思路
本專利技術的目的在于克服上述已有技術的不足,提出一種,以提高電路的排序速度,減少排序所需要的時鐘周期數,滿足實時性要求。為實現上述目的,本專利技術的并行排序電路,包括比較單元、控制單元以及輸出單元,比較單元將新輸入的待排序數據和已排序數據以及設定的數據的最大值進行比較,得到比較結果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)數據大小比較步驟 將每個時鐘周期輸入的待排序數據與已排序數據以及設...
【專利技術屬性】
技術研發人員:郝躍,袁莉,史江義,舒浩,邸志雄,馬佩軍,
申請(專利權)人:西安電子科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。