JPH09292975A - ソートプロセッサおよびソート処理装置 - Google Patents

ソートプロセッサおよびソート処理装置

Info

Publication number
JPH09292975A
JPH09292975A JP8107001A JP10700196A JPH09292975A JP H09292975 A JPH09292975 A JP H09292975A JP 8107001 A JP8107001 A JP 8107001A JP 10700196 A JP10700196 A JP 10700196A JP H09292975 A JPH09292975 A JP H09292975A
Authority
JP
Japan
Prior art keywords
data
key value
sort
comparison
sort processor
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
JP8107001A
Other languages
English (en)
Other versions
JP3196637B2 (ja
Inventor
Shinya Fushimi
信也 伏見
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10700196A priority Critical patent/JP3196637B2/ja
Priority to TW086103345A priority patent/TW366467B/zh
Priority to US08/834,738 priority patent/US5903780A/en
Priority to DE69729818T priority patent/DE69729818T2/de
Priority to EP97106541A priority patent/EP0803800B1/en
Publication of JPH09292975A publication Critical patent/JPH09292975A/ja
Application granted granted Critical
Publication of JP3196637B2 publication Critical patent/JP3196637B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/32Merging, 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/36Combined merging and sorting

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)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 ソート性能の向上及び、ソートプロセッサの
小型化による半導体の集積度に応じたソートプロセッサ
の高密度化を目的とする。 【解決手段】 入力データストリングを格納するデータ
記憶装置と、前記データストリングの連続するK組
(K:3以上の整数)の比較対象データを入力するK+
1個の入力ポートを有して、K個の入力ポートからのデ
ータを比較する比較器と、この比較器へ入力する前記入
力ポートを選択する制御部と、を備えるようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベース処
理、ビジネスデータ処理等における、大量データの並べ
替え、所謂ソート処理を行なうソートプロセッサ及びソ
ート処理装置に関するものである。なお、この明細書に
おいては、部分的なソート処理を行なうプロセッサをソ
ートプロセッサと称し、ソートプロセッサ複数個を、直
列に接続して、完全なソート処理を行なう装置をソート
処理装置と称して、区別するものとする。
【0002】
【従来の技術】図6は、例えば「情報処理」Vol.3
3、No.12、P1416ー1423、1992に開
示されている従来のソート処理装置を備えた計算機シス
テムの構成を示す図である。図において、1はソート処
理装置、2はホスト計算機のシステムバス、3はホスト
計算機の主記憶装置、4はホスト計算機のCPU、5は
ホスト計算機上でデータを格納するディスク装置、6は
ホスト計算機である。
【0003】以下、図を参照しながら動作について説明
する。先ず、概略の動作について説明する。ホスト計算
機6においてデータ処理の要求が発生すると、ホスト計
算機6のCPU4は対象データが格納されているディス
ク装置5からデータを連続的に取り出して、これをシス
テムバス2を経由して連続的にソート処理装置1に送
る。なお、このとき、必要に応じてホスト計算機1の主
記憶装置3が入出力バッファ領域として用いられる。ソ
ート処理装置1においては、データが入力されると、ソ
ート処理を行い、結果を再びシステムバス2を経由して
ホスト計算機6に送り返す。ホスト計算機6は送り返さ
れた結果データを入力時と同様にしてディスク装置5に
格納する。なお、ソート処理装置1に対するデータの入
力と、ソート処理装置1からの結果データの出力は並列
に実行される。
【0004】次にソート処理装置1の動作の詳細につい
て説明する。ソート処理装置1はホスト計算機6から送
られてくるデータの列を連続的に入力して、これを指定
された順序に並べ替えて、結果を再びホスト計算機6に
返す。この様子を、同じく上記「情報処理」に開示され
ている図5を用いて説明する。図7は、図6におけるソ
ート処理装置1の構成を示す図で、ソート処理装置1
は、ソートプロセッサ11、12、13、及び14を線
形に接続して構成される。各ソートプロセッサ11〜1
4には、各々データ記憶装置15、16、17、及び1
8が接続されている。また、21はホスト計算機6との
データのやりとり、処理の指示のやりとりを行うための
ホスト計算機インタフェースであり、19はソート処理
装置1全体を制御する制御部である。ソートプロセッサ
11〜14は、各々先頭から第1段目のソートプロセッ
サ、第2段目のソートプロセッサ、第3段目のソートプ
ロセッサ等と呼ばれる。第i段目のソートプロセッサ
は、2i-1データ分の容量の記憶装置を各々有してい
る。
【0005】ここでは、”8、2、1、3、5、7、
6、4、・・・”の順にデータがソート処理装置1に入
力される場合を例にして、動作を説明する。先ず、先頭
の第1段目のソートプロセッサ11は、入力されたデー
タを2つずつ取り出し、これを指定の順序に並び替えて
次段のソートプロセッサに送り出す。次段のソートプロ
セッサに、2つずつにソートされて入力されるデータは
(8、2)、(3、1)、(7、5)、(6、4)、・
・・・となる。このように、第1段目のソートプロセッ
サ11では、”1、3”の順序で入力されたデータは順
序が入れ代わり、(3、1)の順でソートされた2つの
データの組みとなって出力されている。このように、ソ
ートされたデータの組みをデータストリングまたはスト
リングと以降呼ぶことにする。第2段目のソートプロセ
ッサ12は、この2つずつにソートされたデータストリ
ングを入力して、これを2組ずつ取り出し、併合して、
4つずつにソートされたデータストリングを次段のソー
トプロセッサ13に送り出す。その結果は、(8、3、
2、1)、(7、6、5、4)、・・・・となる。この
ように、第2段目のソートプロセッサ12では、入力デ
ータストリング(8、2)と(3、1)がソート処理さ
れた結果、併合されて出力データストリング(8、3、
2、1)となる。第3段目のソートプロセッサ13は、
この4つずつにソートされたデータストリングを入力し
て、これを2組みずつ取り出し、併合して、8つずつに
ソートされたデータストリングを次段のソートプロセッ
サ14に送り出す。この結果は、(8、7、6、5、
4、3、2、1)、・・・・となる。第4段目のソート
プロセッサ14以降も同様な処理を行う。
【0006】ところで、各段のソートプロセッサは、図
8に示すように、前段のソートプロセッサがすべての処
理を終えない内に処理を開始することが可能であり、こ
れにより、データを連続的に入力すると若干の遅れ時間
を経てデータ入力と並列にソート結果が出力されること
がわかる。このようにして、n個のソートプロセッサに
より2n個のデータの並び替え、即ちソート処理が行わ
れる。なお、各ソートプロセッサは、これら比較併合処
理において、各々に接続されたデータ記憶装置15、1
6、17、18を記憶領域として使用する。
【0007】次に、図9に示す「情報処理」Vol.3
1、No.4、P457ー465、1990に開示され
ている従来のソートプロセッサの構成図を参照しなが
ら、ソートプロセッサ内部における動作について説明す
る。なお、この図9においては、説明を簡単にするため
図7におけるソートプロセッサ12のみの内部について
を示しているが、他のソートプロセッサの内部も同様な
構成である。図9において、120はデータストリング
を比較する比較器、121、122は各々比較されるデ
ータの一部を一次的に格納するラッチレジスタ、12
3、124は比較器120のデータ入力ポート、125
はソートプロセッサの動作を制御する制御部である。ラ
ッチレジスタ121、122は、比較器120の比較デ
ータサイズ及び比較器の入力ポート123、124のデ
ータ幅と等しいデータサイズを有している。以下の説明
では、この大きさは4バイトとする。126は前段のソ
ートプロセッサ11からのデータを入力する入力バス、
127は次段のソートプロセッサ13にデータを出力す
る出力バス、128は接続されているデータ記憶装置1
6とのデータをやりとりするアドレス及びデータバスで
ある。
【0008】以下、ソートプロセッサ12のソート処理
の詳細について説明する。ソートプロセッサ12に対し
て、前段のソートプロセッサ11からデータストリング
(8、2)、(3、1)、・・・が順次入力されると、
ソートプロセッサ12はこれを併合してデータストリン
グ(8、3、2、1)、・・・として次段のソートプロ
セッサ13に出力する場合を例にとって説明する。
【0009】先ず、最初に入力されるデータストリング
(8、2)はそのままの順序を保ちながら、ソートプロ
セッサ12に接続されたデータ記憶装置16に格納され
る。次に、データストリング(3、1)のデータ「3」
がソートプロセッサ12に入力され、同様にデータ記憶
装置16に記憶される。続いて、最初のデータストリン
グ(8、2)の先頭データ「8」と、データストリング
(3、1)の先頭データ「3」が4バイトずつデータ記
憶装置16からラッチレジスタ121、122にロード
されて、比較器120において比較が行われる。この比
較はデータを4バイト毎に順に比較することにより行わ
れる。
【0010】なお、このソート処理において、ソートキ
ーに対する順序指定として昇順が指定されている場合に
は、比較結果はいずれか小さい方が先に出力される。ま
た、同様に順序指定として降順が指定されている場合に
は、比較結果はいずれか大きい方が先に出力される。こ
れらの昇順降順に対する制御は、データの先頭バイトか
ら始まるソートキーに対して、制御部125が制御を行
う。比較結果が確定すると、データは次のソートプロセ
ッサ13に出力される。この比較処理と並行して、2番
めのデータストリング(3、1)中の次のデータ「1」
がデータ記憶装置16に格納される。この例の場合に
は、比較の結果、データ「8」が次段のソートプロセッ
サ13に出力される。このため、続く比較では、データ
「3」と、データストリング(8、2)の「8」に続く
データ「2」が比較される。比較は、同様にデータ記憶
装置16から、データ「3」とデータ「2」を4バイト
ずつ各々ラッチレジスタ121、122に入力して、4
バイトずつ比較を行うことにより処理される。
【0011】
【発明が解決しようとする課題】従来のソート処理装置
は、以上のように構成されていたので、以下のような問
題点があった。 (1)ソート処理の性能を向上させるために、ソートプ
ロセッサにおいて一度に比較できる数を2から4あるい
は8等の大きい数とすることは困難であった。例えば、
「電子通信学会論文誌」Vol.1.J66 D N
o.3 P332ー339 1983/3 のP332
ー333には、K本の入力ストリングを1本にマージす
ることが記載されているが、示されているように理論上
可能であることは示されているが、従来のソートプロセ
ッサでは、比較結果を入力データのどちらかが大きいと
いう情報により制御されており、これを4あるいは8等
の2より大きい数に変更する手段は示されておらず、単
純に一度に比較できる数を2から4あるいは8にしても
効率良くソート処理を行なうことができなかった。 (2)例えば、従来の技術の構成において、ラッチレジ
スタ121、122の数を4または8等に数に増加させ
ると、比較処理においては、比較対象となるK個のデー
タを4バイト毎にデータ記憶装置16から読み出す処理
が必要となり、4バイトの比較において4×K回のデー
タ記憶装置アクセスが必要となる。このため、Kを増加
させればさせる程、データ記憶装置へのアクセス回数が
増加し、性能が低下する問題があった。これは、例え
ば、図10(a)に示すように、従来技術では、データ
記憶装置16へのバス128上を流れるデータをみる
と、比較の度に以下のようなデータアクセスが生じる。
即ち、まず、ラッチレジスタ123へのデータ読み込み
(r1)があり、次にラッチレジスタ124へのデータ
読み込み(r2)が起こる。最後にこれらのデータが比
較され、次段のソートプロセッサ13へ比較結果が出力
されるが、同時に前段のソートプロセッサ11から入力
されてくるデータがデータ記憶装置16に入力(w)さ
れる。また、これと同期して、他のすべてのソートプロ
セッサも並列に同様な動作を各々のデータ記憶装置に対
して行っている。従って、比較の物理的な単位である4
Bに対して、この場合、3サイクルで一回の比較が行わ
れることになる。一方、これをそのまま拡張し、例えば
K=4とした場合を考えると、図10(b)に示すよう
に、この場合、r1、r2、r3、r4、wのサイクル
により4個のデータの比較が行われることになる。この
場合、先頭のプロセッサ(P1+P2)は、ソートプロセ
ッサ11(P1)及びソートプロセッサ12(P2)を
合わせた場合と同じで、データを4個組にする処理を行
っているが、そのために4バイトの比較に対して、5サ
イクルが必要となることを示している。このように、一
般に、K個のデータの比較を一度に行うと、4Bあたり
K+1サイクルの時間がかかることになり、性能が低下
する。 (3)これを回避するため、キー値をバッファに貯え、
データ記憶装置へのアクセスを回避することが考えられ
るが、これも実現上困難な問題がある。即ち、K個のデ
ータの比較において、K個のバッファを使用すると、比
較において出力されていったデータに対応するキー値の
バッファに対し、このデータに後続するデータを再度読
み込み、その後比較を開始する必要がある。このため、
比較処理と比較処理の間では、キー値の読み込み時間の
無駄が発生し、同じく性能が低下する問題があった。 (4)また、ソート処理においては、一般にレコード内
部の複数のフィールドを組合せて、これらのフィールド
各々に昇順降順を独立に指定して、その指定によってデ
ータを並びかえることが必要となる。このため、ソート
プロセッサの制御装置では、これら複数のキーフィール
ド各々に対して各々昇順、降順の別を解釈し、それに応
じた処理を行う必要があり、ハードウェア論理が複雑に
なる問題があった。 (5)また、ソートプロセッサをLSIで実現する場
合、LSIパッケージにおけるピン数による制限問題が
ある。即ち、比較器及びソートプロセッサ内部の制御装
置は比較的簡単なハードウェア論理により実現可能であ
り、容易にLSIとして実現可能であるが、一方で、L
SIの技術が進展し、多量のハードウェア論理が集積可
能となっても、上記従来技術によるソートプロセッサを
一つのLSIに集積するには、LSIのピン数がネック
となり、実現が困難である。例えば、従来技術の構成に
よりソートプロセッサをLSIとして実装した場合、現
在においては、単一のLSIにより、ソートプロセッサ
を2個またはそれ以上集積することが可能である。一
方、ピン数には制限が生じる。具体的には、外部との接
続に使用する3つのバスは、上記例の場合 ・前段からのデータ入力バス126:32ビット ・後段へのデータ出力バス127 :32ビット ・データ記憶装置のアドレス及びデータバス:アドレス
32ビット、データ32ビット の大きさとなる。これに加えて、電源、グランド、その
他制御信号等は通常のLSIの設計から想定すると30
ピン程度必要であり、合計すると160ピン程度のLS
Iの外部ピンが必要となる。例えば、単一のLSIにソ
ートプロセッサを2個集積する場合(上例では、ソート
プロセッサ11及び12を一つのLSIにまとめて集積
する場合)、これら相互を接続するデータバスの32本
のピンは内部的に実現されるため、不要となるが、その
他のピン数を合わせると220ピン程度が必要となる。
一般に、N個のソートプロセッサを単一のLSIに集積
するには32+32+32×2×N+30程度のピン数
が必要となる。Nを4とすると、ピン数は350ピン程
度となり、これは、LSIの集積度が上がり、多数のソ
ートプロセッサが単一のLSIに集積可能となっても、
LSIパッケージのピン数がネックとなり、これが実現
できない問題があった。 (6)従って、ソート処理装置の実現上、LSI一石に
は1または2の、極く少数のソートプロセッサが集積さ
れることとなり、LSI内部の集積能力に余剰がある一
方、ソート処理装置は、比較的多数のソートプロセッサ
LSIから構成することとなり、ハードウェア規模が大
きくなる問題があった。 (7)さらに、ソートプロセッサに接続されるデータ記
憶装置のハードウェア規模が大きくなる問題がある。即
ち、各ソートプロセッサにおいて、一度に比較されるデ
ータが2個であると、各ソートプロセッサに接続される
データ記憶装置の容量は段数が進むにつれて2倍づつ増
加する。しかし、初段のソートプロセッサの容量が64
バイト程度である場合、2段目は128バイト、3段目
は256バイト、10段目で32Kバイト、20段目で
32Mバイトとなる。一方、現在のDRAMは、1チッ
プで16Mビット、64Mビットといった容量であり、
アクセス幅は8ビットのもの等がある。これら小容量の
データ記憶装置を実現すると、例えば32ビット幅のデ
ータ記憶装置を仮定すると、最低でもこれらDRAM
(アクセス幅8ビット)を4石使用することが必要とな
り、初段から18段目には各々16MビットのDRAM
を4石、合計72石が必要となる。これらのDRAMチ
ップの総容量は144MBあるが、実際にはそのうちの
16MBのみが使用されることになる。このように多数
のDRAMのチップが低い利用効率で使用されるため、
ハードウェア規模が増大する問題があった。
【0012】この発明は、以上のような問題点を解消す
るためになされたもので、ソート処理における比較処理
をデータ記憶装置に対するアクセス要求を増加させるこ
となく同時にK(Kは2以上)個のデータまたはデータ
ストリングで行ない処理性能を改善させることを目的と
する。
【0013】また、比較処理部を同時にK個のデータま
たはデータストリングを比較するように構成することに
より、ソートプロセッサをLSI化する時のピン数を減
少させ、LSIのパッケージのピン数からの制限を解消
して、ソート処理装置を構成するLSIされたソートプ
ロセッサの数を減少させ、ひいてはデータ記憶装置のメ
モリチップ数を減少させ、その結果ソート処理装置の小
型化を可能とすることを目的とする。
【0014】さらに、ソート処理におけるソートキー毎
の昇降順指定を可能としつつ、ソートプロセッサの内部
処理は昇順または降順ソートのみで可能なようにして、
ソートプロセッサの内部構成を簡素化することを目的と
する。
【0015】
【課題を解決するための手段】この発明に係わるソート
プロセッサは、入力データストリングを格納するデータ
記憶装置と、前記データストリングの連続するK組
(K:2以上の整数)の比較対象データを入力するK+
1個の入力ポートを有して、K個の入力ポートからのデ
ータを比較する比較器と、この比較器へ入力する前記入
力ポートを選択する制御部と、を備えて、入力データス
トリングを指定された順序に並べ替えるソート処理を行
なうようにしたものである。
【0016】また、前記比較器のK+1個の入力ポート
の内のK個の入力ポートに比較対象となるK個のデータ
を格納するデータ格納部を設け、1個の入力ポートにレ
ジスタを設け、前記K個の入力ポートの内のKー1個の
入力ポートから入力されるデータと、前記レジスタから
入力されるデータと、を比較することによってK個のデ
ータの比較を行うようにしたものである。
【0017】また、前記データ格納部を、比較するデー
タのキー値のみを格納キー値格納部とするようにしたも
のである。
【0018】また、前記K個のデータストリングとその
キー値を格納する前記K個のキー値格納部とが1対1に
対応するようにしたものである。
【0019】また、前記制御部は、比較処理を行なう前
処理において、比較対象となる連続するK個データスト
リングのデータの内の最初のKー1個のデータのキー値
をK個のキー値格納部の内のKー1個のキー値格納部に
格納し、K個目のデータのキー値の先頭部分がレジスタ
に格納されると同時に、前記Kー1個のKー1個のキー
値格納部に対応する入力ポートと、前記レジスタに接続
されている入力ポートを選択して比較処理を開始すると
共に、K個目のデータは、K個目のキー値格納部に格納
するようにしたものである。
【0020】また、前記制御部は、比較処理の最初の比
較処理の開始にあたり、比較対象となるK個のソートス
トリングのうち、Kー1個のデータストリングを前記デ
ータ記憶装置にロードする際に、これらのデータストリ
ングの各々の先頭データを、データ記憶装置に格納する
と同時に、各々のデータに対応するキー値をキー値格納
部にも格納するようにしたものである。
【0021】また、前記比較部は、各ソートプロセッサ
で繰返し実行する比較処理の2回目以降の比較処理にお
いて、K個のデータのキー値の比較の結果、指定の順序
にするデータを判定して、このデータを次段のソートプ
ロセッサに出力して、前記比較部は、次の比較のため
に、出力されたデータにかわる次のデータのキー値をレ
ジスタに格納して、前記比較部の比較動作を開始させる
と共に、このデータを、出力されたデータのキー値が格
納されていたキー値格納部に並行して格納してソート処
理を行なうようにしたものである。
【0022】また、前記比較部は、最も小さいデータま
たは最も大きいデータを選択するように構成したもので
ある。
【0023】また、前記制御部は、前記比較器で比較の
結果、前記ラッチレジスタに格納されたデータが選択さ
れて出力された場合には、このデータの属するデータス
トリングのこのデータに続く次のデータのキー値をレジ
スタに格納して前記比較器の比較動作を開始させる共
に、このデータのキー値を前記出力されたデータのキー
値が格納されていたキー値格納部に並行して格納するよ
うにしたものである。
【0024】また、前記制御部は、前記比較器での比較
の結果出力されたデータにかわるデータがなくなった場
合にあは、このデータのキー値が格納されていたキー値
格納部に対応する比較器の入力ポートをその後選択しな
いようにしたものである。
【0025】また、前記Kの値をK=2n(nは2以上
の整数)にしたものである。
【0026】また、1個の半導体チップに複数個のソー
トプロセッサを収納するようにしたものである。
【0027】また、この発明に係わるソート処理装置
は、上記のソートプロセッサを直列に接続して構成する
ようにしたものである。
【0028】また、前記比較器の比較機能と異なる指定
のキー値について、このキー値のビットを反転させて、
初段のソートプロセッサに伝送するキー値変換部を備え
るようにしたものである。
【0029】また、入力データストリングを格納するデ
ータ記憶装置と、前記データストリングの連続する比較
対象データの大小関係を比較する比較器と、前記データ
記憶装置および前記比較器を制御する制御部を有するソ
ートプロセッサを複数台接続して、各ソートプロセッサ
が並列に動作して、各々の比較器を用いて繰返し比較処
理を行うことで、複数のデータのソート処理を行うソー
ト処理装置において、前記比較器の比較機能と異なる指
定のキー値について、このキー値のビットを反転させ
て、初段のソートプロセッサに伝送するキー値変換部を
備えるようにしたものである。
【0030】また、前記比較器が比較するデータの大き
いほうを取り出すように構成されているときには、前記
キー値変換部は、降順指定のキー値のビットを反転させ
るようにしたものである。
【0031】また、前記比較器が比較するデータの小さ
いほうを取り出すように構成されているときには、前記
キー値変換部は、昇順指定のキー値のビットを反転させ
るようにしたものである。
【0032】
【発明の実施の形態】この実施の形態においては、一度
に比較するデータ数をK=4、比較するデータ幅を4バ
イトとした場合について説明する。図1は、この発明に
よるソートプロセッサとソートプロセッサ間の接続関係
を示す図である。図において、11、12、13はソー
トプロセッサ、15、16、17は、ソート処理するデ
ータストリングを格納する各ソートプロセッサが有する
データ記憶装置である。各ソートプロセッサ11〜13
は、データのソートキー(以降、キー値と称す)を格納
する4個のキー格納領域130〜139、ラッチレジス
タ140、比較器130およびソートプロセッサ全体を
制御する制御部125から構成されている。なお、比較
器130は、特別の回路構成を採らずに2入力の比較器
を複数組み合わせることにより実現できる。また、ラッ
チレジスタ140は、一般的なレジスタで構成するよう
にしてもよい。
【0033】また、126は前段のソートプロセッサ1
1からのデータを入力する入力バス、127は次段のソ
ートプロセッサ13にデータを出力する出力バス、12
8は接続されているデータ記憶装置16とのデータをや
りとりするアドレス及びデータバスである。136〜1
40は比較器130の入力ポートである。なお、ラッチ
レジスタ140は、比較器130で一度に比較するビッ
ト幅のレジスタであり、キー値格納部131〜134
は、データのキー値部分全てを格納できる容量を有する
レジスタファイルやメモリ素子等で構成されている。ま
た、キー値格納部131、132、133、134を便
宜上、各々1番目、2番目、3番目、4番目のキー値格
納部と称することにする。
【0034】最初に、上記のように構成されたソートプ
ロセッサのソート処理における概略の動作について説明
する。 (1)ソートプロセッサの制御部125は、比較される
個々のデータのキー値を対応するキー値格納部(131
〜134)に格納する。 (2)比較の結果、一つのデータが出力された場合、次
にデータ記憶装置16から入力するデータのキー値を、
例えば4バイト単位にラッチレジスタ135に入力し
て、比較を行い、同時に、空いているキー値格納部にも
同じデータを順次入力する。 (3)各ソートプロセッサで繰返し実行される比較処理
の最初の比較処理の開始において、比較対象となる4個
のデータの内の3個のデータのキー値各々を4個のキー
値格納部(131〜134)の内の3個のキー値格納部
(131〜133)に格納して、ソートプロセッサ内の
制御部は比較対象としてこれら3個のキー値格納部(1
31〜133)に対応する入力ポート(136〜13
8)と、ラッチレジスタ135に接続されている入力ポ
ート140を選択して、4個目のデータのキー値の先頭
部分がラッチレジスタ135に格納されると同時に比較
処理を開始する。並行して4個目のデータのキー値は、
4番目のキー値格納部134に格納する。 (4)各ソートプロセッサで繰返し実行される比較処理
の最初ではない比較処理においては、比較器130によ
る4個のデータのキー値の比較の結果、最も小さいデー
タ(昇順ソートの場合)を判定して、これを出力し、次
の比較において、出力されたデータにかわる次のデータ
のキー値をラッチレジスタ135に入力して、比較を開
始すると共に、並行して、出力されたデータのキー値が
格納されていたキー値格納部にこのデータのキー値を格
納することにより昇順のソートを行う。 (5)降順ソートの場合においては、比較の結果、最も
大きいデータを判定し、これを出力することにより、降
順のソートを実現する。 (6)ラッチレジスタ135に入力されて比較が行わ
れ、かつキー値格納部に同時に格納されているデータ
が、昇順または降順比較の結果選択され、出力された場
合、このデータにかわる次のデータに対しては、同様に
そのキー値の先頭をラッチレジスタ135に入力し、比
較を開始すると共に、並行して、出力されたデータのキ
ー値が格納されていたキー値格納部にこのデータのキー
値を入力し、このデータが比較の結果、選択されず、出
力されなかった場合には、このデータに代わって出力さ
れたデータにかわる次のデータのキー値をラッチレジス
タ135に格納して、比較を開始すると共に、並行し
て、出力されたデータのキー値が格納されていたキー値
格納部にこのデータのキー値を格納する。 (7)出力されていったデータにかわるデータがなくな
った場合、制御部125は、このデータのキー値が格納
されていたキー値格納部に対応する比較器130の入力
ポートをその後選択せず、その後の比較において比較対
象としないように制御する。
【0035】図2は、この発明によるソートプロセッサ
を用いて構成されたソート処理装置を示す図で、ソート
処理装置1は、ソートプロセッサ11〜14、各ソート
プロセッサ用のデータ記憶装置15から18、ホスト計
算機とのデータのやりとり、処理の指示のやりとりを行
うためのホスト計算機とのインタフェース部21、デー
タのキー部の値を変換するキー変換部20およびソート
処理装置1全体の制御を行なうソート処理装置制御部1
9から構成されている。キー変換部20は、先頭のソー
トプロセッサ11に接続して構成されている。以下、図
を参照しながら、この実施の形態における動作について
説明するが、ホスト計算機からデータをソート処理装置
1に入力し、ソート処理装置1がこれをソートしてホス
ト計算機に返す部分は同一であり、説明を省略する。
【0036】先ず、図2を参照しながら、この発明によ
るキー変換部20について説明する。図2は、従来例で
説明した図6と類似した構成であるが、各ソートプロセ
ッサに付加されたデータ記憶装置15、16、17、1
8の容量及び各ソートプロセッサの内部構成が異なって
いる。ソート処理装置1はホスト計算機から送られてく
るデータの列を連続的に入力して、これを指定された順
序に並べ替えて、結果を再びホスト計算機に返す。ソー
ト処理装置は、ソートプロセッサ群11、12、13、
14及びこれらソートプロセッサ群に各々付加されるデ
ータ記憶装置群15、16、17、18を線形に接続
し、更に先頭のソートプロセッサ11の前にキー変換装
置20を接続して構成される。
【0037】ソート処理においては、データ中のキー値
を基にして、データの並べ変えを行なう。例えば、ソー
ト対象のデータの形式が以下のようになっていたとし
て、ソートプロセッサは降順ソートのみが可能である場
合について説明する。 ・データ形式:キー1+キー2+キー3+非キーデータ ここで、キー1とキー3とは昇順指定で、キー2は降順
とする。制御部19は、キー1からキー3までに関し
て、昇順か、降順かの指定をホスト計算機から受取り、
これを解釈して、キー変換部20に対して、入力される
各データに対して、そのキー1とキー3に関しては、そ
のビットを反転して最初のソートプロセッサ11にデー
タを送り出すように制御する。これによって、ソートプ
ロセッサは降順ソートのみの機能しか持っていなくて
も、例に示すような昇順と降順とが混じった複数のキー
に対するソートを実現することができる。
【0038】以下に、具体例を示して説明する。例え
ば、2つのデータのキー1が”2”と”4”であった場
合、これらの2進数表記は”0010”と”0100”
であり、これらを昇順ソートすると、”2”、”4”の
順で出力することが必要である。一方、これらをビット
反転すると,1101”、”1011”であり、これら
は各々10進数”13”、”11”である。従ってこれ
らを降順ソートしても同様な順序が得られる。同様に、
ソートプロセッサが昇順ソートのみの機能しか持ってい
ない場合には、この例では、キー2に対してビット反転
を行うように、制御部19がキー変換部20に対して指
示を行なうようにすればよい。
【0039】次にソートプロセッサの動作について具体
的な例を用いて説明する。ソートプロセッサは、各々先
頭から第1段目のソートプロセッサ(P1)、第2段目
のソートプロセッサ(P2)、第3段目のソートプロセ
ッサ(P3)等と呼ばれる。第i段目のソートプロセッ
サは、(Kー1)Ki-1データ分の容量のデータ記憶装置
を各々有している。以下K=4として動作の説明を行
う。動作の例として、ソート処理装置1に8、2、1、
3、5、7、6、4、9、0、8、5、1、10、3、
4、・・・の順にデータが入力されると、まず先頭の第
1段目のソートプロセッサ11は入力されたデータを4
つずつ取り出し、これを並び替えて次段のソートプロセ
ッサ12に送り出す。
【0040】なお、ここで、データ「8」、「2」、
「1」・・・は、10進数の数字を意味するものではな
く、各々キー値とデータ本体部で構成されたデータ(但
し、キー値のみで構成される場合もある)であり、単に
データとしての大きさを表すものである。次段のソート
プロセッサ12に4つずつにソートされて入力されるデ
ータは(8、3、2、1)、(7、6、5、4)、
(9、8、5、0)、(10、4、3、1)、・・・・
となる。
【0041】2段目のソートプロセッサ12は、この4
つずつソートされたデータを入力して、これを4組ずつ
取り出し、併合して、16ずつソートされたデータ列を
次段のソートプロセッサ13に送り出す。その結果は
(10、9、8、8、7、6、5、5、4、4、3、
3、2、1、1、0)、・・・となる。第3段目のソー
トプロセッサ13以降も同様な処理を行う。この様子を
図3に示す。従来技術と同様に、図3に示すように、各
段のソートプロセッサは、前段のソートプロセッサがす
べての処理を終えない内に処理を開始することが可能で
あり、これにより、データを連続的に入力すると若干の
遅れ時間を経てデータの入力と並列にソート結果が出力
されることがわかる。
【0042】このようにして、n個のソートプロセッサ
によりKn個のデータの並び替え、即ちソート処理が行
われる。別の言い方をすると、N個のデータのソート
は、logKN個のソートプロセッサにより実現され
る。例えば220=410=100万個のデータのソートに
は、従来の2個のデータ比較による方式では、ソートプ
ロセッサは20個必要であったが、K=4とした本方式
ではソートプロセッサは10個で済むことがわかる。な
お、各ソートプロセッサは、これら比較併合処理におい
て、各々に接続されたデータ記憶装置15、16、1
7、18を記憶領域として使用する。
【0043】次に、ソートプロセッサの内部動作につい
て、図1を参照しながら説明する。ソートプロセッサ1
2に対して、前段のソートプロセッサ11からデータス
トリング(8、3、2、1)、(7、6、5、4)、
(9、8、5、0)、(10、4、3、1)・・・が入
力され、ソートプロセッサ12において、これが併合さ
れてデータストリング(10、9、8、8、7、6、
5、5、4、4、3、3、2、1、1、0)、・・・と
して次段のソートプロセッサ13に出力される場合を例
にとって説明する。
【0044】まず、入力バス126からソートプロセッ
サ12に入力されるてくるデータストリング(8、3、
2、1)、(7、6、5、4)、(9、8、5、0)
は、そのままの順序を保ちながら、ソートプロセッサ1
2に接続されたデータ記憶装置16に格納される。この
とき、データ記憶装置16へのデータの格納と平行し
て、データストリング(8、3、2、1)の先頭のデー
タ「8」、データストリング(7、6、5、4)の先頭
データ「7」、データストリング、(9、8、5、0)
の先頭データ「9」のキー値の部分が各々1番目、2番
目3番目のキー値格納部131、132、133に格納
される。この時点では、4個あるキー値格納部の内、4
番目のキー値格納部134は、まだ空きの状態である。
ここには、後に、4番目のデータストリング(10、
4、3、1)のデータのキー値が格納される。即ち、 ・1番目のキー値格納部:1番目のデータストリングの
キー値 ・2番目のキー値格納部:2番目のデータストリングの
キー値 ・3番目のキー値格納部:3番目のデータストリングの
キー値 ・4番目のキー値格納部:4番目のデータストリングの
キー値 のように対応が決められ、固定される。以上の動作は制
御部125により制御される。
【0045】次に、制御部125は、比較器130及び
そのデータ入力ポート136、137、138、13
9、140の内、キー値が格納されているキー値格納部
の最初のKー1個に相当する1番目、2番目および3番
目のキー値格納部136、137、138と、ラッチレ
ジスタ135に接続されたデータ入力ポート140から
入力されるデータ(キー値)を比較器130により比較
するように設定を行う。続いて、残っていた4番目のデ
ータストリング(10、4、3、1)が前段のソートプ
ロセッサ11から順に入力バス126に入力される。ソ
ートプロセッサ12は、まずその先頭のデータ「10」
のキー値4バイトづつ順にラッチレジスタ135に格納
し、比較を4バイトずつ行う。同時に、入力されるデー
タのキー値の部分は空いているキー値格納部134へ格
納する。
【0046】少し補足を加えると、ラッチレジスタ13
5にデータ「10」のキー値の最初の4バイトが格納さ
れると同時比較器130での比較が開始され、この例の
場合には、データ「10」が最も大きいので、データ
「10」のキー値が4バイトずつ順番にラッチレジスタ
135に格納されていくことになる。また、データ「1
0」を他のデータストリングと同様にデータ記憶装置1
6に格納するようにしてもよい。
【0047】比較器130においては、「8」、
「7」、「9」、「10」が比較される。その結果、最
も大きいデータ「10」が出力される。この例のよう
に、ラッチレジスタ135に入力されているデータがそ
のまま比較の結果次段に出力される場合には、まず、こ
のデータのキー部が比較器130から出力され、そのま
まデータ出力バス127を通じて次段のソートプロセッ
サ13に出力される。続いて、このデータにキーでない
データ部分がある場合には、データ入力バス126から
入力されてくるこのデータの非キー値データの部分をそ
のままデータ出力バス127を通じて出力する。これら
の制御は制御部125によって行われる。
【0048】続いて、4番目のデータストリングのデー
タ「10」に続くデータ「4」が入力バス126から入
力されてくる。このデータは、データ「10」の場合と
同様に、ラッチレジスタ135に4バイトづつ入力さ
れ、キー値格納部131、132、133中のデータ
「8」、「7」、「9」と4バイトずつ比較される。ま
た、ラッチレジスタ135への入力と同時に、このデー
タ「4」のキー値は空きとなっているキー値格納部13
4に格納される。この比較においては、ラッチレジスタ
135に入力されてくるデータ「4」ではなく、キー値
格納部133に格納されているデータ「9」が比較の結
果出力される。従って、この場合には、まずこのデータ
「9」のキー値の部分が比較器130からデータ出力バ
ス127を経由して次段のソートプロセッサ13に出力
される。続いて、このデータ「9」のキーでないデータ
部分がある場合には、データ記憶装置16からこのデー
タ「9」の非キー値部分を読みだし、データ出力バス1
27を経由してこれらを次段のソートプロセッサ13に
出力する。また、キー値の比較が完了したときに、デー
タ「4」においてキー値に続くキーでないデータ部分が
ある場合には、データ入力バス126により前段のソー
トプロセッサ11から送られてくるこれらデータ部分
は、データ記憶装置16に送られて記憶される。
【0049】この段階において、先程は空き(次段のソ
ートプロセッサに出力済みで不要のデータの残ってい
る)となっていたキー値格納部134には、データ
「4」のキー値が格納されており、一方、先程「9」の
キー値が格納されていたキー値格納部133が空きとな
っている。従って、制御部125は、比較器130に対
して、そのデータ入力ポート136、137、139、
140からのデータの比較するように設定を行う。設定
が終了すると、比較器130に接続されているラッチレ
ジスタ135には、データ記憶装置16から、データス
トリング(9、8、5、0)のデータ「9」に続くデー
タ「8」のキー値が4バイトずつ読み出されて格納され
て、他のキー値格納部131、132、134にそれぞ
れ格納されているデータ「8」、「7」、「4」と比較
器130において4バイトずつ比較される。この比較動
作は、データ「8」のキー値の最初の4バイトがラッチ
レジスタ135に格納されると同時に始まる。データ
「8」のキー値のラッチレジスタ135への格納と同時
に空いているキー値格納部133に同じものが格納され
て行く。さらに、同時にデータ入力バス126により前
段のソートプロセッサ11から送られてくる(10、
4、3、1)中の「4」に続くデータ「3」をデータ記
憶装置16に格納する。
【0050】図4は、以上説明したソート処理におけ
る、データの流れを図示化したものである。図におい
て、10Kはデータ「10」のキー値を示し、10K
1、10Kー2は各々データ「10」のキー値の最初の
4バイト、次の4バイトを示している。 また、この図
の例では、キー値が8バイト(4バイト*2)の場合を
示している。
【0051】なお、上記の説明において、データ「9」
が出力された後に、データ「8」のキー値部分をデータ
記憶装置16から読み出して、キー値格納部133に、
また、キー値を4バイトずつ順番にラッチレジスタに格
納するように説明したが、この動作は、図1に示したソ
ートプロセッサの構成においては、制御部125がキー
値格納部に接続されているバスを時分割に使用して行な
う。また、データ記憶装置16と、キー値格納部131
〜134およびラッチレジスタ135と、を別のバスで
接続するようにしてもよい。
【0052】以上の動作を繰り返して行くことによりソ
ート処理が完了する。ここで、ソート処理が完了に近づ
くと、4本あるデータストリングのデータがなくなって
行く。例えば、この例の場合には、データストリング
(8、3、2、1)、(7、6、5、4)、(9、8、
5、0)、(10、4、3、1)・・・・が入力され、
ソートプロセッサ12はこれを併合してデータストリン
グ(10、9、8、8、7、6、5、5、4、4、3、
3、2、1、1、0)、・・・を出力するが、出力にお
いて、2つのデータ「4」が出力されてしまうと、2本
目のデータストリング(7、6、5、4)のデータは、
このソートプロセッサ12からはなくなる。このような
データストリングに対しては、対応するキー値格納部か
らのデータを比較対象としないように制御部125が比
較器130を制御する。
【0053】次に、データ記憶装置15〜18の構成に
ついて説明する。データ記憶装置15〜18は、通常D
RAMにより構成される。例えば、100万件、64M
Bのデータのソート処理を行なうことを考えると、従来
技術と本発明では図4に示すような差異が生じる。図5
は、一度に比較するデータを変化させたときのデータ記
憶装置と必要なDRAMの数量の比較を示す図である。
このように、従来技術に比較して、本発明は、ハードウ
ェア量の減少が可能であるが、更に、比較器で一度に比
較する個数KをDRAMの容量、例えば、8ビット幅の
DRAM4つでの最小単位が2MBであることに注目
し、これの約数(この場合には4)を選んで実現するこ
とで、DRAMの個数が少なくなるハードウェア実装が
可能であることがわかる。
【0054】以上のように、この実施の形態によれば、
LSIのピン数制限のために生じるソートプロセッサの
LSI化の実装問題を解決することができる。また、L
SI化の実装問題を解決することにより、ソート処理装
置で必要とするソートプロセッサの数を減少させ、以っ
てソート処理装置のハードウェア規模を小さくし、一定
データ量をソートするソート処理装置を小型化すること
が可能となる。また、このようなソート処理装置内部で
用いられるデータ記憶装置のDRAMの個数を減少さ
せ、ソート処理装置を小型化することを可能とする。ま
た、ソートプロセッサを本発明による構成にしても、ソ
ートプロセッサのデータ記憶装置へのアクセス回数増加
による性能低下が発生しない。また、ソート処理装置に
対し入力されるデータが複数のソートキーを有し、それ
らソートキー各々に対して昇順降順のソート指定が独立
に指定されている場合にも、ソートプロセッサは単一の
キーに対して降順または昇順のソートのみ行えばよく、
ソートプロセッサのハードウェアを簡素化することがで
きる。
【0055】
【発明の効果】以上のように、この発明によれば、比較
するK個のデータストリングに対して比較器の入力ポー
トをK+1個設けて、このK+1個の入力ポートのうち
のK個の入力ポートからのデータを比較するようにした
ので、処理効率を損なうことなくソート処理を行なうこ
とができる。
【0056】また、K+1個の入力ポートのうちK個の
入力ポートには、データストリングのデータを格納する
データ格納部を設け、残りの1個の入力ポートには、前
記K個のデータと同一のデータを格納するラッチレジス
タを設けるようにしたので、バス上を流れるデータスト
リングの乱れがない。
【0057】また、データ格納部には、キー値のみを格
納するようにしたので、余分なデータ記憶装置へのアク
セスを増加させることがない。
【0058】また、Kの数を2n(nは2以上の整数)
となるようにしたので、データ記憶装置として使用する
DRAMの個数を少なくすることができ、ハードウェア
量を少なくすることができる、ソートプロセッサ処理装
置の小型化に寄与する。
【0059】また、キー値データを反転させるキー値変
換部を設けるようにしたので、ソートプロセッサの有す
る比較器には比較するデータのうち、最も大きいデータ
または最も小さいデータを選択する機能だけせれば良
い。
【図面の簡単な説明】
【図1】 この発明による、ソートプロセッサの一実施
の形態を示す図である。
【図2】 この発明による、ソートプロセッサを用いて
構成したソート処理装置の構成を示す図である。
【図3】 ソート処理装置によるソートの様子を示す図
である。
【図4】 ソートプロセッサのソート処理におけるデー
タの流れを示す図である。
【図5】 一度に比較するデータを変化させたときのデ
ータ記憶装置と必要なDRAMの数量の比較を示す図で
ある。
【図6】 従来のソート処理装置のがホスト計算機との
接続形態を示す図である。
【図7】 従来のソート処理装置の構成を示す図であ
る。
【図8】 従来のソート処理装置によるデータのソート
の様子を示す図である。
【図9】 従来のソート処理装置内部で用いられている
ソートプロセッサを示す図である。
【図10】 従来のソートプロセッサにおいて、一度に
比較するデータの数を2から2より大きい数に増加させ
た場合に発生する性能低下を説明するための図である。
【符号の説明】
11、12、13、14 ソートプロセッサ、15、1
6、17、18 データ記憶装置、19 ソート処理装
置の制御部、20 キー変換装置、125 ソートプロ
セッサ内部の制御部、130 比較器、131、13
2、133、134 キー値格納部、135 ラッチレ
ジスタ、136、137、138、139140 入力
ポート。

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 入力データストリングを格納するデータ
    記憶装置と、前記データストリングの連続するK組
    (K:2以上の整数)の比較対象データを入力するK+
    1個の入力ポートを有して、K個の入力ポートからのデ
    ータを比較する比較器と、この比較器へ入力する前記入
    力ポートを選択する制御部と、を備えて、入力データス
    トリングを指定された順序に並べ替えるソート処理を行
    なうことを特徴とするソートプロセッサ。
  2. 【請求項2】 前記比較器のK+1個の入力ポートの内
    のK個の入力ポートに比較対象となるK個のデータを格
    納するデータ格納部を設け、1個の入力ポートにレジス
    タを設け、前記K個の入力ポートの内のKー1個の入力
    ポートから入力されるデータと、前記レジスタから入力
    されるデータとを比較することによってK個のデータの
    比較を行うことを特徴とする請求項1に記載のソートプ
    ロセッサ。
  3. 【請求項3】 前記データ格納部は、比較するデータの
    キー値のみを格納するキー値格納部であることを特徴と
    する請求項2に記載のソートプロセッサ。
  4. 【請求項4】 前記K個のデータストリングとそのキー
    値を格納する前記K個のキー値格納部とが1対1に対応
    していることを特徴とする請求項3に記載のソートプロ
    セッサ。
  5. 【請求項5】 前記制御部は、比較処理を行なう前処理
    において、比較対象となる連続するK個データストリン
    グのデータの内の最初のKー1個のデータのキー値をK
    個のキー値格納部の内のKー1個のキー値格納部に格納
    し、K個目のデータのキー値の先頭部分がレジスタに格
    納されると同時に、前記Kー1個のKー1個のキー値格
    納部に対応する入力ポートと、レジスタに接続されてい
    る入力ポートを選択して比較処理を開始すると共に、K
    個目のデータは、K個目のキー値格納部に格納すること
    を特徴とする請求項3に記載のソートプロセッサ。
  6. 【請求項6】 前記制御部は、比較処理の最初の比較処
    理の開始にあたり、比較対象となるK個のソートストリ
    ングのうち、Kー1個のデータストリングを前記データ
    記憶装置に格納する際に、これらのデータストリングの
    各々の先頭データを、データ記憶装置に格納するのと並
    行して、各々のデータに対応するキー値をキー値格納部
    にも格納することを特徴とする請求項5に記載のソート
    プロセッサ。
  7. 【請求項7】 前記比較部は、各ソートプロセッサで繰
    返し実行する比較処理の2回目以降の比較処理におい
    て、K個のデータのキー値の比較の結果、指定の順序に
    するデータを判定して、このデータを次段のソートプロ
    セッサに出力して、前記比較部は、次の比較のために、
    出力されたデータにかわる次のデータのキー値をレジス
    タに格納して、前記比較部の比較動作を開始させると共
    に、このデータを、出力されたデータのキー値が格納さ
    れていたキー値格納部に並行して格納してソート処理を
    行なうことを特徴とする請求項3に記載のソートプロセ
    ッサ。
  8. 【請求項8】 前記比較部は、最も小さいデータまたは
    最も大きいデータを選択するように構成されていること
    を特徴とする請求項7に記載のソートプロセッサ。
  9. 【請求項9】 前記制御部は、前記比較器で比較の結
    果、前記レジスタに格納されたデータが選択されて出力
    された場合には、このデータの属するデータストリング
    のこのデータに続く次のデータのキー値をレジスタに格
    納して前記比較器の比較動作を開始させる共に、このデ
    ータのキー値を前記出力されたデータのキー値が格納さ
    れていたキー値格納部に並行して格納することを特徴と
    する請求項7または請求項8に記載のソートプロセッ
    サ。
  10. 【請求項10】 前記制御部は、前記比較器での比較の
    結果出力されたデータにかわるデータがなくなった場合
    には、このデータのキー値が格納されていたキー値格納
    部に対応する比較器の入力ポートをその後選択しないこ
    とを特徴とする請求項3乃至請求項9のいずれかに記載
    のソートプロセッサ。
  11. 【請求項11】 前記Kの値をK=2n(nは2以上の
    整数)にしたことを特徴とする請求項1乃至請求項10
    のいずれかに記載のソートプロセッサ。
  12. 【請求項12】 請求項1乃至請求項10のいずれかに
    記載のソートプロセッサ複数個が1個の半導体チップに
    収納されていることを特徴とするソートプロセッサ。
  13. 【請求項13】 請求項1乃至請求項11のいずれかに
    記載のソートプロセッサを直列に接続して構成したこと
    を特徴とするソート処理装置。
  14. 【請求項14】 前記比較器の比較機能と異なる指定の
    キー値について、このキー値のビットを反転させて、初
    段のソートプロセッサに伝送するキー値変換部を備えた
    ことを特徴とする請求項12に記載のソート処理装置。
  15. 【請求項15】 入力データストリングを格納するデー
    タ記憶装置と、前記データストリングの連続する比較対
    象データの大小関係を比較する比較器と、前記データ記
    憶装置および前記比較器を制御する制御部を有するソー
    トプロセッサを複数台接続して、各ソートプロセッサが
    並列に動作して、各々の比較器を用いて繰返し比較処理
    を行うことで、複数のデータのソート処理を行うソート
    処理装置において、前記比較器の比較機能と異なる指定
    のキー値について、このキー値のビットを反転させて、
    初段のソートプロセッサに伝送するキー値変換部を備え
    たことを特徴とするソート処理装置。
  16. 【請求項16】 前記比較器が比較するデータの大きい
    ほうを取り出すように構成されているときには、前記キ
    ー値変換部は、降順指定のキー値のビットを反転させる
    ことを特徴とする請求項13または請求項14に記載の
    ソート処理装置。
  17. 【請求項17】 前記比較器が比較するデータの小さい
    ほうを取り出すように構成されているときには、前記キ
    ー値変換部は、昇順指定のキー値のビットを反転させる
    ことを特徴とする請求項13または請求項14に記載の
    ソート処理装置。
JP10700196A 1996-04-26 1996-04-26 ソートプロセッサおよびソート処理装置 Expired - Fee Related JP3196637B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP10700196A JP3196637B2 (ja) 1996-04-26 1996-04-26 ソートプロセッサおよびソート処理装置
TW086103345A TW366467B (en) 1996-04-26 1997-03-18 Sorting process and sorting processing device
US08/834,738 US5903780A (en) 1996-04-26 1997-04-03 Data sorting device having multi-input comparator comparing data input from latch register and key value storage devices
DE69729818T DE69729818T2 (de) 1996-04-26 1997-04-21 Sortier- und Mischprozessor und Sortier- und Mischprozessanlage
EP97106541A EP0803800B1 (en) 1996-04-26 1997-04-21 A sort processor and a sort processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10700196A JP3196637B2 (ja) 1996-04-26 1996-04-26 ソートプロセッサおよびソート処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000125681A Division JP2000322236A (ja) 2000-01-01 2000-04-26 ソート処理装置

Publications (2)

Publication Number Publication Date
JPH09292975A true JPH09292975A (ja) 1997-11-11
JP3196637B2 JP3196637B2 (ja) 2001-08-06

Family

ID=14447976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10700196A Expired - Fee Related JP3196637B2 (ja) 1996-04-26 1996-04-26 ソートプロセッサおよびソート処理装置

Country Status (5)

Country Link
US (1) US5903780A (ja)
EP (1) EP0803800B1 (ja)
JP (1) JP3196637B2 (ja)
DE (1) DE69729818T2 (ja)
TW (1) TW366467B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642901B2 (en) 2014-12-12 2020-05-05 International Business Machines Corporation Sorting an array consisting of a large number of elements

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370676B1 (en) * 1999-05-27 2002-04-09 International Business Machines Corporation On-demand process sorting method and apparatus
CA2348239C (en) * 2001-05-18 2005-04-19 Ibm Canada Limited-Ibm Canada Limitee Culturally correct ordering of keyed records
WO2003091872A1 (fr) * 2002-04-26 2003-11-06 Nihon University School Juridical Person Dispositif de tri par fusion en parallele, procede et programme y relatifs
US20060123152A1 (en) * 2002-07-23 2006-06-08 Koch Stefan M Inter-processor communication system for communication between processors
JP2005190047A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd データソート機能を持つストレージシステム
US11048475B2 (en) 2017-11-30 2021-06-29 International Business Machines Corporation Multi-cycle key compares for keys and records of variable length
US11354094B2 (en) 2017-11-30 2022-06-07 International Business Machines Corporation Hierarchical sort/merge structure using a request pipe
US10936283B2 (en) * 2017-11-30 2021-03-02 International Business Machines Corporation Buffer size optimization in a hierarchical structure
US10896022B2 (en) 2017-11-30 2021-01-19 International Business Machines Corporation Sorting using pipelined compare units

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US4410960A (en) * 1980-02-05 1983-10-18 Nippon Electric Co., Ltd. Sorting circuit for three or more inputs
JPS59123048A (ja) * 1982-12-28 1984-07-16 Toshiba Corp ソ−ト処理装置
US4567572A (en) * 1983-02-22 1986-01-28 The United States Of America As Represented By The Director Of The National Security Agency Fast parallel sorting processor
DE3322706A1 (de) * 1983-06-24 1985-01-10 Fa. Carl Zeiss, 7920 Heidenheim Schaltungsanordnung zur schnellen rangordnungsauswahl oder -sortierung
JPS6237739A (ja) * 1985-08-12 1987-02-18 Nippon Telegr & Teleph Corp <Ntt> ソ−ト処理装置
JPS63304318A (ja) * 1987-06-04 1988-12-12 Nec Corp 多入力比較回路
JP2752634B2 (ja) * 1988-05-26 1998-05-18 優 喜連川 ソート処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642901B2 (en) 2014-12-12 2020-05-05 International Business Machines Corporation Sorting an array consisting of a large number of elements
US11372929B2 (en) 2014-12-12 2022-06-28 International Business Machines Corporation Sorting an array consisting of a large number of elements

Also Published As

Publication number Publication date
EP0803800B1 (en) 2004-07-14
TW366467B (en) 1999-08-11
US5903780A (en) 1999-05-11
JP3196637B2 (ja) 2001-08-06
DE69729818T2 (de) 2005-07-07
DE69729818D1 (de) 2004-08-19
EP0803800A3 (en) 1997-12-03
EP0803800A2 (en) 1997-10-29

Similar Documents

Publication Publication Date Title
US8838899B2 (en) Internal processor buffer
US7653805B2 (en) Processing in pipelined computing units with data line and circuit configuration rule signal line
WO1998012651A1 (en) Cascadable content addressable memory and system
JPH09153789A (ja) 圧縮された構成ビット・ストリームを使用してゲート・アレイをプログラムするプログラム可能論理回路、及びその方法
JP3196637B2 (ja) ソートプロセッサおよびソート処理装置
US7409529B2 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
US11714603B2 (en) Bitonic sorting accelerator
EP0961966B1 (en) N-way processing of bit strings in a dataflow architecture
JP3458518B2 (ja) 並列プロセッサ
CN114253508A (zh) 逻辑功能模块与可编程逻辑门阵列
US5010509A (en) Accumulator for complex numbers
US7649990B2 (en) Apparatus to implement dual hash algorithm
US6674373B1 (en) System and method for data decompression
JP3493369B2 (ja) コンピュータ
JP2000322236A (ja) ソート処理装置
US8719549B2 (en) Device to reconfigure multi-level logic networks, method to reconfigure multi-level logic networks, device to modify logic networks, and reconfigurable multi-level logic network
US8028107B2 (en) Apparatus and method for serial to parallel in an I/O circuit
JPH0482082A (ja) 半導体記憶装置
US6782467B1 (en) Method and apparatus for fast limited core area access and cross-port word size multiplication in synchronous multiport memories
EP0359192B1 (en) Vector processors and vector register control
Bunyk et al. Design of an RSFQ microprocessor
JPH0317780A (ja) 記号列検索方法および装置
JPH05143287A (ja) ハードウエアソート処理装置
US5748919A (en) Shared bus non-sequential data ordering method and apparatus
JPH113209A (ja) 動的な資源利用機能を備えたデータ処理システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees