JPH0719207B2 - 大容量ソ−ト処理方式 - Google Patents

大容量ソ−ト処理方式

Info

Publication number
JPH0719207B2
JPH0719207B2 JP2749786A JP2749786A JPH0719207B2 JP H0719207 B2 JPH0719207 B2 JP H0719207B2 JP 2749786 A JP2749786 A JP 2749786A JP 2749786 A JP2749786 A JP 2749786A JP H0719207 B2 JPH0719207 B2 JP H0719207B2
Authority
JP
Japan
Prior art keywords
data
control circuit
read
pipeline
register
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
JP2749786A
Other languages
English (en)
Other versions
JPS62184532A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2749786A priority Critical patent/JPH0719207B2/ja
Publication of JPS62184532A publication Critical patent/JPS62184532A/ja
Publication of JPH0719207B2 publication Critical patent/JPH0719207B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、1台のソート処理装置のソート可能容量より
大きいデータ容量をもつデータ集合のソートを行なうた
めのソート処理方式に関する。
〔従来技術〕
一般にデータ集合をデータ値の小さい順もしくは大きい
順に並べ換える場合、ソート処理装置が使用される。か
かるソート処理装置には、パイプライン型ソート処理装
置と非パイプライン型ソート処理装置があるが、ここで
は、データ値の小さい順もしくは大きい順にデータを任
意転送バイト幅単位でストリーム状に出力するようなパ
イプライン型ソート処理装置を対象とする。なお、ソー
ス処理装置に関する公知文献としては、例えば岩波書店
発行(1985年)の「岩波講座マイクロエレクトロニクス
9 VLSIコンピュータII」(240〜244頁)が挙げられ
る。
従来のパイプライン型ソート処理装置には、S=L・N
(但し、S:ソート可能容量、L:データの長さ、N:データ
の個数)という関係がある。あるデータ集合をソートす
る場合において、そのデータ容量がSより大きい場合、
このパイプライン型ソート処理装置1台だけではデータ
集合全体をソートすることはできない。このため、従
来、2台のパイプライン型ソート処理装置でソートされ
たソート済部分集合をパイプライン的にマージして1つ
のソート済集合を作るパイプライン型マージ処理装置が
提案されている。
第5図、第6図及び第7図により従来技術を説明する。
第5図は従来のパイプライン型マージ処理装置の構成例
を示す図である。10はパイプライン型マージ処理装置、
101は装置10の1単位バイト幅データ入力端子、102は同
じく装置10の1単位バイトデータ入力端子、111は装置1
0の1単位バイト幅データ出力端子、103は入力端子101
から入力されるソート済データ部分集合の1データ分を
格納するメモリ、104は入力端子102から入力される他方
のソート済部分集合の1データ分を格納するメモリ、10
5−1,105−2はメモリ103,104へのデータの読み書きを
1単位バイト幅で各々行なう読出し/書込み回路、106
はメモリ103のデータの1単位バイトを格納するレジス
タ、107はメモリ104のデータの1単位バイトを格納する
レジスタ、108はレジスタ106と107に格納されているデ
ータの値を比較する比較器、109はレジスタ106,107のい
ずれか一方のデータを出力端子111に転送する経路を選
択するマルチプレクサ、110は装置10の制御回路であ
る。制御回路110は、読出し/書込み回路105−1,105−
2の制御を行なう読出し/書込み制御回路121、レジス
タ・マルチプレクサ109の制御を行なうレジスタ・マル
チプレクサ制御回路122、比較器108から比較結果信号を
受け取り、それに基づいて回路121,122を制御して装置
内各部を動作させる共通制御回路123からなる。
本パイプライン型マージ処理装置10の基本的な動作は2
つのサイクルで実現する。ここで2つのサイクルをライ
トサイクル(Wサイクル)、リードサイクル(Rサイク
ル)と呼ぶことにする。各サイクルでは次の処理が行わ
れる。
Wサイクル:データ入力端子101もしくは102からデー
タを1単位バイト入力し、メモリ103もしくは104に格納
する。また、制御回路110からの指示に従い、レジスタ1
06もしくは107に格納されているデータの1単位バイト
をデータ出力端子111に出力する。
Rサイクル:メモリ103からデータの1単位バイトを
読み出してレジスタ106に、メモリ104からデータの1単
位バイトを読み出してレジスタ107に各々同時に格納
し、レジスタ106と107に格納されているデータの値を比
較器108で比較して、比較結果を比較結果信号により制
御回路110に通知する。
ここで、比較結果について説明しておく。比較結果信号
としては、データの長さLバイトの場合、2データがK
バイト(K<L)まで同じ値である時、そのバイトまで
は“=”信号を、K+1バイト目で2データの大小関係
が確定する時、K+1バイトからLバイトまで、“V"信
号(メモリ103に格納されているデータ値がメモリ104に
格納されているデータ値より大きいことを意味する)、
あるいは“∧”信号(これは“V"の逆を意味する)を出
力し続ける。即ち、2データの大小関係が確定後の比較
における結果は、比較結果信号には反映されない。
第6図は複数台のパイプライン型ソート処理装置と複数
台のパイプライン型マージ処理装置と1台の出力制御回
路とを組み合わせて接続して、大容量のデータ集合をソ
ートする大容量ソート処理方式の一例を説明する図であ
って、10はパイプライン型マージ処理装置(MER)、20
はパイプライン型ソート処理装置(SOR)、30はデータ
集合全体のソート結果を1単位バイトずつ出力する出力
制御回路(OCE)である。
第6図は、装置10,20を各々3台とした場合の構成例で
あり、装置間の信号関係は全て同じであり、その間のデ
ータ転送はREAD−ACK信号のハンドシエイクで行われ
る。第6図において、一番下に位置するパイプライン型
マージ処理装置MER#2について言えば、パイプライン
型ソート処理装置SOR#2およびパイプライン型マージ
処理装置MER#1を該MER#2の上段あるいは上位の装置
と言い、また、出力制御回路OCEをMER#2の下段あるい
は下位の装置と呼ぶことにする。
第7図は第6図の構成において、従来パイプライン型マ
ージ処理装置を用いた場合の処理の基本的なシーケンス
例を示している。
第7図に示す×××信号がHIGHレベルになって(アサー
ト)、次にLOWレベルになる(ネゲート)までを×××
信号がactive状態と呼ぶことにする。第7図において、
501は、上段の数値は第5図におけるレジスタ106に格納
されているデータ値、下段の数値はレジスタ107に格納
されているデータ値を、502は出力制御回路OCE30が上段
のパイプライン型マージ処理装置から読み出したデータ
値、即ち、データ集合全体のソート結果である。また、
MEM READ(& COMPARE)信号active状態とは、各メモ
リ(第5図の103,104)から1単位バイト読み出して対
応するレジスタ(第5図の106,107)に同時に格納し
て、レジスタ106,107のデータ値を比較して、比較結果
を制御回路110に通知することを、MEM WRITE信号active
状態とは、メモリのどちらか一方へ、対応するデータ集
合(上段のパイプライン型マージ処理装置あるいはソー
ト処理装置内にある)の1データの1単位バイトを格納
することを意味する。
〔発明が解決しようとする問題点〕
従来のパイプライン型マージ処理装置では、第5図に示
す制御回路110中にある読出し/書込み制御回路121が読
出し制御と書込み制御に独立していないため、Rサイク
ルとWサイクルが連続して動作することにより、第6図
における出力制御回路OCE30がREAD要求を出した場合、
装置10(MER#2)は上位装置からの1データの1単位
バイトの転送を得るまで待って、メモリのどちらか一方
への書込みを行なった後で、OCE30にレジスタのどちら
か一方のデータ値を転送する(とともにACK信号をアサ
ートする)ので、処理時間がかかるという問題点があっ
た。
本発明の目的は、上記の如き問題点を除去するものであ
り、大容量のデータ集合を高速にソートする方式を提供
することにある。
〔問題点を解決するための手段及び作用〕
本発明は、パイプライン型マージ処理装置の制御回路中
に互に独立して動作できる読出し制御回路と書込み制御
回路を設け、出力制御回路OCEのREAD要求に対し、直ち
に、レジスタのどちらか一方のデータ値を転送し(ACK
信号をアサートする)、該動作と並行して、上位装置か
らの1データの1単位バイトの転送を得て、メモリのど
ちらか一方へ書込む処理シーケンスを行うか、あるい
は、上記OCEのREAD要求に対し、有効な1データの1単
位バイトがメモリのどちらか一方へ格納されるまで待合
せを行なうか動作せしめることにより、1台のパイプラ
イン型ソート処理装置のソート可能容量より大きいデー
タ集合を高速にソートすることを可能にするものであ
る。
〔実施例〕
第1図は本発明におけるパイプライン型マージ処理装置
の基本構成例を示す。10はパイプライン型マージ処理装
置、101は装置10の1単位バイト幅データ入力端子、102
は同じく装置40の1単位バイト幅データ入力端子、111
は装置40の1単位バイト幅データ出力端子、103は入力
端子101から入力されるソート済データ部分集合の1デ
ータ分を格納するメモリ、104は入力端子102から入力さ
れる他方のソート済データ部分集合の1データ分を格納
するメモリ、105−1,105−2はメモリ103,104へのデー
タの読み書きを1単位バイト幅で各々行なう読出し/書
込み回路、106はメモリ103のデータの1単位バイトを格
納するレジスタ、107はメモリ104のデータの1単位バイ
トを格納するレジスタ、108はレジスタ106と107に格納
されているデータの値を比較する比較器、109はレジス
タ106,107のいずれか一方のデータを出力端子111に転送
する経路を選択するマルチプレクサ、120は装置40の制
御回路である。ここで、制御回路120は、レジスタ・マ
ルチプレクサの制御を行なうレジスタ・マルチプレクサ
制御回路122、メモリの読出し回路の制御を行なう読出
し制御回路124、メモリへの書込み回路の制御を行なう
書込み制御回路125、比較器108から比較結果信号を受け
取り、それに基づいて回路122,124,125を制御して装置
内各部を動作させる共通制御回路126からなる。
第2図は第1図の実施例における処理の基本的なシーケ
ンス例を示す図であり、以下のような制御を行なう。
(1)本パイプライン型マージ処理装置10のWサイクル
は、MEMREAD(& COMPARE)信号のネゲートから開始
し、下位装置からのREAD要求に対するデータ値の転送動
作と並行して、メモリ103,104のどちらか一方へ1デー
タの1単位バイトを格納するために、上位のパイプライ
ン型マージ処理装置あるいはパイプライン型ソート処理
装置へREAD信号をアサートして、1データの1単位バイ
トの転送後、MEM WRITE信号をactive状態にする。一
方、RサイクルはMEM WRITE信号のネゲートから開始
し、MEM READ(& COMPARE)信号をactive状態にする。
(2)下段の出力制御回路OCEあるいは下段のパイプラ
イン型マージ処理装置からのREAD信号のアサートと、該
パイプライン型マージ処理装置10のMEM WRITE信号がact
ive状態になって、有効な1データの1単位バイトがメ
モリ103,104のどちらか一方へ格納されたことのAND条件
で、MEM READ(& COMPARE)信号をアサートする。ゆえ
に、READ信号のアサート時、有効な1単位バイトがメモ
リに格納されるまで、MEM READ(& COMPARE)信号は待
ち合わせられることになる。
第3図は第1図のパイプライン型マージ処理装置を用い
た大容量ソート処理方式の一実施例を示す図であって、
10は本発明によるパイプライン型マージ処理装置、20は
パイプライン型ソート処理装置、30はデータ集合全体の
ソート結果を1単位バイトずつ出力する出力制御回路OE
Cである。
以下、パイプライン型ソート処理装置20は小さい順にソ
ートするものとし、転送バイト幅は1バイト、データの
長さも1バイトとして説明する。
第3図において、パイプライン型マージ処理装置の初期
状態として、各パイプライン型ソート処理装置20にはデ
ータ集合のデータが入力されており、その出力の先頭デ
ータの先頭1バイトが、パイプライン型マージ処理装置
10の当該パイプライン型ソート処理装置が接続されてい
る側のメモリ104に格納されており、最上段のパイプラ
イン型マージ処理装置MER#0の片方のメモリ103には+
∞(データ値とは違う最大値、他のパイプライン型マー
ジ処理装置MER#1,MER#の片方のメモリ103には−∞
(データ値とは違い最小値)が格納されているものとす
る。また、最上値のパイプライン型マージ処理装置MER
#0の片方のメモリ103には装置は何も接続しないもの
とする。なお、データ長は1バイトとしているので、結
果的には、メモリ103,104には1データが格納されてい
ることになる。
各パイプライン型ソート処理装置には、第3図に示す如
くデータ,,,,,ならびにデータ終了表
示である+∞が存在している。なお、+∞,−∞はデー
タの最終および最初の識別のためのアイデンティファイ
アであるので、これに限定されるわけではない。+∞,
−∞の設定方法としては、第1図のデータ入力端子101
と、読出し/書込み回路105−1との間に、+∞,−∞
のデータ値の発生回路とマルチプスレクサを付加するな
どの方法をとればよい。
第4図(a),(b)に第3図における処理のシーケン
ス例を示す。ここで、出力制御回路OCE30に注目する
に、OCE30はデータ値502のうち、最初に読み出したデー
タ値−∞2個は無効データとして処理し、最後に読み出
したデータ値+∞をデータ集合の終了表示と認識してデ
ータ集合全体のソート処理が終了する。
〔発明の効果〕
以上説明したように、本発明によれば、下位の出力制御
回路の転送要求に対し、直ちにレジスタのどちらか一方
のデータ値を転送し、該動作と並行して、上位装置から
の1データの1単位バイトの転送を得て、メモリのまど
ちらか一方へ書込むシーケンスを行なうことが可能であ
るため、従来方式に比べて高速な大容量ソートが実現で
きる。
【図面の簡単な説明】
第1図は本発明方式におけるパイプライン型マージ処理
装置の基本装置構成図、第2図は第1図における装置の
処理の基本的シーケンス図、第3図は第1図のパイプラ
イン型マージ処理装置を用いた本発明の大容量ソート処
理方式の一実施例を示す図、第4図は第3図における処
理のシーケンス図、第5図は従来のパイプライン型マー
ジ処理装置の基本構成図、第6図は第5図のパイプライ
ン型マージ処理装置を用いた大容量ソート処理方式の構
成例を示す図、第7図は第6図における処理のシーケン
ス図である。 10…パイプライン型マージ処理装置、20…パイプライン
型ソート処理装置、30…出力制御回路、101,102…デー
タ入力端子、103,104…メモリ、105−1,105−2…読出
し/書込み回路、106,107…レジスタ、108…比較器、10
9…マルチプレクサ、120…制御回路、111…データ出力
端子、122…レジスタ・マルチプレクサ制御回路、124…
読出し制御回路、125…書込み制御回路、126…共通制御
回路。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数台のパイプライン型ソート処理装置と
    複数台のパイプライン型マージ処理装置とデータ集合全
    体のソート結果を1単位バイトずつ出力する1台の出力
    制御回路とを組合せて接続し、1台のパイプライン型ソ
    ート処理装置のソート可能容量より大きいデータ集合を
    ソートするソート処理方式において、前記パイプライン
    型マージ処理装置は、それに接続されるソート処理装置
    と前段のマージ処理装置からの各1データ分を格納する
    1対のメモリと、各メモリから1単位バイト読出したデ
    ータを一時格納する一対のレジスタと、前記レジスタの
    データ値を比較する比較器と、前記レジスタのいずれか
    一方のデータを出力するマルチプレクサと、及び、レジ
    スタ・マルチプレクサの制御を行なうレジスタ・マルチ
    プレクサ制御回路、メモリの読出し回路の制御を行なう
    読出し制御回路、メモリへの書込みを行なう書込み制御
    回路、比較器から比較結果信号を受け取り、それに基い
    てレジスタ・マルチプレクサ制御回路、読出し制御回
    路、書込み制御回路を制御して、本装置内各部を動作さ
    せる共通制御回路からなる制御回路とを具備して、前記
    出力制御回路のREAD要求に対し、直ちにレジスタのどち
    らか一方のデータ値を転送し、該動作と並行して、上位
    装置からの1データの1単位バイトの転送を得て、メモ
    リのどちらか一方へ書込むシーケンスを行なう動作と、
    該出力制御回路のREAD要求に対し、有効なデータの1単
    位バイトがメモリのどちらか一方へ格納されるまで待合
    せを行なう動作をせしめることを特徴とする大容量ソー
    ト処理方式。
JP2749786A 1986-02-10 1986-02-10 大容量ソ−ト処理方式 Expired - Fee Related JPH0719207B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2749786A JPH0719207B2 (ja) 1986-02-10 1986-02-10 大容量ソ−ト処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2749786A JPH0719207B2 (ja) 1986-02-10 1986-02-10 大容量ソ−ト処理方式

Publications (2)

Publication Number Publication Date
JPS62184532A JPS62184532A (ja) 1987-08-12
JPH0719207B2 true JPH0719207B2 (ja) 1995-03-06

Family

ID=12222775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2749786A Expired - Fee Related JPH0719207B2 (ja) 1986-02-10 1986-02-10 大容量ソ−ト処理方式

Country Status (1)

Country Link
JP (1) JPH0719207B2 (ja)

Also Published As

Publication number Publication date
JPS62184532A (ja) 1987-08-12

Similar Documents

Publication Publication Date Title
JPH0463430B2 (ja)
US5187783A (en) Controller for direct memory access
JPH05197647A (ja) 入力/出力装置及びデータ転送方法
US8719469B2 (en) Alignment of instructions and replies across multiple devices in a cascaded system, using buffers of programmable depths
US7346072B2 (en) Arbitration mechanism for packet transmission
JP2754825B2 (ja) マイクロプロセッサ
US5842044A (en) Input buffer device for a printer using an FIFO and data input method
JPH0719207B2 (ja) 大容量ソ−ト処理方式
JPH1063617A (ja) シリアル通信装置
JPS59214977A (ja) デ−タ処理装置
JP2643116B2 (ja) 主記憶制御装置
JP2588932B2 (ja) ソート処理装置
JP3211694B2 (ja) マルチプロセッサ接続方式
JP2803616B2 (ja) 入出力バスインタフェース制御方式
EP1193605A2 (en) Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit
JPH06301641A (ja) 電子計算機
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPH06301640A (ja) バスインタフェース回路
EP0337761A2 (en) Semiconductor integrated circuit
JPS63279359A (ja) マルチcpuのデ−タ受け渡し装置
JPH07210471A (ja) 情報処理装置
JPS63251846A (ja) 記憶装置制御システム
JPH066358A (ja) トークン制御方法およびその装置
JPS61175843A (ja) 割込み検出方式
JPH06161945A (ja) メモリデータ転送装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees