JPH0797310B2 - ソ−ト処理装置 - Google Patents
ソ−ト処理装置Info
- Publication number
- JPH0797310B2 JPH0797310B2 JP6543087A JP6543087A JPH0797310B2 JP H0797310 B2 JPH0797310 B2 JP H0797310B2 JP 6543087 A JP6543087 A JP 6543087A JP 6543087 A JP6543087 A JP 6543087A JP H0797310 B2 JPH0797310 B2 JP H0797310B2
- Authority
- JP
- Japan
- Prior art keywords
- comparison
- unit
- units
- transfer
- data
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、文字列や数値データを対象としたソート処理
装置に係り、特に比較転送ユニットの1次元アレイ構造
からなるソート処理装置の改良に関する。
装置に係り、特に比較転送ユニットの1次元アレイ構造
からなるソート処理装置の改良に関する。
ソート処理は、与えられたデータの集まりを所定の規則
に基づいて並び替える処理をいう。電子計算機における
ソート処理とは、数値あるいは文字列として与えられた
データが、計算機内部では“0"あるいは“1"の二値符号
で表記されている事から、二値符号の持つ数値的意味に
もとづいて、昇順(小さいものから大きいものへの順)
あるい降順(大きいものから小さいものへの順)にデー
タを並びかえることである。
に基づいて並び替える処理をいう。電子計算機における
ソート処理とは、数値あるいは文字列として与えられた
データが、計算機内部では“0"あるいは“1"の二値符号
で表記されている事から、二値符号の持つ数値的意味に
もとづいて、昇順(小さいものから大きいものへの順)
あるい降順(大きいものから小さいものへの順)にデー
タを並びかえることである。
一般に、ソート対象とするデータをレコードと称し、レ
コードはデータ相互の比較を行って大小関係を判定する
キー部と比較を行わない部分とに分けることができる。
このレコードを、文字列や正整数(符号なし整数)に限
定した場合には、二進符号を表されたレコードのキー部
を上位桁ほど優位性を持たせて比較することによって、
ソート処理を行うレコード相互の大小関係を決定でき
る。
コードはデータ相互の比較を行って大小関係を判定する
キー部と比較を行わない部分とに分けることができる。
このレコードを、文字列や正整数(符号なし整数)に限
定した場合には、二進符号を表されたレコードのキー部
を上位桁ほど優位性を持たせて比較することによって、
ソート処理を行うレコード相互の大小関係を決定でき
る。
従来、このようなソート処理を高速に実行する専用のソ
ート処理装置として、本出願人は、データ相互の比較に
よる大小関係の判定とデータの転送を並列に行う構成の
ものを提案した(特開昭60-81640号公報参照)。第4図
はかかるソート処理装置の構成図である。本装置は、比
較の対象となるデータを保持するための第1のメモリ10
1および第2のメモリ102、比較器103、該比較器103によ
って得られた判定結果を保持するためのフラグレジスタ
104および転送回路105からなる比較転送ユニット100を
複数個、一次元接続した構成となっている。各ユニット
装置100では、第1、第2のメモリ100、102及び比較器1
03、転送回路105をiビット幅で構成され、第1、第2
のメモリの容量をi×jビットすることにより、i×k
(k≦j)ビットの長さを持つレコードを、Nレコード
(N≦2×ユニット数)までソート出来る。このソート
処理に要する時間は、以下に説明する動作原理にしたが
って、レコードの入出力時間(2×kNステップ)に等し
い。
ート処理装置として、本出願人は、データ相互の比較に
よる大小関係の判定とデータの転送を並列に行う構成の
ものを提案した(特開昭60-81640号公報参照)。第4図
はかかるソート処理装置の構成図である。本装置は、比
較の対象となるデータを保持するための第1のメモリ10
1および第2のメモリ102、比較器103、該比較器103によ
って得られた判定結果を保持するためのフラグレジスタ
104および転送回路105からなる比較転送ユニット100を
複数個、一次元接続した構成となっている。各ユニット
装置100では、第1、第2のメモリ100、102及び比較器1
03、転送回路105をiビット幅で構成され、第1、第2
のメモリの容量をi×jビットすることにより、i×k
(k≦j)ビットの長さを持つレコードを、Nレコード
(N≦2×ユニット数)までソート出来る。このソート
処理に要する時間は、以下に説明する動作原理にしたが
って、レコードの入出力時間(2×kNステップ)に等し
い。
第5図は、第4図のソート処理装置の動作原理図であ
り、1例として0から9までの一桁の数値データのう
ち、3,6,5,2,4,1の6個のレコードを降順にソートする
場合の動作を示している。即ち、この例は、一桁の数値
をiビットとして、1レコード=iビット,k=1,N=6
である。
り、1例として0から9までの一桁の数値データのう
ち、3,6,5,2,4,1の6個のレコードを降順にソートする
場合の動作を示している。即ち、この例は、一桁の数値
をiビットとして、1レコード=iビット,k=1,N=6
である。
ソート処理を行うにあたって、全てのユニット100の第
1のメモリ101および第2のメモリ102の内容を初期設定
する。降順ソートの場合には、初期値としてデータの最
小値である0を設定する。ソート処理は、順次レコード
を入力する入力操作と、順次レコードを出力する出力操
作とからなる。各ユニット100では、一回の入力操作で
データ(iビット)の右方向への転送と2個のデータ間
での比較とを同期して行う。この場合、転送されるデー
タは第1および第2のメモリ101,102に保持された2個
のデータのうち小さい方である。この時、データの転送
と同期して1個のレコードを該ソート処理装置に入力
し、最左端のユニットの第1のメモリ101あるいは第2
のメモリ102のいずれのうち転送によって空になった方
のメモリに保持する(T1〜T7)。
1のメモリ101および第2のメモリ102の内容を初期設定
する。降順ソートの場合には、初期値としてデータの最
小値である0を設定する。ソート処理は、順次レコード
を入力する入力操作と、順次レコードを出力する出力操
作とからなる。各ユニット100では、一回の入力操作で
データ(iビット)の右方向への転送と2個のデータ間
での比較とを同期して行う。この場合、転送されるデー
タは第1および第2のメモリ101,102に保持された2個
のデータのうち小さい方である。この時、データの転送
と同期して1個のレコードを該ソート処理装置に入力
し、最左端のユニットの第1のメモリ101あるいは第2
のメモリ102のいずれのうち転送によって空になった方
のメモリに保持する(T1〜T7)。
ソート対象とする6個のレコードの入力が完了した時点
で、出力操作によって順次データを隣接する左側のユニ
ットに転送する。この時、転送するデータはユニット内
の2個のデータのうち大きい方であり、最左端のユニッ
トからソート済みのレコード列が降順に出力される。最
右端のユニットには初期値と同じ0を入力する(T7〜T1
2)。
で、出力操作によって順次データを隣接する左側のユニ
ットに転送する。この時、転送するデータはユニット内
の2個のデータのうち大きい方であり、最左端のユニッ
トからソート済みのレコード列が降順に出力される。最
右端のユニットには初期値と同じ0を入力する(T7〜T1
2)。
本ソート処理装置を用いて降順にソートする場合には、
初期設定として、全ユニット100の第1および第1のメ
モリ101及び第2のメモリ102に、データの最大値9を設
定しておき、入力操作時には、各ユニットで比較した2
個のデータのうち、大きい方を右方向に転送し、出力操
作時には、各ユニットで比較した2個のデータのうち小
さい方を左方向に転送する。
初期設定として、全ユニット100の第1および第1のメ
モリ101及び第2のメモリ102に、データの最大値9を設
定しておき、入力操作時には、各ユニットで比較した2
個のデータのうち、大きい方を右方向に転送し、出力操
作時には、各ユニットで比較した2個のデータのうち小
さい方を左方向に転送する。
次に、第4図のソート処理装置において、1レコードの
長さが一度に比較転送できるiビットを越える場合(1
<k≦j)の動作例を第6図に示す。第6図は、アルフ
ァベット1文字をiビットで表現するとして、それぞれ
2文字の長さ(k=2)からなる4個のレコード(N=
4)ab,de,ca,bdを2個のユニット(ユニット0,ユニッ
ト1)を使用して降順にソートする場合を示している。
第6図において、m1とm2は、それぞれ各ユニットの2個
のメモリ101,102、fはフラグレジスタ104である。個々
のレコードを1ビット単位のk個のデータに分割して大
小比較し、それまでの比較が等しくて、初めて大小関係
が決まった時にその値を比較結果としてフラグレジスタ
に設定する。第6図では、メモリm1の値とメモリm2の値
を比較して、メモリm2の値が小さい時に、比較結果は1
としてフラグレジスタfに設定される。
長さが一度に比較転送できるiビットを越える場合(1
<k≦j)の動作例を第6図に示す。第6図は、アルフ
ァベット1文字をiビットで表現するとして、それぞれ
2文字の長さ(k=2)からなる4個のレコード(N=
4)ab,de,ca,bdを2個のユニット(ユニット0,ユニッ
ト1)を使用して降順にソートする場合を示している。
第6図において、m1とm2は、それぞれ各ユニットの2個
のメモリ101,102、fはフラグレジスタ104である。個々
のレコードを1ビット単位のk個のデータに分割して大
小比較し、それまでの比較が等しくて、初めて大小関係
が決まった時にその値を比較結果としてフラグレジスタ
に設定する。第6図では、メモリm1の値とメモリm2の値
を比較して、メモリm2の値が小さい時に、比較結果は1
としてフラグレジスタfに設定される。
第6図(A)は入力操作時の動作であり、ユニット0で
は、フラグレジスタf=0であればメモリm1の内容を、
f=1であればメモリm2の内容を、右方向に隣接するユ
ニット1に向けて出力する。一方、第6図(B)は出力
操作時の動作であり、ユニット1では、フラグレジスタ
f=1であればメモリm1の内容を、f=0であればメモ
リm2の内容を左方向に隣接するユニット0に向けて出力
し、同様に、ユニット0では外部に出力する。なお、こ
のような1レコードの長さがiビットを越える場合の動
作は、先の特開昭60-81640号公報に詳述されている。
は、フラグレジスタf=0であればメモリm1の内容を、
f=1であればメモリm2の内容を、右方向に隣接するユ
ニット1に向けて出力する。一方、第6図(B)は出力
操作時の動作であり、ユニット1では、フラグレジスタ
f=1であればメモリm1の内容を、f=0であればメモ
リm2の内容を左方向に隣接するユニット0に向けて出力
し、同様に、ユニット0では外部に出力する。なお、こ
のような1レコードの長さがiビットを越える場合の動
作は、先の特開昭60-81640号公報に詳述されている。
第6図に示したように、メモリ容量がi×jの比較転送
ユニットを2個で構成されたソート処理装置では、j=
2の場合、1文字をiビットして、長さ2文字(k=
2)の4個(N=4)のレコードを、16ステップ(=2
×k×N)でソートできる。なお、上記の手順の中で,
比較器による比較動作はレコードの転送と同期して行
え、比較結果をフラグレジスタに移動する操作は、レコ
ードの転送と比較動作に比べて十分短い時間で処理する
ことが出来る為、ステップ数の算出では無視できるとし
てある。第6図で、カッコで示した部分がこれを意味し
ている。
ユニットを2個で構成されたソート処理装置では、j=
2の場合、1文字をiビットして、長さ2文字(k=
2)の4個(N=4)のレコードを、16ステップ(=2
×k×N)でソートできる。なお、上記の手順の中で,
比較器による比較動作はレコードの転送と同期して行
え、比較結果をフラグレジスタに移動する操作は、レコ
ードの転送と比較動作に比べて十分短い時間で処理する
ことが出来る為、ステップ数の算出では無視できるとし
てある。第6図で、カッコで示した部分がこれを意味し
ている。
上記従来技術のソート処理装置によれば、レコード数に
等しい入出力操作回数と出力操作回数でソート処理が行
える。また、1レコードの長さが一度に比較転送できる
iビットを越える場合には、個々のレコードをiビット
単位のk個のデータに分割し、k回の入力/出力操作に
よって、1レコードの処理を行うことができる。従っ
て、i×k(k≦j)ビットまでの長さのレコードをレ
コード数に比例する時間でソートできる。
等しい入出力操作回数と出力操作回数でソート処理が行
える。また、1レコードの長さが一度に比較転送できる
iビットを越える場合には、個々のレコードをiビット
単位のk個のデータに分割し、k回の入力/出力操作に
よって、1レコードの処理を行うことができる。従っ
て、i×k(k≦j)ビットまでの長さのレコードをレ
コード数に比例する時間でソートできる。
一方、ソート可能なレコード長は、比較転送ユニット内
のメモリ容量によって決定されることから、ソート対象
とするレコードを長くするためには、比較転送ユニット
内のメモリ容量を予め大きく設けておかなればならな
い。比較転送ユニット内のメモリ容量を大きくした場合
には、レコード長が短いソート処理時のメモリ使用効率
が低下することから、レコード長に関係なく比較転送ユ
ニットのメモリを有効に活用することは困難であった。
のメモリ容量によって決定されることから、ソート対象
とするレコードを長くするためには、比較転送ユニット
内のメモリ容量を予め大きく設けておかなればならな
い。比較転送ユニット内のメモリ容量を大きくした場合
には、レコード長が短いソート処理時のメモリ使用効率
が低下することから、レコード長に関係なく比較転送ユ
ニットのメモリを有効に活用することは困難であった。
本発明の目的は、比較転送ユニット内のメモリ容量に制
限されることなく、レコード長の長いレコードを高速に
ソートできるソート処理装置を実現することにある。
限されることなく、レコード長の長いレコードを高速に
ソートできるソート処理装置を実現することにある。
本発明は、比較転送ユニットの1次元アレイ構造からな
るソート処理装置に於て、ソート対象とするレコードの
長さに応じて、該レコードを複数の比較転送ユニットに
分割した格納し、該レコードを分割して格納した各比較
転送ユニットをあたかも一つの比較転送ユニットと見做
して、その比較・転送処理を連動させて行うことを特徴
とする。
るソート処理装置に於て、ソート対象とするレコードの
長さに応じて、該レコードを複数の比較転送ユニットに
分割した格納し、該レコードを分割して格納した各比較
転送ユニットをあたかも一つの比較転送ユニットと見做
して、その比較・転送処理を連動させて行うことを特徴
とする。
本発明に基づくソート処理装置では、複数の比較転送ユ
ニットを連動して動作させることから、比較転送ユニッ
ト単体では扱うことが出来ない程長いレコードであって
も、該レコードを複数の比較転送ユニットに分割して格
納することによってソートすることが出来る。更に、複
数の比較転送ユニットを比較器の幅が広がる方向に連動
させることによって、一度に比較・転送するデータの幅
を拡張することも可能であり、ソート処理装置のスルー
プットの向上、及び、ソート処理装置の使用環境に合わ
せて一度に入力/出力するデータの処理幅を適合させる
ことが出来る。
ニットを連動して動作させることから、比較転送ユニッ
ト単体では扱うことが出来ない程長いレコードであって
も、該レコードを複数の比較転送ユニットに分割して格
納することによってソートすることが出来る。更に、複
数の比較転送ユニットを比較器の幅が広がる方向に連動
させることによって、一度に比較・転送するデータの幅
を拡張することも可能であり、ソート処理装置のスルー
プットの向上、及び、ソート処理装置の使用環境に合わ
せて一度に入力/出力するデータの処理幅を適合させる
ことが出来る。
以下、本発明の一実施例について図面により説明する。
第1図は本発明のソート処理装置の一実施例の構成図
で、(1)はソート処理装置全体の構成図、(2)は一
つのユニット群の構成図である。図中、11は第4図で示
した一つの比較転送ユニット100と同一構成であり、本
実施例では、4個の比較転送ユニットで一つのユニット
群を構成している。各ユニット群内の4個のユニット
は、U0からU3の識別名を有する。更に、G0からG3の識別
名を有する4個のユニット群でソート処理装置全体10を
構成する。従って、本実施例のソート処理装置は、G0-U
0からG3-U3までの16個の比較転送ユニット11で構成され
る。ユニット群内の12は、双方向データ転送を行うバス
の転送経路を切替えるための転送切替回路である。ソー
ト対象となるレコードの入出力は、データ入出力端子PA
とPBを介して行い、PA及びPBは、それぞれ一つの比較転
送ユニット11のデータ処理幅と等しいiビット幅のLと
Hからなる。
で、(1)はソート処理装置全体の構成図、(2)は一
つのユニット群の構成図である。図中、11は第4図で示
した一つの比較転送ユニット100と同一構成であり、本
実施例では、4個の比較転送ユニットで一つのユニット
群を構成している。各ユニット群内の4個のユニット
は、U0からU3の識別名を有する。更に、G0からG3の識別
名を有する4個のユニット群でソート処理装置全体10を
構成する。従って、本実施例のソート処理装置は、G0-U
0からG3-U3までの16個の比較転送ユニット11で構成され
る。ユニット群内の12は、双方向データ転送を行うバス
の転送経路を切替えるための転送切替回路である。ソー
ト対象となるレコードの入出力は、データ入出力端子PA
とPBを介して行い、PA及びPBは、それぞれ一つの比較転
送ユニット11のデータ処理幅と等しいiビット幅のLと
Hからなる。
比較転送ユニット11は、第4図に示したように、第1、
第2のメモリ101、102及び比較器103、入出力回路105を
iビット幅で構成し、第1、第2のメモリ101,102の容
量をそれぞれi×jビットとする。この時、ソート対象
とする各レコードをiビット幅のデータにk分割して、
1レコード当りk(k≦j)回の比較と転送処理を繰返
すことによって、第4図に示した比較転送ユニットの固
定的な一次元配列によって、1レコードが最大i×jビ
ットの長さを持つ複数のレコードをレコードの入出力時
間でソート出来る(第6図)。本発明では、この比較転
送ユニット11を複数個、連結及び/又は結合して連動さ
せることで、ソートできるレコード長の上限の拡大、お
よび/又は、ソート処理速度すなわちソートに要するス
テップ数の結減を実現するものである。
第2のメモリ101、102及び比較器103、入出力回路105を
iビット幅で構成し、第1、第2のメモリ101,102の容
量をそれぞれi×jビットとする。この時、ソート対象
とする各レコードをiビット幅のデータにk分割して、
1レコード当りk(k≦j)回の比較と転送処理を繰返
すことによって、第4図に示した比較転送ユニットの固
定的な一次元配列によって、1レコードが最大i×jビ
ットの長さを持つ複数のレコードをレコードの入出力時
間でソート出来る(第6図)。本発明では、この比較転
送ユニット11を複数個、連結及び/又は結合して連動さ
せることで、ソートできるレコード長の上限の拡大、お
よび/又は、ソート処理速度すなわちソートに要するス
テップ数の結減を実現するものである。
第1図の実施例は、上記の機能を有する比較転送ユニッ
ト11を比較器の幅を拡張する方向に最大2ユニット連動
でき、また、メモリの深さを拡張する方向に最大4ユニ
ット連動できる構成を示したものである。以下では、比
較転送ユニットの比較器の幅を拡張する方向に複数ユニ
ットを連動せしめることを結合と称し、比較転送ユニッ
トのメモリの容量を拡張する方向に複数ユニットを連動
することを連結と称する。
ト11を比較器の幅を拡張する方向に最大2ユニット連動
でき、また、メモリの深さを拡張する方向に最大4ユニ
ット連動できる構成を示したものである。以下では、比
較転送ユニットの比較器の幅を拡張する方向に複数ユニ
ットを連動せしめることを結合と称し、比較転送ユニッ
トのメモリの容量を拡張する方向に複数ユニットを連動
することを連結と称する。
第2図は第1図に示した本ソート処理装置におけるデー
タ転送経路を示したものである。
タ転送経路を示したものである。
第2図(1)は、比較転送ユニットの連結を行った場合
のデータ転送経路である。この時、形成されるデータ経
路は、図中の太実線で示すように、16個の比較転送ユニ
ット11を1次元アレイ上に縦続接続した次の1種類であ
る。
のデータ転送経路である。この時、形成されるデータ経
路は、図中の太実線で示すように、16個の比較転送ユニ
ット11を1次元アレイ上に縦続接続した次の1種類であ
る。
PA:L→G0:U0→G0:U1……G3:U3→PB:L 連結の場合、1回の比較・転送処理は従来と同じくiビ
ット単位である。ただし、連結対象の複数の比較転送ユ
ニットごとに(実施例では最大4ユニット)、各々をあ
たかも一つのユニットのごとく連動して動作せしめるこ
とにより、単一の比較転送ユニットでは扱うことができ
ない長いレコードであっても、連動して動作する複数の
縦続接続の各ユニットに分割して格納でき(即ち、比較
転送ユニットのメモリ容量が拡張)、ソート対象のレコ
ード長を拡大できる。
ット単位である。ただし、連結対象の複数の比較転送ユ
ニットごとに(実施例では最大4ユニット)、各々をあ
たかも一つのユニットのごとく連動して動作せしめるこ
とにより、単一の比較転送ユニットでは扱うことができ
ない長いレコードであっても、連動して動作する複数の
縦続接続の各ユニットに分割して格納でき(即ち、比較
転送ユニットのメモリ容量が拡張)、ソート対象のレコ
ード長を拡大できる。
第2図(2)は、2個の比較転送ユニットを結合した場
合のデータ転送経路である。この場合のデータ転送経路
は、図中の太実線で示すローバスト側で太破線で示すハ
イバイト側の次の2種類である。なお、ローバイト側、
ハイバイト側のそれぞれのデータ処理幅はiビットであ
る。
合のデータ転送経路である。この場合のデータ転送経路
は、図中の太実線で示すローバスト側で太破線で示すハ
イバイト側の次の2種類である。なお、ローバイト側、
ハイバイト側のそれぞれのデータ処理幅はiビットであ
る。
PA:L→G0:U0→G0:U3……G3:U3→PB:L ローバイト側 PA:H→G0:U1→G0:U2……G3:U2→PB:L ハイバイト側 実施例の2結合の場合、ローバイト側とハイバイト側の
各々、2個の比較転送ユニットが並列に動作するため
(即ち、比較転送ユニットの比較器の幅が拡張)、1回
の比較・転送処理は2×iビット単位であり、ソート処
理速度を1/2に短縮できる。
各々、2個の比較転送ユニットが並列に動作するため
(即ち、比較転送ユニットの比較器の幅が拡張)、1回
の比較・転送処理は2×iビット単位であり、ソート処
理速度を1/2に短縮できる。
第3図は、第1図に示した16個の比較転送ユニット11を
結合及び連結する場合に実現される動作モードを示した
図である。図中の( )はユニットの連結状態を示し、
[ ]はユニットの結合状態を示している。また( )
及び[ ]内のHLは、レコードを比較転送ユニットに分
割して入力する際のハイバイト側とローバイト側を示し
ている。ユニットの連結と結合は、比較転送ユニットの
接続を変更する、すなわち、ユニット間の接続を転送切
替回路を介して、可変構造としておき、ソートするレコ
ードの長さや要求されるソート処理性能に応じて接続関
係を変更してデータ転送路を形成することで容易に実現
できる。モード1は、第4図の従来技術に対応し、レコ
ードを単純に各々の比較転送ユニットに格納することか
ら、最大i×jビット(j=k)の長さを持つレコード
を16レコードソートできる。モード2は、2個の比較転
送ユニットを1組として連結した場合であり、ソート可
能な最大レコード長はモード1の2倍に拡張される。以
下、モード5までは、順次連結する比較転送ユニットの
数を2倍づつ拡張した場合であり、モード5ではモード
1に比較してソート可能な最大レコード長を16倍とでき
る。
結合及び連結する場合に実現される動作モードを示した
図である。図中の( )はユニットの連結状態を示し、
[ ]はユニットの結合状態を示している。また( )
及び[ ]内のHLは、レコードを比較転送ユニットに分
割して入力する際のハイバイト側とローバイト側を示し
ている。ユニットの連結と結合は、比較転送ユニットの
接続を変更する、すなわち、ユニット間の接続を転送切
替回路を介して、可変構造としておき、ソートするレコ
ードの長さや要求されるソート処理性能に応じて接続関
係を変更してデータ転送路を形成することで容易に実現
できる。モード1は、第4図の従来技術に対応し、レコ
ードを単純に各々の比較転送ユニットに格納することか
ら、最大i×jビット(j=k)の長さを持つレコード
を16レコードソートできる。モード2は、2個の比較転
送ユニットを1組として連結した場合であり、ソート可
能な最大レコード長はモード1の2倍に拡張される。以
下、モード5までは、順次連結する比較転送ユニットの
数を2倍づつ拡張した場合であり、モード5ではモード
1に比較してソート可能な最大レコード長を16倍とでき
る。
モード6からモード9までは、2個の比較転送ユニット
を結合した上でユニットの連結を行う例である。モード
6は、単に2個のユニットを1組として結合した場合で
あり、データ転送処理の幅を2倍に拡張したことから、
ソート処理のスループットを2倍に拡張できる。この
時、ソート可能な最大レコード長は、1レコードが2分
割されて2個のユニットに並列に入力されるため、モー
ド1の場合の2倍である。モード7からモード9は、2
個のユニットを結合するモード6を基本として、更にユ
ニットの連結を行う場合であり、モード6と同じソート
処理スループット(モード1の2倍)で、最大レコード
長がモード6を基本として2倍づつ拡張することができ
る。
を結合した上でユニットの連結を行う例である。モード
6は、単に2個のユニットを1組として結合した場合で
あり、データ転送処理の幅を2倍に拡張したことから、
ソート処理のスループットを2倍に拡張できる。この
時、ソート可能な最大レコード長は、1レコードが2分
割されて2個のユニットに並列に入力されるため、モー
ド1の場合の2倍である。モード7からモード9は、2
個のユニットを結合するモード6を基本として、更にユ
ニットの連結を行う場合であり、モード6と同じソート
処理スループット(モード1の2倍)で、最大レコード
長がモード6を基本として2倍づつ拡張することができ
る。
以上説明した実施例では、16個の比較転送ユニットから
なるソート処理装置に於て、データ転送幅を拡張する方
向に最大2ユニットを結合し、データを格納するメモリ
量を拡張する方向に最大16ユニットを連結する場合を示
したが、全体のユニット数が16個以外の場合であって
も、本実施例と同様にユニット間の接続構造を可変とす
ることによって、データの転送処理幅及びソートできる
レコードの最大長を拡張できる。更に、ユニットを結合
・連結する個数を本実施例以外の値とすることによっ
て、データ転送処理幅及び最大ソート可能なレコード長
を所望の値まで拡張できる。一方、本実施例では、結合
・連結の基本とする比較転送ユニットのデータ処理幅を
iビット=1バイトとして示したが、これ以外の値であ
っても、本実施例と同様にユニットの結合・連結を行う
ことが出来る。
なるソート処理装置に於て、データ転送幅を拡張する方
向に最大2ユニットを結合し、データを格納するメモリ
量を拡張する方向に最大16ユニットを連結する場合を示
したが、全体のユニット数が16個以外の場合であって
も、本実施例と同様にユニット間の接続構造を可変とす
ることによって、データの転送処理幅及びソートできる
レコードの最大長を拡張できる。更に、ユニットを結合
・連結する個数を本実施例以外の値とすることによっ
て、データ転送処理幅及び最大ソート可能なレコード長
を所望の値まで拡張できる。一方、本実施例では、結合
・連結の基本とする比較転送ユニットのデータ処理幅を
iビット=1バイトとして示したが、これ以外の値であ
っても、本実施例と同様にユニットの結合・連結を行う
ことが出来る。
次に、一例として第3図のモード2(2連結)及びモー
ド6(2結合)の場合の具体的な動作例を示す。ただ
し、説明の簡単化のため、2個の比較転送ユニット(ユ
ニット0,ユニット1)で一つのユニット群を構成し、ユ
ニット群は2組(ユニット群G0,ユニット群G1)で構成
されるとする。
ド6(2結合)の場合の具体的な動作例を示す。ただ
し、説明の簡単化のため、2個の比較転送ユニット(ユ
ニット0,ユニット1)で一つのユニット群を構成し、ユ
ニット群は2組(ユニット群G0,ユニット群G1)で構成
されるとする。
第7図は、比較転送ユニットを連結したレコード長を拡
大する場合の動作例であり、(A)は入力操作時の動
作、(b)は出力操作時の動作である。先の第6図の例
では、k=2すなわち英文字2文字からなるレコードを
ソートする場合を示したが、第7図は、それぞれ2個の
比較転送ユニットを連結し、2組のユニット群により、
英文字4文字(k=4)からなる4個(N=4)のレコ
ード(abcd,defg,acdf,abef)をソートする場合を示
す。なお、1文字はiビットとし、個々の比較転送ユニ
ットの各メモリの容量はi×2(j=2)とする。フラ
グレジスタへの比較結果の設定は第6図の例と同一であ
るが、ユニット群を形成する2個のユニット(ユニット
0とユニット1)を連動して動作させる。すなわち、ユ
ニット0のメモリm1にユニット1のメモリm1が連結さ
れ、同様にユニット0のメモリm2にユニット1のメモリ
m2を連結動作させるために、連動しているユニット群に
フラグレジスタFを用意して(第7図ではユニット1の
フラグレジスタを利用するとしている)、Fの値によっ
てレコードの転送を制御する。入力操作時には、F=0
であればメモリm1側の内容を、F=1であればメモリm2
側の内容を右方向に隣接する比較転送ユニットに向けて
出力する。一方、出力操作時は、F=1であればメモリ
m1側の内容を、F=0であればメモリm2側の内容を左方
向に隣接する比較転送ユニットに向けて出力する。
大する場合の動作例であり、(A)は入力操作時の動
作、(b)は出力操作時の動作である。先の第6図の例
では、k=2すなわち英文字2文字からなるレコードを
ソートする場合を示したが、第7図は、それぞれ2個の
比較転送ユニットを連結し、2組のユニット群により、
英文字4文字(k=4)からなる4個(N=4)のレコ
ード(abcd,defg,acdf,abef)をソートする場合を示
す。なお、1文字はiビットとし、個々の比較転送ユニ
ットの各メモリの容量はi×2(j=2)とする。フラ
グレジスタへの比較結果の設定は第6図の例と同一であ
るが、ユニット群を形成する2個のユニット(ユニット
0とユニット1)を連動して動作させる。すなわち、ユ
ニット0のメモリm1にユニット1のメモリm1が連結さ
れ、同様にユニット0のメモリm2にユニット1のメモリ
m2を連結動作させるために、連動しているユニット群に
フラグレジスタFを用意して(第7図ではユニット1の
フラグレジスタを利用するとしている)、Fの値によっ
てレコードの転送を制御する。入力操作時には、F=0
であればメモリm1側の内容を、F=1であればメモリm2
側の内容を右方向に隣接する比較転送ユニットに向けて
出力する。一方、出力操作時は、F=1であればメモリ
m1側の内容を、F=0であればメモリm2側の内容を左方
向に隣接する比較転送ユニットに向けて出力する。
第7図に示したように、複数の比較転送ユニットをメモ
リの容量が増える方向に連結することで、単一の比較転
送ユニットではソートできない長さのレコードをソート
することができる。この時のソートに必要なステップ数
は、一度に転送できるデータ幅が第6図の単一ユニット
でのソートと同一(iビット)であるから、レコード長
が長くなった分だけ増大し、第7図の例では32ステップ
(=2×k×N)を要している。
リの容量が増える方向に連結することで、単一の比較転
送ユニットではソートできない長さのレコードをソート
することができる。この時のソートに必要なステップ数
は、一度に転送できるデータ幅が第6図の単一ユニット
でのソートと同一(iビット)であるから、レコード長
が長くなった分だけ増大し、第7図の例では32ステップ
(=2×k×N)を要している。
第8図は、複数の比較転送ユニットを結合動作させソー
ト処理速度、すなわち、ソートに要するステップ数を削
減する場合の動作を、第7図と同じ4個のレコードを用
いた降順ソートの例を示したものである。第7図の比較
転送ユニットの連結との違いは、連結がメモリの容量を
増やす方向に比較転送ユニットを縦続接続していたのに
対し、結合では一度に比較転送できるデータの幅を増や
す方向、即ち、単一ユニットではiビットであったデー
タ転送の幅を、第8図に示すように、例えば2個のユニ
ットと結合して(2×i)ビットに拡張したことであ
る。従って、4文字からなるレコードを2文字づつ2回
の転送操作で入力することができる。第8図で、(A)
は入力操作の動作、(B)は出力操作時の動作である。
ト処理速度、すなわち、ソートに要するステップ数を削
減する場合の動作を、第7図と同じ4個のレコードを用
いた降順ソートの例を示したものである。第7図の比較
転送ユニットの連結との違いは、連結がメモリの容量を
増やす方向に比較転送ユニットを縦続接続していたのに
対し、結合では一度に比較転送できるデータの幅を増や
す方向、即ち、単一ユニットではiビットであったデー
タ転送の幅を、第8図に示すように、例えば2個のユニ
ットと結合して(2×i)ビットに拡張したことであ
る。従って、4文字からなるレコードを2文字づつ2回
の転送操作で入力することができる。第8図で、(A)
は入力操作の動作、(B)は出力操作時の動作である。
第8図に示した2ユニットの結合の例の場合、2個のユ
ニットが並列動作の論理的に1個のユニットとして振る
舞い、第7図のユニットの連結では32ステップを要して
いたソート処理時間が1/2の16ステップで実現できるこ
とがわかる。
ニットが並列動作の論理的に1個のユニットとして振る
舞い、第7図のユニットの連結では32ステップを要して
いたソート処理時間が1/2の16ステップで実現できるこ
とがわかる。
以上、具体例として、1回のデータ転送の幅iビット、
メモリm1,m2の容量i×2(j=2)ビットの比較転送
ユニットを2個用い、連結動作させることで、i×4ビ
ット長のレコードをソートできること、さらに、それら
を結合動作させることで、ソート処理時間を1/2に削減
できることを示した。これら連結および結合によるユニ
ットの連動は、複数のユニットを用いて論理的なユニッ
トを形成することが基本であり、論理ユニットを形成す
る際のユニット接続の方向がメモリを増やす方向である
か、あるいは、データ転送路を拡大する方向であるかの
違いである。したがって、転送切替回路により比較転送
ユニット間の接続が可変構造としておくことによって、
複数の比較転送ユニットからなる論理的なユニットをレ
コード長やソート処理速度に応じて形成することが可能
となる。特に、専用ハードウェア化されたソート処理装
置では、レコード長が短い場合でも長い場合でも、備え
られたハードウェアが有効に機能して十分に高い性能を
達成することが重要であり、例えばユニットの連結を用
いると、短いレコードはユニット単独でソートを行な
え、長いレコードは複数のユニットを連結してソートす
るので、単にレコード長に対するハードウェア的な制限
を緩和するだけでなく、ハードウェアを有効に利用する
と言う点でも極めて有効に機能する。即ち、短いレコー
ドは多数を、より長いレコードは少ない個数を一度にソ
ートできるソート処理装置を実現することができる。
メモリm1,m2の容量i×2(j=2)ビットの比較転送
ユニットを2個用い、連結動作させることで、i×4ビ
ット長のレコードをソートできること、さらに、それら
を結合動作させることで、ソート処理時間を1/2に削減
できることを示した。これら連結および結合によるユニ
ットの連動は、複数のユニットを用いて論理的なユニッ
トを形成することが基本であり、論理ユニットを形成す
る際のユニット接続の方向がメモリを増やす方向である
か、あるいは、データ転送路を拡大する方向であるかの
違いである。したがって、転送切替回路により比較転送
ユニット間の接続が可変構造としておくことによって、
複数の比較転送ユニットからなる論理的なユニットをレ
コード長やソート処理速度に応じて形成することが可能
となる。特に、専用ハードウェア化されたソート処理装
置では、レコード長が短い場合でも長い場合でも、備え
られたハードウェアが有効に機能して十分に高い性能を
達成することが重要であり、例えばユニットの連結を用
いると、短いレコードはユニット単独でソートを行な
え、長いレコードは複数のユニットを連結してソートす
るので、単にレコード長に対するハードウェア的な制限
を緩和するだけでなく、ハードウェアを有効に利用する
と言う点でも極めて有効に機能する。即ち、短いレコー
ドは多数を、より長いレコードは少ない個数を一度にソ
ートできるソート処理装置を実現することができる。
以上説明したように、本発明のソート処理装置では、ソ
ート処理時のデータ転送幅及び最大レコード長等のソー
ト処理条件に基づいて、1次元アレイ上に配置した比較
転送ユニットの接続構造を変更できる構成としたことに
よって、使用環境、特にデータ転送処理幅や要求される
ソート処理性能に応じたソート処理装置を容易に実現す
ることが出来る。更に、本発明に基づくソート処理装置
をLSI化した場合には、比較転送ユニットの接続構成で
外部使用条件を吸収できることから、外部使用条件に依
存せずに繰返し単位となる比較転送ユニットを設計でき
ること、及びLSI化したソート処理装置の適用範囲が広
がる利点がある。
ート処理時のデータ転送幅及び最大レコード長等のソー
ト処理条件に基づいて、1次元アレイ上に配置した比較
転送ユニットの接続構造を変更できる構成としたことに
よって、使用環境、特にデータ転送処理幅や要求される
ソート処理性能に応じたソート処理装置を容易に実現す
ることが出来る。更に、本発明に基づくソート処理装置
をLSI化した場合には、比較転送ユニットの接続構成で
外部使用条件を吸収できることから、外部使用条件に依
存せずに繰返し単位となる比較転送ユニットを設計でき
ること、及びLSI化したソート処理装置の適用範囲が広
がる利点がある。
第1図は本発明の一実施例のソート処理装置の構成図、
第2図は第1図の実施例のデータ転送路の構成を示す
図、第3図は第1図の実施例の動作モードを示す図、第
4図は従来のソート処理装置の構成図、第5図は第4図
に示したソート処理装置の動作原理を示す図、第6図は
従来の具体的な動作例を示す図、第7図は本発明の連結
の具体的な動作例を示す図、第8図は本発明の結合の具
体的な動作例を示す図である。 10……ソート処理装置、11……比較転送ユニット、12…
…バス切替回路、13……ユニット群。
第2図は第1図の実施例のデータ転送路の構成を示す
図、第3図は第1図の実施例の動作モードを示す図、第
4図は従来のソート処理装置の構成図、第5図は第4図
に示したソート処理装置の動作原理を示す図、第6図は
従来の具体的な動作例を示す図、第7図は本発明の連結
の具体的な動作例を示す図、第8図は本発明の結合の具
体的な動作例を示す図である。 10……ソート処理装置、11……比較転送ユニット、12…
…バス切替回路、13……ユニット群。
Claims (3)
- 【請求項1】2個のデータを格納する第1および第2の
メモリと、該第1および第2のメモリに保持されたデー
タ間の大小関係を判定する比較器と、該2個のデータの
いずれか一方を転送するための転送回路とを少なくとも
有する比較転送ユニットが複数個の1次元アレイからな
るソート処理装置において、 前記複数個の比較転送ユニットを、2個あるいはそれ以
上の比較転送ユニットを1組とする任意の組にグループ
分けする手段を設け、 ソート対象レコードを、前記1組を構成する各比較転送
ユニットに分割して与え、当該各比較転送ユニットを連
動して動作せしめることを特徴とするソート処理装置。 - 【請求項2】特許請求の範囲第1項記載のソート処理装
置において、1組を構成する各比較転送ユニットを並列
接続とし、当該各比較転送ユニットを並列に連動して動
作せしめることを特徴とするソート処理装置。 - 【請求項3】特許請求の範囲第1項記載のソート処理装
置において、1組を構成する各比較転送ユニットを縦続
接続とし、当該各比較転送ユニットの第1および第2の
メモリ全体をそれぞれ第1および第2のメモリとして、
該各比較転送ユニットを連動して動作せしめことを特徴
とするソート処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6543087A JPH0797310B2 (ja) | 1987-03-19 | 1987-03-19 | ソ−ト処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6543087A JPH0797310B2 (ja) | 1987-03-19 | 1987-03-19 | ソ−ト処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63231526A JPS63231526A (ja) | 1988-09-27 |
| JPH0797310B2 true JPH0797310B2 (ja) | 1995-10-18 |
Family
ID=13286871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6543087A Expired - Fee Related JPH0797310B2 (ja) | 1987-03-19 | 1987-03-19 | ソ−ト処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0797310B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3152466B2 (ja) * | 1991-04-04 | 2001-04-03 | 三菱電機株式会社 | ソーティング装置およびソーティング方法 |
-
1987
- 1987-03-19 JP JP6543087A patent/JPH0797310B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63231526A (ja) | 1988-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6728743B2 (en) | Modulo remainder generator | |
| US5621908A (en) | Parallel sorting system to reduce the amount of communication between processing devices | |
| US5548775A (en) | System and method for adaptive active monitoring of high speed data streams using finite state machines | |
| JP3026962B2 (ja) | 語列圧縮回路 | |
| US4945518A (en) | Line memory for speed conversion | |
| EP0444911A1 (en) | Integrated high speed synchronous counter with asynchronous read-out | |
| EP0049039B1 (en) | Data processing apparatus for processing sparse vectors | |
| US5974411A (en) | N-way processing of bit strings in a dataflow architecture | |
| US6618804B1 (en) | System and method for rearranging bits of a data word in accordance with a mask using sorting | |
| KR920003176B1 (ko) | 정렬처리장치의 제어데이타 생성장치 | |
| JP3196637B2 (ja) | ソートプロセッサおよびソート処理装置 | |
| JPH01283625A (ja) | データを分類するための固定布線回路 | |
| US5511189A (en) | Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor | |
| JPH0666050B2 (ja) | ソート処理方法 | |
| JPH0797310B2 (ja) | ソ−ト処理装置 | |
| JPH0482082A (ja) | 半導体記憶装置 | |
| Armstrong et al. | A serial sorting machine | |
| KR0172508B1 (ko) | 비트 시리얼 디지틀 정렬기 | |
| JPS627579B2 (ja) | ||
| JPS627578B2 (ja) | ||
| JP4158264B2 (ja) | ソート・マージ処理装置およびソート・マージ回路 | |
| JP2000322236A (ja) | ソート処理装置 | |
| JPS5965352A (ja) | ソ−ト装置 | |
| EP0468505A2 (en) | Barrel shifter | |
| JPH06164417A (ja) | 符号化装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |