JPS60128529A - マ−ジ処理器 - Google Patents

マ−ジ処理器

Info

Publication number
JPS60128529A
JPS60128529A JP23757083A JP23757083A JPS60128529A JP S60128529 A JPS60128529 A JP S60128529A JP 23757083 A JP23757083 A JP 23757083A JP 23757083 A JP23757083 A JP 23757083A JP S60128529 A JPS60128529 A JP S60128529A
Authority
JP
Japan
Prior art keywords
data
register
processing
merge
sets
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
JP23757083A
Other languages
English (en)
Other versions
JPH0519736B2 (ja
Inventor
Shigeaki Okuya
茂明 奥谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23757083A priority Critical patent/JPS60128529A/ja
Publication of JPS60128529A publication Critical patent/JPS60128529A/ja
Publication of JPH0519736B2 publication Critical patent/JPH0519736B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、データ処理装置において、マージ(併合)処
理をパイプライン形式で高速に行なうマージ処理器に関
する。
〔技術の背景〕
一定の順序にソートされたデータを複数組入力して、そ
の順序性を保って1組のデータを出力するいわゆるマー
ジ処理は、従来ソフトウェアで行なわれていた。
次に、第1図の具体例を用いて、従来のソフトウェア方
式によるマージ処理について説明する。
第1図において、A組、B組のデータとも、レフノド1
乃至レコード4からなり、それぞれのKEYの値にした
がって予め昇順にソートされている。たとえば、A組の
KEYIの内容を[3)AIのように表わすと、処理手
順は次のようになる。
■ A組のKEYlを読み出す。・・・・・・・・・・
・・・・・・・・・・・〔3〕A1■ B組のKEYl
を読み出す。・・・・・・・・・・・・・・・・・・・
・[i〕B1■ 両者を比較し、小さい方を出力する。
→〔1〕B1■ B組を出力したのでB組の次の KEYを読む。・・・・・・・・・・・・・・・・・・
・・・・・・[21B2■ 残っているA組のKEYl
と比較 し、小さい方を出力する。→C21312■ B組を出
力したので、B組の次 のKEYを読む、・・・・・・・・・・・・・・・・・
・[4]B3■ 比較し、小さい方を出力する。−一一
一一一に3 ’J A 1■ A組を使用したのでA組
の次の KEYを読む。・・・・・・・・・・・・・・・・・・
・・・・・・〔5〕人2゛ 以下同様。
このように、ソフトウェア方式によるマージ処理は複雑
な手順が繰り返されるため、処理時間カー長くかかると
いう問題がありだ。
〔発明の目的および構成〕
本発明の目的は、従来ソフトウェア方式で行なわれてい
たマージ処理を、ノ1−ドウエア化して高速処理を図る
ことにあり、特にノくイブライン方式で実現することに
ある。
そのための本発明の構成は1番号付けされた複数のデー
タを順次読み出し、データ処理後、処理結果を順次書き
込むことができるパイプライン型データ処理装置におい
て、各々がソートされた複数のデータをN組順次読み出
し、各組から隣接するデータまたは該データに含まれて
いるキーをN個ずつ2合計NxN個取り出しそれぞれの
大小関係を比較する回路と、その比較結果にしたがって
NxN個のデータの順序を入れ替える回路とをそなえ、
該入れ替えられたデータの順序にl−たがってN個ずつ
、データ、または組を識別する番号とデータの番号、ま
たは両者を順次出力して、N組のデータを作ることを特
徴としている。
〔発明の実施例〕
以下に2本発叫の詳細を実施例にしたがって説明する。
本発明は、任意のN組のデータのマージ処理に適用でき
るものであるが、簡単化のため、2組のデータのマージ
処理器を例に説明する。
2組の入力データを、マージして1組にするとき、全デ
ータ数は入力と出力とで変らない。このため、2入力で
1出力の処理を行なうならば、出力に入力の2倍の時間
がかかる計算となる。そのため、処理過程にデータバッ
ファを持つか、又は入力データの読み出しを待たせる制
御が必要となる。これでは、パイプライン的な順次処理
になじまず、また、制御が複雑になる。
本発明では、2組のデータのマージの場合、2組の入力
データを順次読み出し、マージした結果をまた2つに分
配して2組の出力データを作り出すようにして、入力お
よび出力のデータ速度を一致させ、パイプライン的にマ
ージ処理を行なうことを可能にする。
第2図は1本発明を実施した汎用計算機の概略構成図で
ある。図中、1は主記憶装置、2はバッファ記憶装置、
3はスカラレジスタ、4はスカラ演算器、5はベクトル
処理装置、6はベクトルレジスタ、7はマージ処理器で
ある。
第3図は本実施例で使用できるマージ命令の形式の1例
を示したものである。命令中のOPフィールドは命令コ
ードを示し、R1フィールドは出力オペランドレジスタ
番号を示す。番号(R1:Iト番号(:R1)+1の2
つのレジスタに、マージ出力が書き込まれる。几2のフ
ィールドは、第2入力オペランドレジスタ番号を示す。
R3フィールド\ は、第3入力オペランドレジスタ番号を示す。
第4図は1本発明によるマージ処理器の1実施例の構成
図である。図中、6はベクトルレジスタ。
7はマージ処理器、8乃至11はそれぞれベクトルレジ
スタIILO,VRI、VB2.VB2を示す。
また12はRAレジスタ、13は几Bレジスタ、14は
WAレジスタ、15はWBレジスタ、16はA2レジス
タ、17はB2レジスタ、18はカウンタ。
19はAルジスタ、20はBルジスタ、21および22
はセレクタ、23はA0レジスタ、24はBOレジスタ
、25.26.27は比較器、28はセレクタ制御回路
を示す。
ベクトルレジスタ6には、4組のベクトル・たベクトル
・レジスタの各要素データは、順次的に読み出される。
要素データには、データのKEYの値が保持されている
fLA、A2.AI、AOおよびRB、B2.Bl、。
BQの各レジスタは、パイプラインの各ステージに対応
するように制御される。
ベクトルレジスタvRQおよびVRIからそれぞれ読み
出された2組の各要素データ(キー)は。
まずRAレジスタおよびRBレジスタにそれぞれセット
され1次KA2レジスタおよびB2レジスタ〜に転送さ
れる。
A2レジスタおよびB2レジスタにおいて、それぞれの
要素データには2組を識別する固定ビット″0″、”1
”と、順次変化するカウンタ180カウント値とを組み
合わせたIDコードが付与され、以後の処理においてキ
ー順序の変更が行なわれても、もとのデータとの対応付
けが容易となるようにする。
A2レジスタおよびB2レジスタの内容は2次のタイミ
ングでAルジスタおよびBルジスタか、あるいはセレク
タ21および22を介してMレジスタあるいはBOレジ
スタに選択的に転送される。セレクタ21.22は、セ
レクタ制御回路28から出力される選択信号5ELAO
,5FiLBOKよってそれぞれ制御され、要素データ
すなわちキーの配列を変更するように機能する。
AI、A2.Bl、B2の各レジスタ内のキーの値は、
それぞれσ1.a2.bs、 b2で表わされ。
比較器25,26.27において、それぞれal〉bl
、al〉b2.bl〉A2の比較が行なわれ、セレクタ
制御回路28はその比較結果に従って、たとえば昇順に
ソートする場合には、最小のキーをAOレジスタに2次
のキーをBOレジスタに移すようにセレクタ21.22
を制御する。すなわち、新たに受け取ったA2レジスタ
およびB2レジスタ中の2個のキーσ2.b2と、先に
入れられていたAルジスタおよびBルジスタ中の2個の
キーax、bxの計4個のキーを比較し、小さいもの2
個を出力して、太き℃・もの2個を残し、残された2個
を次の比較のために使用する。
上記比較動作の結果、AIおよびBルジスタの内容が、
AOレジスタにも、BOレジスタにも移されないときに
は、そのままもとのレジスタに残される。A2レジスタ
の内容は、AIがAOに移され、BlがBOに移される
とき、AIに移されるが、A1がAoにもBOにも移さ
れないときは、そのまま残る。B2についても同様であ
る。
またA0レジスタおよびB0レジスタの内容は。
WAレジスタおよびWBレジスタを介して、それぞれV
B2およびVB2に順次的に書き込まれる。
m5図に、上記したマージ処理の具脅例を示す。
たとえばへの組からだけ2個データが出力されたXとぎ
虻は、残りのデータが3個(Aが1個とBが2個)にな
るため比較−できないので、4個揃うまで1サイクル待
つ。
第6図に、比較器25,26.27の比較結果に基づく
セレクタ制御回路28の論理を示す。
なお、ベクトル・レジスタの読出しと、マージ処理器の
データ処理過程とを同期させないときには、一般にRA
レジスタと、A2レジスタの間及びRBレジスタと、B
2レジスタの間にデータ・バッファ・レジスタが必要と
なる。また、ベクトル・レジスタへの書込みについても
同様で、AOルジスタとWAレジスタの間および、BO
レジスタとWBレジスタの間にもデータ・バッファ・レ
ジスタが必要となる。これらのバッファ制御は。
通常行なわれているので省略する。
ベクトル・レジスタ上の2組のソート結果は。
例えば、主記憶上にA組のデータを各1要素データ分の
間隔を置いてストアし2次KB組の要素データをその間
に入れるようにストアすることによって、主記憶上でソ
ートされた結果を得ることができる。
また組を識別する番号IDと、データの番号によって、
レコードをソートすることは容易にできる。図示の例で
は2番号とキーを1個のレジスタに出力する場合で示し
たが、別々のレジスタとすることもできる。
第7図に1本発明のマージ処理器をソート処理へ適用し
た例を示す。
一般にベクトル処理装置においては、高速に演算処理を
行なうため、パイプラインのピッチを短くして、クロッ
ク周期が短くなるようにしているが、それにも技術的な
限界がある。このため、1クロック周期の間に複数のデ
ータを処理するために、ベクトル処理ユニットを複数個
置く方法がとられる。
1ic7cii!Nt、 EVEN UNIT 、!1
 ODD UNIT +7)2絹のユニットを並列に設
けた例を示す。このと剖、ソフトウェアから見たときに
は、あたかも1個の処理装置であるかのように見せるた
め1例えばベクトル・レジスタは、偶数番目の要素デー
タを持つ組と、奇数番目の要素データを持つ組とに分け
る。各組のデータはそれぞれソート処理器により別個に
ソートした後一旦マージし、そこで再び偶数番目と奇数
番目の要素データグループに分離’L、て、 別々1c
EVEN UNIT とODD UNITのベクトル・
レジスタに格納する必要がある。このようなソート処理
を行な5為には、従来であれば、かなり複雑な機構が必
要とされた。しかし図示の例では、各組毎のソートのあ
と1本発明のマージ処理器の出力分配機能を利用すると
とkよりて、直ちに出力を偶数番目、奇数番目に分けて
ソート出力することができ、構成が簡単でしかも高速処
理が可能となる。
〔発明の効果〕
以上のように9本発明によればパイプライン方式による
高速のマージ処理器を実現することができ、データ処理
装置の性能を大幅に向上させることができる。
44、図面の簡単な説明 第1図はマージ処理の説明図、第2図は本発明を実施し
た汎用計算機の概要図、第3図はマージ命令の説明図、
第4図は本発明のマージ処理器の1実施例構成図、第5
図は本実施例によるマージ処理の具体例の説明図、第6
図はセレクタ制御論理の説明図、第7図は本発明に基づ
くマージ処理器を適用して構成したソート処理の説明図
である。
図中、6はベクトル・レジスタ、7はマージ処理器、1
6,17.19,20,23.24はそれぞれA2.B
2.AI、Bl、AO,BOの各レジスタ、21および
22はセレクタ、25,26゜27は比較器、28はセ
レクタ制御回路を示す。
特許出願人 富士通株式会社 代理人弁印士 長谷用文廣(外1名)

Claims (1)

  1. 【特許請求の範囲】 番号付けされた複数のデータを順次読み出し。 データ処理後、処理結果を順次書き込むことができるパ
    イプライン型データ処理装置において、各々がソートさ
    れた複数のデータをN組順次読み出し、各組から隣接す
    るデータまたは該データに含まれているキーをN個ずつ
    0合計NXN個取り出しそれぞれの大小関係を比較する
    回路と、その比較結果にしたがって、NX、N個のデー
    タの順序を入れ替える回路とをそなえ、該入れ替えられ
    たデータの順序にしたがってN個ずつ、データ、または
    組を識別する番号とデータの番号、または両者を順次出
    力して、N#lのデータを作ることを特徴とするマージ
    処理器。
JP23757083A 1983-12-16 1983-12-16 マ−ジ処理器 Granted JPS60128529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23757083A JPS60128529A (ja) 1983-12-16 1983-12-16 マ−ジ処理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23757083A JPS60128529A (ja) 1983-12-16 1983-12-16 マ−ジ処理器

Publications (2)

Publication Number Publication Date
JPS60128529A true JPS60128529A (ja) 1985-07-09
JPH0519736B2 JPH0519736B2 (ja) 1993-03-17

Family

ID=17017269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23757083A Granted JPS60128529A (ja) 1983-12-16 1983-12-16 マ−ジ処理器

Country Status (1)

Country Link
JP (1) JPS60128529A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279976A (ja) * 1985-06-05 1986-12-10 Hitachi Ltd ベクトル処理装置
JP2016115092A (ja) * 2014-12-12 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 多数の要素からなる配列をソートする装置、方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279976A (ja) * 1985-06-05 1986-12-10 Hitachi Ltd ベクトル処理装置
JP2016115092A (ja) * 2014-12-12 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 多数の要素からなる配列をソートする装置、方法およびプログラム

Also Published As

Publication number Publication date
JPH0519736B2 (ja) 1993-03-17

Similar Documents

Publication Publication Date Title
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPS61107431A (ja) 演算装置
JPH03286332A (ja) デジタルデータ処理装置
JPS60128529A (ja) マ−ジ処理器
JPS6142031A (ja) ソ−ト処理装置
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
JPS5958580A (ja) マスク付きベクトル演算処理装置
JP2812610B2 (ja) パイプライン制御方式
JP2760649B2 (ja) 情報処理装置
JPH0926872A (ja) パイプラインマージソータ
JP2895892B2 (ja) データ処理装置
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
JPH1021053A (ja) データ処理装置
JPS6151269A (ja) デ−タ処理装置
JPS6023378B2 (ja) 情報処理装置
JPH0238964B2 (ja)
JP2667810B2 (ja) ベクトル処理装置
JPS60178540A (ja) 情報処理装置におけるバイパス制御方式
SU941994A1 (ru) Ячейка однородной структуры
JPS61110233A (ja) デ−タ処理装置
JPH0275018A (ja) マージ処理方法
JPH0218732B2 (ja)
JPH03196257A (ja) ベクトル処理装置
JPS5991548A (ja) 分配器
JPS60200337A (ja) ソ−テング制御方式