JPS62154140A - マ−ジ処理装置 - Google Patents

マ−ジ処理装置

Info

Publication number
JPS62154140A
JPS62154140A JP29463085A JP29463085A JPS62154140A JP S62154140 A JPS62154140 A JP S62154140A JP 29463085 A JP29463085 A JP 29463085A JP 29463085 A JP29463085 A JP 29463085A JP S62154140 A JPS62154140 A JP S62154140A
Authority
JP
Japan
Prior art keywords
data
stored
memory
byte
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.)
Pending
Application number
JP29463085A
Other languages
English (en)
Inventor
Toshio Nakamura
敏夫 中村
Tadashi Kitamura
正 北村
Hideaki Takeda
武田 英昭
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 JP29463085A priority Critical patent/JPS62154140A/ja
Publication of JPS62154140A publication Critical patent/JPS62154140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マージ処理袋口に関し、特に2つのソート済
みデータ部分集合から1つのソート済みデータ集合を作
成するためのマージ処理装置に関するものである。
〔従来の技術〕
ソート処理装置は、データ集合をデータ値の小さい順あ
るいは大きい順に並べ換える装置である。
従来のソート処理装置においては、データの長さをり、
データの個数をNとしたとき、L −N=A・・・・・
・・・・・・・・ (1)という関係がある(Aは、ソ
ートできる容量)。
あるデータ集合をソートする場合、そのデータの個数が
Nより大きいときには、このソート処理袋E11台だけ
ではデータ集合全体をソートすることはできないという
問題があった。このため、1台のソート処理装置の持つ
データ個数の限界を超すようなデータ集合をソートする
場合には、マージ処理装置が必要となる。
マージ処理装置には、従来より、ソフトウェアにおける
マージ法をそのままハードウェア化するものとして、メ
モリ上に格納されているソート済みデータ部分集合の2
組をリードしながらマージしていく装とがある。
一方、ソー1−処理装置には、(、)パイプライン型ソ
ート処理装置と、(b)非パイプライン型ソート処理装
誼(並列ソータ)があるが(例えば、元岡達他:岩披講
座マイクロエレクトロニクス9VLSIコンピュータr
L pp240〜244、合波書店、1985参照)、
ここではデータ値の小さい順あるいは大きい順にデータ
を任意転送バイト幅単位でストリーフ1状に出力するよ
うなパイプライン型ソート処理′@誼とする。
〔発明が解決しようとする問題点〕 いま、2台のパイプライン型ソート処理装置と、マージ
処理装置を用いる場合、ソート処理′!装置の出力であ
るソート済みデータ部分集合を一旦メモリに蓄積し、そ
の後に、メモリからリードしてマージ処理を行っている
ため、パイプライン処理が一旦途切れてしまい、処理時
間が大きくなってし。
まうという問題があり、またメモリアクセス機構が必要
となるため、ハードウェアの規りが大きくなるという問
題がある。
本発明の目的は、このような従来の問題を改善し、パイ
プライン型ソート処理装置の動作スピードを低下させる
ことなく、高速にデータ集合のソートができ、かつメモ
リアクセス機構が不要であり、ハードウェア規模を小さ
くできるマージ処理装置を提供することにある。
c問題点を解決するための手段〕 上記目的を達成するため、本発明のマージ処理装置は、
入力するソート済みデータ部分集合の2組をマージして
、1つのソート済みデータ45合を作成するマージ処理
袋ににおいて、それぞれ入力された1データ分を格納す
る1対のメモリと、該メモリから各々1単位バイトだけ
読み出したデータを一時格納する1対のレジスタと、該
レジスタのデータ値を比較する比較器と、該レジスタの
いずれか一方のデータを出力するマルチプレクサと、該
比較器の比較結果にもとづき該マルチプレクサを制御す
るとともに、上記メモリの読み沓きを制御する制御回路
とを有し、上記メモリのいずれか一方に対応するデータ
部分集合の1データの1単位バイトを格納するとともに
、レジスタのいずれか一方に格納されているデータを出
力するサイクルと、上記各メモリから1単位バイトだけ
読み出して対応するレジスタにそれぞれ格納し、該レジ
スタのデータ値を比較し、比較結果を上記制御回路に通
知するサイクルを、交互に繰り返すことにより、上記2
つのデータ部分集合をマージすることに特徴がある。
〔作  用〕
本発明においては、2つのパイプライン型ソート処理装
置を本発明のマージ処理装置に直結して、パイプライン
処理を乱さずに、2つのソー1へ済みデータ部分集合か
ら1つのソート済み集合を作成する。その作成方法は、
制御回路の指示により、(イ)メモリのどちらか一方へ
、対応するデータ部分集合の1データの1単位バイトを
格納するとともに、レジスタのいずれか一方に格納され
ているデータを出力するサイクル、 (ロ)各メモリから1単位バイトを読み出して対応する
レジスタに同時に格納し、レジスタのデータ値を比較し
て、その比較結果を制御回路に通知するサイクル、 を交互に繰り返すことにより、2つのソート済みデータ
集合を作成する。
〔実施例〕
以下1本発明の実施例を、図面により詳細に説明する。
第1図は1本発明の一実施例を示すマージ処理装置の構
成図である。第1図において、】0はマージ装置、10
1はマージ処理装置10の1単位バイト幅データ入力端
子、102は同じく装[10の1単位バイト幅データ入
力端子、111は装[10の1単位バイト◆aデータ出
力端子、103は入力端子101から入力されるソート
済みデータ部分集合の1データ分を格納するメモリ、1
04は入力端子102から入力される他方のソート済み
データ部分集合の1データ分を格納するメモリ、105
−1,105−2はメモリ103゜104へのデータの
読み書きを、1単位バイト幅でそれぞれ行う読出し/書
込み回路、106はメモリ103のデータの1単位バイ
トを格納するレジスタ、107はメモリ104のデータ
の1単位バイトを格納するレジスタ、108はレジスタ
106と107に格納されているデータの値を比較する
比較器、109はレジスタ106,107のいずれか一
方のデータを出力端子111に転送する経路を選択する
マルチプレクサ、110は比較器108から比較結果信
号を受は取り、それに基づいて装置内の各部を制御する
制御回路である。
マージ処理装置10の基本的な動作は、2つのサイクル
で実現される。これらの2つのサイクルを、ライトサイ
クル(Wサイクル)、リードサイクル(Rサイクル)と
呼ぶことにする。
(a)Wサイクル:データ入力端子101あるいは10
2からデータを1単位バイト入力し、メモリ103ある
いは104に格納する。また、制御回路110からの指
示に従って、レジスタ106あるいは107に格納され
ているデータの1単位バイトをデータ出力端子111に
出力する。
(b)Rサイクル:メモリ103からデータの1単位バ
イトを読み出してレジスタ+06に、またメモリ104
からデータの1単位バイトを読み出してレジスタ107
に、それぞれ同時に格納し、レジスタ106と107に
格納されているデータの値を比較器108で比較して、
比較結果を比較結果信号により制御回路110に通知す
る。
ここで、比較結果について説明する。比較結果信号とし
ては、データの長さLバイトの場合、2データかにバイ
ト(K<L)まで同じ値である時そのバイトまでは、 
「=」信号を、K+1バイト目で2つのデータの大小関
係が確定する時、K+1バイトからLバイトまで、「」
信号(メモリ103に格納されているデータの値がメモ
リ104に格納されているデータの値より大きいことを
意味する)、あるいは「△」信号(これはrVJの逆、
つまりメモリ103に格納されているデータの値がメモ
リ104に格納されているデータの値より小さいことを
意味する)を出力し続ける。すなわち、2つのデータの
大小関係が確定した後の比較における結果は、比較結果
信号には反映されない。
第2図は、第1図のマージ処理装置の処理状態の遷移を
示す図である。第2図において、200〜205は処理
の状態、206は遷移の方向を示している。各状態は、
WサイクルとRサイクルよりなる。
ここでは、2つのデータ部分集合は、昇順にソートされ
ており、それらを昇順にマージしたデータ集合とし、ま
た1単位バイトは1バイトとして説明する。
状態A:(a)Wサイクルでは、データ入力端子101
よりソート済みデータ部分集合の1データを1バイト入
力し、メモリ103に格納する。
(b)Rサイクルでは、何もしない。
1データを入力し終るまで状態Aを繰り返し。
その後、状71IBに遷移する。
状態B; (a)Wサイクルでは、データ入力端子10
2より他方のソート済みデータ部分集合の1データを1
バイト入力し、メモリ104に格納する。
(b)Rサイクルでは、メモリ103からデータの1バ
イトを読み出してレジスタ106に、メモリ104から
データの1バイトを読み出してレジスタ107に、それ
ぞれ同時に格納し、レジスタ106と107に格納され
ているデータの値を比較器108で比較して、比較結果
を制御回路110に通知する。
データの先頭1バイト目についてのみ、状態Bを処理す
る。データに残りのバイトがある場合には状態Cに、残
りのバイトが無い場合には状態りに遷移する。
状jlc:(a)Wサイクルでは、データ入力端子10
2より1バイト入力し、メモリ104に格納するととも
に、直前のサイクルの比較結果に基づいて小さい方のレ
ジスタに格納されているデータの値を出力する。また、
同じ値の時には、レジスタ106.107の任意の一方
のレジスタがら出力する。
(b)Rサイクルでは、状態BのRサイクルと同じで、
両メモリ103,104から読み出してレジスタに格納
した後、比較する。
データの最終バイトまで、状態Cを繰り返し。
その後、状態りに遷移する。
状態D:(a)Wサイクルでは、前データの比較結果の
小さいメモリに対応するデータ入力端子(101、また
は102)から1バイト入力し、対応するメモリ(10
3,または1o4)に格納するとともに、直前のサイク
ルの比較結果に基づいて、小さい方のレジスタに格納さ
れているデータの値を出力する。また、同じ値の時には
、レジスタ106.107の任意の一方のレジスタから
出力する。
(b)Rサイクルでは、状態BのRサイクルと同じであ
り、両メモリ103,104から読み出してレジスタに
格納した後、両値を比較する。
残り全てのデータについて、状態りを繰り返して、状態
Eに遷移する。
状態E:(a)Wサイクルでは、メモリへの格納はせず
、直前のサイクルの比較結果にもとづき、小さい方のレ
ジスタに格納されているデータの値を出力する。また、
同じ値の時には、レジスタ106.107の任意の一方
のレジスタから出力する。
(b)Rサイ’))LtでLt、 メ−T−IJ103
,1047>1らデータの1バイト目をレジスタ106
,107に各々格納するが、比較は行わない。
最終データの直前の1データの最終バイトについて状1
rIAEの処理を行い、状態Fに遷移する。
状態F:(a)Wサイクルでは、メモリへの格納はせず
、いずれか一方のメモリに残っている最終データのある
方のレジスタから出力する。
(b)Rサイクルでは、いずれが一方のメモリに残って
いる最終データから1バイト読み出し、対応するレジス
タに格納する。ただし、比較は行わない。最終データの
最終バイトを出力し終るまで、状態Fを繰り返す、ただ
し、最終バイトのRサイクルは何もしない状態である。
第3図(A)(B)(C)は、第1図におけるマージ処
理装置の動作説明図であって、(a)〜(y)の連続動
作を示す。図(c)の400はデータの流れ、図(b>
(h)の401,402は比較結果を示す。
メモリ103,104に格納されている2つのデータの
比較結果は、「」がメモリ103に格納されているデー
タ値がメモリ104に格納されているデータの値よりも
大きいことを意味し、「△Jが小さいこと、「=」が比
較時点までにおいて等しいことを、rXJは比較しない
ことを、それぞれ意味している。また、図(a)の(1
2)(14)(25)(30)は入力するデータの値、
図(i)(k)(m)(p )(r )(t )(v 
)(x )における三角形内の数字1,2,3,4,5
.Oは出力するデータの1バイト分を示している。
第3図においては、データの長さが2バイトの場合を示
しているが、データの長さが任意の場合に適用すること
ができる。また、本実施例では、データの部分集合は、
データ値の小さい順にソート済みのものとし、2つのデ
ータかにバイト(この場合、K=1.または2)まで同
じ値を持っている時、Kバイトまでの出力はレジスタ1
06がら出力するということで説明する。さらに、第1
図のマージ処理装置10に入力する最初のデータはデー
タ入力端子101からとするが、データ入力端子102
としても勿論差し支えはない。
以下、(a)〜(y)の状態を時刻に従って説明する。
(a)(b)は初期状態であって、メモリ103゜10
4、L/ジスタ106,107.比較器108は、それ
ぞれクリアされている。以下、各状態ともWはライト状
態、Rはリード状態を示している。
(c)時刻tI R(状態A)では、データ入力端子1
01からデータ部分集合の最初のデータの1バイト目の
データ値であるII l 11を入力して、メモリ10
3に格納する。(d)時刻t1−R(状態A)では、何
もしない。(8)時刻t2−w(状態A)では、(c)
に引続いて、最初のデータの2バイト目のデータ値II
 2 JTをメモリ103に格納する。(f)時刻t2
−R(状態A)では、何もしない。(g)時刻t3−W
(状態B)では、メモリ103に1データ分入力したの
で、次に、制御回路110(第3図では、図示省略する
)により制御をメモリ104の方に移し、データ入力端
子102からデータ部分集合の最初のデータの1バイト
目のデータ値゛1″′をメモリ104に格納する。(h
)時刻t3−R(状態B)では、メモリ103,104
からデータの各々先頭1バイト目をレジスタ106,1
07に格納して、比較器108で比較する。比較結果は
「=」であり、比較結果信号により制御回路110に通
知する。(i)時刻t4−W(状態C)では、(g)に
引続いて、データ入力端子102から最初のデータの2
バイト目のデータイ直11477をメモリ104に格納
する。直前のサイクル、すなわち時刻t3−Rで比較結
果はr=Jであるから、制御回路110の指示により、
マルチプレクサ109で選択し、レジスタ106からデ
ータ値1112gをデータ出力端子111に出力する。
(j)時刻t、、 −R(状態C)では、メモリ103
,104からデータの2バイト目をレジスタ106,1
07に各々格納して、比較器108で比較する。比較結
果は「△」であり、比較結果信号により制御回路11O
に通知する。(k)時刻t、−W(状態D)では、制御
回路110は比較結果信号により、レジスタ106から
データ出力端子111に出力すること、また次のデータ
入力は、データ入力端子101が空になったので、デー
タ入力端子101から行うことを指示する。従って、デ
ータ入力端子101から次のデータの1バイト目のデー
タ値II 271をメモリ103に格納する。
また、時刻t4−Rで、比較結果は「△」であるから、
制御回路110の指示により、マルチプレクサ109で
選択し、レジスタ106からデータ値゛′2′″をデー
タ出力端子111に出力する。
(α)時刻t5−R(状態D)では、メモリ103゜1
04からデータの1バイト目をレジスタ106゜107
に各々格納して、比較器108で比較する。
比較結果はrVJであり、比較結果信号により制御回路
110に通知する。(m)時刻t6−W(状態D)では
、(k)に引続き、データ入力端子101からデータの
2バイト目のデータ値“5″をメモリ103に格納する
。直前のサイクル、すなわち、時刻t5−Rで、比較結
果はrVJであるから。
制御回路110の指示によりマルチプレクサ109で選
択し、レジスタ107からデータ値LL 111をデー
タ出力端子111に出力する。
(n)時刻tB−R(状態D)では、メモリ103゜1
04からデータの2バイト目をレジスタ106゜107
に各々格納して、比較器108で比較する。
なお、比較結果は、前サイクルで確定しており(rvJ
)、比較結果信号により制御回路110に通知する。(
P)時刻t7 W(状態D)では、データ入力端子10
2が空になったので、データ入力端子102から次のデ
ータの1バイト目のデータ値+13 uをメモリ104
に格納する。また、直前のサイクル、時刻ts−Rの比
較結果はrVJであるから、レジスタ107からデータ
値II 4 nをデータ出力端子111に出力する。(
9)時刻t7−R(状態D)では、メモリ103,10
4からデータの1バイト目をレジスタ106.107に
各々格納して、比較器108で比較する。比較結果は「
△」であり、比較結果信号により制御回路110に通知
される。(1)時刻tB −W(状態D)では、(p)
に引続いて、データ入力端子102から次のデータの2
バイト目のデータ値u Onをメモリ104に格納する
。また、直前のサイクル、時刻t7−Rの比較結果は「
△」であるから、レジスタ106からデータ値1127
7をデータ出力端子111に出力する。(s)時刻ts
−R(状711D)では、メモリ103,104からデ
ータの2バイト目をレジスタ106,107に各々格納
して、比較器108で比較する。なお、比較結果は、前
サイクルで確定しており(△″)、比較結果信号により
、制御回路110に通知される。(1)時刻tB−W(
状態E)では、既に入力すべきデータは無いので、メモ
リ103.104への格納はしない。直前のサイクル、
時刻t9−Rの比較結果は「Aノであるから、レジスタ
106からデータ値II 5 I+をデータ出力端子1
11に出力する。Cu)時刻t、) −R(状態E)で
は、メモ1月03,104からデータの1バイト目をレ
ジスタ106,107に各々格納する(なお、レジスタ
106には、格納する必要はない)、そして、比較する
相手がないたり)比較はし、ない。(v)時刻t1(1
−W(状態F)では、メモリ103.104への格納は
しない。最終データは、レジスタ107に格納されてい
るので、レジスタ107からデータ値″゛3″をデータ
出力端子111に出力する。(w)時刻tl(、−R(
状態F)では、最終データの格納されているメモリ10
4からデータの2バイト目をレジスタ107に格納する
。ただし、比較は行わない。(x)時刻t、 1−W(
状態F)では、メモリ103,104への格納はしない
。(V)に引続いて最終データの2バイト目のデータ値
″0′″をデータ出力端子111に出力する。(y)時
刻t11−R(状態F)では、何もしないでよい。
以上の処理手順によって、2つのソート済みデータ部分
集合をマージして、1つのソート済みデータ集合を作成
することができる。従って、ソート処理装置の許容限界
、すなわちデータ個数の制限を越すようなデータ集合を
ソートする場合に有効である。そして、パイプライン型
ソート処理装近のスピードを極力低下させずに、高速に
データ集合のソートを行うことができる。
〔発明の効果〕 以上説明したように、本発明によれば、2つのソート済
みデータ集合部分から1つのソート済みデータ集合を作
成することができ、高速にデータ集合のソートすること
が可能であって、ソート処理装置のデータ個数の制限を
越えたデータ集合をソートするときに効果がある。さら
に、一旦メモリに蓄積したソート済みデータ部分集合を
リードしなければならないマージ処理装置に比べて、メ
モリアクセス機構が不要であって、その分だけハードウ
ェアの規模を小さくすることができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すマージ処理装置の構成
図、第2図は第1図における処理状態の遷移を示す図、
第3図は第1図の詳細動作を示す図である。 10:マージ処理装置、101,101データ入力端子
、10,3,104:メモリ、105−1.105−1
読出し/書込み回路、106゜107:レジスタ、10
8:比較器、109;マルチプレグサ、110:制御回
路、111:データ出力端子。 特許出願人口本電信電話株式会社 第  1  図 O 〕 日                        
  へ−b

Claims (1)

    【特許請求の範囲】
  1. (1)入力するソート済みデータ部分集合の2組をマー
    ジして、1つのソート済みデータ集合を作成するマージ
    処理装置において、それぞれ入力された1データ分を格
    納する1対のメモリと、該メモリから各々1単位バイト
    だけ読み出したデータを一時格納する1対のレジスタと
    、該レジスタのデータ値を比較する比較器と、該レジス
    タのいずれか一方のデータを出力するマルチプレクサと
    、該比較器の比較結果にもとづき該マルチプレクサを制
    御するとともに、上記メモリの読み書きを制御する制御
    回路とを有し、上記メモリのいずれか一方に対応するデ
    ータ部分集合の1データの1単位バイトを格納するとと
    もに、レジスタのいずれか一方に格納されているデータ
    を出力するサイクルと、上記各メモリから1単位バイト
    だけ読み出して対応するレジスタにそれぞれ格納し、該
    レジスタのデータ値を比較し、比較結果を上記制御回路
    に通知するサイクルを、交互に繰り返すことにより、上
    記2つのデータ部分集合をマージすることを特徴とする
    マージ処理装置。
JP29463085A 1985-12-27 1985-12-27 マ−ジ処理装置 Pending JPS62154140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29463085A JPS62154140A (ja) 1985-12-27 1985-12-27 マ−ジ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29463085A JPS62154140A (ja) 1985-12-27 1985-12-27 マ−ジ処理装置

Publications (1)

Publication Number Publication Date
JPS62154140A true JPS62154140A (ja) 1987-07-09

Family

ID=17810244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29463085A Pending JPS62154140A (ja) 1985-12-27 1985-12-27 マ−ジ処理装置

Country Status (1)

Country Link
JP (1) JPS62154140A (ja)

Similar Documents

Publication Publication Date Title
EP0068764B1 (en) Vector processing units
JPH0731669B2 (ja) ベクトル・プロセツサ
JP2752634B2 (ja) ソート処理装置
JP2632074B2 (ja) データフロー型情報処理装置
JPS62154140A (ja) マ−ジ処理装置
US4757466A (en) High speed data processing system and method
US5542080A (en) Method for controlling execution of data driven type information processor
JPS6324325A (ja) デ−タ項目を分類する方法および分類装置
JPS58129650A (ja) デ−タ処理装置
JP2859645B2 (ja) ベクトル処理システム
JPH0250258A (ja) ベクトル処理装置
JPS6327732B2 (ja)
JPS61255434A (ja) デ−タ整列装置
JP2588932B2 (ja) ソート処理装置
JPH01189723A (ja) マージ・ソータ
JPH1021053A (ja) データ処理装置
JPS61279976A (ja) ベクトル処理装置
JPH01277936A (ja) データ同期方法およびその装置
JPH01155433A (ja) 大小比較回路
JPS59140581A (ja) ベクトルデ−タ処理装置
JPS60128529A (ja) マ−ジ処理器
Lun et al. A pipeline design for the realization of the prime factor algorithm using the extended diagonal structure
JPS59229643A (ja) ソ−ト演算回路
JPS63278150A (ja) 論理シミュレ−ション装置
Lun et al. 1232 zyxwvutsrqponmlkjihgfedcbaZY