JPH024926B2 - - Google Patents

Info

Publication number
JPH024926B2
JPH024926B2 JP18836883A JP18836883A JPH024926B2 JP H024926 B2 JPH024926 B2 JP H024926B2 JP 18836883 A JP18836883 A JP 18836883A JP 18836883 A JP18836883 A JP 18836883A JP H024926 B2 JPH024926 B2 JP H024926B2
Authority
JP
Japan
Prior art keywords
memory
bits
flag register
array element
flag
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
Application number
JP18836883A
Other languages
English (en)
Other versions
JPS6081640A (ja
Inventor
Nobuo Tsuda
Tetsuji Sato
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP18836883A priority Critical patent/JPS6081640A/ja
Publication of JPS6081640A publication Critical patent/JPS6081640A/ja
Publication of JPH024926B2 publication Critical patent/JPH024926B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

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

Description

【発明の詳細な説明】 本発明はソート処理装置に関し、特にソート処
理を並列に実行する装置に関する。
ソート処理とは、数値データや文字データから
なる配列要素を一定の順序に従つて並べ替える処
理である。電子計算機でソート処理を行うには、
配列要素を記述している2値符号の数値的意味か
ら配列要素間の大小関係を判定して、配列要素を
昇順(小さいものから大きいものへの順)もしく
は降順(大きいものから小さいものへの順)に並
べ替えを行う。この際、配列要素が数値データの
場合には数値の大きさに順じて並べ替えられる
が、文字データの場合には、文字を記述している
ASCII(Abbreviation for American Standard
Code for Information Interchange)コードや
JISコードがアルフアベツト順やあいうえお順に
対応して昇順の大小関係を有しているため、辞書
の記載順序と同様な並べ替えを行うことができ
る。
電子計算機を用いた従来のソート処理では、ハ
ードウエアが逐次処理用に構成されているため、
配列要素数が大量の場合には処理に要する時間が
極めて長くなる問題があつた。第1図は、従来技
術による逐次的なソート処理の原理図である。本
図は、置換法と呼ばれるソート処理手順の一例を
示している。本手順では、電子計算機のメモリ上
に配列要素の格納領域を定義しておき、そこに初
期状態においてあらかじめ配列要素を書き込んで
おく。第1図では、D0からD5が6個の配列要素
の格納領域であり、初期状態において6個の配列
要素4,6,1,3,5,2が書き込まれてい
る。T0からTl-1はソート処理のサイクルを表わ
し、サイクルごとに配列要素が並べ替えられてゆ
く様子を図示している。本図の手順では、T0
らTl-1の各サイクルにおいて以下に述べる操作を
行う。
配列要素の格納領域Aから配列要素aを読み
出す。
配列要素の格納領域Bから配列要素bを読み
出す。
配列要素aおよびbの大小関係を判定する。
ここで、配列要素aの方が大かもしくは配列要
素bと等しい場合には次のサイクルへ移行し、
配列要素bの方が大の場合には次の操作へ進
む。
配列要素aを配列要素の格納領域Bへ書き込
む。
配列要素bを配列要素の格納領域Aへ書き込
む。
以上のからの操作において、からが比
較操作であり、およびが置換操作である。第
1図に示した手順では、サイクルT0ではD0およ
びD1を上記操作におけるAおよびBとし、以下
同様にサイクルT1ではD1およびD2をAおよびB
として逐次的に処理を進める。図中、丸で囲んだ
配列要素は比較操作の対象であることを示してい
る。また、矢印を付記した2個の配列要素は置換
操作が行われたことを示している。処理がD4
よびD5に対するサイクルまで進んだならば、D0
およびD1に対するサイクルへもどつて、再び同
様の処理を繰り返す。D0およびD1に対するサイ
クルからD4およびD5に対するサイクルを繰り返
し行う過程で、置換操作が一度も行われなければ
D4およびD5に対するサイクルTl-1をもつて本ソ
ート処理は完了し、D0からD5の配列要素の格納
領域には配列要素6,5,4,3,2,1が降順
に並べ替えられて配列されている。
以上説明した第1図の手順では、処理が完了す
るまで無条件に処理を進めるため、一般に配列要
素数がm個の場合に全処理に要するサイクル数l
は、 l=m×(m−1) となり、配列要素数が増大すると処理時間はほぼ
2乗に比例して増大する難点があつた。一方、こ
うした難点を緩和するために、置換操作が完了し
たと推定されるサイクルを省略する手順も知られ
ているが、一般に逐次的なソート処理を行うかぎ
り、完了までに要するサイクル数lは、 l=m×log2m 以下にはできず、やはり配列要素数が大量の場
合には、極めて長い処理時間を必要としていた。
そこで、逐次的なソート処理における難点を解
決する従来技術として、専用のソート処理装置を
用いて前記の第1図で説明した手順におけるD0
およびD1に対するサイクルからD4およびD5に対
するサイクルの比較操作と置換操作とをそれぞれ
並列に実行する方法が既知である。本方法では、
配列要素1個のビツト数がiビツトである場合、
2個の配列要素に対してこれらを保持するiビツ
トのレジスタ2個とiビツトの比較器1個を割り
当てる。従つて、一般に2n個のレジスタn個の
比較器からなるソート処理装置では、 m≦2n の関係にあるm個の配列要素のソート処理を実行
できる。本ソート処理装置は、電子計算機の付属
装置として使用するため、具体的にソート処理を
行うに当つては、電子計算機のメモリ等に予めソ
ート処理の対象である複数個の配列要素を保持し
ておき、データ転送路を介して配列要素を本ソー
ト処理装置へ順次入力し、次いでソート処理がな
された配列要素を順次出力して同じくデータ転送
路を介して元のメモリ等に整列して保持する。ソ
ート処理の手順における置換操作と比較操作は、
前記のレジスタにm個の配列要素を順次入力し、
次いで出力する操作と同期して実施することが原
理的に可能なため、ソート処理完了までに必要な
サイクル数lは、 l=2m となる。
このように、従来のソート処理装置では、配列
要素1個当りのビツト数がデータ転送路のベツト
幅と同じかもしくは小さい場合に、逐次的なソー
ト処理に比べて極めて高速にソート処理を行うこ
とができる。しかし、配列要素1個当りのビツト
数が、ソート処理装置を構成しているレジスタお
よび比較器のビツト幅iを超える場合には、ソー
ト処理を行えない問題があつた。また、この問題
を解決するため、レジスタおよび比較器のビツト
幅iを大きくした場合には、ソート処理装置の回
路量が膨大になるにもかかわらず、ソート処理の
速度はデータ転送路のビツト幅と転送サイクルで
決まるため、装置としての価格性能比が低下する
問題があつた。現用の電子計算機のデータ転送路
は、8ビツトから32ビツト程度であるため、従来
のソート処理装置の適用範囲も配列要素1個当り
のビツト数が8ビツトから32ビツト程度の数値デ
ータのソート処理を主としていた。しかし、今
日、電子計算機による情報処理の需要が数値デー
タのみならず文章等の文字データへ拡大するにつ
れて、配列要素1個が数百ビツトであつても効率
良くソート処理を行える拡張性のあるソート処理
装置が望まれていた。
本発明は、かかる従来技術の問題を除去するた
め、それぞれ独立して読み出し動作および書き込
み動作が可能な2個のメモリと、比較器と2個の
フラグレジスタを少くとも具備したユニツトの複
数個でソート処理装置を構成したことにより、前
記ソート処理のサイクル1回における比較操作の
回数および置換操作と等価な転送操作の回数を配
列要素のビツト数に応じて任意に設定可能にし、
かつこれら比較操作および転送操作を並列実行可
能にしたことを特徴とし、その目的はデータベー
スの検索など配列要素のビツト数が極めて大きい
場合のソート処理に適するソート処理装置を提供
することにある。
以下、本発明を実施例を参照して詳細に説明す
る。
第2図は、本発明の一実施例であるソート処理
装置の構成図である。本ソート処理装置は、複数
個のユニツトをユニツト間データ転送路により直
列接続した構成を有し、電子計算機の付属装置と
して使用する。図中、U0からUo-1を付記した1
はユニツト、2はユニツト間データ転送路、3お
よび4はそれぞれ配列要素の保持手段である第1
のメモリおよび第2のメモリ、5は2個の配列要
素の大小関係の判定手段である比較器、6および
7はそれぞれ比較器により発生する判定結果の保
持手段である第1のフラグレジスタおよび第2の
フラグレジスタである。また、ユニツトU0から
Uo-1を直列接続しているユニツト間データ転送
路2の両端に付記したBLおよびBRは、それぞれ
入出力端子である。ユニツト1の各々における第
1のメモリ3および第2のメモリ4は、それぞれ
読み書きビツト幅がiビツト(i≧1整数)で容
量がi×jビツト(j>1整数)のランダムアク
セスメモリ(RAM)である。これら第1のメモ
リ3および第2のメモリ4は、それぞれMA0
らMAj-1およびMB0からMBj-1で示す各iビツト
の格納領域と、DECで示すデコーダと、I/O
で示す入出力回路とから構成され、1回の読み出
し動作および書き込み動作においてデコーダ
DECで指定する格納領域に対して配列要素のi
ビツト分をそれぞれ独立に読み書きするととも
に、入出力回路I/Oを介してこれらのメモリを
含むユニツトに接続している2方向のビツト幅i
ビツトのユニツト間データ転送路の一方をそれぞ
れ独立に選択して配列要素のiビツト分を送出す
ること、あるいは受入することが可能である。ま
た、入出力回路I/Oでは、読み出した配列要素
のiビツト分をユニツト間データ転送路へ送出せ
ずに比較器5へ入力することと、受入した配列要
素のiビツト分を格納領域へ書き込むとともに比
較器5へ入力することが可能である。比較器5は
演算ビツト幅がiビツトであり、2個の配列要素
のiビツト分について大小関係を判定する機能を
有している。比較器による判定結果は1ビツトの
フラグ情報として第1のフラグレジスタ6に保持
することができる。また、このフラグ情報は第1
のフラグレジスタ6から第2のフラグレジスタ7
へ保持し替えることができ、この第2のフラグレ
ジスタのフラグ情報によつて第1および第2のメ
モリの入出力回路I/Oの動作を制御できる。
以上説明した本発明のソート処理装置の構成に
おいて、iおよびjは先に述べた範囲で任意の値
をとることが可能であるが、本実施例ではiが
8、jが16の場合を説明する。なお、第2図で
はユニツトを構成する回路のブロツク構成と配列
要素ならびにフラグ情報の伝搬路を示し、制御系
の詳細は別図にて説明する。
第3図aおよびbは、第2図に示した本発明の
ソート処理装置の動作原理図である。本図では、
3個のユニツトU0からU2を用いて、4桁の数字
からなる配列要素6個を降順にソート処理する場
合を例として、ソート処理の各サイクルにおける
配列要素の動きと判定結果の状態を示している。
配列要素は、各桁を8ビツトのASCIIコードで記
述した文字データであり、配列要素1個当りのビ
ツト数は8×4ビツトである。従つて、本数では
個々のユニツトを説明に必要な第1のメモリ3お
よび第2のメモリ4と第1のフラグレジスタ6お
よび第2のフラグレジスタ7のみをシンボル化し
て示し、残りを省略している。また、第1のメモ
リ3および第2のメモリ4においても上記の配列
要素の保持に必要なそれぞれ4個の格納領域
MA0からMA3およびMB0からMB3のみを示し、
残りを省略している。T0からT11はソート処理の
サイクルを表わしている。本ソート処理装置で
は、配列要素数がm個の場合、ソート処理完了ま
でに必要なサイクル数lは、 l=2m で与えられる。また必要な最小ユニツト数nは、 n≧m/2 で与えられる整数である。従つて、第3図aおよ
びbでは配列要素数mが6個の場合を示している
ため、ソート処理のサイクル数lは12回となり
T0からT11でソート処理を完了できる。また、ユ
ニツト数nは3個あれば十分であり、U0からU2
のみを示している。
次に本ソート処理装置を動作させるには、初期
状態において、全てのユニツトの第1のメモリ3
および第2のメモリ4には配列要素の最小値であ
る“0000”を書き込んでおく。この際、格納領域
MA0からMA3およびMB0からMB3には、それぞ
れ最下位桁から最上位桁に対応して配列要素を分
割した小要素すなわち前述の配列要素のiビツト
(8ビツト)分である“0”が書き込まれる。ま
た、全てのユニツトの第1のフラグレジスタ6お
よび第2のフラグレジスタ7には、判定結果であ
る1ビツトのフラグ情報のうち“0”を書き込ん
でおく。また、ソート処理の対象である配列要素
は、本ソート処理装置が付属している電子計算機
のメモリ等に定義した格納領域D0からD5に保持
しておく。なお、本図ではユニツト外に配列要素
を列記したことをもつて、かかる状態を表わして
いる。ソート処理を行うT0からT11のサイクルの
うちT0からT5は入力モードで、T6からT11は出
力モードで動作させる。すなわち、本ソート処理
装置では必要なソート処理のサイクル2m回のう
ち、前半のm回は入力モードで、後半のm回は出
力モードで動作させる。入力モードならびに出力
モードの各サイクルでは、本図のソート処理の例
では、転送操作と比較操作をそれぞれ4回、全て
のユニツトで同期して並列に実施する。tS0から
tS3およびtC0からtC3は、それぞれ4回の転送操作
および比較操作を実施するタイミングを示してい
る。本ソート処理装置では、各回の転送操作と比
較操作のタイミング、tS0とtC0,tS1とtC1,tS2
tC2,tS3とtC3のそれぞれは時間的に重畳して設定
することが可能であり、転送操作と比較操作を並
列に実施できる。
入力モードで動作させるT0からT5の各サイク
ルでは、第2図に示した入出力端子BLから、各
サイクル当り1個の配列要素を入力する。この
際、配列要素を桁ごとに分割した小要素を単位と
して、最下位の桁から順に転送操作のタイミング
tS0,tS1,tS2,tS3に同期して入力する。入力モー
ドにおける転送操作と比較操作では、各ユニツト
は次に述べる動作を行う。
(転送操作) 第2のフラグレジスタ7にフラグ情報として保
持している判定結果を参照し、判定結果が“0”
である場合には、tS0,tS1,tS2,tS3のタイミング
に対応して第1のメモリ3の格納領域MA0
MA1,MA2,MA3のうち1個を選択し、判定結
果が“1”である場合には、同様に第2のメモリ
4の格納領域MB0+MB1,MB2,MB3のうち1
個を選択して、保持している配列要素の小要素を
読み出して2方向の系のユニツト間データ転送路
2のうち右側の系へ送出するとともに左側の系か
ら配列要素の小要素を受入して書き込み保持す
る。
(比較操作) tC0,tC1,tC2,tC3のタイミングに対応して、第
1のメモリ3の格納領域MA0,MA1,MA2
MA3と第2のメモリ4の格納領域MB0,MB1
MB2,MB3のうちそれぞれ1個を選択し、保持
している配列要素の小要素を読み出して比較器5
により大小関係を判定する。この際、2個の格納
領域のうち一方は、前記転送操作において選択さ
れているため、受入した配列要素の小要素を保持
するとともに比較器5へ読み出して入力する。他
方は、ユニツト間データ転送路2とは切離して比
較器5へのみ読み出して入力する。比較器5で
は、第1のメモリ3側が大の場合には判定結果
“1”を発生し、第2のメモリ4側が大の場合に
は判定結果“0”を発生する。この判定結果は比
較操作が終了する時点で第1のフラグレジスタへ
フラグ情報として書き込み保持する。第1のメモ
リ3側と第2のメモリ4側が等しい場合には判定
結果を発生せず、第1のフラグレジスタ6への書
き込みを行わない。
入力モードの各サイクルでは、以上説明した転
送操作と比較操作をそれぞれ4回実施した時点で
第1のフラグレジスタ6には第1のメモリ3と第
2のメモリ4に保持している2個の配列要素全体
についての判定結果がフラグ情報として保持され
ている。そこで、この時点をもつてサイクルを終
了し、第1のフラグレジスタ6に保持しているフ
ラグ情報を第2のフラグレジスタ7へ保持し替え
る操作を行うとともに、第1のフラグレジスタ6
に“0”を書き込んで初期化する。
以上説明した入力モードのサイクルT0からT5
を実施することにより、6個の配列要素は並列に
比較操作と置換操作と等価な転送操作を受けつつ
ユニツトU0からU2の第1のメモリ3と第2のメ
モリ4に保持される。なお、入力モードでは、転
送操作に同期して入出力端子BRから配列要素の
最小値の小要素である“0”が順次出力される。
出力モードで動作させるT6からT11の各サイク
ルでは、入出力端子BRから、各サイクル当り1
個の配列要素の最小値“0000”を入力する。この
際、この最小値を桁ごとに分割した小要素の
“0”を転送操作のタイミングtS0,tS1,tS2,tS3
同期して入力する。出力モードにおける転送操作
と比較操作では、各ユニツトは次に述べる動作を
行う。
(転送操作) 第2のフラグレジスタ7にフラグ情報として保
持している判定結果を参照し、入力モードとは逆
に、判定結果が“1”である場合には、tS0,tS1
tS2,tS3のタイミングに対応して第1のメモリ3
の格納領域MA0,MA1,MA2,MA3のうち1個
を選択し、判定結果が“0”である場合には、同
様に第2のメモリ4の格納領域MB0,MB1
MB2,MB3のうち1個を選択して、保持してい
る配列要素の小要素を読み出して2方向の系のユ
ニツト間データ転送路2のうち左側の系へ送出す
るとともに右側の系から配列要素の小要素を受入
して書き込み保持する。
(比較操作) 入力モードの場合と同じ動作を行う。出力モー
ドの各サイクルでは、入力モードと同様に、以上
説明した転送操作と比較操作をそれぞれ4回実施
した時点をもつてサイクルを終了し、第1のフラ
グレジスタ6にフラグ情報として保持している判
定結果を第2のフラグレジスタ7へ保持し替える
操作を行うとともに第1のフラグレジスタ6に
“0”を書き込んで初期化する。
以上説明した出力モードのサイクルT6からT11
を実施することにより、6個の配列要素は並列に
比較操作と置換操作と等価な転送操作を受けつ
つ、入出力端子BRから最大値の配列要素から降
順にソート処理がなされて出力される。この際、
各サイクル当り1個の配列要素が、桁ごとに分割
した小要素すなわち配列要素のiビツト(8ビツ
ト)分を単位として、最下位の桁から順に転送操
作のタイミングtS0,tS1,tS2,tS3に同期して出力
される。出力された配列要素は、電子計算機のメ
モリ等に定義した格納領域D0からD5に順次書き
込むことにより、ソート処理が完了した状態で保
持される。
以上のソート処理の動作原理を説明した第3図
aおよびbでは矢印を付記した配列要素の小要素
は転送操作の結果矢印の先が示す格納領域へ移動
したことを示している。また第1のフラグレジス
タ6の内容は比較操作における判定結果を書き込
んだ状態を示している。
第4図は、第2図に示した本発明のソート処理
装置のユニツト1個の構成図である。本図では、
第3図aおよびbで説明したソート処理を行うに
必要な制御系の詳細を示す。図中、2はユニツト
間データ転送路、3は第1のメモリ、4は第2の
メモリ、5は比較器、6は第1のフラグレジス
タ、7は第2のフラグレジスタである。また、図
中の論理シンボル8はAND回路、9はOR回路、
10はインバータである。第1のメモリ3および
第2のメモリ4のそれぞれは、格納領域MA0
らMAj-1および格納領域MB0からMBj-1で示す格
納領域と、DECで示すデコーダと、I/Oで示
す入出力回路で構成されている。デコーダDEC
は、アドレス信号ADにより格納領域MA0から
MAj-1および格納領域MB0からMBj-1のうち各1
個を選択する。本実施例ではjが16であるた
め、アドレス信号ADはAD0からAD3の4ビツト
からなつている。入出力回路I/Oは、前記のデ
コーダDECで選択される格納領域に対する読み
出し動作および書き込み動作を制御するR/Wで
示す読み書き制御回路と、左右2系のユニツト間
データ転送路2とユニツト内データ転送路BAお
よびBBとを接続するSWで示すスイツチ回路と、
これら読み書き制御回路R/Wおよびスイツチ回
路SWを制御する論理回路とで構成されている。
入出力回路I/Oを制御する信号は、IMが入力
モード信号、OMが出力モード信号、MRが読み
出し信号、MWが書き込み信号、FL2が第2のフ
ラグレジスタ7に保持しているフラグ情報、
WEaおよびWEbが書き込み制御信号、RSがリセ
ツト信号である。これらのうち入力モード信号
IMおよび出力モード信号OMは、入力モードお
よび出力モードのソート処理のサイクルにおいて
それぞれ“1”とする。読み出し信号MRおよび
書き込み信号MWは、ソート処理のサイクルの前
半および後半においてそれぞれ“1”とする。リ
セツト信号RSは、ソート処理の開始前に“1”
に設定してアドレス信号ADを歩進することによ
り、格納領域MA0からMAj-1および格納領域
MB0からMBj-1に小要素の“0”を書き込んで
初期化する際に用いる。書き込み制御信号WEa
およびWEbは、“1”の場合には読み書き制御回
路R/Wが書き込み動作を行い、“0”の場合に
は読み出し動作を行う。
以上説明した回路と信号により、入力モードで
はフラグ情報FL2が“0”の場合には第1のメモ
リ3が転送操作の対象となり、読み出し信号MR
が“1”となる期間に格納領域MA0からMAj-1
のうちアドレス信号ADで選択される1個から配
列要素の小要素が読み書き制御回路R/Wを介し
てユニツト内データ転送路BAへ読み出され、ス
イツチ回路SWを介して右側のユニツト間データ
転送路2へ送出される。次いで書き込み信号MW
が“1”となる期間では、左側のユニツト間デー
タ転送路2からスイツチ回路SWを介してユニツ
ト内データ転送路BAへ配列要素の小要素が受入
され、読み書き制御回路R/Wを介して前記と同
じ格納領域へ書き込まれる。一方、比較操作は書
き込み信号MWが“1”である期間に行われ、ユ
ニツト内データ転送路BAからは前記の転送操作
で受入した配列要素の小要素が比較器5へ入力
し、ユニツト内データ転送路BBからは格納領域
MB0からMBj-1のうち転送操作と同一のアドレ
ス信号ADで選択された1個から読み出された配
列要素の小要素が比較器5へ入力する。入力モー
ドでフラグ情報FL2が“1”の場合には、逆に第
2のメモリ4が転送操作の対象となる。出力モー
ドでは、入力モードとは逆にフラグ情報FL2
“0”の場合には第2のメモリ4が転送操作の対
象となり、“1”の場合には第1のメモリ3が転
送操作の対象となる。配列要素の小要素は左側の
ユニツト間データ転送路2へ送出され、右側のユ
ニツト間データ転送路から受入される。
第5図は、第2図および第4図に示した本発明
のソート処理装置のユニツト1内における比較器
5と第1のフラグレジスタ6および第2のフラグ
レジスタ7の回路図である。図中の論理シンボル
は、8がAND回路、9がOR回路、10がインバ
ータ、11が排他的OR回路である。なお、8の
出力に10が接続した12はNAND回路である。
図中の信号は、BA0からBAi-1およびBB0から
BBi-1がそれぞれユニツト内データ転送路BAお
よびBBにより付与される配列要素の小要素すな
わち配列要素のiビツト分、F0が判定結果であ
るフラグ情報、SEがセツトイネーブル信号、FS1
が第1のフラグレジスタのセツト信号、FR1が第
1のフラグレジスタ6のリセツト信号、FL1が第
1のフラグレジスタに保持しているフラグ情報、
FS2は第2のフラグレジスタのセツト信号、RS
は第1のメモリ3および第2のメモリ4と共通な
第2のフラグレジスタ7のリセツト信号、FL2
第2のフラグレジスタ7に保持しているフラグ情
報である。比較器5では、配列要素BA0から
BAi-1と配列要素BB0からBBi-1の大小関係を下
位の桁から比較し、配列要素BA0からBAi-1の方
が大である場合にはフラグ情報F0が“1”とな
り、逆に小である場合にはフラグ情報F0が“0”
となる。また、配列要素BA0からBAi-1と配列要
素BB0からBBi-1とが等しい場合にはセツトイネ
ーブル信号SEが“0”となる。第1のフラグレ
ジスタ6では、リセツト信号FR1が“1”の場合
にフラグ情報FL1が“0”となるようにリセツト
される。また、セツトイネーブル信号SEが“1”
でかつセツト信号FS1が“1”である場合に比較
器5からのフラグ情報F0がそのままフラグ情報
FL1としてセツトされる。第2のフラグレジスタ
7では、リセツト信号RSが“1”である場合に
フラグ情報FL2が“0”となるようにリセツトさ
れ、セツト信号FS2が“1”である場合に第1の
フラグレジスタ6のフラグ情報FL1がそのまま第
2のフラグレジスタ7のフラグ情報FL2としてセ
ツトされる。
第6図は、第2図、第4図、第5図に示した本
発明のソート処理装置を第3図aおよびbに示し
たソート処理の例に従つて動作させる際のタイム
チヤートである。本図は第3図aに示したサイク
ルT0にならつて1サイクル分を示している。図
中、AD0はアドレス信号の最下位1ビツト分、
MRは読み出し信号、MWは書き込み信号、FR1
は第1のフラグレジスタ6のリセツト信号、FS1
およびFS2はそれぞれ第1のフラグレジスタ6お
よび第2のフラグレジスタ7のセツト信号であ
る。これらの信号は「H」が“1”、「L」が
“0”に対応している。
以上説明したタイムチヤートにおける各信号は
入力モードと出力モードとで共通である。なお、
本図では配列要素が4桁の数字の場合の1サイク
ル分のタイムチヤートを示したが、第2図の本発
明のソート処理装置では各ユニツトの第1のメモ
リ3および第2のメモリ4の容量を8×16ビツト
としたため、配列要素が最大16桁の場合までソー
ト処理可能である。この際、転送操作と比較操作
それぞれ16回をもつて1サイクルを構成する。一
般には、第2図の本発明のソート処理装置におい
て、第1のメモリ3および第2のメモリ4のそれ
ぞれの読み書きビツト幅をiビツト(i≧1整
数)で容量をi×jビツト(j≧1整数)とし、
比較器5のビツト幅ならびにユニツト間データ転
送路2の1系当りのビツト幅を少くともiビツト
とし、転送操作と比較操作とをそれぞれk回(j
≧k≧1整数)実施し、それぞれk回の転送操作
と比較操作とが終了した時点でユニツトの各々に
おいて第1のフラグレジスタ6に保持している判
定結果を第2のフラグレジスタ7へ保持し替える
操作を実施することをもつてソート処理のサイク
ル1回とし、少くとも2m回(2n≧m>1,nは
ユニツト数)のサイクルを実施することをもつて
i×kビツトの配列要素m個のソート処理を行う
ことができる。
以上説明した本発明の実施例では、第3図aお
よびbをもつて降順のソート処理の動作例を示し
たが、動作条件を変更することによつて昇順のソ
ート処理を行うことも可能である。昇順のソート
処理の場合には、初期状態において各ユニツトの
第1のメモリ3および第2のメモリ4に配列要素
の最大値を書き込んでおき、入力モードでは大き
な値の配列要素を右の方のユニツトへ転送し、出
力モードでは小さな値の配列要素を左の方のユニ
ツトへ転送する。
また、本実施例では入出力端子BRから配列要
素を入力し、同じ入出力端子BRからソート処理
がなされた配列要素を出力する場合を示したが、
従来技術のソート処理装置で既知である降順のソ
ート処理と昇順のソート処理を相補的に実施する
方法や、入力モードのみでソート処理を行う等の
方法についても本発明のソート処理装置において
実施することができる。さらに、第2図に示した
本発明のソート処理装置をR台(R>1整数)並
列接続し、R×i×kビツトの配列要素のソート
処理を実施するソート処理装置、もしくは配列要
素のビツト数に応じて直列接続するユニツト数と
並列接続するユニツト数を可変にしたソート処理
装置も容易に構成することができる。
なお、本実施例で示した回路構成のうち、第1
のメモリおよび第2のメモリ内のデコーダDEC、
格納領域、読み書き制御回路R/W、スイツチ回
路SWについては、市販のスタテインクRAM等
に使用されている既知の回路構成が適用できる。
また、比較器、第1および第2のフラグレジスタ
については、本実施例で示した構成の他に、算術
論理演算ユニツトALUや汎用レジスタ等を利用
することもできる。
以上実施例をもつて説明したように、本発明の
ソート処理装置では、それぞれ独立して読み出し
動作および書き込み動作が可能な第1のメモリお
よび第2のメモリと、比較器と、比較器による判
定結果を保持する第1のフラグレジスタおよび第
2のフラグレジスタとを少くとも具備したユニツ
トの複数個をもつて構成したことにより、転送操
作と比較操作とを並列に行うことができ、かつ比
較器の演算ビツト幅よりビツト数が大きい配列要
素のソート処理を効率良く行うことができるた
め、従来のソート処理装置よりも処理速度、処理
限界、装置の価格・性能比の面で利点がある。従
つて、本ソート処理装置は、データベースの検索
など、配列要素のビツト数が大きくかつ配列要素
数も膨大な処理に適用すると、類似した配列要素
を順次とり出す等のデータ操作が高速に行える効
果がある。
【図面の簡単な説明】
第1図は従来の電子計算機を利用した逐次処理
によるソート処理の原理図、第2図は本発明の一
実施例であるソート処理装置の構成図、第3図a
およびbは第2図のソート処理装置の動作原理
図、第4図は第2図のソート処理装置のユニツト
の構成図、第5図は第2図および第4図のユニツ
ト内の比較器と第1および第2のフラグレジスタ
の回路図、第6図は第2図のソート処理装置の動
作説明用タイムチヤートである。 1…ユニツト、2…ユニツト間データ転送路、
3…第1のメモリ、4…第2のメモリ、5…比較
器、6…第1のフラグレジスタ、7…第2のフラ
グレジスタ、8…AND回路、9…OR回路、10
…インバータ、11…排他的OR回路、BL,BR
…入出力端子、MA0〜MAj-1,MB0〜MBj-1
格納領域、DECーデコーダ、I/O…入出力回
路、AD…アドレス信号、R/W…読み書き制御
回路、BA,BB…ユニツト内データ転送路、SW
…スイツチ回路、IM…入力モード信号、OM…
出力モード信号、MR…読み出し信号、MW…書
き込み信号、FL1,FL2…フラグ情報、WEa
WEb…書き込み制御信号、RS…リセツト信号、
BA0〜BAi-1,BB0〜BBi-1…配列要素のiビツ
ト分、F0…判定結果を示すフラグ情報、SE…セ
ツトイネーブル信号、FS1…第1のフラグレジス
タのセツト信号、FS2…第2のフラグレジスタの
セツト信号、FR1…第1のフラグレジスタ6のリ
セツト信号、AD0…アドレス信号ADの最下位1
ビツト分。

Claims (1)

    【特許請求の範囲】
  1. 1 それぞれ配列要素の保持手段であり、かつそ
    れぞれ独立して配列要素のiビツト分(i≧1整
    数)の読み出し動作および書き込み動作が可能な
    i×jビツト(j>1整数)の容量を有する第1
    のメモリおよび第2のメモリと、演算ビツト幅が
    少くともiビツトである比較器と、第1のフラグ
    レジスタおよび第2のフラグレジスタとを少くと
    も具備したユニツトの複数個をユニツト間データ
    転送路により直列接続した構成を有し、該ユニツ
    トの各々において該第2のフラグレジスタに保持
    しているフラグ情報により該第1のメモリおよび
    第2のメモリの一方を選択して配列要素のiビツ
    ト分を読み出すとともに該ユニツトに接続してい
    る2方向のユニツト間データ転送路の一方へ送出
    し、次いで他方のユニツト間データ転送路から配
    列要素のiビツト分を受入するとともに該第2の
    フラグレジスタに保持しているフラグ情報により
    選択した該第1のメモリおよび第2のメモリの一
    方へ書き込む転送操作と、該ユニツトの各々にお
    いて該転送操作で選択した該第1のメモリおよび
    第2のメモリの一方とは異なる他方から配列要素
    のiビツト分を読み出すとともに該転送操作で受
    入した配列要素のiビツト分との大小関係を該比
    較器により判定して判定結果が得られた場合には
    該第1のフラグレジスタにフラグ情報として保持
    する比較操作とをそれぞれk回(j≧k≧1)実
    施し、k回目の該転送操作と該比較操作とが少く
    とも終了した時点で該ユニツトの各々において該
    第1のフラグレジスタに保持しているフラグ情報
    を該第2のフラグレジスタへ保持し替える操作と
    を実施することをもつてソート処理のサイクル1
    回とし、該ソート処理のサイクルを繰り返し実施
    することをもつてi×kビツトの配列要素からな
    るデータのソート処理を行うように構成されたソ
    ート処理装置。
JP18836883A 1983-10-11 1983-10-11 ソ−ト処理装置 Granted JPS6081640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18836883A JPS6081640A (ja) 1983-10-11 1983-10-11 ソ−ト処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18836883A JPS6081640A (ja) 1983-10-11 1983-10-11 ソ−ト処理装置

Publications (2)

Publication Number Publication Date
JPS6081640A JPS6081640A (ja) 1985-05-09
JPH024926B2 true JPH024926B2 (ja) 1990-01-31

Family

ID=16222386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18836883A Granted JPS6081640A (ja) 1983-10-11 1983-10-11 ソ−ト処理装置

Country Status (1)

Country Link
JP (1) JPS6081640A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0517118U (ja) * 1991-08-09 1993-03-05 株式会社クボタ エンジンの液冷装置の放熱装置

Families Citing this family (1)

* 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 ベクトル処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0517118U (ja) * 1991-08-09 1993-03-05 株式会社クボタ エンジンの液冷装置の放熱装置

Also Published As

Publication number Publication date
JPS6081640A (ja) 1985-05-09

Similar Documents

Publication Publication Date Title
EP0180239B1 (en) Content-addressable memory
US4078260A (en) Apparatus for transposition sorting of equal length records in overlap relation with record loading and extraction
US3290659A (en) Content addressable memory apparatus
US3913075A (en) Associative memory
US3389377A (en) Content addressable memories
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US4120043A (en) Method and apparatus for multi-function, stored logic Boolean function generation
US4799154A (en) Array processor apparatus
JPH024926B2 (ja)
US3064239A (en) Information compression and expansion system
WO1988001411A1 (en) A content-addressable memory system
EP0227348A2 (en) Content addressable memory circuit and method
JPH0315221B2 (ja)
RU2028664C1 (ru) Устройство для параллельной обработки данных
RU1835543C (ru) Устройство дл сортировки чисел
RU2001451C1 (ru) Ассоциативное запоминающее устройство
US3222648A (en) Data input device
SU1575168A1 (ru) Устройство дл выделени медианы трех чисел
SU1624526A2 (ru) Запоминающее устройство с многоформатным доступом к данным
SU1005065A1 (ru) Ассоциативный матричный процессор
SU941994A1 (ru) Ячейка однородной структуры
SU849303A1 (ru) Посто нное запоминающее устройство
JP2564318B2 (ja) 通信処理装置
SU555395A1 (ru) Устройство дл ввода информации
RU2042189C1 (ru) Микропрограммное устройство управления