JPH0519736B2 - - Google Patents

Info

Publication number
JPH0519736B2
JPH0519736B2 JP23757083A JP23757083A JPH0519736B2 JP H0519736 B2 JPH0519736 B2 JP H0519736B2 JP 23757083 A JP23757083 A JP 23757083A JP 23757083 A JP23757083 A JP 23757083A JP H0519736 B2 JPH0519736 B2 JP H0519736B2
Authority
JP
Japan
Prior art keywords
data
register
pieces
sets
key
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
Application number
JP23757083A
Other languages
English (en)
Other versions
JPS60128529A (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)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、データ処理装置において、マージ
(併合)処理をパイプライン形式で高速に行なう
マージ処理器に関する。
〔技術の背景〕 一定の順序にソートされたデータを複数組入力
して、その順序性を保つて1組のデータを出力す
るいわゆるマージ処理は、従来ソフトウエアで行
なわれていた。
次に、第1図の具体例を用いて、従来のソフト
ウエア方式によるマージ処理について説明する。
第1図において、A組、B組のデータとも、レ
コード1乃至レコード4からなり、それぞれの
KEYの値にしたがつて予め昇順にソートされて
いる。たとえば、A組のKEY1の内容を〔3〕A1
のように表わすと、処理手順は次のようになる。
A組のKEY1を読み出す。 ……〔3〕A1 B組のKEY1を読み出す。 ……〔1〕B1 両者を比較し、小さい方を出力する。
→〔1〕B1 B組を出力したのでB組の次のKEYを読む。
……〔2〕B2 残つているA組のKEY1と比較し、小さい方
を出力する。 →〔2〕B2 B組を出力したので、B組の次のKEYを読
む。 ……〔4〕B3 比較し、小さい方を出力する。 →〔3〕A1 A組を使用したのでA組の次のKEYを読む。
……〔5〕A2 〓 以下同様。
このように、ソフトウエア方式によるマージ処
理は複雑な手順が繰り返されるため、処理時間が
長くかかるという問題があつた。
〔発明の目的および構成〕
本発明の目的は、従来ソフトウエア方式で行な
われていたマージ処理を、ハードウエア化して高
速処理を図ることにあり、特にパイプライン方式
で実現することにある。
そのための本発明の構成は、番号付けされた複
数のデータを順次読み出し、データ処理後、処理
結果を順次書き込むことができるパイプライン型
データ処理装置において、各々が昇順または降順
の各組共に同じ方向にソートされた複数のデータ
をN組順次読み出し、各組からそれぞれの組内で
隣接して配置されているN個のデータまたは該N
個のデータにそれぞれ含まれているN個のキー
を、必要に応じてそれぞれのデータまたはキーに
組を識別する番号とデータの番号とを付与して合
計N×N個取り出し、それぞれのキーの大小関係
を比較する回路と、その比較結果にしたがつて、
N×N個のデータの順序を入れ替える回路とをそ
なえ、該入れ替える回路は、昇順のときはN×N
個のうちから最も若番のものをN個ずつ、また降
順のときは最も老番のものをN個ずつ、データ、
または組を識別する番号とデータの番号、または
両者を出力し、出力したデータが属していた入力
組から同じ数だけデータを補充して、N組のデー
タを順次作ることを特徴としている。
〔発明の実施例〕
以下に、本発明の詳細を実施例にしたがつて説
明する。
本発明は、任意のN組のデータのマージ処理に
適用できるものであるが、簡単化のため、2組の
データのマージ処理器を例に説明する。
2組の入力データを、マージして1組にすると
き、全データ数は入力と出力とで変らない。この
ため、2入力で1出力の処理を行なうならば、出
力に入力の2倍の時間がかかる計算となる。その
ため、処理過程にデータバツフアを持つか、又は
入力データの読み出しを待たせる制御が必要とな
る。これでは、パイプライン的な順次処理になじ
まず、また、制御が複雑になる。
本発明では、2組のデータのマージの場合、2
組の入力データを順次読み出し、マージした結果
をまた2つに分配して2組の出力データを作り出
すようにして、入力および出力のデータ速度を一
致させ、パイプライン的にマージ処理を行なうこ
とを可能にする。
第2図は、本発明を実施した汎用計算機の概略
構成図である。図中、1は主記憶装置、2はバツ
フア記憶装置、3はスカラレジスタ、4はスカラ
演算器、5はベクトル処理装置、6はベクトルレ
ジスタ、7はマージ処理器である。
第3図は本実施例で使用できるマージ命令の形
式の1例を示したものである。命令中のOPフイ
ールドは命令コードを示し、R1フイールドは出
力オペランドレジスタ番号を示す。番号〔R1〕
と番号〔R1〕+1の2つのレジスタに、マージ出
力が書き込まれる。R2のフイールドは、、第2入
力オペランドレジスタ番号を示す。R3フイール
ドは、第3入力オペランドレジスタ番号を示す。
第4図は、本発明によるマージ処理器の1実施
例の構成図である。図中、6はベクトルレジス
タ、7はマージ処理器、8乃至11はそれぞれベ
クトルレジスタVR0,VR1,VR2,VR3を示す。
または12はRAレジスタ、13はRBレジス
タ、、14はWAレジスタ、15はWBレジスタ、
16はA2レジスタ、17はB2レジスタ、18は
カウンタ、19はA1レジスタ、20はB1レジス
タ、21および22はセレクタ、23はA0レジ
スタ、24はB0レジスタ、25,26,27は
比較器、28はセレクタ制御回路を示す。
ベクトル・レジスタ6には、4組のベクトル・
レジスタVR0〜VR3があり、各組は4個の要
素データ(0〜3)を待つ。命令により指定され
たベクトル・レジスタの各要素データは、順次的
に読み出される。要素データには、データの
KEYの値が保持されている。
RA、A2、A1、A0およびRB、B2、B1、B0の
各レジスタは、パイプラインの各ステージに対応
するように制御される。
ベクトルレジスタVR0およびVR1からそれ
ぞれ読み出された2組の各要素データ(キー)
は、まずRAレジスタおよびRBレジスタにそれ
ぞれセツトされ、次にA2レジスタおよびB2レジ
スタに転送される。
A2レジスタおよびB2レジスタにおいて、それ
ぞれの要素データには、組を識別する固定ビツト
“0”,“1”と、順次変化するカウンタ18のカ
ウント値とを組み合わせたIDコードが付与され、
以後の処理においてキー順序の変更が行なわれて
も、もとのデータとの対応付けが容易となるよう
にする。
A2レジスタおよびB2レジスタの内容は、次の
タイミングでA1レジスタおよびB1レジスタか、
あるいはセレクタ21および22を介してA0レ
ジスタあるいはB0レジスタに選択的に転送され
る。セレクタ21,22は、セレクタ制御回路2
8から出力される選択信号SELA0、SELB0によ
つてそれぞれ制御され、要素データすなわちキー
の配列を変更するように機能する。
A1、A2、B1、B2の各レジスタ内のキーの値
は、それぞれa1、a2、b1、b2で表わされ、比較器
25,26,27において、それぞれa1>b1、a1
>b2、b1>a2の比較が行なわれ、セレクタ制御回
路28はその比較結果に従つて、たとえば昇順に
ソートする場合には、最小のキーをA0レジスタ
に、次のキーをB0レジスタに移すようにセレク
タ21,22を制御する。すなわち、新たに受け
取つたA2レジスタおよびB2レジスタ中の2個の
キーa2、b2と、先に入れられていたA1レジスタ
およびB1レジスタ中の2個のキーa1、b1の計4
個のキーを比較し、、小さいもの2個を出力して、
大きいもの2個を残し、残された2個を次の比較
のために使用する。
上記比較動作の結果、A1およびB1レジスタの
内容が、A0レジスタにも、B0レジスタにも移さ
れないときには、そのままもとのレジスタに残さ
れる。A2レジスタの内容は、A1がA0に移され、
B1がB0に移されるとき、A1に移されるが、、A1
がA0にもB0にも移されないときは、そのまま残
る。B2についても同様である。またA0レジスタ
およびB0レジスタの内容は、WAレジスタおよ
びWBレジスタを介して、それぞれVR2および
VR3に順次的に書き込まれる。
第5図に、上記したマージ処理の具体例を示
す。たとえばBの組からだけ2個データが出力さ
れたときには、残りのデータが3個(Aが2個と
Bが1個)になるため比較できないので、4個揃
うまで1サイクル待つ。
VR0またはVR1のベクトルレジスタの要素
データがすべて読み出されたとき、第5図に
〔−〕で示されるデータは無効データとして扱わ
れ、比較器では、もう一方の有効データが選択さ
れる。
一般に、このようなパイプライン型データ処理
装置においては、有効データには有効フラグビツ
トをデータに付加した形でデータ処理装置内を転
送する方式がとられている。本発明においても、
ベクトルレジスタからも有効な要素データが取り
出されるときは、その有効フラグビツトが“オ
ン”にされて、データと一緒に転送され、データ
がすべて読み出されてデータがなくなれば、有効
フラグビツトが“オフ”となつて、データ(内容
は不定)とともに転送され、無効データとして認
識されるようにしている。
第6図に、比較器25,26,27の比較結果
に基づくセレクタ制御回路28の論理を示す。
なお、ベクトル・レジスタの読出しと、マージ
処理器のデータ処理過程とを同期させないときに
は、、一般にRAレジスタと、A2レジスタの間及
びRBレジスタと、B2レジスタの間にデータ・バ
ツフア・レジスタが必要となる。また、ベクトル
レジスタへの書込みについても同様で、A0レジ
スタとWAレジスタの間および、B0レジスタと
WBレジスタの間にもデータ・バツフア・レジス
タが必要となる。これらのバツフア制御は、通常
行なわれているので省略する。
ベクトル・レジスタ上の2組のソート結果は、
例えば、主記憶上にA組のデータを各1要素デー
タ分の間隔を置いてストアし、次にB組の要素デ
ータをその間に入れるようにストアすることによ
つて、主記憶上でソートされた結果を得ることが
できる。
また組を識別する番号IDと、データの番号に
よつて、レコードをソートすることは容易にでき
る。図示の例では、番号とキーを1個のレジスタ
に出力する場合で示したが、別々のレジスタとす
ることもできる。
第7図に、本発明のマージ処理器をソート処理
へ適用した例を示す。
一般にベクトル処理装置においては、高速に演
算処理を行なうため、パイプラインのピツチを短
くして、クロツク周期が短くなるようにしている
が、それにも技術的な限界がある。このため、1
クロツク周期の間に複数のデータを処理するため
に、ベクトル処理ユニツトを複数個置く方法がと
られる。
第7図は、EVEN UNITとODD UNITの2
組のユニツトを並列に設けた例を示す。このと
き、ソフトウエアから見たときには、あたかも1
個の処理装置であるかのように見せるため、例え
ばベクトル・レジスタは、偶数番目の要素データ
を持つ組と、奇数番目の要素データを持つ組とに
分ける。各組のデータはそれぞれソート処理器に
より別個にソートした後一旦マージし、そこで再
び偶数番目と奇数番目の要素データグループに分
離して、別々にEVEN UNITとODD UNITの
ベクトル・レジスタに格納する必要がある。この
ようなソート処理を行なう為には、従来であれ
ば、かなり複雑な機構が必要とされた。しかし図
示の例では、各組毎のソートのあと、本発明のマ
ージ処理器の出力分配機能を利用することによつ
て、直ちに出力を偶数番目、奇数番目に分けて、
ソート出力することができ、構成が簡単でしかも
高速処理が可能となる。
〔発明の効果〕
以上のように、本発明によればパイプライン方
式による高速のマージ処理器を実現することがで
き、データ処理装置の性能を大幅に向上させるこ
とができる。
【図面の簡単な説明】
第1図はマージ処理の説明図、第2図は本発明
を実施した汎用計算機の概要図、第3図はマージ
命令の説明図、第4図は本発明のマージ処理器の
1実施例構成図、第5図は本実施例によるマージ
処理の具体例の説明図、第6図はセレクタ制御論
理の説明図、第7図は本発明に基づくマージ処理
器を適用して構成したソート処理の説明図であ
る。 図中、6はベクトル・レジスタ、7はマージ処
理器、16,17,19,20,23,24はそ
れぞれA2、B2、A1、B1、A0、B0の各レジス
タ、21および22はセレクタ、25,26,2
7は比較器、28はセレクタ制御回路を示す。

Claims (1)

    【特許請求の範囲】
  1. 1 番号付けされた複数のデータを順次読み出
    し、データ処理後、処理結果を順次書き込むこと
    ができるパイプライン型データ処理装置におい
    て、各々が昇順または降順の各組共に同じ方向に
    ソートされた複数のデータをN組順次読み出し、
    各組からそれぞれの組内で隣接して配置されてい
    るN個のデータまたは該N個のデータにそれぞれ
    含まれているN個のキーを、必要に応じてそれぞ
    れのデータまたはキーに組を識別する番号とデー
    タの番号とを付与して合計N×N個取り出し、そ
    れぞれのキーの大小関係を比較する回路と、その
    比較結果にしたがつて、N×N個のデータの順序
    を入れ替える回路とをそなえ、該入れ替える回路
    は、昇順のときはN×N個のうちから最も若番の
    ものをN個ずつ、また降順のときは最も老番のも
    のをN個ずつ、データ、または組を識別する番号
    とデータの番号、または両者を出力し、出力した
    データが属していた入力組から同じ数だけデータ
    を補充して、N組のデータを順次作ることを特徴
    とするマージ処理器。
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 JPS60128529A (ja) 1985-07-09
JPH0519736B2 true 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)

Families Citing this family (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 ベクトル処理装置
JP6380952B2 (ja) * 2014-12-12 2018-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 多数の要素からなる配列をソートする装置、方法およびプログラム

Also Published As

Publication number Publication date
JPS60128529A (ja) 1985-07-09

Similar Documents

Publication Publication Date Title
KR0125623B1 (ko) 데이타 프로세서 및 데이타 처리방법
US4079451A (en) Word, byte and bit indexed addressing in a data processing system
EP0424618A2 (en) Input/output system
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US3943494A (en) Distributed execution processor
US6233671B1 (en) Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions
US4047247A (en) Address formation in a microprogrammed data processing system
EP0126247B1 (en) Computer system
US5142687A (en) Sort accelerator with rebound sorter repeatedly merging sorted strings
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
GB2073923A (en) Branching in computer control store
US5265258A (en) Partial-sized priority encoder circuit having look-ahead capability
JPH02227730A (ja) データ処理システム
US6370634B1 (en) Data flow computer with two switches
EP1314099B1 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
Lee Fast search algorithms for associative memories
JPS6142031A (ja) ソ−ト処理装置
JPH0786875B2 (ja) ベクトル処理装置
JPH0519736B2 (ja)
US3568162A (en) Data processing with dual function logic
JPS6324325A (ja) デ−タ項目を分類する方法および分類装置
JPS5958580A (ja) マスク付きベクトル演算処理装置
JP2760649B2 (ja) 情報処理装置
JP2859645B2 (ja) ベクトル処理システム
Händler A multiprocessor working as a fault-tolerant cellular automaton