JPH056261A - データのためのソーテイング装置およびソーテイング方法 - Google Patents

データのためのソーテイング装置およびソーテイング方法

Info

Publication number
JPH056261A
JPH056261A JP3319470A JP31947091A JPH056261A JP H056261 A JPH056261 A JP H056261A JP 3319470 A JP3319470 A JP 3319470A JP 31947091 A JP31947091 A JP 31947091A JP H056261 A JPH056261 A JP H056261A
Authority
JP
Japan
Prior art keywords
data
sorting
pair
circuit
selecting
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
Application number
JP3319470A
Other languages
English (en)
Other versions
JP3152466B2 (ja
Inventor
Hirohisa Machida
浩久 町田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP31947091A priority Critical patent/JP3152466B2/ja
Priority to DE4210109A priority patent/DE4210109C2/de
Publication of JPH056261A publication Critical patent/JPH056261A/ja
Priority to US08/310,745 priority patent/US5511189A/en
Application granted granted Critical
Publication of JP3152466B2 publication Critical patent/JP3152466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Sorting Of Articles (AREA)

Abstract

(57)【要約】 【構成】 与えられたn個のデータをソーティングする
ためのソーティング装置が開示される。ソートされるべ
きデータはデータレジスタ21ないし2n内に一旦保持
される。奇数番目の比較/交換回路と偶数番目の比較/
交換回路とが交互に能動化され、隣接する2つのデータ
レジスタ間で保持された2つのデータが比較/交換され
る。比較/交換回路31ないし3n-1 は交換が生じたこ
とを示す信号をソーティング完了検出回路5に与える。 【効果】 ソーティング完了検出回路5が与えられた交
換信号に応答してソーティングが完了したことを検出す
るので、ソーティング完了後の動作が停止される。言換
えると、ソーティング装置における処理が短時間で終了
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般にデータのため
のソーティング装置およびソーティング方法に関し、特
に、与えられた複数個のデータを予め定められた順序に
従って短時間で並べ換えるソーティング装置およびソー
ティング方法に関する。
【0002】
【従来の技術】一般に、コンピュータシステムでは、多
数の与えられたデータを予め定められた順序、たとえ
ば、大きい順または小さい順に従って並び換えるための
処理、すなわちソーティング処理がしばしば行なわれ
る。ソーティング処理は、コンピュータシステムにおけ
る基本的な処理であるので、従来からソーティング処理
のための様々な応用プログラムが開発され、かつ広く使
用されている。したがって、ソーティング処理を高速化
するための研究は、ほぼコンピュータシステムの誕生と
同時に開始されかつ続けられている。従来から知られて
いるソーティング処理は、主としてアルゴリズムを用い
たものであり、したがってソフトウェア、すなわちソー
ティングを行なうためのソフトウェアに従って処理が行
なわれる。
【0003】他方、ハードウェアを用いてソーティング
処理を行なうための提案も、知られている。すなわち、
ソータと呼ばれるソーティング処理を専ら実行するため
の機械や、ソーティングプロセッサと呼ばれるソーティ
ング処理を専ら実行するための集積回路装置などが従来
から開発されている。しかしながら、大容量のデータを
高速で処理し得るソーティングプロセッサは、需要が大
きいにもかかわらず、十分な性能を有するものが未だ開
発されていない。
【0004】図9は、ハードウェアを用いた従来のソー
ティング装置の回路ブロック図である。このソーティン
グ装置は、特公昭61−2211号公報に見られる。図
9を参照して、このソーティング装置は、各々が32ビ
ットのデータを保持するためのレジスタを備えたn個の
セル回路11ないし1nを含む。ソートされるべきn個
のデータは、最初にn個のセル回路11ないし1n内に
それぞれ保持される。n個のセル回路11ないし1nの
うちの隣接する2つは、互いに接続されており、2つの
データの比較結果に応答して、2つのデータが交換され
得る。各セル回路11ないし1nは、ソーティング開始
信号3a,初期状態設定信号3bおよび予め定められた
周波数を有するクロック信号3cを受けるように接続さ
れる。セル回路11ないし1nのうち、奇数番目のセル
回路11,13,…は指定信号3dを受けるように接続
され、一方、偶数番目のセル回路12,14,…は指定
信号3eを受けるように接続される。制御信号発生部2
は、外部に設けられた装置にまたはから様々な制御信号
およびデータを与えまたは受け、セル回路11ないし1
nを制御するための制御信号3a,3b,3c,3dお
よび3eを発生する。
【0005】動作において、まず、すべてのセル回路1
1ないし1nは、制御信号発生部2から発生される初期
状態設定信号3bに応答してリセットされる。次に、ソ
ートされるべきn個のデータが、セル回路11ないし1
n内に設けられたn個のレジスタ(図示せず)中にそれ
ぞれ保持される。制御信号発生部2がソーティング開始
信号3aを発生した後、n個のセル回路11ないし1n
はクロック信号3cに応答して次のようなソーティング
動作を行なう。なお、以下の説明では、与えられたn個
のデータが、ソーティングにより、小さい順に並び換え
られる例について説明する。
【0006】ソーティング動作は、第1および第2の動
作ステップを繰り返すことにより実行される。第1のス
テップでは、奇数番目のセル回路内のデータとその上側
の偶数番目のセル回路内のデータとが比較される。偶数
番目のセル回路のデータが奇数番目のセル回路のデータ
よりも小さいとき、2つのデータが交換される。上記の
比較処理および交換処理は、隣接する奇数番目および偶
数番目のセル回路間で同時に行なわれる。第2のステッ
プでは、偶数番目のセル回路内に保持されたデータとそ
の上側の奇数番目のセル回路内に保持されたデータとが
比較される。奇数番目のセル回路のデータが偶数番目の
セル回路のデータよりも小さいとき、2つのセル回路間
で保持されたデータが交換される。したがって、上記の
第1および第2の動作ステップを(n−1)回繰り返し
実行することにより、n個の与えられたデータのソーテ
ィングが終了される。ソーティング処理が完了するまで
に要する比較および交換動作は、ソートされるべきデー
タの個数によって決定されることが指摘される。すなわ
ち、n個のデータが与えられたとき、(n−1)回、す
なわち約n回の比較および交換動作を繰り返し行なう必
要がある。このことは、ソートされるべきデータの個数
に比例して、ソーティング処理に要する時間が増加され
ることを意味する。
【0007】
【発明が解決しようとする課題】したがって、たとえ
ば、ソートされるべき1万個のデータが与えられたと
き、9999回、すなわちほぼ1万回のデータの比較お
よび交換動作が繰り返される。しかしながら、最初に与
えられるデータの順序によっては、必ずしも約1万回の
比較および交換動作を繰り返す必要のない場合が生じ
る。すなわち、最初に与えられるデータの順序によって
は、比較および交換動作をたとえば5000回繰り返す
ことにより、与えられたデータが所望の順序に並ぶ場合
が生じる。図9に示した従来のソーティング装置では、
そのような場合においてもデータの比較および交換動作
が必ず約10000回繰り返されるので、必要でない処
理を実行することにより、処理に要する時間が増加され
ていた。すなわち、従来のソーティング装置は、ソーテ
ィング処理を実行するのに、ソートされるべきデータの
個数によって決定される固定された時間を要し、ソーテ
ィング処理を短時間で行なうことが妨げられていた。一
般に、与えられたデータの個数よりも少ない回数だけデ
ータの比較および交換動作を繰り返すことにより、ソー
ティング処理が完了されることが指摘される。
【0008】この発明は、上記のような課題を解決する
ためになされたもので、複数個の与えられたデータのソ
ーティング処理をより短時間で終了できるソーティング
装置およびソーティング方法を提供することを目的とす
る。
【0009】
【課題を解決するための手段】請求項1の発明に係るソ
ーティング装置は、予め定められた順序に従うようにソ
ートされるべきn個の与えられたデータを保持するn個
のデータ保持手段と、各々がn個のデータ保持手段のう
ちの予め定められた隣接する2つのデータ保持手段から
なる第1の対のグループを選択する第1の対選択手段
と、第1の対選択手段に応答して、選択された対ごと
に、対になった2つのデータ保持手段内に保持されてい
る2つのデータを比較する第1の比較手段と、第1の比
較手段に応答して、選択された対ごとに、対になった2
つのデータ保持手段間で保持されたデータを交換する第
1のデータ交換手段と、各々がn個のデータ保持手段の
うち、第1の対選択手段によって選択されずかつ予め定
められた別の隣接する2つのデータ保持手段からなる第
2の対のグループを選択する第2の対選択手段と、第2
の対選択手段に応答して、選択された対ごとに、対にな
った2つのデータ保持手段内に保持されている2つのデ
ータを比較する第2の比較手段と、第2の比較手段に応
答して、選択された対ごとに、対になった2つのデータ
保持手段間で保持されたデータを交換する第2のデータ
交換手段と、第1および第2の比較手段に応答して、与
えられたn個のデータのソーティングの完了を検出する
ソーティング完了検出手段とを含む。
【0010】請求項2の発明に係るソーティング方法
は、各々が、ソートされるべきn個のデータを保持する
n個のデータ保持手段のうちの予め定められた隣接する
2つからなる第1の対のグループを選択するステップ
と、選択された対ごとに、対になった2つのデータ保持
手段内に保持されている2つのデータを比較し、第1の
比較結果を得るステップと、第1の比較結果に応答し
て、選択された対ごとに、対になった2つのデータ保持
手段間で保持されたデータを交換するステップと、各々
がn個のデータ保持手段のうち第1の対選択ステップに
おいて選択されず、かつ予め定められた別の隣接する2
つのデータ保持手段からなる第2の対のグループを選択
するステップと、第2の対選択ステップにおいて選択さ
れた対ごとに、対になった2つのデータ保持手段内に保
持されている2つのデータを比較し、第2の比較結果を
得るステップと、第2の比較結果に応答して、選択され
た対ごとに、対になった2つのデータ保持手段間で保持
されたデータを交換するステップと、第1および第2の
比較結果に応答して、n個のデータのソーティングの完
了を検出するステップとを含む。
【0011】請求項3の発明に係るソーティング装置
は、与えられたn個のデータを予め定められた順序に従
ってソーティングするソーティング手段と、ソートされ
るべき全データを、各々がn個以下の個数を有するL個
のデータグループに分割するデータ分割手段と、データ
分割手段によって分割されたデータをデータグループ単
位でソーティング手段に与えるデータ供与手段とを含
む。ソーティング手段は、L個のデータグループについ
て、データグループ単位で、与えられたデータをソーテ
ィングする。このソーティング装置は、さらに、ソーテ
ィング手段によってソートされた各L個のデータグルー
プから、各グループにおいて予め定められた順序に従う
最適なデータを抜出すデータ抜出手段と、データ抜出手
段によって抜出されたデータの中から予め定められた順
序に従う最適なデータを決定する最適データ決定手段と
を含む。上記ソーティング手段は、請求項1の発明に係
るソーティング装置によって実現される。
【0012】請求項4の発明に係るソーティング装置
は、与えられたデータを予め定められた順序に従ってソ
ーティングするソーティング手段と、ソートされるべき
n個のデータのそれぞれの上位ビットデータをソーティ
ング手段に与える上位ビットデータ供与手段とを含む。
ソーティング手段は、与えられたn個の上位ビットデー
タについてソーティングを実行する。このソーティング
装置は、さらに、ソーティング手段により処理された上
位ビットデータの中で、互いに一致するデータを含む一
致データグループを検出する一致データグループ検出手
段と、一致データグループ内の上位ビットデータに対応
する下位ビットデータをソーティング手段に与える下位
ビットデータ供与手段とを含む。ソーティング手段は、
与えられた下位ビットデータについてソーティングを実
行する。このソーティング装置は、さらに、上位ビット
データおよび下位ビットデータについてのソーティング
手段による処理結果に従って、n個のデータの順序を決
定する順序決定手段を含む。上記ソーティング手段は、
請求項1の発明に係るソーティング装置によって実現さ
れる。
【0013】
【作用】請求項1の発明におけるソーティング装置で
は、ソーティング完了検出手段が第1および第2の比較
手段による比較結果に応答して、与えられたn個のデー
タのソーティングの完了を検出するので、ソーティング
が完了した直後に、与えられたn個のデータが予め定め
られた順序に既に置かれているのを検出することができ
る。言換えると、ソーティングの完了を検出することが
できるので、比較および交換処理を固定された回数だけ
繰り返すことなく、ソートされたデータが短時間で得ら
れる。
【0014】請求項2の発明におけるソーティング方法
においても、同様に、第1および第2の比較結果に応答
して、n個のデータのソーティングの完了が検出される
ので、ソートされたデータが短時間で得られる。
【0015】
【実施例】図1は、この発明の一実施例を示すソーティ
ング装置のブロック図である。図1に示したソーティン
グ装置を参照することにより、この発明の概念の一例が
以下に説明される。このソーティング装置は、各々が、
ソートされるべきn個のデータを保持するためのn個の
データレジスタ21ないし2nと、隣接するデータレジ
スタの間に接続された比較/交換回路31ないし3n-1
と、奇数番目の比較/交換回路31,33,…および偶
数番目の比較/交換回路32,34,…のいずれかを選
択的に能動化させるレジスタ対選択回路4と、比較/交
換回路31ないし3n-1 から発生される出力信号FL1
およびFL2に応答して、ソーティングの完了を検出す
るソーティング完了検出回路5とを含む。
【0016】図2は、図1に示したソーティング装置の
動作を説明するためのフローチャートである。図2を参
照して、以下に図1に示したソーティング装置の動作に
ついて説明する。以下の説明においても、与えられたn
個のデータが、ソーティングにより小さい順に並び換え
られる例について説明する。まず、ステップ71におい
て、ソートされるべきn個のデータがデータレジスタ2
1ないし2nに与えられ、その中に保持される。これに
加えて、フラグ信号FL1およびFL2がリセット(=
0)される。次に、ステップ72において、レジスタ対
選択回路4が「第1のデータレジスタ対」を選択する。
「第1のデータレジスタ対」は、上側の奇数番目のデー
タレジスタと下側の偶数番目のデータレジスタとの組合
わせにより決まる。したがって、レジスタ対選択回路4
は、奇数番目の比較/交換回路31,33,35…を能
動化するための対選択信号PS1,PS3,PS5…を
発生する。奇数番目の比較/交換回路31,33,35
…は、信号PS1,PS3,PS5…に応答して能動化
され、次のような比較/交換処理が行なわれる。
【0017】ステップ73において、選択されたデータ
レジスタ対ごとに、保持されたデータが比較される。た
とえば、比較/交換回路31は、データレジスタ21お
よび22内に保持されたデータを比較する。類似の比較
動作は、すべての奇数番目の比較/交換回路31,3
3,35…において同時に行なわれ、それぞれのデータ
レジスタ対内に保持されたデータが比較される。
【0018】ステップ74において、比較されたデータ
対ごとに、Di ≦Di+1 の関係が満たされるか否かが判
定される。ここで、データDi は、上側のデータレジス
タ、すなわちこの動作では奇数番目のデータレジスタに
保持されたデータを示し、一方、Di+1 は、下側のデー
タレジスタ、すなわち偶数番目のデータレジスタに保持
されたデータを示す。たとえば、比較/交換回路31
は、データレジスタ21内に保持されたデータD21とデ
ータレジスタ22内に保持されたデータD22とを比較す
る。ステップ74において比較されたすべてのデータ対
において、Di ≦Di+1 の関係が成立つとき、ステップ
76において、フラグ信号がセット(=1)される。
【0019】ステップ75では、Di >Di+1 の関係を
有するデータ対において、保持されたデータが交換され
る。他方、Di ≦Di+1 の関係を有するデータ対におい
ては、保持されたデータの交換は行なわれない。その結
果、各選択されたデータレジスタ対において、上側のデ
ータレジスタ内により小さなデータが保持され、他方、
下側のデータレジスタ内により大きなデータが保持され
たことになる。
【0020】ステップ77において、第2のデータレジ
スタ対が選択される。第2のデータレジスタ対は、上側
の偶数番目のデータレジスタと下側の奇数番目のデータ
レジスタとの組合わせによって決まる。したがって、レ
ジスタ対選択回路4は、偶数番目の比較/交換回路3
2,34,…を能動化するための対選択信号PS2,P
S4,…を発生する。比較/交換回路32,34,…
は、信号PS2,PS4,…に応答して能動化される。
たとえば、比較/交換回路32は、対選択信号PS2に
応答して能動化される。
【0021】ステップ78において、選択されたデータ
レジスタ対ごとに、保持されたデータが比較される。た
とえば、比較/交換回路32は、対選択信号PS2に応
答して能動化され、データレジスタ22内に保持された
データD22とデータレジスタ23内に保持されたデータ
23とを比較する。
【0022】ステップ79において、すべての選択され
たデータ対において、Di ≦Di+1 の関係が成立つか否
かが判定される。この関係が成立つとき、ステップ81
において、フラグ信号FL2がセット(=1)される。
【0023】ステップ80において、Di >Di+1 の関
係を有するデータ対において、選択されたデータレジス
タ対間で保持されたデータが交換される。他方、Di
i+ 1 の関係を有するデータ対では、データの交換が行
なわれない。
【0024】ステップ82において、フラグ信号FL1
およびFL2がともにセット(=1)されているか否か
が判定される。フラグ信号FL1およびFL2がセット
されていることは、ステップ75および80において保
持されたデータ対間で交換が行なわれなかったことを意
味する。すなわち、与えられたn個のデータが小さい順
に既にデータレジスタ21ないし2n内に置かれている
ので、上記の処理を繰り返すことなくソーティング動作
が完了される。
【0025】これに対し、フラグ信号FL1およびFL
2の少なくとも一方がリセット(=0)のまま残されて
いるとき、ステップ83において両方のフラグ信号FL
1およびFL2がリセットされる。さらに、処理がステ
ップ72に戻り、上記と同様の動作が繰り返される。
【0026】図1に示した比較/交換回路31ないし3
n-1 は、それぞれの比較結果に基づく交換が生じたとき
に、交換信号X1ないしXn-1 を発生する。ソーティン
グ完了検出回路5は、交換信号X1ないしXn-1 に応答
して、ソーティングの完了を検出する。すなわち、ソー
ティング完了検出回路5は、すべての比較/交換回路3
1ないし3n-1 において交換が生じなかったことを示す
信号X1ないしXn-1 を受け、与えられたn個のデータ
がソートされたことを検出する。したがって、回路5は
ソーティング完了信号SCをレジスタ対選択回路4に与
えるので、回路4の動作が停止される。図2に示したフ
ローチャートにおいて使用されたフラグ信号FL1およ
びFL2は、ソーティング完了検出回路5内の処理にお
いて扱われることが指摘される。
【0027】図3は、図1に示したソーティング装置の
処理の一例を示すデータ遷移図である。図3を参照し
て、この例では、ソートされるべき16個の16進デー
タ「0,1,2,…E,F」が与えられるものと仮定す
る。したがって、図1に示したソーティング装置におい
て、16個のデータレジスタおよび15個の比較/交換
回路が使用されることになる。ソートされるべき16個
のデータは、図3の段階1に示される順序で、レジスタ
R1ないしR16内にそれぞれ保持される。
【0028】最初の比較/交換処理CM1において、レ
ジスタ対R1およびR2,R3およびR4,…R15お
よびR16ごとに、保持されたデータの比較/交換が行
なわれる。したがって、たとえば、レジスタR3および
R4内にそれぞれ保持されたデータ「9」および「0」
が交換される。同様に、レジスタR5およびR6内にそ
れぞれ保持されたデータ「A」および「1」が交換され
る。その結果、段階2において示されたデータがレジス
タR1ないしR16内に保持される。
【0029】次の比較/交換処理CM2において、各レ
ジスタ対R2およびR3,R4およびR5,…において
データの比較/交換がそれぞれ行なわれる。比較/交換
処理を繰り返すことにより、段階11において、ソート
されたデータがレジスタR1ないしR15内に置かれる
ことになる。
【0030】段階11の後、比較/交換処理CM11お
よびCM12が行なわれ、フラグ信号FL1およびFL
2がセット(=1)されるので、ソーティングの完了が
検出される(段階13)。
【0031】したがって、比較/交換処理CM13ない
しCM16は行なわれない。ここで、比較/交換処理C
M13ないしCM16は、図3からわかるように必要の
ない処理であるが、図9に示した従来のソーティング装
置において実行されていた。その理由は、前述のよう
に、従来のソーティング装置における比較/交換処理の
回数が、ソートされるべきデータの個数によって決定さ
れていたからである。したがって、図1に示したソーテ
ィング装置を使用することにより、図3に示した比較/
交換処理CM13ないしCM16が行なわれなくなるの
で、ソーティングが短時間で終了する。より正確には、
ソーティングの完了がより早い段階で検出できる。
【0032】図4は、この発明の別の実施例を示すソー
ティングプロセッサのブロック図である。このソーティ
ングプロセッサ103は、たとえば、図8に示したコン
ピュータシステム100において用いられる。図8を参
照して、このコンピュータシステム100は、中央処理
装置(CPU)101と、外部メモリ装置102と、ソ
ーティングプロセッサ103とを含む。3つの装置10
1,102および103は、データバス110およびア
ドレスバス120を介して接続されている。
【0033】動作において、外部メモリ装置102内に
ストアされたデータがソートされるべきであるとき、外
部メモリ装置102は、CPU101から発生される制
御信号に応答して、ソートされるべきデータをデータバ
ス110を介してソーティングプロセッサ103に与え
る。与えられたデータがソーティングプロセッサ103
内に保持された後、CPU101がソーティング開始信
号STをソーティングプロセッサ103に与える。した
がって、ソーティングプロセッサ103においてソーテ
ィング処理が開始され、ソーティングが完了した後、ソ
ーティング完了信号CMPがソーティングプロセッサ1
03からCPU101に与えられる。CPU101は、
ソーティング完了信号CMPに応答して、ソートされた
データを使用して他の処理を開始する。
【0034】図4を参照して、このソーティングプロセ
ッサ103は、各々がソートされるべきデータを保持し
かつ比較/交換するための回路を備えたn個のマクロセ
ル61ないし6nと、与えられたアドレス信号および制
御信号に応答してマクロセル回路61ないし6nを制御
するデコーダ/制御回路40と、ソートされるべきデー
タD1 ないしDn を入出力するための読出/書込制御回
路6と、マクロセル61ないし6nから発生される交換
信号X1ないしXnに応答してソーティングの完了を検
出するソーティング完了検出回路5とを含む。ソーティ
ング完了検出回路5は、奇数番目のマクロセル61,6
3,…から出力された交換信号X1,X3,…を受ける
ように接続されたNORゲート51と、偶数番目のマク
ロセル62,64…から出力された交換信号X2,X
4,…を受けるように接続されたNORゲート52と、
NORゲート51および52からそれぞれ出力されたフ
ラグ信号FL1およびFL2をそれぞれラッチするラッ
チ回路53および54と、ラッチ回路53および54の
出力に接続されたANDゲート55とを含む。1つのマ
クロセルは、図1に示した1つのデータレジスタおよび
1つの比較/交換回路にソートする回路を含んでいる。
ソートされるべき各データは、複数のデータビットによ
り表わされるので、マクロセル61ないし6nは複数の
ビット線BLを介して接続される。マクロセル内の内部
回路は、後で詳細に説明される。
【0035】動作において、デコーダ/制御回路40が
与えられたアドレス信号に応答してワード線WL1ない
しWLnを順次選択し、ソートされるべきn個のデータ
がビット線BLを介してマクロセル61ないし6n内の
データレジスタ回路に書込まれる。ソートされるべきデ
ータD1 ないしDn がマクロセル61ないし6n内に保
持された後、前述の比較/交換動作が繰り返し行なわれ
る。すなわち、デコーダ/制御回路40が、与えられた
制御信号に応答して対選択信号PS1ないしPSnを発
生するので、それぞれのマクロセル61ないし6n内に
設けられた比較/交換回路(図示せず)が選択的に能動
化される。すなわち、図1に示したソーティング装置の
場合と同様に、奇数番目の比較/変換回路と偶数番目の
比較/交換回路とが、対選択信号PS1ないしPSnに
応答して交互に能動化される。n個のマクロセル61な
いし6nの間で、前述の比較/交換処理が繰り返し行な
われ、比較された2つのデータ間で交換が生じたことを
示す信号X1ないしXnがそれぞれのマクロセル61な
いし6nから発生される。
【0036】ソーティング完了検出回路5内に設けられ
たNORゲート51は、奇数番目の比較/交換回路から
発生される交換信号X1,X3,…を受ける。すべての
奇数番目の比較/交換回路においてデータの交換が生じ
ないとき、NORゲート51は「1」のフラグ信号を出
力し、ラッチ回路53がその信号FL1をラッチする。
NORゲート52は、偶数番目の比較/交換回路から発
生される交換信号X2,X4,…を受ける。すべての偶
数番目の比較/交換回路においてデータの交換が生じな
かったとき、NORゲート52が「1」のフラグ信号F
L2を出力し、ラッチ回路54がその信号FL2をラッ
チする。したがって、ANDゲート55は、ラッチされ
たフラグ信号FL1およびFL2に応答して、「1」の
ソーティング完了信号CMPを出力する。
【0037】図5は、図4に示した隣接する2つのマク
ロセル6i および6i+1 の回路図である。図5を参照し
て、i番目のマクロセル6iは、k個のミクロセル60
1ないし60kと、インバータ85と、セレクタ回路8
6とを含む。1つのミクロセル60kは、前段のマクロ
セル内の対応するミクロセル(図示せず)と後段のマク
ロセル6i+1 内の対応するミクロセル61kに接続され
る。ここで、信号di はi番目のマクロセル内の対応す
るミクロセル60k内に保持されるデータビットを示
し、/di はその反転信号を示す。同様に、di+1
(i+1)番目のマクロセル6i+1 内の対応するミクロ
セル61k内に保持されるデータビットを示す。k番目
のデータビットのためのビット線BLkは、対応するk
番目のミクロセル60k,61k…に接続される。信号
i はi番目のマクロセル回路6iにおいてデータの交
換が生じたことを示す。信号PSi はi番目のマクロセ
ル6iに与えられる対選択信号を示し、/PSiはその
反転信号を示す。対選択信号PSi+1 は、信号PSi
反転によって得られる。したがって、信号PSi および
PSi+1 に応答して、マクロセル6i および6i+1 の一
方が交互に能動化されることになる。
【0038】図6は、図5に示した1つのミクロセル6
0kの回路図である。図6を参照して、このミクロセル
回路60kは、1ビットのデータビット信号di および
/d i をラッチするデータビットラッチ回路200と、
2つのラッチ回路200および201内にラッチされた
データビット信号を比較する比較回路300と、比較結
果に応答して、ラッチ回路200と隣接するデータビッ
トラッチ回路との間でラッチされたデータビット信号を
交換する交換回路350とを含む。ラッチ回路200
は、ワード線信号WLi に応答して、ビット線BLk
のデータビット信号を受け、それをラッチする。比較回
路300は、比較された2つのデータビット信号が一致
するとき、下位のデータビット信号の比較結果信号CR
k-1 を信号CRk として出力する。交換回路350は、
図4に示したデコーダ/制御回路40から発生される対
選択信号/PSi に応答して能動化される。したがっ
て、データビット信号/di-1 および/di+1のいずれ
か一方が選択され、選択されたデータビット信号が、図
5に示したセレクタ回路86から発生される書換え信号
WCi に応答してラッチ回路200に与えられる。その
結果、ラッチ回路200内にラッチされたデータビット
信号が選択されたデータビット信号に変更される。
【0039】図7は、この発明のさらに別の実施例を示
すソーティングプロセッサのブロック図である。図7を
参照して、このソーティングプロセッサ104は、その
中に2つのデータレジスタと1つの共用比較/交換回路
とを含む結合マクロセル91ないし9mと、別のソーテ
ィング完了検出回路5′とを含む。図4に示した各マク
ロセル61ないし6n内には、1つのデータレジスタご
とに比較/交換回路が設けられていたが、上記の説明か
らわかるように、その半数の比較/交換回路が交互に動
作している。このことは、常時動作可能な比較/交換回
路の数が半分で足りることを意味する。したがって、図
7に示したソーティングプロセッサ104では、常時動
作可能な比較/交換回路が、1つの結合マクロセルの中
の2つのデータレジスタによって共用されている。その
結果、図4に示したソーティングプロセッサ103と比
較すると、半数の比較/交換回路が省かれているので、
半導体集積回路における集積度が向上される。
【0040】これに加えて、ソーティング完了検出回路
5′は、共用比較/交換回路から出力される交換信号X
1ないしXnを受けるように接続されたNORゲート8
4と、2段のシフトレジスタを構成する2つのラッチ回
路89および90と、ラッチされた信号を受けるAND
ゲート55とを含む。NORゲート84は、共用比較/
交換回路から出力される交換信号X1ないしXnに応答
して、フラグ信号FL1およびFL2を交互に出力す
る。ラッチ回路89および90は、出力されたフラグ信
号FL1およびFL2を交互にラッチする。したがっ
て、「1」のフラグ信号FL1およびFL2がラッチ回
路89および90内にラッチされたとき、ANDゲート
55がソーティングの完了を示すソーティング完了信号
CMPを発生する。
【0041】図7に示したソーティングプロセッサ10
4の動作は基本的に図4に示したソーティングプロセッ
サ103のものと同様であるので説明が省略される。図
7に示したソーティングプロセッサ104は、図8に示
したコンピュータシステム100においてソーティング
プロセッサ103に代えて適用可能であることが指摘さ
れる。
【0042】以上に説明したように、図1に示したソー
ティング装置ならびに図4および図7に示したソーティ
ングプロセッサ103および104の各々において、比
較/交換回路から発生される交換信号X1ないしXnに
応答してソーティングの完了を検出するソーティング完
了検出回路が設けられているので、与えられたデータが
ソートされるとすぐにソーティングの完了を検出するこ
とができる。したがって、ソーティングが完了している
にもかかわらずソーティング動作が続けられるのが防が
れる。言換えると、ソーティング装置またはソーティン
グプロセッサがソーティング処理を終了させるのに要す
る時間が短縮される。
【0043】以下に、この発明の他の実施例について記
載する。以下の実施例では、図1に示したソーティング
装置と同様に動作するソーティング装置またはソーティ
ングプロセッサが用いられる。
【0044】この発明の実施例であるソーティング装置
またはソーティングプロセッサを適用可能なコンピュー
タシステムの例が図10において示される。図10を参
照して、コンピュータシステム500は、図8に示した
コンピュータシステム100と比較すると、追加のアド
レスバス130を備えている。アドレスバス130は、
以下に記載する実施例において必要となるアドレスの伝
送のために設けられる。コンピュータシステム500に
おける他の構成は、図8に示したコンピュータシステム
100と同様であるので、説明が省略される。
【0045】この発明のさらに別の実施例を示すソーテ
ィング回路が図11のブロック図において示される。図
1に示したソーティング装置においソーティング可能な
データの最大の個数は、n個に限られていた。すなわ
ち、図1に示したソーティング装置は、n個のデータレ
ジスタ21ないし2nを備えているので、n個を越える
データをソートすることができなかった。n個を越える
データをソートするためには、追加のデータレジスタお
よび追加の比較/交換回路が必要となる。このことは、
追加のハードウェア、すなわち追加の回路なくしては、
n個を越えるデータをソートできないことを意味する。
図11に示したソーティング回路を用いることにより、
データレジスタおよび比較/交換回路の個数に制限され
ることなく、n個を越えるデータを扱い得る。
【0046】図11を参照して、ソーティング回路10
5は、各々が対をなしたデータレジスタおよびアドレス
レジスタを備えたレジスタ回路121ないし12nと、
各々が対をなしたデータ比較/交換回路およびアドレス
交換回路を備えた交換回路131ないし13n−1等を
含む。データレジスタおよびデータ比較/交換回路は、
図1に示した対応する回路と同様に動作する。すなわ
ち、データ比較/交換回路は、レジスタ対選択回路4か
ら与えられる対選択信号PS1ないしPSn−1に応答
して、データレジスタ間でのデータの比較および交換を
行なう。これに加えて、ソーティング完了検出回路5
も、図1に示した回路5と同様に動作する。したがっ
て、図11に示したソーティング装置105も、n個以
下の与えられたデータのソーティングを短時間で完了す
ることができる。
【0047】交換回路131ないし13n−1内に設け
られた各アドレス交換回路は、対応するデータ比較/交
換回路によるデータの比較結果に応答して、隣接する2
つのアドレスレジスタ間で保持されたアドレスを交換す
る。すなわち、各アドレス交換回路は、対応するデータ
比較/交換回路が隣接する2つのデータレジスタ間で保
持されたデータを交換するとき、対応の隣接する2つの
アドレスレジスタ間で保持されたアドレスを交換する。
言い換えると、対をなしたデータレジスタおよびアドレ
スレジスタ内に保持されたデータおよびアドレスは、デ
ータ比較/交換回路およびアドレス交換回路を介して他
のレジスタ回路に伝送されても、データおよびアドレス
の対は保たれる。
【0048】前述のように、図11に示したソーティン
グ回路を用いることにより、n個を越える個数のデータ
のソーティングを行なうことができる。n個を越えるデ
ータのソーティングを実現するため、図10に示したC
PU101は、予め準備されたプログラムに従って、図
12および図13のフローチャートに示した処理を実行
する。図12および図13に示された処理では、「マー
ジソート」と呼ばれるソーティング手法が利用されてい
る。
【0049】図12を参照して、まず、ステップ501
において、ソートされるべき全データがL個のデータグ
ループに分割される。各データグループは、n個以下の
データを含んでいる。したがって、各データグループに
含まれるデータは、グループ単位で図11に示したソー
ティング回路105を用いてソーティングできる。
【0050】ステップ502において、L個の分割され
たデータグループのうち、ソートされるべき1つのデー
タグループが選択される。ステップ503において、選
択されたデータグループ内のデータが図11に示したデ
ータレジスタにそれぞれロードされる。
【0051】ステップ504において、図11に示した
ソーティング回路105が、ロードされたデータについ
てソーティング処理を行なう。ソーティング回路105
におけるソーティング処理は、図1に示したソーティン
グ装置と同様であるので説明が省略される。ソートされ
たデータは、選択されたデータグループごとに、メモリ
装置102に一旦ストアされる(ステップ505)。
【0052】ステップ506において、全データグルー
プについてステップ501ないし505の処理が行なわ
れたかどうかが判定され、もし残されたデータグループ
が存在するときは、処理がステップ502に戻る。ステ
ップ502ないし506の処理を繰返すことにより、各
々がソートされたデータを含むL個のデータグループが
メモリ装置102内に形成される。
【0053】図13を参照して、ステップ507におい
て、各データグループから、各データグループにおける
最小データGMD1 ないしGMDL および対応するグル
ープコードが抜出される。各データグループにおけるソ
ーティングはすでに完了しているので、各最小データG
MD1 ないしGMDL は、容易に得ることができる。各
グループコードは、対応する1つの最小データがどのデ
ータグループに属していたかを示す。したがって、各最
小データGMD1 ないしGMDL と対応するグループコ
ードは対をなしており、L個の対をなした最小データお
よびグループコードが、レジスタ回路121ないし12
nのうちのL個にそれぞれロードされる。
【0054】ステップ508において、ソーティング装
置105が、ロードされたデータについてソーティング
処理を行なう。データ比較/交換回路およびアドレス交
換回路の作用により、対をなしたデータおよびグループ
コードは、その対を保ったままでレジスタ回路121な
いし12n間を移動する。ソーティングが完了されたと
き、最小データGMD1 ないしGMDL の中の最小デー
タMDは、レジスタ回路121内のデータレジスタにお
いて得られる。
【0055】ステップ509において、レジスタ回路1
21のデータレジスタから最小データMDが抜出され、
抜出されたたデータがメモリ装置120にストアされ
る。レジスタ回路121のアドレスレジスタ内には、最
小データMDが属していたデータグループのグループコ
ードが保持されている。
【0056】ステップ510において、レジスタ回路1
21のアドレスレジスタ内に保持されたグループコード
を参照することにより、最小データMDを含んでいたデ
ータグループからデータMDの次に最小の新しい最小デ
ータが抜出される。新しい最小データは、レジスタ回路
121のデータレジスタに与えられる。言い換えると、
新しい最小データにより、レジスタ回路121内のデー
タレジスタが補充される。
【0057】ステップ511において、レジスタ回路1
21ないし12n内のデータレジスタにおいて1個を越
えるデータが残されているかどうかが判定される。複数
のデータが残されているとき、処理がステップ508に
戻る。したがって、補充されたデータを含めて、ソーテ
ィング装置105によりソーティングが再び行なわれ
る。ステップ508におけるソーティングの後、ステッ
プ509および510の処理が実行される。
【0058】ステップ508ないし511の処理を繰返
することにより、L個のデータグループからデータが小
さい順に順次メモリ装置102にストアされる。その結
果、メモリ装置内において、ソートされた全データが得
られる。
【0059】図14は、この発明のさらに別の実施例を
示すソーティングプロセッサのブロック図である。図1
4に示したソーティングプロセッサ106は、基本的
に、図11に示したソーティング回路105と同様に動
作する。ソーティングプロセッサ106は、図10に示
したコンピュータシステム500において適用できる。
【0060】図14を参照して、このソーティングプロ
セッサ106は、各々がデータ回路およびアドレス回路
を備えたマクロセル161ないし16nと、マクロセル
161ないし16n内のデータ回路およびアドレス回路
にアクセスするための読出/書込制御回路160とを含
む。他の回路構成は、図4に示したソーティングプロセ
ッサ103と同様であるので、説明は省略される。
【0061】マクロセル161ないし16n内の各デー
タ回路は、図4に示したマクロセル61ないし6nに相
当しており、したがって、これらは隣接する2つのデー
タの比較および交換を行なう。マクロセル161ないし
16n内のアドレス回路は、データの比較結果に応答し
て、隣接する2つのアドレス回路間でアドレス(この実
施例ではグループコード)を交換する。
【0062】図15は、図14に示した隣接する2つの
マクロセルの回路図である。図15において、i番目お
よびi+1 番目のマクロセル16iおよび16i+1が
示される。たとえば、i番目のマクロセル16iは、図
14に示したデータ回路を構成するミクロセル601な
いし60kと、アドレス回路を構成するミクロセル70
1ないし70jとを備える。各ミクロセル601ないし
60kの回路構成は、図6に示した回路60kと同様で
あるので説明が省略される。j番目のミクロセル70j
は、図16に示した回路により実現される。
【0063】図16を参照して、j番目のミクロセル7
0jは、1ビットのアドレスビット信号adiおよび/
adiをラッチするアドレスビットラッチ回路200
と、データにおける比較結果に応答して、ラッチ回路2
00と隣接するアドレスビットラッチ回路との間でラッ
チされたアドレスビット信号を交換する交換回路350
とを含む。図6に示したミクロセル回路60kと比較す
るとわかるように、アドレスのためのミクロセル回路7
0jは、データのためのミクロセル回路60kから比較
回路300を除くことによって得られる。
【0064】図14に示したソーティングプロセッサ1
06が用いられる場合においても、図12および図13
に示したフローチャートに従って処理が実行される。以
下の記載では、図13に示したステップ508におい
て、図14に示したソーティングプロセッサ106がど
のように動作するかについて説明する。
【0065】各データグループにおける最小データおよ
び対応するグループコードは、読出/書込制御回路16
0を介して、マクロセル161ないし16n内のデータ
回路およびアドレス回路にそれぞれ与えられる。たとえ
ば、図16に示したミクロセル70j内のラッチ回路2
00は、読出/書込制御回路160からアドレスビット
線ABLjを介して与えられるアドレスビット信号(グ
ループコードの1ビットに相当する)adiおよび/a
diをラッチする。
【0066】隣接する2つのデータ間での比較の結果、
データの交換が行なわれるとき、図16に示したミクロ
セル70jと71jとの間でラッチされたアドレスビッ
ト信号が交換される。この交換動作は、図6に示したデ
ータビット信号間の交換と同様に行なわれる。その結
果、隣接する2つのミクロセル70jと71jとの間
で、ラッチ回路200および201においてラッチされ
たアドレスビット信号が交換される。
【0067】図15に示したアドレスのためのミクロセ
ル701ないし70jにおいて、データの比較結果に応
答して、アドレスについての交換が行なわれるので、ア
ドレス、すなわちグループコードが、ソートされるべき
データとともに図14に示したアドレス回路間を移動す
ることになる。
【0068】このように、図11に示したソーティング
回路105または図14に示したソーティングプロセッ
サ106では、1回の処理において扱うことのできるデ
ータの個数が最大n個に限られているが、ソートされる
べきデータを分割することにより、n個を越えるたくさ
んのデータをソーティングすることが可能となる。すな
わち、図12に示すように、ソートされるべき全データ
がL個のデータグループに分割された後(ステップ50
1)、図12および図13に示した他のステップ502
ないし511における処理が実行されるので、n個を越
えるたくさんのデータのソーティングが実現され得る。
【0069】上記のいずれの実施例においても、ソート
されるべきデータのビット長さが限られていることが指
摘される。すなわち、たとえば、図4に示したソーティ
ングプロセッサ103が扱うことのできるデータのビッ
ト長さは、図5に示したミクロセル601ないし60k
の数からわかるように、kビットに限られている。言い
換えると、上記のいずれの実施例においても、扱うこと
のできるデータのビット長さは、ハードウェアによりk
ビットに制限されていた。もしkビットを越えるデータ
をソーティングする必要がある場合では、上記のハード
ウェアではソーティングすることができない。したがっ
て、ソートされるべきデータのビット長さに応じて、ミ
クロセルの数を増加させる必要があった。以下に記載す
る実施例では、kビットを越えるビット長さを有するデ
ータをソーティングできるソーティング装置およびソー
ティングプロセッサについて説明する。
【0070】図17は、この発明のさらに別の実施例に
おいて用いられるソーティング回路のブロック図であ
る。図17を参照して、このソーティング回路107
は、各々が対をなしたデータレジスタ回路およびアドレ
スレジスタ回路を備えたレジスタ回路221ないし22
nと、隣接する2つのレジスタ回路間で、保持された2
つのデータの比較および交換およびアドレス交換を行な
う交換回路231ないし23n−1と、隣接する2つの
データ間でのデータの一致を示すフラグを保持するため
の一致フラグレジスタ(以下「MFレジスタ」という)
241ないし24n−1とを含む。レジスタ対選択回路
4およびソーティング完了検出回路5は、図1に示した
対応する回路と同様であるので説明が省略される。
【0071】図18を参照して、以下に、図17に示し
たソーティング回路107を用いてソーティング処理に
ついて説明する。まず、ステップ521において、初期
セットが行なわれる。特に、すべてのMFレジスタ24
1ないし24n−1にリセットフラグ(MF=“0”)
が与えられ、MFレジスタ241ないし24n−1がリ
セットされる。
【0072】以下の説明では、ソートされるべきデータ
のビット長さがkビットを越えているものと仮定する。
したがって、ソートされるべきデータは、上位ビットデ
ータと下位ビットデータとに分割され、分割された上位
または下位のビットデータについての処理が行なわれ
る。
【0073】ステップ522において、ソートされるべ
きデータの上位ビットデータと各データに対応するアド
レスとが図17に示したレジスタ回路221ないし22
nにロードされる。ステップ523において、ロードさ
れた上位ビットデータについてソーティング処理が実行
される。図17に示したソーティング回路107におい
ても、図11に示したソーティング回路105と同様
に、対をなしたデータとアドレスとがレジスタ回路22
1ないし22n間を移動する。
【0074】ソーティングが完了した後、交換回路23
1ないし23n−1内の各データ比較/交換回路から、
一致フラグMFが対応するMFレジスタ241ないし2
4n−1に与えられる。データ比較/交換回路は、隣接
する2つの上位ビットデータが一致しないとき、MFレ
ジスタに不一致フラグ(MF=“1”)を与える。一
方、隣接する2つの上位ビットデータが一致するとき、
対応するMFレジスタは、一致フラグ(MF=“0”)
の保持を続ける。
【0075】ステップ525aにおいて、一致フラグ
(MF=“0”)を保持しているMFレジスタに対応す
るレジスタに、保持された上位ビットデータに対応する
下位ビットデータがロードされる。すなわち、上位ビッ
トデータ間のみの比較によっては2つのデータの大小が
決定できないので、そのような場合では、下位ビットデ
ータがロードされ、下位ビットデータについてのの比較
が行なわれる。
【0076】ステップ526aにおいて、ロードされた
下位ビットデータについてソーティング処理が行なわれ
る。各データ比較/交換回路は、対応するMFレジスタ
において一致フラグ(MF=“0”)が保持されている
とき、隣接する2つの下位ビットデータ間でデータの比
較および交換を行なう。他方、各データ比較/交換回路
は、対応するMFフラグにおいて不一致フラグ(MF=
“1”)が保持されているとき、データの比較および交
換を行なわない。ステップ526aでのソーティングに
おいても、隣接する2つのデータの比較結果に応答し
て、対をなすデータおよびアドレスが移動される。ステ
ップ523および526aにおけるソーティングの結
果、レジスタ回路221ないし22n内のアドレスレジ
スタに、データの小さい順序を示すアドレスが順に保持
されている。
【0077】ステップ527において、レジスタ回路2
21ないし22n内のアドレスレジスタにおいて保持さ
れたアドレスに従って、メモリ装置102内にストアさ
れたデータが順次読出される。その結果、小さい順にソ
ートされたデータがメモリ装置102から得られる。
【0078】図19は、この発明のさらに別の実施例を
示すソーティングプロセッサのブロック図である。図1
9を参照して、このソーティングプロセッサ108は、
各々がデータ回路およびアドレス回路を備えたマクロセ
ル261ないし26nと、データ回路およびアドレス回
路にアクセスするための読出/書込制御回路260と、
隣接する2つのデータが一致することを示すフラグを保
持するための一致フラグレジスタ(MFレジスタ)24
1ないし24nとを含む。他の回路構成は、図4に示し
たソーティングプロセッサ103と同じであるので説明
が省略される。
【0079】図20は、図19に示した隣接する2つの
マクロセル26iおよび26i+1の回路図である。図
20を参照して、たとえばi番目のマクロセル26i
は、ソートされるべきデータを扱うためのデータ回路を
構成するミクロセル801ないし80kと、各データに
対応するアドレスを扱うためのアドレス回路を構成する
ミクロセル701ないし70jと、セレクタ回路86な
どとを含む。NANDゲート44は、隣接する2つのデ
ータ間で一致が生じたことを示す一致フラグ信号MFa
を出力する。信号MFaは、MFレジスタ(図示せず)
に与えられる。MFレジスタにおいて保持されたフラグ
信号MFbは、インバータ42に戻される。NANDゲ
ート43は、i番目のマクロセル26iにおいてデータ
の交換が生じたことを示す信号Xiを出力する。マクロ
セル26iにおいてデータの一致が検出されたとき、す
なわち隣接する2つのデータ間で一致が検出されたと
き、フラグ信号MFaおよびMFbは「0」を示す。他
方、隣接する2つのデータ間で一致が検出されないと
き、フラグ信号MFaおよびMFbは「1」を示す。
【0080】図19に示した読出/書込制御回路260
は、データバス110を介して与えられるデータをマク
ロセル261ないし26n内のデータ回路、すなわちミ
クロセル801ないし80kに与える。これに加えて、
読出/書込制御回路260は、アドレスバス130を介
して与えられるアドレスをマクロセル261ないし26
n内のアドレス回路、すなわちミクロセル701ないし
70jに与える。
【0081】図21は、図20に示したk番目のミクロ
セル80kの回路図である。図20に示したいずれのミ
クロセル801ないし80kも、図21に示した回路8
0kと同様に構成される。図21を参照して、このミク
ロセル80kは、図6に示したミクロセル60kと比較
すると、さらに、隣接する2つのデータのk番目のビッ
ト間で一致を検出するための一致検出回路360を備え
ている。一致検出回路360は、k−1番目のミクロセ
ル(図示せず)から与えられるフラグ信号MFk−1が
「1」であり、かつ隣接する2つのデータのk番目のビ
ット間で一致が検出されるとき、「1」のフラグ信号M
Fkを出力する。それ以外の場合では、ミクロセル80
kは、「0」のフラグ信号MFkを出力する。
【0082】なお、図20に示したミクロセル701な
いし70jは、図15に示したミクロセル701ないし
70jと同じである。すなわち、図20に示した各ミク
ロセル701ないし70jは、図16に示した回路70
jと同じ回路構成を有し、かつ同様に動作する。
【0083】以下に、図19に示したソーティングプロ
セッサ108を用いたコンピュータシステムにおけるソ
ーティング処理が図22を参照して説明される。以下の
記載では、図19に示したソーティングプロセッサ10
8において処理可能なデータのビット数が64ビット
(k=64)であり、かつソートされるべきデータのビ
ット長さが128ビットであるものと仮定する。
【0084】まず、ステップ531において、初期セッ
トが行なわれる。すなわち、すべてのMFレジスタ24
1ないし24nに「0」が与えられる。
【0085】次に、ステップ532において、ソートさ
れるべきデータの上位64ビットのデータおよび対応す
るアドレスが、読出/書込制御回路260を介してマク
ロセル261ないし26nにロードされる。
【0086】ステップ533において、ロードされた上
位ビットデータについてソーティング処理が行なわれ
る。ソーティング結果に応じて、対をなすデータおよび
アドレスがマクロセル間で移動される。
【0087】ソーティング処理が完了した後、ステップ
534が行なわれる。各隣接する2つの上位ビットデー
タが一致しないとき、対応するMFレジスタに「1」が
与えられる。
【0088】ステップ535において、マクロセル26
2ないし26n内の各アドレス回路内に保持されたアド
レスに従って、対応するデータ回路に対応する下位ビッ
トデータがロードされる。
【0089】ステップ536において、「0」を保持し
ているMFレジスタに対応するマクロセル間で、下位ビ
ットデータについてソーティング処理が行なわれる。こ
の実施例では、「1」を保持しているMFレジスタに対
応するマクロセル間では、ソーティング動作が不能化さ
れており、したがってそれらの間ではソーティング処理
が行なわれない。対をなす下位ビットデータおよびアド
レスがマクロセル間で移動される。
【0090】ステップ537において、マクロセル26
1ないし26n内のアドレス回路から、保持されたアド
レス、言い換えるとソーティングにより移動されたアド
レスが順次に読出される。読出されたアドレスに従っ
て、メモリ装置102からソートされたデータ、すなわ
ち小さい順に整列された128ビットのデータが読出さ
れる。
【0091】このように、図17に示したソーティング
回路107または図19に示したソーティングプロセッ
サ108において扱うことのできるデータのビット長さ
が限られていても、より長いビット長さを有するデータ
をソーティングすることが可能となる。言い換えると、
回路構成、すなわちハードウェアを変更するなく、ソフ
トウェアのみの追加によってより長いビット長さを有す
るデータをソーティングすることが可能となる。
【0092】以上に説明したいずれの実施例において
も、基本的に、図1に示したソーティング装置における
処理が利用されていることが指摘される。したがって、
ソートされるべきデータの個数が制限されることなく、
および/または、ソートされるべきデータのビット長さ
が制限されることなしに、短時間でソーティングを完了
できるソーティング装置およびソーティングプロセッサ
が得られた。
【0093】
【発明の効果】以上のように、この発明によれば、第1
および第2の比較手段に応答して、与えれたn個のデー
タのソーティングの完了が検出されるので、与えられた
データのソーティング処理をより短時間で終了できるソ
ーティング装置およびソーティング方法が得られた。ま
た、ソートされるデータの個数が制限されず、さらに
は、ソートされるデータのビット長さが制限されないソ
ーティング装置が得られた。
【図面の簡単な説明】
【図1】この発明の一実施例を示すソーティング装置の
ブロック図である。
【図2】図1に示したソーティング装置の動作を説明す
るためのフローチャートである。
【図3】図1に示したソーティング装置における処理の
一例を示すデータ遷移図である。
【図4】この発明の別の実施例を示すソーティングプロ
セッサのブロック図である。
【図5】図4に示した隣接する2つのマクロセルの回路
図である。
【図6】図5に示した1つのミクロセルの回路図であ
る。
【図7】この発明のさらに別の実施例を示すソーティン
グプロセッサのブロック図である。
【図8】この発明の一実施例であるソーティングプロセ
ッサを適用可能なコンピュータシステムのブロック図で
ある。
【図9】従来のソーティング装置の回路ブロック図であ
る。
【図10】この発明の他の実施例であるソーティング回
路またはソーティングプロセッサを適用可能なコンピュ
ータシステムのブロック図である。
【図11】この発明のさらに別の実施例において用いら
れるソーティング回路のブロック図である。
【図12】図11に示したソーティング回路を備えたソ
ーティング装置における前半の処理を示すフローチャー
トである。
【図13】図12の処理に続く後半の処理を示すフロー
チャートである。
【図14】この発明のさらに別の実施例を示すソーティ
ングプロセッサのブロック図である。
【図15】図14に示した隣接する2つのマクロセルの
回路図である。
【図16】図15に示したアドレス回路を構成するミク
ロセルの回路図である。
【図17】この発明のさらに別の実施例において用いら
れるソーティング回路のブロック図である。
【図18】図17に示したソーティング回路を備えたソ
ーティング装置における処理を示すフローチャートであ
る。
【図19】この発明のさらに別の実施例を示すソーティ
ングプロセッサのブロック図である。
【図20】図19に示した隣接する2つのマクロセルの
回路図である。
【図21】図20に示したアドレス回路を構成する1つ
のミクロセルの回路図である。
【図22】図19に示したソーティングプロセッサを用
いたソーティング処理を示すフローチャートである。
【符号の説明】
4 レジスタ対選択回路 5 ソーティング完了検出回路 21 データレジスタ 31 比較/交換回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 与えられたn個のデータを予め定められ
    た順序に従うようにソーティングするソーティング装置
    であって、前記与えられたn個のデータを保持するn個
    のデータ保持手段と、各々が前記n個のデータ保持手段
    のうちの予め定められた隣接する2つのデータ保持手段
    からなる第1の対のグループを選択する第1の対選択手
    段と、前記第1の対選択手段に応答して、前記第1の対
    選択手段によって選択された対ごとに、対になった2つ
    のデータ保持手段内に保持されている2つのデータを比
    較する第1の比較手段と、前記第1の比較手段に応答し
    て、前記第1の対選択手段によって選択された対ごと
    に、対になった2つのデータ保持手段間で、保持された
    データを交換する第1のデータ交換手段と、各々が前記
    n個のデータ保持手段のうち、前記第1の対選択手段に
    よって選択されず、かつ予め定められた別の隣接する2
    つのデータ保持手段からなる第2の対のグループを選択
    する第2の対選択手段と、前記第2の対選択手段に応答
    して、前記第2の対選択手段によって選択された対ごと
    に、対になった2つのデータ保持手段内に保持されてい
    る2つのデータを比較する第2の比較手段と、前記第2
    の比較手段に応答して、前記第2の対選択手段によって
    選択された対ごとに、対になった2つのデータ保持手段
    間で、保持されたデータを交換する第2のデータ交換手
    段と、前記第1および第2の比較手段に応答して、前記
    与えられたn個のデータのソーティングの完了を検出す
    るソーティング完了検出手段とを含む、ソーティング装
    置。
  2. 【請求項2】 n個のデータ保持手段内に保持されたn
    個のデータを予め定められた順序に従うようにソーティ
    ングするソーティング方法であって、各々が前記n個の
    データ保持手段のうちの予め定められた隣接する2つの
    データ保持手段からなる第1の対のグループを選択する
    ステップと、前記第1の対選択ステップにおいて選択さ
    れた対ごとに、対になった2つのデータ保持手段内に保
    持されている2つのデータを比較し、第1の比較結果を
    得るステップと、前記第1の比較結果に応答して、前記
    第1の対選択ステップにおいて選択された対ごとに、対
    になった2つのデータ保持手段間で、保持されたデータ
    を交換するステップと、各々が前記n個のデータ保持手
    段のうち、前記第1の対選択ステップにおいて選択され
    ず、かつ予め定められた別の隣接する2つのデータ保持
    手段からなる第2の対のグループを選択するステップ
    と、前記第2の対選択ステップにおいて選択された対ご
    とに、対になった2つのデータ保持手段内に保持されて
    いる2つのデータを比較し、第2の比較結果を得るステ
    ップと、前記第2の比較結果に応答して、前記第2の対
    選択ステップにおいて選択された対ごとに、対になった
    2つのデータ保持手段間で、保持されたデータを交換す
    るステップと、前記第1および第2の比較結果に応答し
    て、前記n個のデータのソーティングの完了を検出する
    ステップとを含む、ソーティング方法。
  3. 【請求項3】 与えられたn個のデータを予め定められ
    た順序にしたがってソーティングするソーティング手段
    と、ソートされるべき全データを、各々が前記n個以下
    の個数を有するL個のデータグループに分割するデータ
    分割手段と、前記データ分割手段によって分割されたデ
    ータをデータグループ単位で前記ソーティング手段に与
    えるデータ供与手段とを含み、前記ソーティング手段
    は、前記L個のデータグループについて、データグルー
    プ単位で、与えられたデータをソーティングし、前記ソ
    ーティング手段によってソートされた各前記L個のデー
    タグループから、各グループにおいて前記予め定められ
    た順序に従う最適なデータを抜出すデータ抜出手段と、
    前記データ抜出手段によって抜出されたデータの中から
    前記予め定められた順序に従う最適なデータを決定する
    最適データ決定手段とを含み、前記ソーティング手段
    は、請求項1に記載のソーティング装置によって実現さ
    れる、ソーティング装置。
  4. 【請求項4】 各々が上位ビットデータおよび下位ビッ
    トデータを含むn個のデータをソーティングするソーテ
    ィング装置であって、与えられたデータを予め定められ
    た順序に従ってソーティングするソーティング手段と、
    前記n個のデータのそれぞれの上位ビットデータを前記
    ソーティング手段に与える上位ビットデータ供与手段と
    を含み、前記ソーティング手段は、与えられたn個の上
    位ビットデータについてソーティングを実行し、前記ソ
    ーティング手段により処理された上位ビットデータの中
    で、互いに一致するデータを含む一致データグループを
    検出する一致データグループ検出手段と、前記一致デー
    タグループ内の上位ビットデータに対応する下位ビット
    データを前記ソーティング手段に与える下位ビットデー
    タ供与手段とを含み、前記ソーティング手段は、与えら
    れた下位ビットデータについてソーティングを実行し、
    前記上位ビットデータおよび前記下位ビットデータにつ
    いての前記ソーティング手段による処理結果に従って、
    前記n個のデータの順序を決定する順序決定手段を含
    み、前記ソーティング手段は、請求項1に記載のソーテ
    ィング装置によって実現される、ソーティング装置。
  5. 【請求項5】 与えられたn個のデータを各データに対
    応するアドレスとともに予め定められた順序に従うよう
    にソーティングするソーティング装置であって、前記与
    えられたn個のデータを保持するn個のデータ保持手段
    と、各前記n個のデータに対応するアドレスを保持する
    n個のアドレス保持手段と、各々が前記n個のデータ保
    持手段のうちの予め定められた隣接する2つのデータ保
    持手段からなる第1の対のグループを選択する第1の対
    選択手段と、前記第1の対選択手段に応答して、前記第
    1の対選択手段によって選択された対ごとに、対になっ
    た2つのデータ保持手段内に保持されている2つのデー
    タを比較する第1の比較手段と、前記第1の比較手段に
    応答して、前記第1の対選択手段によって選択された対
    ごとに、対になった2つのデータ保持手段間で、保持さ
    れたデータを交換する第1のデータ交換手段と、前記第
    1の比較手段に応答して、前記第1の対選択手段によっ
    て選択された対ごとに、対応する2つのアドレス保持手
    段間で、保持されたアドレスを交換する第1のアドレス
    交換手段と、各々が前記n個のデータ保持手段のうち、
    前記第1の対選択手段によって選択されず、かつ予め定
    められた別の隣接する2つのデータ保持手段からなる第
    2の対のグループを選択する第2の対選択手段と、前記
    第2の対選択手段に応答して、前記第2の対選択手段に
    よって選択された対ごとに、対になった2つのデータ保
    持手段内に保持されている2つのデータを比較する第2
    の比較手段と、前記第2の比較手段に応答して、前記第
    2の対選択手段によって選択された対ごとに、対になっ
    た2つのデータ保持手段間で、保持されたデータを交換
    する第2のデータ交換手段と、前記第2の比較手段に応
    答して、前記第2の対選択手段によって選択された対ご
    とに、対応する2つのアドレス保持手段間で、保持され
    たアドレスを交換する第2のアドレス交換手段と、前記
    第1および第2の比較手段に応答して、前記与えられた
    n個のデータのソーティングの完了を検出するソーティ
    ング完了検出手段とを含む、ソーティング装置。
JP31947091A 1991-04-04 1991-12-04 ソーティング装置およびソーティング方法 Expired - Fee Related JP3152466B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP31947091A JP3152466B2 (ja) 1991-04-04 1991-12-04 ソーティング装置およびソーティング方法
DE4210109A DE4210109C2 (de) 1991-04-04 1992-03-27 Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren
US08/310,745 US5511189A (en) 1991-04-04 1994-09-22 Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7180191 1991-04-04
JP3-71801 1991-04-04
JP31947091A JP3152466B2 (ja) 1991-04-04 1991-12-04 ソーティング装置およびソーティング方法

Publications (2)

Publication Number Publication Date
JPH056261A true JPH056261A (ja) 1993-01-14
JP3152466B2 JP3152466B2 (ja) 2001-04-03

Family

ID=26412901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31947091A Expired - Fee Related JP3152466B2 (ja) 1991-04-04 1991-12-04 ソーティング装置およびソーティング方法

Country Status (3)

Country Link
US (1) US5511189A (ja)
JP (1) JP3152466B2 (ja)
DE (1) DE4210109C2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7918463B2 (en) 2002-10-15 2011-04-05 Nok Corporation Reciprocating seal
JP5445469B2 (ja) * 2009-01-13 2014-03-19 日本電気株式会社 Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352786B2 (ja) * 1993-11-01 2002-12-03 三菱電機株式会社 プロセッサ回路
CN1092362C (zh) * 1998-02-10 2002-10-09 北京多思科技工业园股份有限公司 阵列错位比较装置及用来实现查询的方法
US6446101B1 (en) 1998-09-01 2002-09-03 Siemens Aktiengesellschaft Apparatus for fast determination of a prescribable number of highest value signals
EP2236744A3 (en) * 2009-03-30 2013-09-18 Services Pétroliers Schlumberger Digital signal processing recievers, systems and methods for identifying decoded signals
TW201115459A (en) * 2009-10-21 2011-05-01 Etron Technology Inc Data processing circuit
US10523596B1 (en) * 2015-02-06 2019-12-31 Xilinx, Inc. Circuits for and methods of merging streams of data to generate sorted output data
WO2019170961A1 (en) * 2018-03-05 2019-09-12 University Of Helsinki Device, system and method for parallel data sorting
GB2576793B (en) * 2018-10-31 2021-06-30 Imagination Tech Ltd Selecting an ith largest or a pth smallest number from a set of n m-bit numbers
CN115599541A (zh) * 2021-02-25 2023-01-13 华为技术有限公司(Cn) 一种排序装置及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5965352A (ja) * 1982-10-05 1984-04-13 Mitsubishi Electric Corp ソ−ト装置
JPS62271014A (ja) * 1986-05-19 1987-11-25 Fujitsu Ltd ソ−テイング装置
JPS63231526A (ja) * 1987-03-19 1988-09-27 Nippon Telegr & Teleph Corp <Ntt> ソ−ト処理装置
JPS6433628A (en) * 1987-07-30 1989-02-03 Nippon Telegraph & Telephone Merging processor
JPH01103785A (ja) * 1987-07-16 1989-04-20 Namuko:Kk ソーティング回路
JPH01177122A (ja) * 1988-01-07 1989-07-13 Hitachi Ltd ソート処理装置
JPH031227A (ja) * 1989-05-29 1991-01-07 Nippon Telegr & Teleph Corp <Ntt> ソート処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US4078260A (en) * 1976-05-12 1978-03-07 International Business Machines Corporation Apparatus for transposition sorting of equal length records in overlap relation with record loading and extraction
JPS5592942A (en) * 1979-01-08 1980-07-14 Mitsubishi Electric Corp Sorting unit
US4499555A (en) * 1982-05-06 1985-02-12 At&T Bell Laboratories Sorting technique
US4520456A (en) * 1983-02-18 1985-05-28 International Business Machines Corporation Dual reciprocating pipelined sorter
US4567572A (en) * 1983-02-22 1986-01-28 The United States Of America As Represented By The Director Of The National Security Agency Fast parallel sorting processor
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
US5247688A (en) * 1988-10-14 1993-09-21 Ricoh Company, Ltd. Character recognition sorting apparatus having comparators for simultaneous comparison of data and corresponding key against respective multistage shift arrays
US5179717A (en) * 1988-11-16 1993-01-12 Manco, Ltd. Sorting circuit using first and last buffer memories addressed by reference axis data and chain buffer memory addressed by datum number of the first and last buffer memories
JPH02178730A (ja) * 1988-12-28 1990-07-11 Toshiba Corp 分割法を用いた内部ソート方式
US5111465A (en) * 1989-06-30 1992-05-05 Digital Equipment Corporation Data integrity features for a sort accelerator
US5218700A (en) * 1990-01-30 1993-06-08 Allen Beechick Apparatus and method for sorting a list of items

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5965352A (ja) * 1982-10-05 1984-04-13 Mitsubishi Electric Corp ソ−ト装置
JPS62271014A (ja) * 1986-05-19 1987-11-25 Fujitsu Ltd ソ−テイング装置
JPS63231526A (ja) * 1987-03-19 1988-09-27 Nippon Telegr & Teleph Corp <Ntt> ソ−ト処理装置
JPH01103785A (ja) * 1987-07-16 1989-04-20 Namuko:Kk ソーティング回路
JPS6433628A (en) * 1987-07-30 1989-02-03 Nippon Telegraph & Telephone Merging processor
JPH01177122A (ja) * 1988-01-07 1989-07-13 Hitachi Ltd ソート処理装置
JPH031227A (ja) * 1989-05-29 1991-01-07 Nippon Telegr & Teleph Corp <Ntt> ソート処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7918463B2 (en) 2002-10-15 2011-04-05 Nok Corporation Reciprocating seal
JP5445469B2 (ja) * 2009-01-13 2014-03-19 日本電気株式会社 Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント

Also Published As

Publication number Publication date
DE4210109A1 (de) 1992-10-08
JP3152466B2 (ja) 2001-04-03
DE4210109C2 (de) 1994-09-01
US5511189A (en) 1996-04-23

Similar Documents

Publication Publication Date Title
US6728743B2 (en) Modulo remainder generator
US6011751A (en) Sychronous semiconductor memory device with burst address counter operating under linear/interleave mode of single data rate/double data rate scheme
US20160085702A1 (en) Hierarchical in-memory sort engine
US8166278B2 (en) Hashing and serial decoding techniques
JP3152466B2 (ja) ソーティング装置およびソーティング方法
KR970049545A (ko) 프로그래머블 패리티 체킹 및 비교 회로
JPS61107596A (ja) 連想記憶装置
JPH05244195A (ja) スイッチ回路並びにスイッチのテスト方法及びそのテスト回路
JPH0728624A (ja) ソート装置及びソート方法
JP3198379B2 (ja) 最大値選択回路
JPH0378720B2 (ja)
JPH0820967B2 (ja) 集積回路
JPH0743429A (ja) 物理アドレス変換回路
US20020116425A1 (en) Sort processing method and sort processing apparatus
US7386650B2 (en) Memory test circuit with data expander
US5603023A (en) Processor circuit for heapsorting
JPH06149662A (ja) Romバースト転送の連続読みだし拡大方式およびその方式を用いたrom内蔵型マイクロコンピュータシステム
US6487550B1 (en) Method and apparatus for finding a first element
US5875147A (en) Address alignment system for semiconductor memory device
JPH11143763A (ja) アクセスコンフリクトの処理回路装置
JPH09128241A (ja) ファジーロジックプロセッサの言語入力値の所属関数値に対する配列方法および装置
JP3068563B2 (ja) データ転送方法およびデータ転送装置
JP2557277B2 (ja) 優先順位回路
JPS62237523A (ja) ソ−テイング回路
JP3359932B2 (ja) プログラマブル・ロジック・ユニット回路及びプログラマブル・ロジック回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970819

LAPS Cancellation because of no payment of annual fees