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

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

Info

Publication number
JP3196637B2
JP3196637B2 JP10700196A JP10700196A JP3196637B2 JP 3196637 B2 JP3196637 B2 JP 3196637B2 JP 10700196 A JP10700196 A JP 10700196A JP 10700196 A JP10700196 A JP 10700196A JP 3196637 B2 JP3196637 B2 JP 3196637B2
Authority
JP
Japan
Prior art keywords
data
sort
key value
comparison
stored
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 - Fee Related
Application number
JP10700196A
Other languages
English (en)
Other versions
JPH09292975A (ja
Inventor
信也 伏見
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 EP97106541A priority patent/EP0803800B1/en
Priority to DE69729818T priority patent/DE69729818T2/de
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)

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に送
る。なお、このとき、必要に応じてホスト計算機6の主
記憶装置3が入出力バッファ領域として用いられる。ソ
ート処理装置1は、データが入力されると、ソート処理
を行い、結果を再びシステムバス2を経由してホスト計
算機6に送り返す。ホスト計算機6は送り返された結果
データを入力時と同様にしてディスク装置5に格納す
る。なお、ソート処理装置1に対するデータの出力と、
ソート処理装置1からの結果データの入力は並列に実行
される。
【0004】次にソート処理装置1の動作の詳細につい
て説明する。ソート処理装置1はホスト計算機6から送
られてくるデータの列を連続的に入力して、これを指定
された順序に並べ替えて、結果を再びホスト計算機6に
返す。この様子を、同じく上記「情報処理」に開示され
ている図7を用いて説明する。図7は、図6におけるソ
ート処理装置1の構成を示す図で、ソート処理装置1
は、ソートプロセッサ11、12、13、・・・及び1
4を線形に接続して構成される。各ソートプロセッサ1
1〜14には、各々データ記憶装置15、16、17、
・・・及び18が接続されている。また、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段目のソートプロセッサ1
4以降も同様な処理を行う。
【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.J6
6 D No.3P332ー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上を流れるデータをみると、比
較の度に以下のようなデータアクセスが生じる。即ち、
まず、ラッチレジスタ121へのデータ読み込み(r
1)があり、次にラッチレジスタ122へのデータ読み
込み(r2)が起こる。最後にこれらのデータが比較さ
れ、次段のソートプロセッサ13へ比較結果が出力され
るが、同時に前段のソートプロセッサ11から入力され
てくるデータがデータ記憶装置16に格納(w)され
る。また、これと同期して、他のすべてのソートプロセ
ッサも並列に同様な動作を各々のデータ記憶装置に対し
て行っている。従って、比較の物理的な単位である4B
に対して、この場合、3サイクルで一回の比較が行われ
ることになる。一方、これをそのまま拡張し、例えばK
=4とした場合を考えると、図10(b)に示すよう
に、この場合、r1、r2、r3、r4、w合計5サイ
クルにより4個のデータの比較が行われることになる。
この場合、先頭のプロセッサは、ソートプロセッサ11
(P1)及びソートプロセッサ12(P2)を合わせた
場合と同じで、データを4個組にする処理を行っている
が、そのために4バイトの比較に対して、5サイクルが
必要となることを示している。このように、一般に、K
個のデータの比較を一度に行うと、4BあたりK+1サ
イクルの時間がかかることになり、性能が低下する。 (3)これを回避するため、キー値をバッファに貯え、
データ記憶装置へのアクセスを回避することが考えられ
るが、これも実現上困難な問題がある。即ち、K個のデ
ータの比較において、K個のバッファを使用すると、比
較において出力されていったデータに対応するキー値の
バッファに対し、このデータに後続するデータを再度読
み込み、その後比較を開始する必要がある。このため、
比較処理と比較処理の間では、キー値の読み込み時間の
無駄が発生し、同じく性能が低下するという問題があっ
た。 (4)また、ソートプロセッサを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パッケージのピン数がネックとなり、これが実現
できないという問題があった。 (5)従って、ソート処理装置の実現上、LSI一石に
は1または2の、極く少数のソートプロセッサが集積さ
れることとなり、LSI内部の集積能力に余剰がある一
方、ソート処理装置は、比較的多数のソートプロセッサ
LSIから構成することとなり、ハードウェア規模が大
きくなるという問題があった。 (6)さらに、ソートプロセッサに接続されるデータ記
憶装置のハードウェア規模が大きくなる問題がある。即
ち、各ソートプロセッサにおいて、一度に比較されるデ
ータが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】
【課題を解決するための手段】この発明に係わるソート
プロセッサは、多段に接続されて、並列処理により複数
のデータ(各データは複数のソート・キーとデータ本体
から成る)のソートを行うソートプロセッサ群の各段に
おけるソートプロセッサは、前段から入力される一連の
データ群(以下、データストリングという)を格納する
データ記憶装置と、前記データストリングの連続するK
組(K:2以上の整数)の比較対象データを入力するK
+1個の入力ポートを有して、K個の入力ポートからの
データを4バイトなどのデータを細分した小単位で比較
する比較器と、この比較器へ入力する前記入力ポートを
選択する制御部と、を備え、前記K+1個の入力ポート
の内、K個の入力ポートの各々に前記比較対象データを
格納するデータ格納部を設け、1個の入力ポートに前記
比較対象データの先頭部分を格納するレジスタを設け、
前記K個のデータ格納部の内のK−1個のデータ格納部
にK−1組の前記比較対象データを格納し、前記レジス
タにK個目の前記比較対象データの先頭部分を格納し、
このK−1個のデータ格納部から入力されるデータと前
記レジスタから入力されるデータとを比較することによ
ってK個のデータの比較処理を開始すると共に、前記K
個目のデータは、K個目のデータ格納部に格納して、
力データストリングを指定された順序に並べ替えるソー
ト処理を行なうようにしたものである。
【0015】また、前記データ格納部を、比較するデー
タのキー値のみを格納キー値格納部とするようにしたも
のである。
【0016】また、前記K個のデータストリングとその
キー値を格納する前記K個のキー値格納部とが1対1に
対応するようにしたものである。
【0017】また、前記制御部は、比較処理を行なう前
処理において、比較対象となる連続するK個データスト
リングのデータの内の最初のK−1個のデータのキー値
をK個のキー値格納部の内のK−1個のキー値格納部に
格納し、K個目のデータのキー値の先頭部分がレジスタ
に格納されると同時に、前記K−1個のK−1個のキー
値格納部に対応する入力ポートと、前記レジスタに接続
されている入力ポートを選択して比較処理を開始すると
共に、K個目のデータは、K個目のキー値格納部に格納
するようにしたものである。
【0018】また、前記制御部は、比較処理の最初の比
較処理の開始にあたり、比較対象となるK個のソートス
トリングのうち、K−1個のデータストリングを前記デ
ータ記憶装置にロードする際に、これらのデータストリ
ングの各々の先頭データを、データ記憶装置に格納する
と同時に、各々のデータに対応するキー値をキー値格納
部にも格納するようにしたものである。
【0019】また、前記比較は、各ソートプロセッサ
で繰返し実行する比較処理の2回目以降の比較処理にお
いて、K個のデータのキー値の比較の結果、指定の順序
にするデータを判定して、このデータを次段のソートプ
ロセッサに出力して、前記制御部は、次の比較のため
に、出力されたデータにかわる次のデータのキー値をレ
ジスタに格納して、前記比較の比較動作を開始させる
と共に、このデータを、出力されたデータのキー値が格
納されていたキー値格納部に並行して格納してソート処
理を行なうようにしたものである。
【0020】また、前記比較は、最も小さいデータま
たは最も大きいデータを選択するように構成したもので
ある。
【0021】また、前記制御部は、前記比較器で比較の
結果、前記ラッチレジスタに格納されたデータが選択さ
れて出力された場合には、このデータの属するデータス
トリングのこのデータに続く次のデータのキー値をレジ
スタに格納して前記比較器の比較動作を開始させる共
に、このデータのキー値を前記出力されたデータのキー
値が格納されていたキー値格納部に並行して格納するよ
うにしたものである。
【0022】また、前記制御部は、前記比較器での比較
の結果出力されたデータにかわるデータがなくなった場
合にあは、このデータのキー値が格納されていたキー値
格納部に対応する比較器の入力ポートをその後選択しな
いようにしたものである。
【0023】
【発明の実施の形態】この実施の形態においては、一度
に比較するデータ数をK=4、比較するデータ幅を4バ
イトとした場合について説明する。図1は、この発明に
よるソートプロセッサとソートプロセッサ間の接続関係
を示す図である。図において、11、12、13はソー
トプロセッサ、15、16、17は、ソート処理するデ
ータストリングを格納する各ソートプロセッサが有する
データ記憶装置である。各ソートプロセッサ11〜13
は、データのソートキー(以降、キー値と称す)を格納
する4個のキー値格納部131〜134、ラッチレジス
タ135、比較器130およびソートプロセッサ全体を
制御する制御部125から構成されている。なお、比較
器130は、特別の回路構成を採らずに2入力の比較器
を複数組み合わせることにより実現できる。また、ラッ
チレジスタ135は、一般的なレジスタで構成するよう
にしてもよい。
【0024】また、126は前段のソートプロセッサ1
1からのデータを入力する入力バス、127は次段のソ
ートプロセッサ13にデータを出力する出力バス、12
8は接続されているデータ記憶装置16とのデータをや
りとりするアドレス及びデータバスである。136〜1
40は比較器130の入力ポートである。なお、ラッチ
レジスタ135は、比較器130で一度に比較するビッ
ト幅のレジスタであり、キー値格納部131〜134
は、データのキー値部分全てを格納できる容量を有する
レジスタファイルやメモリ素子等で構成されている。ま
た、キー値格納部131、132、133、134を便
宜上、各々1番目、2番目、3番目、4番目のキー値格
納部と称することにする。
【0025】最初に、上記のように構成されたソートプ
ロセッサのソート処理における概略の動作について説明
する。 (1)ソートプロセッサの制御部125は、比較される
個々のデータのキー値を対応するキー値格納部(131
〜134)に格納する。 (2)比較の結果、一つのデータが出力された場合、次
にデータ記憶装置16から入力するデータのキー値を、
例えば4バイト単位にラッチレジスタ135に入力し
て、比較を行い、同時に、空いているキー値格納部にも
同じデータのキー値を順次入力する。 (3)各ソートプロセッサで繰返し実行される比較処理
の最初の比較処理の開始において、比較対象となる4個
のデータの内の3個のデータのキー値の各々を4個のキ
ー値格納部(131〜134)の内の3個のキー値格納
部(131〜133)に順次格納していき、ソートプロ
セッサ内の制御部125は比較対象としてこれら3個の
キー値格納部(131〜133)に対応する入力ポート
(136〜138)と、ラッチレジスタ135に接続さ
れている入力ポート140を選択して、4個目のデータ
のキー値の先頭部分(先頭の4バイト)がラッチレジス
タ135に格納されると同時に比較処理を開始する。並
行して4個目のデータのキー値は、4番目のキー値格納
部134に格納する。 (4)各ソートプロセッサで繰返し実行される比較処理
の最初ではない比較処理においては、比較器130によ
る4個のデータのキー値の比較の結果、最も小さいデー
タ(昇順ソートの場合)を判定して、これを出力し、次
の比較において、出力されたデータにかわる次のデータ
のキー値の先頭部分をラッチレジスタ135に入力する
と同時に比較を開始すると共に、並行して、出力された
データのキー値が格納されていたキー値格納部にこのデ
ータのキー値を格納する。これにより昇順のソートを行
う。 (5)降順ソートの場合においては、比較の結果、最も
大きいデータを判定し、これを出力することにより、降
順のソートを実現する。 (6)ラッチレジスタ135にキー値の一部(4バイ
ト)が格納されて比較が行われ、かつキー値格納部に同
時に格納されているキー値が、昇順または降順比較の結
果選択され、出力された場合、この出力されたデータに
かわる次のデータに対しては、同様にそのキー値の先頭
部分をラッチレジスタ135に格納すると同時に比較を
開始し、これと並行して、出力されたデータのキー値が
格納されていたキー値格納部にラッチレジスタ135に
格納したデータのキー値と同じものを格納する。このデ
ータが比較の結果、選択されず、出力されなかった場合
には、このデータに代わって出力されたデータにかわる
次のデータのキー値の先頭部分をラッチレジスタ135
に格納して、比較を開始すると共に、並行して、出力さ
れたデータのキー値が格納されていたキー値格納部にラ
ッチレジスタ135に格納したデータのキー値と同じも
のを格納する。 (7)出力されていったデータにかわるデータがなくな
った場合、制御部125は、このデータのキー値が格納
されていたキー値格納部に対応する比較器130の入力
ポートをその後選択せず、その後の比較において比較対
象としないように制御する。
【0026】図2は、この発明によるソートプロセッサ
を用いて構成されたソート処理装置を示す図で、ソート
処理装置1は、ソートプロセッサ11〜14、各ソート
プロセッサ用のデータ記憶装置15〜18、ホスト計算
機とのデータのやりとり、処理の指示のやりとりを行う
ためのホスト計算機とのインタフェース部21、データ
のキー部の値を変換するキー変換部20およびソート処
理装置1全体の制御を行なうソート処理装置制御部19
から構成されている。キー変換部20は、先頭のソート
プロセッサ11に接続して構成されている。以下、図を
参照しながら、この実施の形態における動作について説
明するが、ホスト計算機からデータをソート処理装置1
に入力し、ソート処理装置1がこれをソートしてホスト
計算機に返す部分は同一であり、説明を省略する。
【0027】先ず、図2を参照しながら、この発明によ
るキー変換部20について説明する。図2は、従来例で
説明した図6と類似した構成であるが、各ソートプロセ
ッサに付加されたデータ記憶装置15、16、17、1
8の容量及び各ソートプロセッサの内部構成が異なって
いる。ソート処理装置1はホスト計算機から送られてく
るデータの列を連続的に入力して、これを指定された順
序に並べ替えて、結果を再びホスト計算機に返す。ソー
ト処理装置1は、ソートプロセッサ群11、12、1
3、14及びこれらソートプロセッサ群に各々付加され
るデータ記憶装置群15、16、17、18を線形に接
続し、更に先頭のソートプロセッサ11の前にキー変換
装置20を接続して構成される。
【0028】ソート処理においては、データ中のキー値
を基にして、データの並べ変えを行なう。例えば、ソー
ト対象のデータの形式が以下のようになっていたとし
て、ソートプロセッサは降順ソートのみが可能である場
合について説明する。 ・データ形式:キー1+キー2+キー3+非キーデータ ここで、キー1とキー3とは昇順指定で、キー2は降順
とする。制御部19は、キー1からキー3までに関し
て、昇順か、降順かの指定をホスト計算機から受取り、
これを解釈して、キー変換部20に対して、入力される
各データに対して、そのキー1とキー3に関しては、そ
のビットを反転して最初のソートプロセッサ11にデー
タを送り出すように制御する。これによって、ソートプ
ロセッサは降順ソートのみの機能しか持っていなくて
も、例に示すような昇順と降順とが混じった複数のキー
に対するソートを実現することができる。
【0029】以下に、具体例を示して説明する。例え
ば、2つのデータのキー1が”2”と”4”であった場
合、これらの2進数表記は”0010”と”0100”
であり、これらを昇順ソートすると、”2”、”4”の
順で出力することが必要である。一方、これらをビット
反転すると,1101”、”1011”であり、これら
は各々10進数”13”、”11”である。従ってこれ
らを降順ソートしても同様な順序が得られる。同様に、
ソートプロセッサが昇順ソートのみの機能しか持ってい
ない場合には、この例では、キー2に対してビット反転
を行うように、制御部19がキー変換部20に対して指
示を行なうようにすればよい。
【0030】次にソートプロセッサの動作について具体
的な例を用いて説明する。ソートプロセッサは、各々先
頭から第1段目のソートプロセッサ(P1)、第2段目
のソートプロセッサ(P2)、第3段目のソートプロセ
ッサ(P3)等と呼ばれる。第i段目のソートプロセッ
サ(Pi)は、(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に送り出す。
【0031】なお、ここで、データ「8」、「2」、
「1」・・・は、10進数の数字を意味するものではな
く、各々キー値とデータ本体部で構成されたデータ(但
し、キー値のみで構成される場合もある)であり、単に
データとしての大きさを表すものである。次段のソート
プロセッサ12に4つずつにソートされて入力されるデ
ータは(8、3、2、1)、(7、6、5、4)、
(9、8、5、0)、(10、4、3、1)、・・・・
となる。
【0032】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に示すように、各
段のソートプロセッサは、前段のソートプロセッサがす
べての処理を終えない内に処理を開始することが可能で
あり、これにより、データを連続的に入力すると若干の
遅れ時間を経てデータの入力と並列にソート結果が出力
されることがわかる。
【0033】このようにして、n個のソートプロセッサ
によりKn個のデータの並び替え、即ちソート処理が行
われる。別の言い方をすると、N個のデータのソート
は、logKN個のソートプロセッサにより実現され
る。例えば220=410=100万個のデータのソートに
は、従来の2個のデータ比較による方式では、ソートプ
ロセッサは20個必要であったが、K=4とした本方式
ではソートプロセッサは10個で済むことがわかる。な
お、各ソートプロセッサは、これら比較併合処理におい
て、各々に接続されたデータ記憶装置15、16、1
7、18を記憶領域として使用する。
【0034】次に、ソートプロセッサの内部動作につい
て、図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に出力される場合を例
にとって説明する。
【0035】まず、入力バス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番目のデータストリング(1
0、4、3、1)のデータのキー値が格納される。即
ち、 ・1番目のキー値格納部:1番目のデータストリングの
キー値 ・2番目のキー値格納部:2番目のデータストリングの
キー値 ・3番目のキー値格納部:3番目のデータストリングの
キー値 ・4番目のキー値格納部:4番目のデータストリングの
キー値 のように対応が決められ、固定される。以上の動作は制
御部125により制御される。
【0036】次に、制御部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へ
格納する。
【0037】少し補足を加えると、ラッチレジスタ13
5にデータ「10」のキー値の最初の4バイトが格納さ
れると同時に比較器130での比較が開始され、この例
の場合には、データ「10」が最も大きいので、データ
「10」のキー値が4バイトずつ順番にラッチレジスタ
135に格納されていくことになる。また、データ「1
0」を他のデータストリングと同様にデータ記憶装置1
6に格納するようにしてもよい。
【0038】比較器130においては、「8」、
「7」、「9」、「10」が比較される。その結果、最
も大きいデータ「10」が出力される。この例のよう
に、ラッチレジスタ135に入力されているデータがそ
のまま比較の結果次段に出力される場合には、まず、こ
のデータ「10」のキー部が比較器130から出力さ
れ、そのままデータ出力バス127を通じて次段のソー
トプロセッサ13に出力される。続いて、このデータに
キーでないデータ部分がある場合には、データ入力バス
126から入力されてくるこのデータの非キー値データ
の部分をそのままデータ出力バス127を通じて出力す
る。これらの制御は制御部125によって行われる。
【0039】続いて、4番目のデータストリングのデー
タ「10」に続くデータ「4」が入力バス126から入
力されてくる。このデータのキー値は、データ「10」
の場合と同様に、ラッチレジスタ135に4バイトづつ
格納され、キー値格納部131、132、133中のデ
ータ「8」、「7」、「9」と4バイトずつ比較され
る。また、ラッチレジスタ135への格納と同時に、こ
のデータ「4」のキー値は空きとなっているキー値格納
部134に格納される。この比較においては、ラッチレ
ジスタ135に入力されてくるデータ「4」ではなく、
キー値格納部133に格納されている最大のデータ
「9」が比較の結果出力される。従って、この場合に
は、まずこのデータ「9」のキー値の部分が比較器13
0からデータ出力バス127を経由して次段のソートプ
ロセッサ13に出力される。続いて、このデータ「9」
のキーでないデータ部分がある場合には、データ記憶装
置16からこのデータ「9」の非キー値部分を読みだ
し、データ出力バス127を経由してこれらを次段のソ
ートプロセッサ13に出力する。また、キー値の比較が
完了したときに、データ「4」においてキー値に続くキ
ーでないデータ部分がある場合には、データ入力バス1
26により前段のソートプロセッサ11から送られてく
るこれらデータ部分は、データ記憶装置16に送られて
記憶される。
【0040】この段階において、先程は空き(次段のソ
ートプロセッサに出力済みで不要のデータが残ってい
る)となっていたキー値格納部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に同じものが格納され
て行く。さらに、8が出力されるとデータ入力バス12
6により前段のソートプロセッサ11から送られてくる
(10、4、3、1)中の「4」に続くデータ「3」を
データ記憶装置16に格納する。
【0041】図4は、以上説明したソート処理におけ
る、データの流れを図示化したものである。図におい
て、10Kはデータ「10」のキー値を示し、10K
1、10Kー2は各々データ「10」のキー値の最初の
4バイト、次の4バイトを示している。また、この図の
例では、キー値が8バイト(4バイト*2)の場合を示
している。
【0042】なお、上記の説明において、データ「9」
が出力された後に、データ「8」のキー値部分をデータ
記憶装置16から読み出して、キー値格納部133に、
また、キー値を4バイトずつ順番にラッチレジスタ13
5に格納するように説明したが、この動作は、図1に示
したソートプロセッサの構成においては、制御部125
がキー値格納部131〜134に接続されているバスを
時分割に使用して行なう。また、データ記憶装置16
と、キー値格納部131〜134およびラッチレジスタ
135と、を別のバスで接続するようにしてもよい。
【0043】以上の動作を繰り返して行くことによりソ
ート処理が完了する。ここで、ソート処理が完了に近づ
くと、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を制御する。
【0044】次に、データ記憶装置15〜18の構成に
ついて説明する。データ記憶装置15〜18は、通常D
RAMにより構成される。例えば、100万件、64M
Bのデータのソート処理を行なうことを考えると、従来
技術と本発明では図5に示すような差異が生じる。図5
は、一度に比較するデータを変化させたときのデータ記
憶装置と必要なDRAMの数量の比較を示す図である。
このように、従来技術に比較して、本発明は、ハードウ
ェア量の減少が可能であるが、更に、比較器で一度に比
較する個数KをDRAMの容量、例えば、容量16Mb
it、8ビット幅のDRAM4つでの最小単位が8MB
であることに注目し、これの約数(この場合には4)を
選んで実現することで、DRAMの個数が少なくなるハ
ードウェア実装が可能であることがわかる。
【0045】以上のように、この実施の形態によれば、
LSIのピン数制限のために生じるソートプロセッサの
LSI化の実装問題を解決することができる。また、L
SI化の実装問題を解決することにより、ソート処理装
置で必要とするソートプロセッサの数を減少させ、以っ
てソート処理装置のハードウェア規模を小さくし、一定
データ量をソートするソート処理装置を小型化すること
が可能となる。また、このようなソート処理装置内部で
用いられるデータ記憶装置のDRAMの個数を減少さ
せ、ソート処理装置を小型化することを可能とする。ま
た、ソートプロセッサを本発明による構成にしても、ソ
ートプロセッサのデータ記憶装置へのアクセス回数増加
による性能低下が発生しない。また、ソート処理装置に
対し入力されるデータが複数のソートキーを有し、それ
らソートキーの各々に対して昇順降順のソート指定が独
立に指定されている場合にも、ソートプロセッサは単一
のキーに対して降順または昇順のソートのいずれか一方
のみ行えばよく、ソートプロセッサのハードウェアを簡
素化することができる。
【0046】
【発明の効果】以上のように、この発明によれば、比較
するK個のデータストリングに対して比較器の入力ポー
トをK+1個設けて、このK+1個の入力ポートのうち
のK個の入力ポートからのデータを比較するようにした
ので、処理効率を損なうことなくソート処理を行なうこ
とができる。
【0047】また、K+1個の入力ポートのうちK個の
入力ポートには、データストリングのデータを格納する
データ格納部を設け、残りの1個の入力ポートには、前
記K個のデータと同一のデータを格納するラッチレジス
タを設けるようにしたので、バス上を流れるデータスト
リングの乱れがない。
【0048】また、データ格納部には、キー値のみを格
納するようにしたので、余分なデータ記憶装置へのアク
セスを増加させることがない。
【図面の簡単な説明】
【図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 入力
ポート。
フロントページの続き (56)参考文献 特開 平5−197522(JP,A) 特開 平4−365129(JP,A) 特開 昭57−189244(JP,A) 特開 平4−180124(JP,A) 特開 平5−128164(JP,A) 特開 平6−214752(JP,A) 特開 昭61−275935(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/06 - 7/36

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 多段に接続されて、並列処理により複数
    のデータ(各データは複数のソート・キーとデータ本体
    から成る)のソートを行うソートプロセッサ群の各段に
    おけるソートプロセッサは、前段から入力される一連の
    データ群(以下、データストリングという)を格納する
    データ記憶装置と、前記データストリングの連続するK
    組(K:2以上の整数)の比較対象データを入力するK
    +1個の入力ポートを有して、K個の入力ポートからの
    データを4バイトなどのデータを細分した小単位で比較
    する比較器と、この比較器へ入力する前記入力ポートを
    選択する制御部と、を備え、 前記K+1個の入力ポートの内、K個の入力ポートの各
    々に前記比較対象データを格納するデータ格納部を設
    け、1個の入力ポートに前記比較対象データの先頭部分
    を格納するレジスタを設け、 前記K個のデータ格納部の内のK−1個のデータ格納部
    にK−1組の前記比較対象データを格納し、前記レジス
    タにK個目の前記比較対象データの先頭部分を格納し、
    このK−1個のデータ格納部から入力されるデータと前
    記レジスタから入力されるデータとを比較することによ
    ってK個のデータの比較処理を開始すると共に、前記K
    個目のデータは、K個目のデータ格納部に格納して、
    力データストリングを指定された順序に並べ替えるソー
    ト処理を行なうことを特徴とするソートプロセッサ。
  2. 【請求項2】 前記データ格納部は、比較するデータの
    キー値のみを格納するキー値格納部であることを特徴と
    する請求項1に記載のソートプロセッサ。
  3. 【請求項3】 前記K個のデータストリングとそのキー
    値を格納する前記K個のキー値格納部とが1対1に対応
    していることを特徴とする請求項2に記載のソートプロ
    セッサ。
  4. 【請求項4】 前記制御部は、比較処理を行なう前処理
    において、比較対象となる連続するK個データストリン
    グのデータの内の最初のK−1個のデータのキー値をK
    個のキー値格納部の内のK−1個のキー値格納部に格納
    し、K個目のデータのキー値の先頭部分がレジスタに格
    納されると同時に、前記K−1個のキー値格納部に対応
    する入力ポートと、レジスタに接続されている入力ポー
    トを選択して比較処理を開始すると共に、K個目のデー
    タは、K個目のキー値格納部に格納することを特徴とす
    る請求項2に記載のソートプロセッサ。
  5. 【請求項5】 前記制御部は、比較処理の最初の比較処
    理の開始にあたり、比較対象となるK個のソートストリ
    ングのうち、K−1個のデータストリングを前記データ
    記憶装置に格納する際に、これらのデータストリングの
    各々の先頭データを、データ記憶装置に格納するのと並
    行して、各々のデータに対応するキー値をキー値格納部
    にも格納することを特徴とする請求項4に記載のソート
    プロセッサ。
  6. 【請求項6】 前記比較は、各ソートプロセッサで繰
    返し実行する比較処理の2回目以降の比較処理におい
    て、K個のデータのキー値の比較の結果、指定の順序に
    するデータを判定して、このデータを次段のソートプロ
    セッサに出力して、前記制御部は、次の比較のために、
    出力されたデータにかわる次のデータのキー値をレジス
    タに格納して、前記比較の比較動作を開始させると共
    に、このデータを、出力されたデータのキー値が格納さ
    れていたキー値格納部に並行して格納してソート処理を
    行なうことを特徴とする請求項2に記載のソートプロセ
    ッサ。
  7. 【請求項7】 前記比較は、最も小さいデータまたは
    最も大きいデータを選択するように構成されていること
    を特徴とする請求項6に記載のソートプロセッサ。
  8. 【請求項8】 前記制御部は、前記比較器で比較の結
    果、前記レジスタに格納されたデータが選択されて出力
    された場合には、このデータの属するデータストリング
    のこのデータに続く次のデータのキー値をレジスタに格
    納して前記比較器の比較動作を開始させる共に、このデ
    ータのキー値を前記出力されたデータのキー値が格納さ
    れていたキー値格納部に並行して格納することを特徴と
    する請求項6または請求項7に記載のソートプロセッ
    サ。
  9. 【請求項9】 前記制御部は、前記比較器での比較の結
    果出力されたデータにかわるデータがなくなった場合に
    は、このデータのキー値が格納されていたキー値格納部
    に対応する比較器の入力ポートをその後選択しないこと
    を特徴とする請求項2乃至請求項8のいずれかに記載の
    ソートプロセッサ。
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
EP97106541A EP0803800B1 (en) 1996-04-26 1997-04-21 A sort processor and a sort processing device
DE69729818T DE69729818T2 (de) 1996-04-26 1997-04-21 Sortier- und Mischprozessor und Sortier- und Mischprozessanlage

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 JPH09292975A (ja) 1997-11-11
JP3196637B2 true 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)

Families Citing this family (10)

* 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
EP1535169B1 (en) * 2002-07-23 2012-01-25 ST-Ericsson SA Improved inter-processor communication system for communication between processors
JP2005190047A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd データソート機能を持つストレージシステム
JP6380952B2 (ja) 2014-12-12 2018-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 多数の要素からなる配列をソートする装置、方法およびプログラム
US10896022B2 (en) 2017-11-30 2021-01-19 International Business Machines Corporation Sorting using pipelined compare units
US11048475B2 (en) 2017-11-30 2021-06-29 International Business Machines Corporation Multi-cycle key compares for keys and records of variable length
US10936283B2 (en) * 2017-11-30 2021-03-02 International Business Machines Corporation Buffer size optimization in a hierarchical structure
US11354094B2 (en) 2017-11-30 2022-06-07 International Business Machines Corporation Hierarchical sort/merge structure using a request pipe

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 優 喜連川 ソート処理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
US4679163A (en) Inverse discrete cosine transform calculation processor
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JP3196637B2 (ja) ソートプロセッサおよびソート処理装置
JPH0728624A (ja) ソート装置及びソート方法
US7409529B2 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JP3458518B2 (ja) 並列プロセッサ
US5511189A (en) Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor
JPH0482082A (ja) 半導体記憶装置
JP2000322236A (ja) ソート処理装置
JPH03131969A (ja) 記号列検索方法および検索装置
JPH0317780A (ja) 記号列検索方法および装置
US5748919A (en) Shared bus non-sequential data ordering method and apparatus
JPH05143287A (ja) ハードウエアソート処理装置
JP3238939B2 (ja) ソート処理装置
US6965985B2 (en) Sign generation bypass path to aligner for reducing signed data load latency
JP2786055B2 (ja) データ転送装置
JP3265993B2 (ja) ソート処理装置
JPH0797310B2 (ja) ソ−ト処理装置
JPH04326445A (ja) 制御レジスタ書き込み装置
JPH0748309B2 (ja) 記号列照合メモリおよびそのカスケード接続方式
Ribas-Xirgo et al. A Rapid Sorting Unit based on Programmable Shifting Register Files
JPH1021053A (ja) データ処理装置
JPS6132442A (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