JP3347592B2 - マージソート処理装置 - Google Patents

マージソート処理装置

Info

Publication number
JP3347592B2
JP3347592B2 JP19032496A JP19032496A JP3347592B2 JP 3347592 B2 JP3347592 B2 JP 3347592B2 JP 19032496 A JP19032496 A JP 19032496A JP 19032496 A JP19032496 A JP 19032496A JP 3347592 B2 JP3347592 B2 JP 3347592B2
Authority
JP
Japan
Prior art keywords
data
sort
path
binary tree
merge
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.)
Expired - Fee Related
Application number
JP19032496A
Other languages
English (en)
Other versions
JPH1040076A (ja
Inventor
孝 服部
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 JP19032496A priority Critical patent/JP3347592B2/ja
Publication of JPH1040076A publication Critical patent/JPH1040076A/ja
Application granted granted Critical
Publication of JP3347592B2 publication Critical patent/JP3347592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パイプラインマー
ジソート機構を有する情報処理装置に関し、特に、2つ
のデータを比較することによってソート規則に従ったデ
ータ列を生成する複数のソートプロセッサと、これら複
数のソートプロセッサを1次元状に接続する1次元経路
とを備え、前段のソートプロセッサから出力されたデー
タ列同士を後段のソートプロセッサで比較してソート済
みデータ列を生成するマージソート処理装置に関する。
【0002】
【従来の技術】一般に、パイプラインソート機構は、2
ウェイマージを行う複数個例えば8個のソートプロセッ
サが1次元状に接続されて構成される(例えば、特開平
1−297722号公報参照)。初段の第1ソートプロ
セッサは、未ソートのデータを順次受け取り、第1デー
タを記憶装置に保存するとともに、第2データの入力時
に、第1および第2データを比較する。比較の結果、任
意のソート規則(例えば、昇順や降順)に従って整理さ
れた第1および第2データは第2ソートプロセッサに送
られる。
【0003】第2ソートプロセッサでは、第1および第
2データからなる第1データ列を記憶装置に保存すると
ともに、第1ソートプロセッサでソートされた第3およ
び第4データからなる第2データ列を受け取る。第2ソ
ートプロセッサは、第1および第2データ列両者の最初
のデータ同士を比較し、ソート規則に従って4つのデー
タの中で最優位なデータを決める。続いて、勝ち抜けた
データが属するデータ列の中でその勝ち抜けたデータの
次に位置する2番目のデータと負け残った最初のデータ
とを比較し、ソート規則に従って優位なデータを決め
る。勝ち抜けたデータの次に位置する2番目のデータが
勝ち抜けた場合、その時点で4つのデータの優劣は決定
される。負け残った最初のデータが勝ち抜けた場合、第
1および第2データ列の2番目のデータ同士が比較さ
れ、その結果、4つのデータの優劣は決定される。ソー
トされた4つのデータは第3ソートプロセッサに送られ
る。
【0004】第3〜第8ソートプロセッサでは同様な処
理が実行され、最大で256個(=2の8乗個)のデー
タがソート済みデータ列として出力される。
【0005】
【発明が解決しようとする課題】パイプラインソート機
構では、ソートプロセッサの個数nを増加させることに
よってソート済みデータ列に含まれるデータの個数を最
大で2n 個にまで増加させることができる。しかしなが
ら、ソートプロセッサの個数nは予めハードウェア的に
定まってしまうことから、2n 個を超えるデータを処理
することができない。
【0006】そこで、この種のソート機構では、データ
群を複数個に分割し、分割で得られた小データ群ごとに
前述の処理を行った後、小データ群ごとに得られたソー
ト済みデータ列にマージ処理を施している。このマージ
処理では、各小データ群から1つずつ選択されるデータ
の中からソート規則に従って最優位なデータが順次出力
されていく。勝ち抜いたデータに代わって、順次、その
勝ち抜いたデータが属する小データ群の次のデータが比
較の対象とされる。こういったマージ処理は、従来、ソ
ート機構が接続されたホストコンピュータや、別途用意
されたマージ処理専用プロセッサによって実行されてい
た(例えば、特開平5−80977号公報参照)。
【0007】本発明は、上記実情に鑑みてなされたもの
で、例えば専用プロセッサに代表されるハードウェア量
の増加を極力抑制しつつ効率的且つ高速で大量のデータ
をマージソート処理することのできるマージソート処理
装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、第1発明によれば、2つのデータを比較することに
よってソート規則に従ったデータ列を生成する複数のソ
ートプロセッサと、これら複数のソートプロセッサを1
次元状に接続する1次元経路とを備え、前段のソートプ
ロセッサから出力されたデータ列同士を後段のソートプ
ロセッサで比較してソート済みデータ列を生成するマー
ジソート処理装置において、任意の前記ソートプロセッ
サを2進木状に接続する2進木経路を備え、この2進木
経路の初段から前記ソート済みデータ列を入力し、各ソ
ートプロセッサでは、2つのデータの比較の結果、前記
ソート規則に対して優位なデータが出力されることによ
ってマージ済みデータ列が出力されることを特徴とす
る。
【0009】また、第2発明によれば、前記2進木経路
で接続されたソートプロセッサには、前記1次元経路お
よび2進木経路のいずれかを選択する経路選択手段が接
続されることを特徴とする。
【0010】さらに、第3発明によれば、前記経路選択
手段は、ソート済みデータ列を生成する機能を完遂する
1次元経路と、マージ済みデータ列を生成する機能を完
遂する2進木経路との少なくともいずれか一方を含む複
数個の経路を形成し、各経路の最終段には、各経路の出
力を個別に取り出す出力手段が接続されることを特徴と
する。
【0011】さらにまた、第4発明によれば、2進木経
路を形成した際に、各ソート済みデータ列およびマージ
済みデータ列のいずれかを取り込み、データ列の前デー
タと後データとを比較することによって、前記ソート規
則に背くエラーデータを検出する機能を任意の前記ソー
トプロセッサに担わせることを特徴とする。
【0012】さらにまた、第5発明によれば、前記2進
木経路の最終段に、任意の前記ソートプロセッサで構成
された1次元経路を直列に接続し、その任意のソートプ
ロセッサに任意のソート済みデータ列を入力することを
特徴とする。
【0013】さらにまた、第6発明によれば、前記2進
木経路に組み込まれる任意の前記ソートプロセッサに、
そのソートプロセッサでの比較の結果得られる勝ち抜け
情報を出力させる報告線を接続したことを特徴とする。
【0014】さらにまた、第7発明によれば、前記各ソ
ートプロセッサには、1次元経路の段数に応じたデータ
数の記憶容量を持った記憶装置が接続され、これら記憶
装置には、記憶容量に従って記憶装置同士を組み合わ
せ、前記ソート済みデータ列の記憶に最適な記憶装置を
提供する接続関係変更手段が接続されることを特徴とす
る。
【0015】さらにまた、第8発明によれば、前記マー
ジ済みデータ列では、同一のソート済みデータ列から連
続して勝ち抜けたデータ数が出力されることを特徴とす
る。
【0016】さらにまた、第9発明によれば、前記ソー
トプロセッサは、前記1次元経路に沿ってシリアルに入
力されるデータの中から処理対象データを抜き出し、抜
き出したデータに基づいてデータの比較を行い、その結
果、前記1次元経路が前記2進木経路に見立てられるこ
とを特徴とする。
【0017】さらにまた、第10発明によれば、前記処
理対象データの抜き出しにあたって、前記ソートプロセ
ッサは、各データに付されたマージ処理識別子を識別す
ることを特徴とする。
【0018】さらにまた、第11発明によれば、前記マ
ージ処理識別子は、前記比較の結果前記ソートプロセッ
サから出力される度に書き換えられることを特徴とす
る。
【0019】さらにまた、第12発明によれば、前記2
進木経路の前段に該当するソートプロセッサは、前記マ
ージ処理識別子の書き換えにあたって、前記2進木経路
の後段にあたるソートプロセッサを特定するマージ処理
識別子を用いることを特徴とする。
【0020】
【発明の実施の形態】以下、添付図面を参照しつつ本発
明の好適な実施形態を説明する。
【0021】[第1実施形態]図1は本発明の第1実施
形態に係るマージソート処理装置の概略構成を示す。こ
のマージソート処理装置は、2つのデータを比較するこ
とによって任意のソート規則(例えば、昇順や降順)に
従ったデータ列を生成する(いわゆる2ウェイマージ処
理を実行する)複数個(例えば8個)のソートプロセッ
サP1〜P8を備える。初段としての第1ソートプロセ
ッサP1には、ソート処理を行いたいデータ群が入力さ
れる1次元経路W01と、第1ソートプロセッサP1が
扱うデータ個数例えば2個のデータに対応する容量の第
1記憶装置M1とが接続される。
【0022】第1および第2ソートプロセッサP1、P
2は1次元経路W12によって相互に接続される。第2
および第3ソートプロセッサP2、P3の間、第3およ
び第4ソートプロセッサP3、P4の間、第4および第
5ソートプロセッサP4、P5の間、第5および第6ソ
ートプロセッサP5、P6の間、第6および第7ソート
プロセッサP6、P7の間、第7および第8ソートプロ
セッサP7、P8の間は、同様に、各々1次元経路W2
3〜W78によって相互に接続される。こうして第1〜
第8ソートプロセッサP1〜P8は順次1次元状に接続
されることとなる。
【0023】第2〜第8ソートプロセッサP2〜P8に
は、各ソートプロセッサP2〜P8が扱うデータ個数
(4、8、16、…、128)に対応した第2〜第8記
憶装置M2〜M8が接続される。なお、各記憶装置M1
〜M8としては、格納されるデータ個数に応じて、内部
メモリを採用することも外部メモリを採用することもで
きる。
【0024】このマージソート処理装置では、任意のソ
ートプロセッサすなわち第2〜第8ソートプロセッサP
2〜P8が2進木状に接続される。2進木の初段として
の第2、第3、第5および第6ソートプロセッサP2、
P3、P5、P6には、記憶装置(図示せず)等の入力
手段からソート済みデータ列を導入させる初段補助経路
I21、I22、I31、I32、I51、I52、I
61、I62が接続される。2進木の2段目としての第
4および第7ソートプロセッサP4、P7には、第3お
よび第6ソートプロセッサP3、P6を迂回させて第2
および第5ソートプロセッサP2、P5の出力を接続さ
せる2段目補助経路I24、I57が接続される。さら
に、最終段としての第8ソートプロセッサP8には、第
5〜第7ソートプロセッサP5〜P7を迂回して第4ソ
ートプロセッサP4の出力を接続させる最終段補助経路
I48が接続される。これらの補助経路I21〜I6
2、I24、I57、I48によって2進木経路は形成
される。
【0025】1次元経路および2進木経路は、経路選択
手段PSの働きによって随時切り換えられる。経路選択
手段PSは、1次元経路W12、W23、W45、W5
6と初段補助経路I21、I31、I51、I61との
交差点に配置されたり、記憶装置M2、M3、M5、M
6からの経路と初段補助経路I22、I32、I52、
I62との交差点や、記憶装置M4、M7、M8からの
経路と2段目補助経路I24、I57および最終段補助
経路I48との交差点に配置されたりして、交差する経
路のいずれか一方を任意に選択する。
【0026】次に第1実施形態に係るマージソート処理
装置の動作を説明する。いま、最大256個のレコード
データ1〜N(ただし、N≦256)が属するレコード
データ群が任意のメモリ領域に格納されていると想定す
る。各レコードデータ1〜Nには、図2に示すように、
複数のデータフィールドF1〜FMが設定されている。
各経路選択手段PSは、第1〜第8ソートプロセッサP
1〜P8が1次元状に接続されるように経路を選択す
る。その結果、図3に示されるパイプラインソート機構
が形成される。
【0027】第1ソートプロセッサP1には、優位性比
較の対象となるデータフィールドF1のデータすなわち
ソートキーと、そのソートキーが属するレコードデータ
が格納されているメモリ領域のアドレスを特定するアド
レスポインタとが1つのデータとして順次入力される。
【0028】第1ソートプロセッサP1は、最初の1個
のデータを第1記憶装置M1に格納し、続いて、1次元
経路W01から2番目の1個のデータを受け取ると、両
者を比較して2つのデータにソート処理を施す。ソート
された2つのデータは21 個データ列として第1ソート
プロセッサP1から出力される。第1ソートプロセッサ
P1では、かかる処理が次々と実行される。
【0029】第2ソートプロセッサP2では、最初の2
1 個データ列が第2記憶装置M2に格納され、続いて、
1次元経路W12から2番目の21 個データ列を受け取
ると、2つの21 個データ列の最初のデータ同士を比較
する。各データ列では、第1ソートプロセッサP1によ
ってソート処理が実行されていることから、最初のデー
タ同士のうちで勝ち抜けた優位なデータは22 個データ
列の最優位データとなる。第2ソートプロセッサP2
は、勝ち抜けた最優位データに代えて、その最優位デー
タが属していた21 個データ列から次のデータを取り込
み、負け残った最初のデータと比較する。取り込まれた
次のデータが勝ち残れば、その時点で、4つのデータの
順位が決定し、ソート処理が完了する。負け残った最初
のデータが勝ち残れば、勝ち抜けた2番目の優位データ
に代えて、その優位データが属する21 個データ列から
次のデータを取り込み、このとき負け残ったデータと比
較される。この比較によって4つのデータの順位が決定
される。こうしてソート処理された2つの21 個データ
列の4つのデータは22 個データ列として第3ソートプ
ロセッサP3に送り込まれる。
【0030】第3ソートプロセッサP3以降第8ソート
プロセッサP8に至るまで第2ソートプロセッサP2と
同様な処理が実行され、最大で256個のデータを含む
データ群がソート処理される。その結果はソート済みデ
ータ列としてホストコンピュータに出力される。このと
き、ソート済みデータ列では、ソートキーが破棄されて
アドレスポインタのみが出力される。このアドレスポイ
ンタに基づいて、レコードデータ全体の並び替えが実施
される。したがって、ソートキーのみを切り出してデー
タ同士の比較を行い、レコードデータの並び替えにアド
レスポインタのみを用いるようにしたことから、データ
転送量の縮小を図ることができる。
【0031】次に、256個を超えるレコードデータが
属するレコードデータ群をマージソート処理する場合を
考える。レコードデータ群は、各々256個以下のレコ
ードデータが属する小レコードデータ群に分割される。
例えば、レコードデータ群から1次元経路W01に順次
入力されるソートキーが256個に達した時点で小デー
タ群を定義することもでき、予めホストコンピュータに
よってレコードデータ群を等分割しておくこともでき
る。前述したパイプラインソート機構によって、各レコ
ードデータ群ごとにソートキーはソート済みデータ列に
整理される。整理された各ソート済みデータ列は任意の
メモリ領域に一旦保存される。
【0032】得られた複数個のソート済みデータ列は、
初段補助経路I21、I22、I31、I32、I5
1、I52、I61、I62を通じて任意の入力手段
(図示せず)から第2、第3、第5および第6ソートプ
ロセッサP2、P3、P5、P6に入力される。マージ
処理にあたって、マージソート処理装置では、図4に示
すように、経路選択手段PSの働きによって2進木経路
が形成されている。
【0033】2進木の初段では、第2、第3、第5およ
び第6ソートプロセッサP2、P3、P5、P6が、個
別に入力される2つのソート済みデータ列の最初のデー
タを取り込んで両者を比較する。各ソートプロセッサP
2、P3、P5、P6で勝ち抜けたデータは、2進木の
2段目としての第4および第7ソートプロセッサP4、
P7に送り込まれる。
【0034】第4および第7ソートプロセッサP4、P
7では、初段のソートプロセッサで勝ち抜けてきたデー
タ同士を比較し、優位なデータを出力する。最終段とし
ての第8ソートプロセッサP8では、第4および第7ソ
ートプロセッサP4、P7で勝ち抜けたデータ同士が比
較され、最優位なデータが出力される。
【0035】データが勝ち抜けると、その勝ち抜けたデ
ータが属するソート済みデータ列で後続するデータが順
番に初段のソートプロセッサに入力される。この入力さ
れたデータは、先行する比較で負け残ったデータと比較
され、ソート処理は進められていく。複数のソート済み
データ列から順次取り込まれるデータはトーナメント形
式でソート処理され、最終的に、複数のソート済みデー
タ列がマージ処理され、第8ソートプロセッサP8から
マージ処理されたマージ済みデータ列が出力されること
となる。
【0036】マージ済みデータ列では、前述と同様、図
5に示すようにソートキーが破棄されてアドレスポイン
タのみが出力される。このアドレスポインタに基づい
て、レコードデータ全体の並び替えが実施される。
【0037】以上のように、通常のパイプラインソート
機構に必要とされる1次元経路に加え、補助経路を用い
て任意のソートプロセッサ間を接続することにより2進
木経路を形成するようにしたので、専用プロセッサを用
いずに複数のレコードデータ群をマージ処理することが
可能となる。しかも、経路選択手段PSは、例えば、送
り出し側のソートプロセッサや入力手段に経路のバス幅
分のバスドライバを設けて構成されればよく、ハードウ
ェア量の増加は極力抑えられる。さらに、2進木経路を
形成する上で、既存の1次元経路W34、W67、W7
8を利用しているので、ハードウェア量の一層の抑制に
寄与することができる。
【0038】また、前述のようにアドレスポインタを用
いてメモリ領域から個々にレコードデータを呼び出すこ
とに代えて、勝ち抜けた複数のレコードデータを1塊と
して呼び出すこともできる。例えば、2進木の初段に入
力される各ソート済みデータ列では、図6に示すよう
に、ソート済みデータ列1〜Nを識別するデータ列用識
別子11がソートキー10に付加されている。マージソ
ート機構からの出力時、そのデータ列用識別子11に基
づいて、同一のソート済みデータ列1〜Nから連続して
勝ち抜けたデータ数13が例えばカウンタ(図示せず)
によって特定される(図7参照)。カウンタによって特
定されたデータ数13のレコードデータが1塊として呼
び出されるのである。レコードデータを呼び出すにあた
っては、まず、各ソート済みデータ列1〜Nが格納され
ているメモリ領域の先頭アドレスを別途記憶しておき、
得られたデータ列用識別子11とデータ数13とに基づ
いて、記憶された先頭アドレスからデータ数13に等し
い個数連続するレコードデータが一度に呼び出される。
この呼び出し後、記憶された先頭アドレスはデータ数1
3に応じて書き換えられる。なお、転送先のメモリ領域
に対する転送先アドレスや転送データサイズはレコード
データのレコード長などに基づいて決定される。
【0039】このようなレコードデータの呼び出しによ
れば、マージ済みデータ列に小さなビット幅を割り当て
るだけで済む。すなわち、前述のアドレスポインタを用
いた場合には、レコードデータの個数が増加するほどア
ドレスポインタに必要とされるビット幅が無限に増加す
る。したがって、ソート処理時やマージ処理時に、大き
なビット幅を有するアドレスポインタがソートキーに付
加されて処理されるので、転送される各データの大きさ
が膨らんでしまう。これに対し、連続して勝ち抜けたデ
ータ数を用いた場合には、マージ処理時に、各ソート済
みデータ列を特定する小さなビット幅の識別子を付加す
れば足り、したがって、転送される各データの大きさが
抑制される。しかも、マージ済みデータ列では、勝ち抜
けたデータ数13を分割して連続的に出力することもで
き、その結果、勝ち抜けデータ数13の大きさを制限し
て1データの大きさを一層抑制することができる。
【0040】[第2実施形態]図8は本発明の第2実施
形態に係るマージソート処理装置の概略を示す。この第
2実施形態では、通常のパイプラインソート機構を形成
する1次元経路W01〜W78に加え、2進木の初段と
しての第1、第2、第4および第5ソートプロセッサP
1、P2、P4、P5に接続された初段補助経路I1
1、I12、I21、I22、I41、I42、I5
1、I52と、第1および第4ソートプロセッサP1、
P4の出力から2進木の最終段としての第3および第6
ソートプロセッサP3、P6に接続された最終段補助経
路I13、I46とから構成される2つの2進木経路が
形成される。第3および第6ソートプロセッサP3、P
6からの出力O3、O6は、出力手段(図示せず)によ
って個別に取り出される。この場合、図9に示すよう
に、2進木経路の形成にあたって第7および第8ソート
プロセッサP7、P8は用いられていない。なお、前述
の第1実施形態と同様な構成については同一の参照符号
を付してその詳細な説明を省略する。
【0041】この第2実施形態では、経路選択手段の働
きによって第1〜第8ソートプロセッサP1〜P8が1
次元経路に接続されると、前述と同様に、通常のパイプ
ラインマージソート処理が実行される(図3参照)。そ
の一方で、図9に示すように、経路選択手段の働きによ
って第1〜第3ソートプロセッサP1〜P3を用いて第
1の2段2進木経路を形成するとともに第4〜第6ソー
トプロセッサP4〜P6を用いて第2の2段2進木経路
を形成することができる。その結果、各2段2進木経路
を用いて、複数群のソート済みデータ列に対して個別に
並行してマージ処理を施すことができる。こういった多
重/並行処理によって処理時間の短縮化を図ることがで
きる。この場合、各2段2進木経路では、4つ以下のソ
ート済みデータ列にマージ処理が施される。4つ以下の
ソート済みデータ列を8入力の3段2進木経路で処理す
ることとなると、必ず勝ち抜かないダミーのデータを入
力したり、任意のソートプロセッサでの比較処理をスキ
ップしたりする等の付加的処理が必要となるが、4入力
の2段2進木経路を採用することによって、こうした4
つ以下のソート済みデータ列の処理を効率化させること
ができる。
【0042】さらに、複数の2進木経路で多重処理を図
って効率化を実現させることができるだけでなく、例え
ば図10に示すように、経路選択手段の働きによって1
次元経路と2進木経路とを混在させて両者の処理を並行
して実行することも可能である。この場合、第3ソート
プロセッサP3からは、初段補助経路I11、I12、
I21、I22から入力されたデータ列が2進木経路で
マージ処理されて出力O3から送り出される。その一方
で、第8ソートプロセッサP8からは、初段補助経路I
41から入力されたデータ列が第4〜第8ソートプロセ
ッサP4、P8に沿って1次元経路を伝わりソート処理
されて出力O8から送り出される。出力手段は、これら
の出力O3、O8を個別に受け取って、後段の処理に送
り込む。
【0043】その他、経路選択手段の働きによって、複
数個の1次元経路を形成することも可能である(図示せ
ず)。なお、2つのソート済みデータ列に対しマージ処
理を施す際に第7および第8ソートプロセッサP7、P
8を利用するように配線を施せば、前述の2進木経路を
利用する場合よりも高速な処理を期待することができ
る。
【0044】[第3実施形態]図11は本発明の第3実
施形態に係るマージソート処理装置の2進木経路を示
す。この第3実施形態では、第1〜第8ソートプロセッ
サP1〜P8を用いた1次元経路でソート処理を施すこ
とができることに加え、経路選択手段の働きにより、2
進木の初段としての第2および第5ソートプロセッサP
2、P5と、2進木の最終段としての第7ソートプロセ
ッサP7とを通じてマージ処理が実行される。同時に、
第2ソートプロセッサP2に対する初段補助経路I2
1、I22からの入力は第1および第3ソートプロセッ
サP1、P3に個別に入力される。同様に、第5ソート
プロセッサP5に対する初段補助経路I52、I52か
らの入力は第4および第6ソートプロセッサP4、P6
に個別に入力される。最終段としての第7ソートプロセ
ッサP7からの出力O7は、出力手段(図示せず)に送
り出されるとともに、第8ソートプロセッサP8にも送
り込まれる。その他、前述の実施形態と同様の構成につ
いては同一の参照符号を付してその詳細な説明を省略す
る。
【0045】この第3実施形態では、第1、第3、第4
および第6ソートプロセッサP1、P3、P4、P6が
ソート済みデータ列を取り込み、取り込んだデータ列の
中で前データと後データとを順次比較する。比較の結
果、データの順番がソート規則に背くと判断されると、
エラーデータを検出したとして報告線ER1、ER3、
ER4、ER6を通じてエラー処理手段(図示せず)に
報告する。同様に、第8ソートプロセッサP8では、マ
ージ済みデータ列を取り込んて、取り込んだデータ列の
中で前データと後データとを比較する。エラー情報が得
られれば報告線ER8からエラー処理手段にその情報が
報告される。
【0046】かかる構成によれば、第1、第3、第4、
第6ソートプロセッサP1、P3、P4、P6の報告線
ER1、ER3、ER4、ER6のいずれかからエラー
情報が報告されると、例えばソート処理時または格納手
段から初段に入力されるまでの経路での伝達時に、初段
に入力されたソート済みデータ列のエラーが発生してい
たこととなる。これらのいずれの報告線ER1、ER
3、ER4、ER6からもエラー情報が報告されず、第
8ソートプロセッサP8の報告線ER8からエラー情報
が報告されると、2進木経路を通じて実行されたマージ
処理にエラーが発生していたこととなる。
【0047】その他、図1および図4に示すマージソー
ト処理装置で、3段2進木経路の最終段である第8ソー
トプロセッサP8に同様の処理を実行させ、エラー情報
を吸い上げるようにしてもよく、図8および図9に示す
マージソート処理装置で、2つの2段2進木経路にそれ
ぞれ同一のソート済みデータ列群を入力させて、2進木
経路に沿ったマージ処理に参加していない第8ソートプ
ロセッサP8に同様の処理を実行させてもよい。後者の
例では、各2進木経路の出力O3、O6が第8ソートプ
ロセッサP8に接続される。第8ソートプロセッサP8
は、両出力O3、O6が同一であれば動作が正常である
ことを判定することができる。
【0048】[第4実施形態]図12は本発明の第4実
施形態に係るマージソート処理装置の2進木経路を示
す。この第4実施形態では、第1〜第8ソートプロセッ
サP1〜P8を用いた1次元経路でソート処理を施すこ
とができることに加え、経路選択手段の働きにより、第
1〜第3ソートプロセッサP1〜P3で構成された2進
木経路の最終段としての第3ソートプロセッサP3に、
第4および第5ソートプロセッサP4、P5が1次元状
に接続される。第4および第5ソートプロセッサP4、
P5には、補助経路I42、I52を通じて任意のソー
ト済み結合データが個別に入力される。その他、前述の
実施形態と同様の構成については同一の参照符号を付し
てその詳細な説明を省略する。
【0049】このような構成によれば、第4および第5
ソートプロセッサP4、P5にソート済みデータ列を付
加的に入力することができるので、2進木初段へ入力可
能なデータ列数以上のデータ列を処理することができ
る。しかも、補助経路の配線を減少させて、回路基板上
の専有面積の制限に対応することができる。また、前段
の入力手段のアクセス時間が異なる場合、例えば、アク
セスの速い入力手段は初段補助経路I11、I12、I
21、I22に接続され、アクセスの遅い入力手段は補
助経路I42、I52に接続される。その結果、補助経
路I42、I52の採用によってデータを取り込むタイ
ミングの調整を行うことができる。例えば、ソート済み
データ列がマージソート処理装置内の記憶装置M1〜M
8に格納されていれば、これらのデータ列を初段補助経
路I11、I12、I21、I22に接続し、ソート済
みデータ列がホストコンピュータ内の記憶装置に格納さ
れていれば、これらのデータ列を補助経路I42、I5
2に接続するのである。
【0050】なお、2進木経路の最終段に直列して1次
元経路を接続することができるだけでなく、2進木経路
の初段側で入力に先立って1次元経路での処理を実行さ
せてもよい。
【0051】[第5実施形態]図13は本発明の第5実
施形態に係るマージソート処理装置の2進木経路の構成
を示す。この第5実施形態では、2進木の2段目として
の第4および第7ソートプロセッサP4、P7と、2進
木の最終段としての第8ソートプロセッサP8とに、そ
れらのソートプロセッサで比較の結果得られた勝ち抜け
情報を出力させる報告線SN4、SN7、SN8が接続
される。その他、前述の実施形態と同様の構成について
は同一の参照符号を付してその詳細な説明を省略する。
【0052】このような構成によれば、得られた勝ち抜
け情報に基づいて、初段としての第2、第3、第5およ
び第6ソートプロセッサP2、P3、P5、P6、が入
力手段(図示せず)にアクセスする際にそれらのアクセ
スにプライオリティ付けを行うことができる。例えば、
入力手段に対するアクセス権が1つの場合には、最終段
の報告線SN8からの勝ち抜け情報によって各初段から
のアクセスを最適化することができ、入力手段に対する
アクセス権が2つの場合には、2段目の報告線SN4、
SN7からの勝ち抜け情報に基づいて各初段からのアク
セスを最適化することができる。これらのアクセスの最
適化によってデータ処理の一層の高速化を図ることがで
きる。
【0053】なお、勝ち抜け情報としては、どのソート
済みデータ列へのアクセスを優先させればよいかを判断
することができればよく、処理段数に応じた情報、例え
ばSN8では3ビット、SN4やSN7では2ビットの
情報があれば足りる。
【0054】また、前述したように連続した勝ち抜けデ
ータ数を出力するにあたって、この勝ち抜け情報を利用
することもできる。すなわち、同一の勝ち抜け情報が連
続する場合には、勝ち抜け情報を出力を自制し、勝ち抜
け情報が変化した時点で、その変化が発生するまでの勝
ち抜けデータ数をデータ列識別子とともに出力するので
ある。その結果、マージ処理前のソート済みデータ列に
予め識別子を付与しておく必要がなくなる。
【0055】[第6実施形態]図14は本発明の第6実
施形態に係るマージソート処理装置の2進木経路の構成
を示す。この第6実施形態では、2進木経路の形成時
に、各ソートプロセッサP1〜P6に接続された記憶装
置M1〜M8が任意に組み合わされてマージ処理用の記
憶装置が用意される。接続関係変更手段(図示せず)
は、各記憶装置M1〜M8の記憶容量に応じて(図3参
照)、ソート済みデータ列の記憶に最適な記憶装置の組
合せ、すなわち、均等化された記憶装置の組合せを選択
する。例えば、図14に示すように、第1〜第5ソート
プロセッサP1〜P5に接続される第1〜第5記憶装置
M1〜M5は、第1ソートプロセッサP1に接続される
一方の初段補助経路I11に共通して接続される。第6
ソートプロセッサP6に接続される第6記憶装置M6
は、第1ソートプロセッサP1に接続される他方の初段
補助経路I12に接続される。第7ソートプロセッサP
7に接続される第7記憶装置M7は第2ソートプロセッ
サP2の2つの初段補助経路I21、I22に共通して
用いられ、第8ソートプロセッサP8に接続される第8
記憶装置M8は、第4および第5ソートプロセッサP
4、P5に連なる4つの初段補助経路I41、I42、
I51、I52や、最終段としての第3および第6ソー
トプロセッサP3、P6の出力に共通して用いられる。
【0056】なお、1次元経路を用いたパイプラインマ
ージソート機構の設計時に予め全てのソートプロセッサ
P1〜P8に対して共通の記憶装置を割り当てれば、接
続関係変更手段は、1次元経路形成時と2進木経路形成
時とで各ソートプロセッサP1〜P8に対するアクセス
可能範囲を変更するだけで済む。
【0057】[第7実施形態]図15には、例えば図3
に示される1次元経路に沿って3以上のソート済みデー
タ列1〜Nをマージ処理する際に用いられる入力用デー
タ列が示される。かかるデータ列では、ソートキー10
に、各ソート済みデータ列1〜Nごとに転送経路を決定
するマージ処理識別子11が付される。いま、8つのソ
ート済みデータ列がマージ処理されるにあたって図4に
示すような2進木経路が見立てられる場合を想定する。
8つのソート済みデータ列が混合された入力用データ列
に基づいてデータがシリアルに入力されると、図3を参
照し、第2ソートプロセッサP2はマージ処理識別子1
1に基づいてレコードデータ列1のソートキーを順次抜
き出す。他のデータはそのまま1次元経路に沿って後段
のソートプロセッサに送り込まれる。次に、第2ソート
プロセッサP2がレコードデータ列2のソートキーを抜
き出すと、2進木の初段となる第2ソートプロセッサP
2は、レコードデータ列1および2の1対のデータ同士
を比較し、ソート規則に従って優位なデータを出力す
る。出力されたデータでは、2進木の2段目にあたる第
4ソートプロセッサP4を特定する識別子にマージ処理
識別子11が書き換えられる。レコードデータ列3およ
び4に属するデータは順次第3ソートプロセッサP3で
抜き出されて比較される。ここで勝ち抜けたデータには
第4ソートプロセッサP4用のマージ処理識別子が付さ
れる。したがって、第2および第3ソートプロセッサP
2、P3で勝ち抜けたデータは第4ソートプロセッサP
4で抜き出され、比較される。こういった処理が順次続
けられ、最終的に、第8ソートプロセッサP8からマー
ジ済みデータが出力される。
【0058】ただし、同一のレコードデータ列のデータ
が連続して送り込まれてきた場合には、後着のデータを
順次付属のメモリに蓄えていき、比較の対象となるレコ
ードデータ列の相手方データが到着した時点で比較が実
行される。したがって、入力用データ列では、各ソート
済みデータ列内の順番が崩されなければ、どのような順
番でデータを並べてもよい。しかも、予め図15に示す
順番に配列された入力用データ列を格納する特別な記憶
手段を設ける必要は全くない。
【0059】なお、以上の実施形態では、8個のソート
プロセッサを採用しているが、3個以上であれば、任意
の個数のソートプロセッサを採用することができる。
【0060】
【発明の効果】以上のように第1発明によれば、既存の
ソートプロセッサの1次元経路に加え、2進木経路を形
成するようにしたので、既存のソートプロセッサを利用
して、ハードウェア量の増加を極力抑制しつつ、1次元
経路で得られたソート済みデータ列にマージ処理を施す
ことができる。
【0061】また、第2発明によれば、経路選択手段に
よって1次元経路および2進木経路を切り換えることが
でき、その結果、組み込まれたソートプロセッサを最大
限活用して効率的且つ高速なマージソート処理を実行す
ることが可能となる。
【0062】さらに、第3発明によれば、ハードウェア
的に1つのマージソート処理装置の中で、複数の1次元
経路や複数の2進木経路の形成、1次元経路および2進
木経路の混在を達成することによって、多重処理や並列
処理を可能とし、データ処理の効率化を図ることができ
る。
【0063】さらにまた、第4発明によれば、エラー情
報の報告によって、例えばソート処理時または格納手段
から2進木経路の初段に入力されるまでの経路での伝達
時に、2進木経路の初段に入力されたソート済みデータ
列に含まれるエラーを検出したり、2進木経路を通じて
実行されたマージ処理で発生したエラーを検出したりす
ることができる。
【0064】さらにまた、第5発明によれば、2進木経
路の初段に入力可能なソート済みデータ列数を超えるソ
ート済みデータ列を2進木経路後段の1次元経路を用い
て処理することができる。しかも、2進木経路の配線を
減少させて、回路基板上の専有面積の制限に対応するこ
とができる。また、マージソート処理装置の前段に接続
された入力手段のアクセス時間が異なる場合でも、デー
タ列を入力させる入力経路を選択することによって比較
回数やデータ取り込みタイミングの調整を行うことがで
きる。その結果、処理効率が向上する。
【0065】さらにまた、第6発明によれば、得られた
勝ち抜け情報に基づいてデータ処理の一層の高速化を図
ることができる。例えば、2進木の初段が前段の入力手
段にアクセスする際にそれらのアクセスにプライオリテ
ィ付けを行うことができる。これらのアクセスの最適
化、効率化によってデータ処理の一層の高速化を図るこ
とができる。
【0066】さらにまた、第7発明によれば、記憶装置
の効率的活用を通じてデータ処理の一層の高速化を図る
ことができる。
【0067】さらにまた、第8発明によれば、マージ済
みデータ列のデータ量を圧縮することができる。しか
も、マージ処理時のデータ転送量を抑制して一層のデー
タ処理の高速化を図ることができる。
【0068】さらにまた、第9発明によれば、別途2進
木経路を設けることなく1次元経路を用いてマージ処理
を実行することが可能となる。
【0069】さらにまた、第10発明によれば、各デー
タにマージ処理識別子を付することによって、簡単にデ
ータの抜き出しを実現することができる。
【0070】さらにまた、第11発明によれば、マージ
処理識別子を書き換えることによってマージ済みのデー
タ列を所望のソートプロセッサに送り込むことが可能と
なる。
【0071】さらにまた、第12発明によれば、マージ
処理識別子の書き換えによって、確実に2進木経路を形
成することができる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態に係るマージソート処
理装置の全体構成を示す概略図である。
【図2】 各レコードデータの構成を示す図である。
【図3】 マージソート処理装置が1次元経路を形成す
る場合の処理動作を説明する図である。
【図4】 マージソート処理装置が2進木経路を形成す
る場合の処理動作を説明する図である。
【図5】 マージ済みデータ列の構成を示す図である。
【図6】 ソート済みデータ列の構成を示す図である。
【図7】 マージ済みデータ列の構成を示す図である。
【図8】 本発明の第2実施形態に係るマージソート処
理装置の全体構成を示す概略図である。
【図9】 複数の2段2進木経路を形成する場合の処理
動作を説明する図である。
【図10】 1次元経路および2進木経路を混在させる
場合の処理動作を説明する図である。
【図11】 本発明の第3実施形態に係るエラー検出を
説明する図である。
【図12】 本発明の第4実施形態に係るマージソート
処理装置の動作を説明する図である。
【図13】 本発明の第5実施形態に係る勝ち抜け情報
の報告を説明する図である。
【図14】 本発明の第6実施形態に係るマージソート
処理装置の動作を説明する図である。
【図15】 本発明の第7実施形態に係る入力用データ
列の構成を示す図である。
【符号の説明】
10 ソートキー、11 データ列用識別子、13 勝
ち抜きデータ数、ER1〜ER8 エラーデータを報告
する報告線、I11〜I57 2進木経路を形成する補
助経路、M1〜M8 記憶装置、O3、O6 出力手段
に至る出力、PS 経路選択手段、P1〜P8 ソート
プロセッサ、SN4〜SN8 勝ち抜け情報用報告線、
W01〜W78 1次元経路。

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 2つのデータを比較することによってソ
    ート規則に従ったデータ列を生成する複数のソートプロ
    セッサと、これら複数のソートプロセッサを1次元状に
    接続する1次元経路とを備え、前段のソートプロセッサ
    から出力されたデータ列同士を後段のソートプロセッサ
    で比較してソート済みデータ列を生成するマージソート
    処理装置において、 任意の前記ソートプロセッサを2進木状に接続する2進
    木経路を備え、この2進木経路の初段から前記ソート済
    みデータ列を入力し、各ソートプロセッサでは、2つの
    データの比較の結果、前記ソート規則に対して優位なデ
    ータが出力されることによってマージ済みデータ列が出
    力されることを特徴とするマージソート処理装置。
  2. 【請求項2】 前記2進木経路で接続されたソートプロ
    セッサには、前記1次元経路および2進木経路のいずれ
    かを選択する経路選択手段が接続されることを特徴とす
    る請求項1に記載のマージソート処理装置。
  3. 【請求項3】 前記経路選択手段は、ソート済みデータ
    列を生成する機能を完遂する1次元経路と、マージ済み
    データ列を生成する機能を完遂する2進木経路との少な
    くともいずれか一方を含む複数個の経路を形成し、各経
    路の最終段には、各経路の出力を個別に取り出す出力手
    段が接続されることを特徴とする請求項2に記載のマー
    ジソート処理装置。
  4. 【請求項4】 2進木経路を形成した際に、各ソート済
    みデータ列およびマージ済みデータ列のいずれかを取り
    込み、データ列の前データと後データとを比較すること
    によって、前記ソート規則に背くエラーデータを検出す
    る機能を任意の前記ソートプロセッサに担わせることを
    特徴とする請求項1〜3のいずれかに記載のマージソー
    ト処理装置。
  5. 【請求項5】 前記2進木経路の最終段に、任意の前記
    ソートプロセッサで構成された1次元経路を直列に接続
    し、その任意のソートプロセッサに任意のソート済みデ
    ータ列を入力することを特徴とする請求項1〜4のいず
    れかに記載のマージソート処理装置。
  6. 【請求項6】 前記2進木経路に組み込まれる任意の前
    記ソートプロセッサに、そのソートプロセッサでの比較
    の結果得られる勝ち抜け情報を出力させる報告線を接続
    したことを特徴とする請求項1〜5のいずれかに記載の
    マージソート処理装置。
  7. 【請求項7】 前記各ソートプロセッサには、1次元経
    路の段数に応じたデータ数の記憶容量を持った記憶装置
    が接続され、これら記憶装置には、記憶容量に従って記
    憶装置同士を組み合わせ、前記ソート済みデータ列の記
    憶に最適な記憶装置を提供する接続関係変更手段が接続
    されることを特徴とする請求項1〜6のいずれかに記載
    のマージソート処理装置。
  8. 【請求項8】 前記マージ済みデータ列では、同一のソ
    ート済みデータ列から連続して勝ち抜けたデータ数が出
    力されることを特徴とする請求項1〜7のいずれかに記
    載のマージソート処理装置。
  9. 【請求項9】 前記ソートプロセッサは、前記1次元経
    路に沿ってシリアルに入力されるデータの中から処理対
    象データを抜き出し、抜き出したデータに基づいてデー
    タの比較を行い、その結果、前記1次元経路が前記2進
    木経路に見立てられることを特徴とする請求項1〜8
    いずれかに記載のマージソート処理装置。
  10. 【請求項10】 前記処理対象データの抜き出しにあた
    って、前記ソートプロセッサは、各データに付されたマ
    ージ処理識別子を識別することを特徴とする請求項9に
    記載のマージソート処理装置。
  11. 【請求項11】 前記マージ処理識別子は、前記比較の
    結果前記ソートプロセッサから出力される度に書き換え
    られることを特徴とする請求項10に記載のマージソー
    ト処理装置。
  12. 【請求項12】 前記2進木経路の前段に該当するソー
    トプロセッサは、前記マージ処理識別子の書き換えにあ
    たって、前記2進木経路の後段にあたるソートプロセッ
    サを特定するマージ処理識別子を用いることを特徴とす
    る請求項11に記載のマージソート処理装置。
JP19032496A 1996-07-19 1996-07-19 マージソート処理装置 Expired - Fee Related JP3347592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19032496A JP3347592B2 (ja) 1996-07-19 1996-07-19 マージソート処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19032496A JP3347592B2 (ja) 1996-07-19 1996-07-19 マージソート処理装置

Publications (2)

Publication Number Publication Date
JPH1040076A JPH1040076A (ja) 1998-02-13
JP3347592B2 true JP3347592B2 (ja) 2002-11-20

Family

ID=16256293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19032496A Expired - Fee Related JP3347592B2 (ja) 1996-07-19 1996-07-19 マージソート処理装置

Country Status (1)

Country Link
JP (1) JP3347592B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6380952B2 (ja) 2014-12-12 2018-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 多数の要素からなる配列をソートする装置、方法およびプログラム

Also Published As

Publication number Publication date
JPH1040076A (ja) 1998-02-13

Similar Documents

Publication Publication Date Title
US5043880A (en) Data flow processor which combines packets having same identification and destination and synchronizes loop variables for detecting processing loop termination
JPS60500934A (ja) 自己方路指定交換ネツトワ−ク
US5164939A (en) Packet switching device
US6618804B1 (en) System and method for rearranging bits of a data word in accordance with a mask using sorting
JP3347592B2 (ja) マージソート処理装置
US5890001A (en) Arbitration apparatus employing token ring for arbitrating between active jobs
CN1190475A (zh) 累加器电路及其使用方法
CA2064957A1 (en) Method and apparatus for performing pattern search functions
US20100098070A1 (en) Multistage switch control circuit
JP2513219B2 (ja) デ−タ処理用プロセツサ
JPH05257874A (ja) アービタ装置
JPS6324325A (ja) デ−タ項目を分類する方法および分類装置
JPS6195477A (ja) ベクトル処理装置
JP4158264B2 (ja) ソート・マージ処理装置およびソート・マージ回路
JP2001051827A (ja) ソートプロセッサ及びソート処理回路
JP2878160B2 (ja) 競合調停装置
Iwama et al. An O (N) oblivious routing algorithm for 2-D meshes of constant queue-size
JP2803209B2 (ja) パケットスイッチ
JP3270486B2 (ja) ファジィ推論装置
JPH06141044A (ja) パケット交換スイッチ
JP2845737B2 (ja) ノード演算パイプライン
JP3447180B2 (ja) データ演算回路
CN117155848A (zh) 路由器输入仲裁方法、装置、设备及存储介质
JPH08237255A (ja) セルスイッチおよびそれを用いたスイッチ網とatm交換網
JPH06105459B2 (ja) ベクトル処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080906

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees