JPH061432B2 - デ−タ整列装置 - Google Patents
デ−タ整列装置Info
- Publication number
- JPH061432B2 JPH061432B2 JP9639885A JP9639885A JPH061432B2 JP H061432 B2 JPH061432 B2 JP H061432B2 JP 9639885 A JP9639885 A JP 9639885A JP 9639885 A JP9639885 A JP 9639885A JP H061432 B2 JPH061432 B2 JP H061432B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- byte
- input
- comparison
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/32—Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging 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)
- Time-Division Multiplex Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の詳細な説明】 〔発明の属する技術分野〕 本発明はデータ集合をデータ値の小さい順もしくは大き
い順に並べ換えるデータ整列装置に関する。
い順に並べ換えるデータ整列装置に関する。
一般にデータ整列装置は、2つの整列済みデータ部分集
合を併合し、該整列済みデータ部分集合に含まれるデー
タ数を1,2,4,……と倍々に大きくしていく比較ユ
ニットを複数個、縦続に接続した構成となっている。従
来のデータ整列装置は、比較ユニットの構成により二種
類に大別することができる。以下、A方式およびB方式
と呼ぶことにする。
合を併合し、該整列済みデータ部分集合に含まれるデー
タ数を1,2,4,……と倍々に大きくしていく比較ユ
ニットを複数個、縦続に接続した構成となっている。従
来のデータ整列装置は、比較ユニットの構成により二種
類に大別することができる。以下、A方式およびB方式
と呼ぶことにする。
初め第6図乃至第8図によりA方式のデータ整列装置に
ついて説明する。
ついて説明する。
第6図はA方式の装置構成例を示す図であり、10はデ
ータ整列装置、20は装置1のデータ入力端子、30は
装置1のデータ出力端子、40−1〜40−Uは比較ユ
ニットである。各比較ユニットは、入力端子601から
入力される整列済みデータ部分集合の一方を格納するメ
モリ603、該メモリ603と同じ大きさを持ち、入力
端子601からの整列済みデータ部分集合の他方を格納
するメモリ604、メモリ603,604へのデータの
読み書きを行う読出し/書込み回路605、メモリ60
3のデータの1バイトを格納するレジスタ606、メモ
リ604のデータの1バイトを格納するレジスタ60
7、レジスタ606と607に格納されているデータの
値を比較する比較器608、比較結果によりレジスタ6
06,607のいずれか一方に格納されているデータを
出力端子602に転送する経路を確立するマルチプレク
サ609からなる。こゝで、メモリ603と604の大
きさは、比較ユニット40−1では1個のデータ、40
−2では2個のデータ、40−3では4個のデータ、4
0−Uでは2U-1個のデータを格納できる大きさを有し
ている。
ータ整列装置、20は装置1のデータ入力端子、30は
装置1のデータ出力端子、40−1〜40−Uは比較ユ
ニットである。各比較ユニットは、入力端子601から
入力される整列済みデータ部分集合の一方を格納するメ
モリ603、該メモリ603と同じ大きさを持ち、入力
端子601からの整列済みデータ部分集合の他方を格納
するメモリ604、メモリ603,604へのデータの
読み書きを行う読出し/書込み回路605、メモリ60
3のデータの1バイトを格納するレジスタ606、メモ
リ604のデータの1バイトを格納するレジスタ60
7、レジスタ606と607に格納されているデータの
値を比較する比較器608、比較結果によりレジスタ6
06,607のいずれか一方に格納されているデータを
出力端子602に転送する経路を確立するマルチプレク
サ609からなる。こゝで、メモリ603と604の大
きさは、比較ユニット40−1では1個のデータ、40
−2では2個のデータ、40−3では4個のデータ、4
0−Uでは2U-1個のデータを格納できる大きさを有し
ている。
第6図の比較ユニット40−3におけるデータ部分集合
対の併合処理例のタイムチャートを第7図に示す。第7
図は、各々1バイトのデータが4個から成るデータ部分
集合対2組の併合処理を示したものである。第7図にお
いて、700はデータ対の比較処理、701はメモリ6
03から1バイト読み出してレジスタ606に格納する
処理、702はメモリ604から1バイト読み出してレ
ジスタ607に格納する処理、703はレジスタ606
と607に格納されているデータの値を比較して、比較
結果に従い、一方のレジスタ内のデータをマルチプレク
サ609で選択して出力端子602から比較ユニット4
0−4に転送すると同時に、比較ユニット40−2から
入力端子601を経由して、データの1バイトをメモリ
603あるいは604に書き込む処理を示している。7
04は1バイトの大きさを持つデータである。705−
1と706−1は入力端子601から順次入力される1
番目の整列済みデータ部分集合対であり、707−1は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。同様に、705−2と706−2は
2組目の整列済み入力データ部分集合対、707−2は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。
対の併合処理例のタイムチャートを第7図に示す。第7
図は、各々1バイトのデータが4個から成るデータ部分
集合対2組の併合処理を示したものである。第7図にお
いて、700はデータ対の比較処理、701はメモリ6
03から1バイト読み出してレジスタ606に格納する
処理、702はメモリ604から1バイト読み出してレ
ジスタ607に格納する処理、703はレジスタ606
と607に格納されているデータの値を比較して、比較
結果に従い、一方のレジスタ内のデータをマルチプレク
サ609で選択して出力端子602から比較ユニット4
0−4に転送すると同時に、比較ユニット40−2から
入力端子601を経由して、データの1バイトをメモリ
603あるいは604に書き込む処理を示している。7
04は1バイトの大きさを持つデータである。705−
1と706−1は入力端子601から順次入力される1
番目の整列済みデータ部分集合対であり、707−1は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。同様に、705−2と706−2は
2組目の整列済み入力データ部分集合対、707−2は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。
第7図の例について、比較ユニット40−3における処
理の様子を示すと第8図の通りである。第8図におい
て、「∧」、「∨」は各々レジスタ606,607のデ
ータの方が小さいことを示し、「×」は比較しないこと
を示している。800はメモリ603,604中のデー
タ部分集合の区切りを示し、800−1はデータ部分集
合705−1と705−2の区切り、800−2はデー
タ部分集合706−1と706−2の区切りを示す。時
刻は第7図の時刻及び処理701,702,703に対
応している。
理の様子を示すと第8図の通りである。第8図におい
て、「∧」、「∨」は各々レジスタ606,607のデ
ータの方が小さいことを示し、「×」は比較しないこと
を示している。800はメモリ603,604中のデー
タ部分集合の区切りを示し、800−1はデータ部分集
合705−1と705−2の区切り、800−2はデー
タ部分集合706−1と706−2の区切りを示す。時
刻は第7図の時刻及び処理701,702,703に対
応している。
ところで、A方式のデータ整列装置では、第6図に示す
様に、メモリ603,604へのデータの読出し/書込
み回路が1つしかないため、読み・書きが逐次的にしか
できない。このため、第7図に示すように、1バイトの
処理についてメモリへの読み・書きで3処理が必要とな
る。また、メモリ603,604のいずれかのデータ部
分集合が全て出力し終えないと、次のデータ部分集合の
入力を行うことができない。第7図の例では、データ部
分集合705−1と706−1を各々メモリ603,6
04に入力後、そのうちのデータ部分集合705−1が
出力し終える時点で、次のデータ部分集合705−2の
入力を開始している。このため、データの値によって
は、第7図に示すように、データ部分集合の入力に時間
の空きができる。これら2つの理由から、A方式は処理
時間が遅いという欠点があった。
様に、メモリ603,604へのデータの読出し/書込
み回路が1つしかないため、読み・書きが逐次的にしか
できない。このため、第7図に示すように、1バイトの
処理についてメモリへの読み・書きで3処理が必要とな
る。また、メモリ603,604のいずれかのデータ部
分集合が全て出力し終えないと、次のデータ部分集合の
入力を行うことができない。第7図の例では、データ部
分集合705−1と706−1を各々メモリ603,6
04に入力後、そのうちのデータ部分集合705−1が
出力し終える時点で、次のデータ部分集合705−2の
入力を開始している。このため、データの値によって
は、第7図に示すように、データ部分集合の入力に時間
の空きができる。これら2つの理由から、A方式は処理
時間が遅いという欠点があった。
次に第9図乃至第11図によりB方式のデータ整列装置
について説明する。
について説明する。
第9図はB方式の装置構成例を示す図であり、データ整
列装置10が比較ユニット40−1〜40−Uを縦続接
続した構成をとることは第6図と同様である。各比較ユ
ニットは、入力端子901から入力される整列済みデー
タ部分集合を格納するメモリ903、1データ分の大き
さを持つメモリ904、メモリ903の読出し/書込み
回路905、1バイトの大きさを持つレジスタ906,
907,910,レジスタ906と907に格納されて
いるデータの値を比較する比較器908、レジスタ90
6と907のいずれか一方のデータをデータ出力端子9
02に転送する経路を選択するマルチプレクサ909か
らなる。メモリ903の大きさは、第6図の場合と同様
に、比較ユニット40−1では1個のデータ、40−2
では2個のデータ、40−3では4個のデータ、40−
Uでは2U-1個のデータを格納できる大きさを有してい
る。
列装置10が比較ユニット40−1〜40−Uを縦続接
続した構成をとることは第6図と同様である。各比較ユ
ニットは、入力端子901から入力される整列済みデー
タ部分集合を格納するメモリ903、1データ分の大き
さを持つメモリ904、メモリ903の読出し/書込み
回路905、1バイトの大きさを持つレジスタ906,
907,910,レジスタ906と907に格納されて
いるデータの値を比較する比較器908、レジスタ90
6と907のいずれか一方のデータをデータ出力端子9
02に転送する経路を選択するマルチプレクサ909か
らなる。メモリ903の大きさは、第6図の場合と同様
に、比較ユニット40−1では1個のデータ、40−2
では2個のデータ、40−3では4個のデータ、40−
Uでは2U-1個のデータを格納できる大きさを有してい
る。
第10図は第9図の比較ユニット40−3におけるデー
タ部分集合対の併合処理例を示すタイムチャートであ
る。第10図において、1000はデータ対の比較処理
であり、1001と1002の2つの処理に分けられ
る。処理1001は次の〜のいずれかの動作とレジ
スタ906,907のいずれか一方のデータを比較結果
よりマルチプレクサ909で選択してデータ出力端子9
02へ出力する動作を同時に行う処理であって、から
の動作は次の通りである。
タ部分集合対の併合処理例を示すタイムチャートであ
る。第10図において、1000はデータ対の比較処理
であり、1001と1002の2つの処理に分けられ
る。処理1001は次の〜のいずれかの動作とレジ
スタ906,907のいずれか一方のデータを比較結果
よりマルチプレクサ909で選択してデータ出力端子9
02へ出力する動作を同時に行う処理であって、から
の動作は次の通りである。
データ入力端子901からデータを入力し、メモリ
904経由でレジスタ907に格納する。
904経由でレジスタ907に格納する。
データ入力端子901からデータを入力し、レジス
タ910に格納する。
タ910に格納する。
の動作に加え、メモリ903からデータの1バイ
トを読み出し、レジスタ906に格納する。
トを読み出し、レジスタ906に格納する。
の動作に加え、レジスタ906のデータをレジス
タ907に格納する。
タ907に格納する。
処理1002は、レジスタ910のデータをメモリ90
3に格納すると同時に、レジスタ906と907のデー
タの値を比較器908で比較し、比較結果を得る処理で
ある。1003は1バイトの大きさを持つデータを示
す。1004は一方の整列済み入力データ部分集合、1
005は他方の整列済み入力データ部分集合、1006
は併合後の出力データ部分集合で、1004−1と10
05−1を併合した結果が1006−1であり、100
4−2と1005−2を併合した結果が1006−2で
ある。
3に格納すると同時に、レジスタ906と907のデー
タの値を比較器908で比較し、比較結果を得る処理で
ある。1003は1バイトの大きさを持つデータを示
す。1004は一方の整列済み入力データ部分集合、1
005は他方の整列済み入力データ部分集合、1006
は併合後の出力データ部分集合で、1004−1と10
05−1を併合した結果が1006−1であり、100
4−2と1005−2を併合した結果が1006−2で
ある。
第10図の例について、比較ユニット40−3における
処理の様子を詳細に示したのが第11図である。第11
図では、データの大きさが1バイトのため、使用しない
メモリ904は省いてある。1100はメモリ903中
のデータ部分集合の区切りであって、1100−1はデ
ータ部分集合1004−1と1005−1の区切り、1
100−2はデータ部分集合1004−1と1004−
2の区切り、1100−3はデータ部分集合1005−
1と1004−2,1100−4はデータ部分集合10
04−2と1005−2の区切りを示す。1101はメ
モリ903内で1つのデータ部分集合に含まれるデータ
をつなぐポインタを示す。時刻は、第10図の時刻及び
処理1001,1002に対応している。
処理の様子を詳細に示したのが第11図である。第11
図では、データの大きさが1バイトのため、使用しない
メモリ904は省いてある。1100はメモリ903中
のデータ部分集合の区切りであって、1100−1はデ
ータ部分集合1004−1と1005−1の区切り、1
100−2はデータ部分集合1004−1と1004−
2の区切り、1100−3はデータ部分集合1005−
1と1004−2,1100−4はデータ部分集合10
04−2と1005−2の区切りを示す。1101はメ
モリ903内で1つのデータ部分集合に含まれるデータ
をつなぐポインタを示す。時刻は、第10図の時刻及び
処理1001,1002に対応している。
第10図に示すように、B方式のデータ整列装置では、
データ部分集合の入出力に時間の空きが生じないため、
処理時間の高速化が達成できるが、制御が非常に複雑で
ある欠点を有している。すなわち、第10図における処
理1001の場合、処理の分けが多い。また、メモリ9
03内には最大3つのデータ部分集合が格納され、デー
タ管理が繁雑である。第10図の例では、時刻9のデー
タ入力時点では、メモリ903にデータ部分集合100
4−1,1004−2,1004−3のデータが格納さ
れている。
データ部分集合の入出力に時間の空きが生じないため、
処理時間の高速化が達成できるが、制御が非常に複雑で
ある欠点を有している。すなわち、第10図における処
理1001の場合、処理の分けが多い。また、メモリ9
03内には最大3つのデータ部分集合が格納され、デー
タ管理が繁雑である。第10図の例では、時刻9のデー
タ入力時点では、メモリ903にデータ部分集合100
4−1,1004−2,1004−3のデータが格納さ
れている。
本発明の目的は、制御が容易で、しかもデータ整列時間
の短縮を図ることができるデータ整列装置を提供するこ
とにある。
の短縮を図ることができるデータ整列装置を提供するこ
とにある。
本発明は、データ整列装置の各比較ユニットに各々2つ
のメモリを設け、比較ユニットに入力されるデータを2
つのメモリに同時に複写して格納し、これらメモリのデ
ータを用いて併合処理を行うことを特徴とするものであ
る。
のメモリを設け、比較ユニットに入力されるデータを2
つのメモリに同時に複写して格納し、これらメモリのデ
ータを用いて併合処理を行うことを特徴とするものであ
る。
第1図は本発明によるデータ整列装置の構成例を示す図
である。第1図において、データ整列装置10は複数の
比較ユニット40−1〜40−Uを縦続接続した構成を
とる。20は装置10の1バイト幅データ入力端子、3
0は同じく装置10の1バイト幅データ出力端子であ
り、101は比較ユニットの1バイト幅データ入力端
子、102は同じく比較ユニットの1バイト幅データ出
力端子である。各比較ユニット40−1〜40−Uは、
入力端子601から入力される一方の整列済みデータ部
分集合を格納するメモリ103、他方の整列済みデータ
部分集合を格納するメモリ104、メモリ103,10
4へのデータの読み書きを各々行う読出し/書込み回路
105−1,105−2、メモリ103のデータの1バ
イトを格納するレジスタ106、メモリ104のデータ
の1バイトを格納するレジスタ107、レジスタ106
と107に格納されているデータの値を比較する比較器
108、レジスタ106と107のいずれか一方のデー
タを出力端子102に転送する経路を選択するマルチプ
レクサ109、比較器108から比較結果信号を受け取
り、それに基いて当該比較ユニットの各部を制御する制
御回路110からなる。メモリ103と104の大きさ
は、比較ユニット40−1では1個のデータ、40−2
では2個のデータ、40−3では4個のデータ、40−
Uでは2U-1個のデータを格納できる大きさを有してい
る。
である。第1図において、データ整列装置10は複数の
比較ユニット40−1〜40−Uを縦続接続した構成を
とる。20は装置10の1バイト幅データ入力端子、3
0は同じく装置10の1バイト幅データ出力端子であ
り、101は比較ユニットの1バイト幅データ入力端
子、102は同じく比較ユニットの1バイト幅データ出
力端子である。各比較ユニット40−1〜40−Uは、
入力端子601から入力される一方の整列済みデータ部
分集合を格納するメモリ103、他方の整列済みデータ
部分集合を格納するメモリ104、メモリ103,10
4へのデータの読み書きを各々行う読出し/書込み回路
105−1,105−2、メモリ103のデータの1バ
イトを格納するレジスタ106、メモリ104のデータ
の1バイトを格納するレジスタ107、レジスタ106
と107に格納されているデータの値を比較する比較器
108、レジスタ106と107のいずれか一方のデー
タを出力端子102に転送する経路を選択するマルチプ
レクサ109、比較器108から比較結果信号を受け取
り、それに基いて当該比較ユニットの各部を制御する制
御回路110からなる。メモリ103と104の大きさ
は、比較ユニット40−1では1個のデータ、40−2
では2個のデータ、40−3では4個のデータ、40−
Uでは2U-1個のデータを格納できる大きさを有してい
る。
第2図は、第1図における各比較ユニットでの処理状態
の遷移を示した図であって、200から205は状態、
206は遷移の方向を示している。各状態200〜20
5は書込み処理と読出し処理とからなる。
の遷移を示した図であって、200から205は状態、
206は遷移の方向を示している。各状態200〜20
5は書込み処理と読出し処理とからなる。
今、併合する2つの整列済みデータ部分集合を、比較ユ
ニット40−i(i=1,2,…U)に入力される順に
各々R,Sとし、Sに続いて入力される整列済みデータ
部分集合をTとする。200の状態Aは次の処理より成
る。
ニット40−i(i=1,2,…U)に入力される順に
各々R,Sとし、Sに続いて入力される整列済みデータ
部分集合をTとする。200の状態Aは次の処理より成
る。
書込み処理:データ入力端子101よりRのデータ
を1バイト入力し、メモリ103と104に複写して格
納する。
を1バイト入力し、メモリ103と104に複写して格
納する。
読出し処理:何もしない。
Rの全データを入力し終えるまで状態Aを繰り返し、そ
の後、201の状態Bに遷移する。状態Bは次の処理か
ら成る。
の後、201の状態Bに遷移する。状態Bは次の処理か
ら成る。
書込み処理:データ入力端子101よりSのデータ
を1バイト入力し、メモリ103あるいは104のどち
らか一方に格納する。
を1バイト入力し、メモリ103あるいは104のどち
らか一方に格納する。
読出し処理:メモリ103からRまたはSのデータ
の1バイトを読み出してレジスタ106に、メモリ10
4からSまたはRのデータの1バイトを読み出してレジ
スタ107に各々同時に格納し、レジスタ106と10
7に格納されているデータの値を比較器108で比較し
て、比較結果を制御回路110に通知する。
の1バイトを読み出してレジスタ106に、メモリ10
4からSまたはRのデータの1バイトを読み出してレジ
スタ107に各々同時に格納し、レジスタ106と10
7に格納されているデータの値を比較器108で比較し
て、比較結果を制御回路110に通知する。
Sの先頭の1バイト目についてのみ状態Bを処理する。
Sに残りのデータがある場合は状態Cに、ない場合は状
態Eに遷移する。203の状態Cは次の処理から成る。
Sに残りのデータがある場合は状態Cに、ない場合は状
態Eに遷移する。203の状態Cは次の処理から成る。
書込み処理:データ入力端子101よりSのデータ
を1バイト入力し、全Rが格納されていない方のメモリ
に格納する。同時にレジスタ106と107のいずれか
一方を制御回路110からの指示に従い、マルチプレク
サ109で選択し、該データをデータ出力端子102に
出力する。
を1バイト入力し、全Rが格納されていない方のメモリ
に格納する。同時にレジスタ106と107のいずれか
一方を制御回路110からの指示に従い、マルチプレク
サ109で選択し、該データをデータ出力端子102に
出力する。
読出し処理:状態Bの読出し処理と同様である。
Sの全データを入力し終えるまで状態Cを繰り返す。メ
モリ103とメモリ104に格納されているRとSのい
ずれか一方の最終データの最終バイトが次処理で出力さ
れるならば状態Eへ、そうでなければ状態Dへ遷移す
る。204の状態Dは次の処理から成る。
モリ103とメモリ104に格納されているRとSのい
ずれか一方の最終データの最終バイトが次処理で出力さ
れるならば状態Eへ、そうでなければ状態Dへ遷移す
る。204の状態Dは次の処理から成る。
書込み処理:データ入力端子101よりTのデータ
を1バイト入力し、メモリ103と104に複写して格
納する。同時に、レジスタ106と107のいずれか一
方を制御回路110からの指示に従い、マルチプレクサ
109で選択し、該データをデータ出力端子102に出
力する。
を1バイト入力し、メモリ103と104に複写して格
納する。同時に、レジスタ106と107のいずれか一
方を制御回路110からの指示に従い、マルチプレクサ
109で選択し、該データをデータ出力端子102に出
力する。
読出し処理:状態Bの読出し処理と同様である。
メモリ103とメモリ104に格納されているRとSの
いずれか一方の最終データの最終バイトが次の処理で出
力される状態まで状態Dを繰り返し、その後、状態Eに
遷移する。205の状態Eは次の処理から成る。
いずれか一方の最終データの最終バイトが次の処理で出
力される状態まで状態Dを繰り返し、その後、状態Eに
遷移する。205の状態Eは次の処理から成る。
書込み処理:データ入力端子101よりTのデータ
を1バイト入力し、メモリ103あるいはメモリ104
のうち、RまたはSが全て出力されている側のメモリ
か、この処理で出力される側のメモリとは反対のメモリ
に格納する。同時にレジスタ106と107のいずれか
一方を制御回路110からの指示に従い、マルチプレク
サ109で選択し、該データをデータ出力端子102に
出力する。
を1バイト入力し、メモリ103あるいはメモリ104
のうち、RまたはSが全て出力されている側のメモリ
か、この処理で出力される側のメモリとは反対のメモリ
に格納する。同時にレジスタ106と107のいずれか
一方を制御回路110からの指示に従い、マルチプレク
サ109で選択し、該データをデータ出力端子102に
出力する。
読出し処理:メモリ102からRまたはSが残って
いれば、RまたはSのデータの1バイト、残っていなけ
ればTのデータの1バイトを読み出し、レジスタ106
に格納すると同時にメモリ104からメモリ103と同
様にデータの1バイトを読み出しレジスタ107に格納
する。(こゝで、比較は行わず、制御回路110は次処
理でRまたはSのデータの格納されているレジスタから
データを出力するように指示する)。
いれば、RまたはSのデータの1バイト、残っていなけ
ればTのデータの1バイトを読み出し、レジスタ106
に格納すると同時にメモリ104からメモリ103と同
様にデータの1バイトを読み出しレジスタ107に格納
する。(こゝで、比較は行わず、制御回路110は次処
理でRまたはSのデータの格納されているレジスタから
データを出力するように指示する)。
残っているRまたはSの最終データの最終バイトが次処
理で出力される状態、すなわち、Tのすべのデータを入
力し終えるまで状態Eを繰り返し、その後、状態Cに遷
移する。こゝで、Tは次の併合されるデータ部分集合対
のRに等しい。
理で出力される状態、すなわち、Tのすべのデータを入
力し終えるまで状態Eを繰り返し、その後、状態Cに遷
移する。こゝで、Tは次の併合されるデータ部分集合対
のRに等しい。
第2図の状態遷移処理は各比較ユニットで同時に行われ
る。なお、各比較ユニットの制御回路110に例えばマ
イクロプロセッサを用いることにより、上記処理は容易
に実現可能である。
る。なお、各比較ユニットの制御回路110に例えばマ
イクロプロセッサを用いることにより、上記処理は容易
に実現可能である。
第3図は本発明による処理例を示すタイムチャートであ
り、この例では、比較ユニット40−1,40−2,4
0−3により、1バイトの大きさのデータ8個の整列を
行っている。第3図において、300は1バイトの処
理、301は書込み処理、302は読出し処理、303
は1バイトデータ、304は整列済みデータ部分集合、
305は第2図の状態を示している。また、処理300
に要する時間を1時刻としている。
り、この例では、比較ユニット40−1,40−2,4
0−3により、1バイトの大きさのデータ8個の整列を
行っている。第3図において、300は1バイトの処
理、301は書込み処理、302は読出し処理、303
は1バイトデータ、304は整列済みデータ部分集合、
305は第2図の状態を示している。また、処理300
に要する時間を1時刻としている。
第3図の例について、第1図の比較ユニット40−1,
40−2,40−3内でのデータの動きを詳細に示す
と、第4図のようになる。第4図において、400はデ
ータの流れ、401は第2図で示した状態、402は比
較結果、403はデータ部分集合の区切りを示すもので
ある。比較結果は、「V」がレジスタ106に格納され
ているデータの値がレジスタ107に格納されているデ
ータの値よりも大きいことを、「∧」が小さい、「‖」
は等しい、「×」は比較しないことを意味している。
40−2,40−3内でのデータの動きを詳細に示す
と、第4図のようになる。第4図において、400はデ
ータの流れ、401は第2図で示した状態、402は比
較結果、403はデータ部分集合の区切りを示すもので
ある。比較結果は、「V」がレジスタ106に格納され
ているデータの値がレジスタ107に格納されているデ
ータの値よりも大きいことを、「∧」が小さい、「‖」
は等しい、「×」は比較しないことを意味している。
第3図はデータの大きさが1バイトの例であるが、本発
明はデータの大きさが任意の場合について容易に拡張で
きる。データの大きさをLバイトとする時、比較ユニッ
ト40−i(i=1,2,3,…U)の処理開始時刻を
(2i-1−1)L+i時刻とし、2データの比較は次の
ようにすればよい。すなわち、大きさLバイトの2デー
タがKバイトまで同じ値を持っている時、Kバイトまで
の出力はレジスタ106,107の任意の一方とし、次
比較バイトは各データの次バイトとする。K+1バイト
目で2データの大小が判定すると、K+1バイトからL
バイトまでは、データ全体の値の大小により出力する。
次に比較するデータは、その前で最終まで出力したデー
タの次のデータと、途中までしか出力しなかったデータ
であり、各々データの先頭バイトから比較を開始する。
明はデータの大きさが任意の場合について容易に拡張で
きる。データの大きさをLバイトとする時、比較ユニッ
ト40−i(i=1,2,3,…U)の処理開始時刻を
(2i-1−1)L+i時刻とし、2データの比較は次の
ようにすればよい。すなわち、大きさLバイトの2デー
タがKバイトまで同じ値を持っている時、Kバイトまで
の出力はレジスタ106,107の任意の一方とし、次
比較バイトは各データの次バイトとする。K+1バイト
目で2データの大小が判定すると、K+1バイトからL
バイトまでは、データ全体の値の大小により出力する。
次に比較するデータは、その前で最終まで出力したデー
タの次のデータと、途中までしか出力しなかったデータ
であり、各々データの先頭バイトから比較を開始する。
第5図は、大きさ4バイトの2個のデータの比較ユニッ
ト40−1での整列処理例を示すタイムチャートであっ
て、501は書込み処理、502は読出し処理、503
は4バイトのデータ、504は整列済みデータ部分集
合、505は第2図の状態を示している。
ト40−1での整列処理例を示すタイムチャートであっ
て、501は書込み処理、502は読出し処理、503
は4バイトのデータ、504は整列済みデータ部分集
合、505は第2図の状態を示している。
一般にN個のデータの整列は「log2N」台の比較ユニッ
トを用いることにより、LN+L・2「log2N」「log2
N」−L時刻で処理できる。
トを用いることにより、LN+L・2「log2N」「log2
N」−L時刻で処理できる。
以上説明したように本発明では、1つの比較ユニットに
同一構成のメモリを2つ備えることにより、1つのメモ
リには最大2つのデータ部分集合しか存在せず、かつ、
メモリ内のデータは入力順に順番に並べることができる
ため、メモリ管理が容易になり、また、状態遷移の技分
れが最大2つしかないので、制御も容易になる利点があ
る。さらに、2メモリへのデータの複写及び2メモリか
らの同時データ読出しにより、1バイトの比較処理をメ
モリへの書込み、読出しの2処理で行え、かつ、データ
間の処理の中断がないため、整列時間が短かいという利
点がある。
同一構成のメモリを2つ備えることにより、1つのメモ
リには最大2つのデータ部分集合しか存在せず、かつ、
メモリ内のデータは入力順に順番に並べることができる
ため、メモリ管理が容易になり、また、状態遷移の技分
れが最大2つしかないので、制御も容易になる利点があ
る。さらに、2メモリへのデータの複写及び2メモリか
らの同時データ読出しにより、1バイトの比較処理をメ
モリへの書込み、読出しの2処理で行え、かつ、データ
間の処理の中断がないため、整列時間が短かいという利
点がある。
第1図は本発明によるデータ整列装置の一実施例の構成
図、第2図は第1図における比較ユニットの処理状態の
遷移を示す図、第3図は本発明による処理例を示すタイ
ミング図、第4図は第3図の処理例の詳細な動作を示す
図、第5図は本発明による別の処理例を示すタイミング
図、第6図は従来のデータ整列装置の第1の構成例を示
す図、第7図は第6図の処理例を示すタイミング図、第
8図は第7図の処理例の詳細な動作を示す図、第9図は
従来のデータ整列装置の第2の構成例を示す図、第10
図は第9図の処理例を示すタイミング図、第11図は第
10図の処理例の詳細な動作を示す図である。 10…データ整列装置、40−1〜40−U…比較ユニ
ット、101…データ入力端子、102…データ出力端
子、103,104…メモリ、105−1,105−2
…読出し/書込み回路、106,107…レジスタ、1
08…比較器、109…マルチプレクサ、110…制御
回路。
図、第2図は第1図における比較ユニットの処理状態の
遷移を示す図、第3図は本発明による処理例を示すタイ
ミング図、第4図は第3図の処理例の詳細な動作を示す
図、第5図は本発明による別の処理例を示すタイミング
図、第6図は従来のデータ整列装置の第1の構成例を示
す図、第7図は第6図の処理例を示すタイミング図、第
8図は第7図の処理例の詳細な動作を示す図、第9図は
従来のデータ整列装置の第2の構成例を示す図、第10
図は第9図の処理例を示すタイミング図、第11図は第
10図の処理例の詳細な動作を示す図である。 10…データ整列装置、40−1〜40−U…比較ユニ
ット、101…データ入力端子、102…データ出力端
子、103,104…メモリ、105−1,105−2
…読出し/書込み回路、106,107…レジスタ、1
08…比較器、109…マルチプレクサ、110…制御
回路。
Claims (1)
- 【請求項1】複数の比較ユニットを縦続接続し、各比較
ユニットで並列的に、前段から入力される整列済みデー
タ部分集合を2組ずつ整列して併合し、該併合結果の整
列済みデータ部分集合を後段に出力して、データ集合を
データ値の小さい順もしくは大きい順に並べ換えるデー
タ整列装置において、各比較ユニットは、前段から入力
される整列済みデータ部分集合を格納する1対のメモリ
と、各メモリから読み出されたデータを格納する1対の
レジスタと、前記レジスタのデータ値を比較する比較器
と、前記レジスタのいずれか一方のデータを後段に出力
するマルチプレクサと、前記比較器の比較結果にもとづ
いて前記マルチプレクサを制御するとゝもに、前記メモ
リの読み書きを制御し、前段から入力されるデータを2
つのメモリへ複写して格納し、一方のメモリ内のデータ
の併合中、データ部分集合がなくなると他方のメモリ内
の複写データを破棄する制御回路とを具備してなるデー
タ整列装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9639885A JPH061432B2 (ja) | 1985-05-07 | 1985-05-07 | デ−タ整列装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9639885A JPH061432B2 (ja) | 1985-05-07 | 1985-05-07 | デ−タ整列装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61255434A JPS61255434A (ja) | 1986-11-13 |
| JPH061432B2 true JPH061432B2 (ja) | 1994-01-05 |
Family
ID=14163854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9639885A Expired - Lifetime JPH061432B2 (ja) | 1985-05-07 | 1985-05-07 | デ−タ整列装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH061432B2 (ja) |
-
1985
- 1985-05-07 JP JP9639885A patent/JPH061432B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61255434A (ja) | 1986-11-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0047440A1 (en) | Shift circuit | |
| EP0225763B1 (en) | CRC calculation machine and method for CRC calculation | |
| JP3515591B2 (ja) | 二進数を固定値と比較する並列化大きさ比較器 | |
| JPH01251383A (ja) | 多相メモリ配列の読出回路 | |
| KR920003176B1 (ko) | 정렬처리장치의 제어데이타 생성장치 | |
| JP3380329B2 (ja) | ディジタルデータ調停装置 | |
| US4387294A (en) | Shift register-latch circuit driven by clocks with half cycle phase deviation and usable with a serial alu | |
| JPH061432B2 (ja) | デ−タ整列装置 | |
| SU1007099A1 (ru) | Устройство дл сортировки чисел | |
| JPH0233175B2 (ja) | ||
| JPS62154140A (ja) | マ−ジ処理装置 | |
| JPH0512011A (ja) | パイプライン回路 | |
| JPH02103632A (ja) | 演算処理装置 | |
| JPS63231526A (ja) | ソ−ト処理装置 | |
| JPS62156749A (ja) | 割込信号発生回路 | |
| JPH0628151A (ja) | シリアルデータのパラレルラッチ回路 | |
| JPH03233724A (ja) | 繰り返し処理の制御方式 | |
| JPH04282704A (ja) | シーケンスコントローラ | |
| JPS62154136A (ja) | デ−タ整列装置 | |
| JPH01189723A (ja) | マージ・ソータ | |
| JPH05289888A (ja) | 割り込み処理回路 | |
| JPS63149726A (ja) | デ−タ整列装置の比較ユニツトスキツプ方式 | |
| JPH05127799A (ja) | 入出力ポート回路 | |
| JPS63274215A (ja) | A−d変換装置 | |
| JPH03282618A (ja) | データ処理回路 |