JPH03129426A - 分類加速装置のための速度及びメモリー制御 - Google Patents

分類加速装置のための速度及びメモリー制御

Info

Publication number
JPH03129426A
JPH03129426A JP2172503A JP17250390A JPH03129426A JP H03129426 A JPH03129426 A JP H03129426A JP 2172503 A JP2172503 A JP 2172503A JP 17250390 A JP17250390 A JP 17250390A JP H03129426 A JPH03129426 A JP H03129426A
Authority
JP
Japan
Prior art keywords
records
classification
record
string
classified
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
JP2172503A
Other languages
English (en)
Other versions
JPH0776906B2 (ja
Inventor
Brian C Edem
ブライアン チャールズ イーデム
Richard P Helliwell
リチャード ペーラム ヘリウェル
John T Johnston
ジョン トーマス ジョンストン
Richard F Lary
リチャード フランクリン ラリー
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.)
Digital Equipment Corp
National Semiconductor Corp
Original Assignee
Digital Equipment Corp
National Semiconductor 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 Digital Equipment Corp, National Semiconductor Corp filed Critical Digital Equipment Corp
Publication of JPH03129426A publication Critical patent/JPH03129426A/ja
Publication of JPH0776906B2 publication Critical patent/JPH0776906B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/36Combined merging and sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、分類加速装置に関し、特に、リバウンド分類
装置を併合装置として使用して多数のレコードを迅速に
且つ効率良く分類することの出来る分類加速装置に関す
る。本発明の加速装置は、極めて少ない部品を使用し、
その他の点では安価に製造することが出来、上位コンピ
ュータとは独立に作動し、信頼性が高い。
(従来技術とその問題点) 分類アルゴリズムのパイプライン方式VLSI装置は公
知である。rBMの開発したリバウンド分類装置は、デ
ータが左側に沿って流れ下り、右側に沿って流れ上るU
形状のパイプラインを成すものとして視覚化することの
出来る一組の処理要素を含む。該処理要素は、同時に作
動して、分類処理を高速化する。各要素は、二つのレコ
ードからのデータを比較し、その比較の結果に応じて、
左側に沿っての垂直下降運動及び右側に沿っての垂直上
昇運動を行うか、又は、r比較的に重いjレコードが左
下方へ動かされ且つ「比較的に軽い」レコードが右上方
へ動かされて結局は右側の上端から分類された順に出て
ゆくこととなる様に水平交換を行う。この種のリバウン
ド分類装置は、分類操作の高速化に利点を有するが、所
要のハードウェアのコストが高いので、特に多数のレコ
ードを分類するために斯かる分類装置を広く使用するこ
とが出来なかった。
複数の処理要素を使う他の種類の分類システムが提案さ
れている。しかし、全ての既知の種類のシステムには、
特に作動速度、ハードウェアのコスト、安定性及び信頼
性に関して限界がある。
(発明の概要) 本発明の成る面は、従来の分類装置の問題の根源及び限
界の発見と認識に関する。処理動作が数個の要素によっ
て同時に行われる分類装置は、分類操作を高速化するの
には有利であるが、分類できるレコードの個数が限られ
ているという点で限界がある。例えば、前述のIBMの
分類装置は、分類要素の総数より一つだけ多いレコード
を含むレコードのグループを分類できる。よって、15
個の処理要素は、最大で16個のレコードを含むグルー
プを分類する。大規模な分類では、斯かるシステムを使
うハードウェアの量とコストとは膨大となる。
本発明の分類加速装置にはリバウンド分類装置を設けら
れ、限られた数の処理要素が同時に作動して割合に少数
のレコードをグループに分類する。
この時、同じリバウンド分類装置が、分類されたグルー
プを併合して、より小さなグループのレコードの全てを
分類された順に包含する大きなグループにするのにも使
われる。本発明の分類加速装置では、例えば16個のデ
ータ項目を分類するハードウェアが、16路・併合を行
うのにも使われる。分類されるべきレコードの個数が大
きくなっても、大分類のための処理要素の数を増やす必
要はない。
本発明を取り入れた分類加速装置は、典型的にはアドレ
ス及びデータのバスを通じて上位コンピュータと上位メ
モリーとに接続される。該分類加速装置は、上位処理装
置とは独立に作動してレコードを高速で分類し、その分
類されたレコードを上位メモリーに格納する。該分類加
速装置の独立動作によって、上位コンピュータは、分類
及び併合操作が行われているときに自由に他の操作を行
うことが出来る。
好適な実施例では、分類加速装置は、入力部と、出力部
と、分類制御部と、分類部とを含む。分類制御部は、入
力部を制御してレコードのグループを分類部へ逐次に送
らせると共に、出力部を制御して複数の分類されたグル
ープを局所作業メモリー又は」二位コンピュータのメモ
リーの作業部分に格納させる。入力部、分類部、及び出
力部は、分類制御部から制御されて、レコードのグルー
プを未分類の順序で受は取り、次にこのレコードのグル
ープの分類を、分類された順序で該グループを格納する
。これは、次に、分類されたレコードのグループを併合
して、大きな分類されたグループ又はストリングにする
該分類加速装置の分類部は、1期間に、成る最大個数の
レコードを下降順又は上昇順に分類することが出来、そ
の数は、成る実施例では16である。分類された16の
グループが作られると、これらのグループを一連の操作
を通じて併合して一つの大きな分類済みストリングとす
ることが出来る。16個の大きな分類済みストリングが
作られると、それらは併合されて、より長いストリング
となる。全てのレコードが分類されるまで、各回で16
倍大きなストリングを作りながら、このプロセスが繰り
返される。この方法は、Nlogwを越えない値に比例
する速度で分類をするか、ここでNはレコードの数であ
り、Wは処理要素の数より1だけ大きい数である。
この様な分類及び併合の機能を達成するために、分類部
又はリバウンド分類装置は僅かに15個の処理要素を有
するだけでよい。処理要素はレコードのキーバイトを比
較して順序を決める。処理要素は、2個のレコード記憶
要素を介して互いに接続される。処理要素及びレコード
記憶要素の構成は垂直のコラムを見ることが出来、新た
に入力されたレコードは該コラムの頂部左側に入り、分
類されたレコードは該コラムの頂部右側から出てゆく。
レコードは16個のグループに分類され、格納部又は作
業空間メモリーに格納される。充分な数のグループが分
類された後、併合操作が始まる。
併合のために、どの分類されたグループに属するかを示
すタグが各レコードに付される。上昇分類では、各グル
ープの最小のレコードは、リバウンド分類装置から押し
出されるまでリバウンド分類装置内に置かれる。このレ
コードは、分類された各グループの最小のレコードの全
集合のうちの最小のレコードである。リバウンド分類装
置に送り込まれた次のレコードは、全てのレコードのう
ちの最小のレコードを以前から含んでいたグループから
逐次に選択される。この新しいレコードは、分類された
グループに由来するものであるので、最初の最小のレコ
ードに等しいか又はそれより大きくなければならない。
この手順は継続され、新しいレコードは、最後に出力さ
れたレコードの出所となったグループから選択される。
全てのストリングが使い尽くされると、併合は完了し、
分類済みレコードの一つの大きなグループが出来ている
本発明の分類及び併合機能を迅速に且つ効率的に達成す
るために、本設計に色々な特徴が取り入れられる。外部
ハードウェアとの協働で、データが該分類加速装置に入
った点から、それが上位処理装置に戻るまで、そのデー
タは変造に関して検査される。それらのレコードが強化
されたリバウンド分類装置から出た後、となり合うレコ
ードの大きさを比較して、それらが適切に並べられてい
るか否か判定することによって、該分類加速装置の分類
及び併合特徴の正しい動作も検査される。
データが該システムを通過する際に該データの保全性を
検査する二つの方法が使われる。第1の方法では、バイ
トパリティを使ってデータ伝送のエラーを検出する。デ
ータの8ビツトは9個のビット値でひ表される。余分の
ビットは、データの出所で計算されたパリティ値を示す
。レコードの保全性は、送信されたデータからパリティ
値を計算し直し、その新しく計算された値を、送信され
たパリティビットと比較することによって検査される。
不一致は、伝送エラーを示す。
データ保全性を保証するために使われる第2の方法は、
2レベル検査合計方式を使用する。検査合計は、各レコ
ードがリバウンド分類装置に入ってくるときに多数のバ
イトに対して計算される。
検査合計は、後に、強化されたリバウンド分類装置から
レコードが出てゆくときに計算し直されて、先に計算さ
れていた検査合計と比較される。この比較により、リバ
ウンド分類装置で発生することある2種類のエラーが検
査される。第1の種類のエラーは、データ経路での単一
ビット故障(記憶要素故障を含む)に由来し、第2の種
類は、レコード同士の間の不適切に制御されたバイトの
スワッスング(交換)に由来する(処理要素制御故障)
分類順序検査装置は、強化されたリバウンド分類装置か
ら出てゆくレコードを、適切な分類について検査する。
シフトレジスターとして作用する特別の記憶要素は、一
つのレコードを保持し、比較論理と協働して、分類され
たレコードが適切な順序に並べられているか否か判定す
る。該比較論理の出力は、リバウンド分類装置がレコー
ドを不適切に分類したか否かを示す。
分類順序検査装置は、隣接するレコードのキーが等しい
か否かを示すrタイ」ビットも提供する。
ユーザーソフトウェアは、この「タイjビットを利用し
て、分類加速装置の容量を越えたキーフィルドに対して
分類を行うか、或いはユーザーが重複するレコードの分
類後除去を行うのを補助する。
本発明に従って構成された分類加速装置は、好適な実施
例では、ハードウェア要件を極めて小さくしながら、多
数のレコードの高速で安定した分類を達成する特徴を更
に含んでいる。一つの特徴は、分類加速装置で多数の分
類/併合を行うためのパイプライン制御である。このパ
イプライン制御は、異なるグループからのレコードを混
合せずに、且つ、新しいレコードのグループを該リバウ
ンド分類装置で分類する前に該リバウンド分類装置から
見かけレコードを流すことを必要とせずに、レコードの
グループを分類することを可能にする。
該パイプライン制御は、先のグループの最後のレコード
が第1処理要素によって検査された直後に分類加速装置
が新しいレコードのグループをリバウンド分類装置に押
し込み始めることを可能にする。パイプライン制御は、
リバウンド分類装置と並列の一系統のシフトレジスター
により達成される。新しいレコードのグループがリバウ
ンド分類装置に入る時、新しいレコードの組がリバウン
ド分類装置に入ったことを示す境界値が第1パイプライ
ンシフトレジスターにセットされる。該境界値は、第1
のレコードと共に、処理要素を通過するとき、シフトレ
ジスターの該系列を通してシフトされる。該値は、該処
理要素に対して、該境界値に続くレコードを、他のグル
ープのレコードと比較してはならないことを示す。この
様にして、リバウンド分類装置は完全にレコードが装填
された状態に保たれることが出来、レコードの随意の数
の異なるグループのレコードのローディング及びアンロ
ーディングが重なり合うことが可能となる。
分類加速装置の他の特徴は、安定分類の実行に関する。
安定分類は、等しいキーを持ったレコードは、入る際と
同じ相対的順序で分類加速装置から出てゆく様な分類で
ある。安定分類は、等しいキーを持ったレコードの順序
が既に決まっている様なアプリケーションで必要とされ
るものである。
安定分類をリバウンド分類装置に組み込むために、追加
のハードウェアが付加され、アルゴリズムが修正されて
いる。
安定分類は、レコードの出所であるグループにより、そ
のレコードを識別するビットをセットすることによって
実施される。このグループ指定は、等しいキーを有する
異なるグループからのレコードを、入ってきた順序でリ
バウンド分類装置から出てゆかせる。r順序」ビットは
、等しいキーを持った同じグループからのレコードを、
入ってきた順にリバウンド分類装置から出てゆかせる。
分類加速装置の他の特徴は、データを格納するのに要す
るメモリーの量のより約lO%程度大きい作業空間メモ
リーを必要とするに過ぎなくする様な併合先読み/メモ
リー管理構成に関する。この特徴は、メモリーの使用効
率を高めるだけでなく、作業空間メモリーを線型拡張し
、これにより作業空間の上位システム管理を簡単にする
。最適の併合により、データを処理する回数が減り、従
って、併合/分類アルゴリズムを実行するのに要する時
間が短くなる。
作業空間記憶装置の割付は、分類制御部によって管理さ
れる。分類制御部は、分類されたデータに充分な記憶装
置が配分されているか否かを判定する。好適な実施例で
は、拡張された併合/分類アルゴリズムか入力フェーズ
及び出力フェーズの使用により分類及び併合の順序づけ
を制御する。
入力フェーズは、分類及び併合から成り、入力ストリン
グを構成する未分類レコードの全てが、レコードのグル
ープを分類することにより又はレコードのグループを併
合することによって処理され終わるまで、続く。全ての
入力レコードが分類又は併合された後、出力フェーズが
始まる。
この時点で、作業空間記憶装置の複数の領域に数個の分
類済みグループ又はストリングがある。
出力フェーズは、一連の併合と、これに続く、レコード
の分類を完了させる最後の併合とから成る。
分類加速装置の併合機能の速度を更に高めるために、分
類加速装置はストリング番号又はタグ抽出先読み特徴を
利用する。本発明のこの特徴は、分類制御部により作ら
れた、与えられたレコードがどの入力ストリングに由来
するものであるのかを示す情報を利用する。この情報は
、分類制御部が次のレコードをリバウンド分類装置に送
ることを可能にするために必要である。先に記載したよ
うに、適切な併合は、次の入力レコードが最後の出力レ
コードと同じグループに由来するレコードであることを
必要とする。若しストリング情報が分類制御部に送られ
るのが遅過ぎると、リバウンド分類装置は次の入力レコ
ードを待ちながら機能停止する。大概の場合、タグ先読
みは次の分類済みレコードがリバウンド分類装置から出
てゆく前にタグ情報を分類制御部に提供する。これによ
り次の入力レコードはリバウンド分類装置の入力で待機
することが出来るので、併合操作に遅延は生じない。
タグ先読み論理は、最小のレコードのグループ(」二昇
分類の場合)を、それが実際に該分類装置から出力され
る前に、早く決定する。これにより、次のレコードか出
力される前に分類加速装置は次の入力レコードへアクセ
スを開始することが出来る。この技術を使って、非常に
短いレコードの場合、又は分類判定がレコードに対して
非常に遅くなされる場合を除いて、併合のレコード間遅
延を完全に無くすることが出来る。
該分類加速装置の一つの付加的特徴は、指標付けを行っ
て、レコード記憶要素として使われる可変長シフトレジ
スターを実現する循環RAMを使用することである。レ
コードデータが処理要素間を通過する該レコードデータ
を保持するためにRAMが使われる。この方法では、色
々なレコードの大きさに対処する様に、1ビツト可変長
シフトレジスターがプログラムされる。該ビットは、該
可変長シフトレジスターを通してシフトされるとき、R
AMの各行を順次に作動可能に、RAMはデータを読み
出すか又は書き込む。よって、この特徴は、極めて少な
い量の論理を使いながら、長さか可変となる様にしてシ
フトレジスターを実現する。この方法は、低速で、作動
に多量の電力を要するデータ用シフトレジスターを使用
しない。
他の特徴及び利点は、添付図面と関連させて以下の詳し
い記述を読むことにより、もっと充分に理解できる。
(実施例) 参照数字lOは、本発明の原理に従って構成された分類
加速装置を示す。分類加速装置lOは、アドレス及びデ
ータバス13を通じて上位コンピュータ11、上位メモ
リー12、及び作業空間メモリー18に接続されており
、上位コンピュータ11からコマンドデータを受信して
、上位メモリー12に格納されているレコードを分類し
、その分類したレコードをメモリー12に格納するよう
になっている。
コマンドデータは、例えば、分類されるべきレコードの
一グループのメモリー12におけるスタートアドレス又
は併合されるべきレコードのスタートアドレス、各グル
ープ内のレコードの長さ、各レコード内のキーフィール
ドの長さ、所望の分類のモード、グループ内のレコード
の数、及び分類済みレコードを格納するメモリー12内
のスタートアドレスを含む。このコマンドデータの受信
後、分類加速装置10は、上位処理装置とは独立に作動
して、指定されたレコードを高速で分類又は併合し、そ
の分類されたレコードを上位メモリー12に格納する。
上位コンピュータは、コマンド信号を分類加速装置10
に供給した後、他の操作を自由に行う。
図示の分類加速装置IOは、システムインターフェース
15を通じて上位バス13に接続された局所アドレス及
びデータバス14を含む。作業空間を提供する局所メモ
リー16は、局所バス14に接続されている。局所メモ
リー16は随意のものであるが、作業空間は図示のシス
テムに必要なものである。図示の局所メモリー16の代
わりに、或いは、それに加えて、上位メモリー12の一
部を使って、局所メモリー16の提供する作業空間の代
わりとなる作業空間を設けることが出来る。
局所バス14は、入力部2I、出力部22、及び分類順
序づけ装置34に接続するインターフェース20を通じ
てリバウンド分類装置18に接続されている。図示の様
に、入力部21は、パリティ検査装置23、バッファー
24、LW(長ワード)からバイトへのアンパック装置
25、タグ挿入装置26及び検査パリティ/検査合計計
算装置27を含む。出力部22は、順序検査装置29を
通じて分類装置18に接続されており、検査合計及びパ
リティ生成装置30、バイトから長ワードへのパッカー
31、長ワードバッファー32及びパリティ検査/生成
回路33を含む。
リバウンド分類装置18及びインターフェース20は分
類順序づけ装置34に接続されており、この装置34は
、上位プロセッサ11から送られたコマンドデータを受
信し、後述するように入力、分類、格納、併合及び出力
の動作を監視し制御する。分類順序づけ装置34は、レ
ジスターアレイ35と、ROM38に格納されているマ
イクロプログラムから作動する命令レジスター37に接
続されたALU36とを含む。ALU37は、入力、分
類、併合及び出力の操作の管理制御を行う。分類順序づ
け装置34は、分類順序、タグ先読み及び雑務制御回路
39を含む。分類操作及び併合操作中にメモリーからレ
コードを迅速に取り出すために入力部21に送られたア
ドレスを選択すると共に、他の機能も実行する。
強化されたリバウンド分類装置18は、16個のレコー
ドのグループに対して、該レコードのキーの審査を通じ
て同時処理操作を実行するように設計されている。これ
は、その処理操作が実行される15個の部40−54を
含み、この部の個数は、処理されるグループのレコード
の個数より1だけ少ない。部40−54の各々は、処理
要素と、付随のレコード記憶要素とを含む。リバウンド
分類装置18の特徴は、記憶回路56の使用を通じてレ
コード記憶要素を実現することに関し、この回路56は
、RAM及び読み書き回路を含み、RAMインデックス
回路58の制御下で作動する。
別の特徴はレコードの別々のグループの混合を防止しな
がら遅延を防ぐために、強化されたリバウンド分類装置
18への装填及び排出を制御するパイプライン制御回路
60の設置に関する。レコード制御回路62は、部40
−54の処理要素とパイプライン制御回路60とにタイ
ミング信号を供給する。
追加の特徴は、ハードウェア要件を小さくし且つ他の利
点を達成しながら多数のレコードの高速分類を達成出来
る態様で分類及び併合の両方を行うための強化リバウン
ド分類装置18の使用に関する。特別の特徴は、後述す
るように、安定した信頼できるレコード分類及び分類済
みレコードの併合を容易にする態様で、処理操作中に個
々のレコードを識別することに関する。
以上に記載した分類加速装置の作動時には、コマンドデ
ータが最初にインターフェース部を通じて分類順序づけ
装置34に送られる。分類順序づけ装置34は、入力さ
れるべきレコードの各グループの第ルコードの開始アド
レス、該グループのレコードの長さ、各レコードのキー
フィールドの長さ、レコードの個数及び開始アドレス、
並びに、分類済みレコードを格納するべき場所に関する
他のデータを含む、対応する制御データを作ってレジス
ターアレイ35に格納する。コマンドデータが分類順序
づけ装置34を通じて送られた後、次の動作が始まり、
入力部21はアドレス回路23を使ってレコードデータ
を上位メモリー12から取り出し、次に、入力部21は
バイト挿入装置25を使って、修正されたレコードを作
る。修正されたレコードの連続的なストリームをリバウ
ンド分類装置I8に送ることが出来、各々の修正された
レコードは成る偶数個の逐次バイトから成る。
好ましくは、修正されたレコードは、各々、第2図に示
されている形を有し、該分類装置に最初に入る先行の1
個以上のキーバイトにと、これに続くタグバイトT(バ
イト挿入装置25により付加される)と、1個以上のデ
ータバイトDとを含む。レコード中に偶数個のバイトを
得ることが必要な場合には後続のパッドバイトPが、図
示の様に、バイト挿入装置25により各レコードに付加
される。
タグバイトTの挿入は、与えられたレコードの出所とし
ての入力ストリングを確実に且つ効率的に識別すること
を可能にし、且つ後述するように迅速な併合操作を容易
にする特徴である。他の特徴によると、後述するように
、高度に安定した分類操作を保証するために使われる「
順序1ビツトを各レコードが含んでおり、この「順序j
ビットは好ましくはタグバイトに包含される。
操作の入力フェーズでは、分類操作が行われて16個の
レコードが図示のリバウンド分類装置18の中ヘシフト
される。一つのグループの最後のレコードがリバウンド
分類装置18内にシフトされると同時に、そのグループ
の16個のレコードは、分類された順に該リバウンド分
類装置から出始める。この様にして16個のレコードの
分類済みストリングが形成され、出力部22によって作
業空間メモリー16に送り込まれる。
他の特徴は、動作速度を高めるパイプライン制御回路6
0の使用に関する。16個のレコードの各分類済みグル
ープがリバウンド分類装置18から出てゆくとき、他の
分類動作が開始されて他の16個のレコードのグループ
が実際上同時にリバウンド分類装置18内にシフトされ
る。パイプライン制御回路60は、この二つのグループ
のレコードを混合せずにこの操作を行わせる様に設計さ
れている。
16個のレコードの第2のストリングが分類されて出力
部22によって送られて作業空間メモリー16に格納さ
れてゆくとき、16個のレコードの第3のグループがリ
バウンド分類装置18内にシフトされてゆき、次に、各
々16個の分類済みレコードから成る16個のストリン
グが作業空間メモリー16に格納されるまで第4及び後
続の16個のレコードのグループがシフトされてゆく。
後に詳しく説明するように、「アップ併合」操作か行わ
れ、この操作により、各々16個のレコードから成る1
6個の分類済みストリングからレコードが取り出されて
リバウンド分類装置18内にシフトされて、256個の
分類済みレコードから成る単一のストリングか形成され
、これが作業空間メモリーに格納される。最後のレコー
ド又は分類又は併合の直後に併合を開始することが出来
る。
256個のレコードの単一のストリングが格納された後
、他の分類操作が行われて、各々16個のレコードから
成る他の16個のストリングが作業空間メモリー16に
格納され、その後に他のアップ併合操作が行われて25
6個の分類済みレコードの第2のストリングが形成され
格納される。
各々256個のレコードから成る16個のストリングが
形成され格納された後、更に他のアップ併合操作を行っ
て4096個のレコードから成る単一のストリングを形
成し格納すことが出来る。
入力ストリングが4096個より多いレコードを有する
ならば、入力ストリング全体か処理されるまで、追加の
分類及びアップ併合操作が行われる。入力フェーズでは
、レコードは全て4096個のレコードを包含する数個
のストリングに分類されるが、最後のストリングだけは
例外で、入力ストリングの長さに応じて4096個の少
ないレコードを包含することがある。形成されることの
出来るストリングの数は、使用可能なメモリーによって
のみ限定される。
入カフニーズの分類及びアップ併合操作が完了すると、
出力フェーズが始まって、必要に応じて併合が行われて
ストリングの数がI6以下に減らされ、次に最後の併合
が行われて分類済みレコードが上位メモリー12の、上
位コンピュータ11からの最初のコマンドで指定される
アドレスから始まるアドレスに直接書き込まれる。更に
他の特徴は、併合されるべきストリングの作業メモリー
又は中間メモリーにおける格納の管理と、格納されてい
るストリングを中間メモリーから併合のためにリバウン
ド分類装置18に供給する方法とに関する。
分類加速装置IOは、パリティ及び検査合計の検査を含
む検査操作に関連する特徴も含んでおり、これらの検査
は、処理エラーを検出すると共に、分類加速装置IOか
ら出力される分類済みレコードの保全性を保証しながら
最適な分類及び併合の操作が出来る様に行われる。
分類加速装置toの心臓部は、第3図に単純化された形
で示されているリバウンド分類装置I8である。第4A
図及び第4B図は、該分類装置中のデータの流れの、簡
単化された例を示す。リバウンド分類装置18の構成は
、第5図に詳しく示されており、分類装置18の個々の
回路は他の図に示されている。
分類装置18は、典型的には名前又は番号のASCII
表示を提供するバイトであるレコードのキーに割り当て
られた数値に一致する順にレコードを配列する。該分類
装置は、希望に応じてしコードを上昇又は下降の順に分
類することが出来る。本書において動作を記述し、混乱
をなるべく無くするために、レコードキーの比較に言及
するときには「より大きいJ及びrより小さいJという
用語を使用する。「より大きい」キー及びrより小さい
jキーに付随する実際のキー値は、行われている分類が
上昇分類である下降分類であるかに依存し、本書におけ
る「より大きいJ及び「より小さい」という用語の使用
は発明に対する限定と解されるべきではないことが分か
る。
第3図を参照すると、分類装置18は、実際にN個のレ
コードキーを比較することの出来るN−1要素のリバウ
ンド分類装置である。Nは図示の実施例では16であり
、N−1個の処理要素はPE、ないしPE、、、と示さ
れていて、第1図に示されている部40−54に包含さ
れている。
キー比較は、一時にlバイトずつ、N−1個の処理要素
の全てで行われるか又は並列に動作する。
キーのバイトの比較は、キーからのバイトが一致しなく
なるまで続けられる。その時、該バイトの符号を除いた
二進値に基づいて、どのキーがより大きいか判断される
。上昇分類では、より大きなキーは、より大きな符号無
し二進バイト値を持っているキーである。下降分類では
、より大きなキーは、より小さな符号無し二進バイト値
を持っているキーである。
N−1要素リバウンド分類装置は、以下の特性を持った
ブラックボックスと見ることの出来るものである。N−
1個のレコードが装填された後、新しいレコードがこの
箱に投入されると、この新しいレコードと、既に数箱の
中にあるN−1個のレコードとの中の最小のレコードが
数箱から出てくる。
第3図に略図示されている様に、リバウンド分類装置は
、各々I ER8として示されている要素間レコード格
納部を介して接続されたN−1個の処理要素から成って
おり、2個のIER8が各PEに付随している。各PE
は各期間に2個の入力バイトを受は入れて2個の出力バ
イトを作る。
各I ER8は各期間に1バイトを受は入れてlバイト
を作る。各IER8はレコードの半分を保持し、シフト
レジスターとして作動する。I ER8のバイト入力は
出力においてR/2期間後に作られるが、ここでRはレ
コード中のバイトの数である。処理要素及び要素間レコ
ード格納部の構成は、垂直のコラムと見なすことの出来
るものであり、新しいレコードは該カラムの、第3図の
頂部左側及び右側から出入りする。
I ER8要素は、次のようにしてPEに接続されてい
る: (a)  該コラムを下るPEmからの出力バイトは、
I ER8mへの入力である。
(b)  IERSmの出力は、IER8N十N−3へ
の入力であるI ER8N−2を除いて、下降するPE
m+1への入力である。リバウンド分類装置への入力は
、PEOへの入力である。
(C)  該コラムを上昇するPEmからの出力バイト
は、該分類装置の出力であるPEOを除いて、IER8
N−1+m−1への入力である。
(d)  IER8N−1+m−1の出力は、PEm−
1への入力である。
より大きなキーを持ったレコード(最後のシーケンスで
遅くに分類するもの)は該コラムの底に向かって降下し
、より小さなキー持ったレコード(最後のシーケンスで
早くに分類するもの)は該コラムの頂部へ向かって上昇
する。本発明の加速装置では、比較されるべきレコード
のグループは、該コラムに入る新しいレコードが該コラ
ム中に既に在るレコードと混合されるのを防止する「境
界」条件を作ることによって分離される。これにより、
実際に、グループが該コラムから流し去られ、新しいグ
ループが装填される。
各PEは、該コラムを下降するレコード及び上昇するレ
コードの第1バイトが与えられたときに処理を開始する
。若し下降しているレコードが上昇しているレコードよ
り大きければ、それは該コラムを下降し続け、そして、
上昇しているレコードは該コラムを上昇し続ける。若し
下降しているレコードが上昇しているレコードより小さ
ければ、それは逆に該コラムを上昇させられ、上昇して
ぃたレコードは逆に該コラムを下降させられる。各I 
ER8はレコードの半分を内蔵しているだけなので、偶
数番号のPEは、奇数番号のPEとは半レコードだけ位
相がずれている。
本発明の加速装置のパイプライン制御は、新しいレコー
ドが与えられた時、キーの終わりが到達した時、及びそ
れらを比較するべきか否か(「境界」条件)を知る様に
PEの順序づけを制御する。
第4A図及び第4B図において、4個の2バイトレコー
ドの組を分類すの単純化された3要素リバウンド分類装
置が示されており、図示の加速装置IOは僅か4バイト
だけを必要とするものであり、簡単のために、この例で
は2バイトを使われる。図示の単純化されたリバウンド
分類装置への下記の入力シーケンスを考察する。2個の
数字かそれぞれレコードである: 85393274 この例では、以下の仮定を用いる: (al  該キーはレコードの全体である。
(b)  箱は処理要素を表す。
(C)  箱と箱との間の垂直線は、1個の数字を保持
する要素間レコード格納部を表す。
(d)  垂直線の隣に示されている数字は、I ER
8に包含されているデータの値を表す。Xは、「無頓着
な人」データ(“don’ t care″date)
を示す。
(e)  r<−rという記号は、新しいグループの第
1バイトを示す(「境界」条件)。
(f)PE状態は、PEの中に示されているrDsJ「
PV」、「PH」、rEV」、及びrx XJという記
号で指示されている。
(濁 DS=決定状態(垂直に通過) (h、)  P V =垂直に通過 (i)PH=水平に通過 (j)FV=垂直に押し進める(垂直に通過)(k)x
x=頓着しない(don’ t care)。
図示の状態は、分類装置の動作を理解するのに役立つ。
例えば、PEの初期状態は、データをI ER3に装填
するrRVjである。4番目のクロック後に、最低のP
E要素がrDEJ (決定)状態に入り、二つの記録の
第1の可能な比較が行われる。
14クロツク後に最後のデータ値r5Jが分類装置の出
力に現れる。よって、該出力ストリームはr32397
485J となる。
第5図において、前述の処理要素PE01PEl及びP
EN−2は、部40.4I及び54に包含されている。
部40の処理要素は、2個のマルチプレクサ65及び6
6、制御回路67及び比較器67を含む。土庄側のUL
入カライン69は、マルチプレクサ65のl入力とマル
チプレクサ66の1入力とに接続されている。第2のL
R入カライン70はマルチプレクサ65の第2入力とマ
ルチプレクサ66の第2入力とに接続されている。マル
チプレクサ65及び66の出力は、それぞれ、下左側の
LL出カライン71及び上官側のUR出カライン72に
接続されている。マルチプレクサ65及び66は、比較
器68の出力により制御される制御回路67によって制
御され、比較器68の入力はULライン69及びLRラ
イン70に接続されている。
処理要素がバイトを垂直に移動させている時には、マル
チプレクサ65及び66は、バイトがULライン69か
ら下方にLLライン71へ移動し、バイトがLRライン
70から上方にUTライン72へ移動することとなる様
に制御される。バイトが水平に移動させられる反対の状
態では、ULライン69上のバイト入力はマルチプレク
サ66を通じてURライン72へ送られ、LRライン7
0上のバイト入力はマルチプレクサ65を通じて左方に
LLライン71へ送られる。ライン69−72は、バイ
トの全てのビットを並列に送る複数の信号経路を提供し
、バイトは一つ一つ順次に送られる。
部40−54の全ての処理要素は、同じ機能を実行する
。各処理要素が、各期間に以下の情報を受は取る: (al  第5図のULライン69を通じて加えられる
、コラムを下降するレコードの次のバイト。
(b)  第5図のLRライン70を通じて加えられる
、コラムを上昇するレコードの次のバイト。
(C)  現在のバイトがレコードの最後のバイトであ
れば真であり、そうでなければ偽であるプール値。(こ
の値は第6図においてEloRECと呼ばれており、こ
れについては後述するが、これはPE制御論理を示す;
それは偶数番号のPEについてはERECと呼ばれ、奇
数番号のPEについては0RECと呼ばれる。)(d)
  現在のバイトがキーに続く第1のバイトであれば真
であり、そうでなければ偽であるプール値。(この値は
第6図ではEloTAGと呼ばれており、偶数番号及び
奇数番号のPEについてETAG及び0TAGと呼ばれ
る。)(e)  現在のレコードが「垂直に移動させら
れている」ならば真であり、そうでなければ偽であるプ
ール値。「垂直に移動」は、コラムを下るしコードから
のバイトはコラムを下って移動させられ、コラムを上る
レコードからのバイトはコラムを登って移動させられる
ことを意味する。
(この値は第6図においてFORCEVと呼ばれている
。) (f)「上昇」分類については真で、「下降1分類につ
いては偽であるプール値。(この値は第6図でASCE
NDINGと呼ばれている。)各処理要素が、以下の内
部状態情報を維持する:(a)  現在のレコードのう
ちのどれが「より大きいjかということについて判断が
なされていなければ真であり、そうでなければ偽である
プール値。
(第6図のDECIDINGo) (b)  判定がされた後に使用される、バイトが「垂
直に移動させられている」ならば真であり、バイトがr
水平に移動させられている」ならば偽であるプール値。
(第6図のPASSVo)受信された情報と現在の内部
状態情報とに基づいて、各処理要素は各期間に以下の情
報を作る:fa)  コラムを下るべき次のバイト。こ
のバイトは第5図のLLライン71から下降させられる
(b)  コラムを上るべき次のバイト。このバイトは
第5図のURライン72から上昇させられる。
(C)  内部状態情報についての新しい値。
処理要素の動作について、上記の情報に関して簡単に説
明する。処理要素が垂直に移動させる様にされているな
らば、下降するレコードの全てのバイトが下方に通過さ
せられ、上昇するレコードのバイトは、下記の判断プロ
セスとは無関係に上方に通過させられる。これは、分類
装置に装填をし、それを空にし、分類されるべきレコー
ドのグループを分離するのに使われる。
処理要素が垂直に移動させる様にされていなければ、次
の様になる。判断が既に行われていれば、先に行われた
その判断に基づいてバイトは垂直又は水平に移動させら
れ続ける。そうでなければ、現在の入力バイトが比較さ
れる。それらが等しくなければ、この時点で判断が行わ
れる。上昇中のバイトが下降中のバイトより大きければ
、上昇中のバイトは下方に移動させられ、下降中のバイ
トは上方に移動させられる(水平に移動)。そもなけれ
ば、上昇中のバイトは上方に移動させられ、下降中のバ
イトは下方に移動させられる(垂直に移動)。判断がさ
れる時、処理要素は、各レコードの残りのバイトを同じ
方向に移動させるために、垂直に移動させたか又は水平
に移動させたかを思い出す。
上昇/下降の入力の状態は、比較における大小の意味を
判断するのに使われる。
第3図の要素間レコード格納部即ち、IER8は、バイ
トのレコードの半分を内蔵する可変長シフトレジスター
である。Rの長さのレコードにっていは、期間Tにおけ
るIER8へのバイト入力は、期間T+R/2でその出
力に作られる。これは、該シフトレジスターの長さがR
/2でなければならないことを意味する。前述したよう
に、ユーザーレコードは、付加された少なくとも一つの
バイト(タグバイト「を有し、生じた長さが奇数であれ
ば、パッドバイトも付加される。
第5図に示されている回路において、各シフトレジスタ
ーは、比較器論理への安定なインターフェースを提供す
るラッチと組み合わせて記憶回路56のRAM部を使用
することによって実現される。第3図の第1シストレジ
スターIER8O1:RAM部7部長4み書き回路76
とによって実氾されており、この回路76は、LL出カ
ライン71に接続された書込み入力と、出力ラッチ回崗
78を通じて次の部41のUL入カライン69′に接続
された読み出し出力とを有する。出力ラッチ回路78は
、該シフトレジスターの余分の行苓形成し、キーバイト
の比較のために安定した状態を保証する。この余分の行
のためのラッチと、ゆなくとも一つのRAM行とがデー
タ経路中になければならないので、該シフトレジスター
の最小サイズは2行である。これにより、リバウンド分
類装置のための最小レコード長さか4バイトに設定され
る。
RAMは、最大レコードサイズの半分から1を引いた数
に等しい個数の行と、処理要素の個数の2倍の8倍に等
しい個数のコラムとを有する。現行の実施例では、処理
要素の個数は15であり、各行は2X15X8、即ち、
240ビット幅となる。最大レコードサイズは4oであ
るので、(40/2)−1、即ち、19個の行がある。
これで、全体としてのRAMサイズは4560ビツトと
なる。
RAM部7部長4読み書き回路76によってシフトレジ
スターI ER8Oが構成されているのと同様に、第3
図のシフトレジスターIER8−1はRAM部8部上0
み書き回路82とによって構成されており、この回路8
2は、部41のUR出カラインに接続された書込み入力
と、部4oの処理要素のラインLRライン70に接続さ
れた出力ラッチ回路84を通じて接続された読み出し回
路とを有する。出力ラッチ回路84は、ラッチ回路78
と同様に、シフトレジスターの余分の行を形成する。
第5図に示されている部41及び54の処理要素及びシ
フトレジスターは、部4oのそれらと実質的に同一であ
り、対応する要素はダッシュ記号及び二重ダッシュ記号
で指示されている。部41は例外であり、タグ先読み回
路looを含むものとして示されており、第131Nな
いし第17図との関連で後述する様にして処理の中断を
回避する分類装置18のRAM部7部長48o及びその
他の部41−54の行イネーブルはRAMインデックス
回路から駆動され、後述するように、形の異なる二つの
回路58及び58′が第7図及び第8図に示されている
分類装置18の部41−54は、境界指示を格納するよ
うに構成された要素を含むパイプライン制御回路60に
接続されており、この指示は、分類装置I8におけるコ
ードのシフトと同期して一つの要素から他の要素ヘシフ
トされる。該要素のうちの成るものは、処理要素の制御
回路にFORCEV信号を加えて、成る状態の際に処理
要素に垂直方向にのみシフトを行わせて−グループのレ
コードの他のグループのレコードとの混合を回避する。
FORCEV信号を部40.4I及び54に加えるパイ
プライン要素は第5図において参照数字91.92及び
93で示されており、該要素も境界条件信号をシフトさ
せる。追加のパイプライン要素は境界条件信号のシフト
のためだけに使われるが、部54.41及び40につい
てのパイプライン要素はそれぞれ参照数字94.95及
び96で指示されている。次に、パイプライン要素の動
作について、第i1図との関連で詳しく説明する。
処理要素制御論理(第6図) 第6図は、部40の制御回路67の論理回路を示し、同
様の論理回路が制御回路67′及び67′と分類装置I
8の他の部の制御回路とに包含されている。前記のFO
RCEV信号は、ライン101を通じてORゲートlO
2の一入力に加えられ、このゲートは出力をNEW  
PASS  Vライン103に出力する。ORゲート1
02の第2入力はマルチプレクサ104に接続されてお
り、このマルチプレクサは、ラッチ106の出力に接続
されたライン105上のDECIDING信号によって
制御される。ラッチ106は、ORゲート108を通じ
て、ライン109上のE10REC信号から、又は3入
力を有するANDゲート110の出力から加えられる信
号から、制御される。
ANDゲート110の一入力はDBCIDINGライン
105に接続されている。第2入力はライン111を通
じて比較回路689の出力に接続されており、ここで、
土庄側入力69及び下右側入カフ0の信号が等しいとき
にUL=LR信号が生成される。該ANDゲートの第3
入力はr−E10TAGJライン112に接続されてい
る。
マルチプレクサ104の一入力はPASS  Vライン
113に接続されており、このラインはラッチ114の
出力に接続され、このラッチにライン103上のNEW
  PASS  V信号が加えられる。マルチプレクサ
104の第2入力はORゲート116の出力に接続され
ており、このゲートの一入力はUL=LRライン111
に接続され、第2入力はマルチプレクサ118の出力に
接続されている。マルチプレクサ118の一入力はライ
ン119を通じて、比較器68からのUL>LR信号ラ
インに接続されている。
第2入力は、ライン120で比較回路68から加えられ
るUL/LR信号に接続されている。マルチプレクサ1
18はORゲート122の出力から制御され、このゲー
トは接続された入力ライン123及び124を有し、こ
れにASCENDING信号及びE10TAG信号が加
えられる。第6図の制御論理の動作は、PE要素が行う
動作に関する以上の説明から明らかであろう。
前記した様に、RAM部7部長484及び分類装置18
の他の部41−54の行イネーブルはRAMインデック
ス回路から駆動されるが、形の異なる二つの回路58及
び58′が第7図及び第8図に示されている。
RAMインデックス回路(第7図) 第7図のRAMインデックス回路58は、単一のデコー
ダ131及びカウンタ132から成る。
該カウンタはカウント入力133を通じてU/2のカウ
ントを装填され、各カウントで装填された後、■までカ
ウントダウンし、その後、動作が反復される。カウンタ
132の出力は、デコーダ131及び多芯出力ライン1
34を通じて部40のRAM部7部長484と、他の部
41−54の対応するRAM部とに送られる。デコーダ
131の出力は、次の行に進む前に、RAM行イネーブ
ルを、最初は読み出しに、次に書込みに、駆動する。始
動時及びカウンタが1に達した後の初期値(U/ 2 
)は、ユーザーの指定したレコードサイズの低位ビット
を除く全てのビットに由来する(2で割る)。ユーザー
レコードには少なくとも1バイト(タグバイト)が付加
されており、生じた長さが若し奇数であれば、パッドバ
イトも付加されることを想起しなければならない。これ
は、若しユーザーレコードサイズがUであれば、U/2
= (R/2) −1であることを意味する。
代替のRAMインデックス回路(第8図)第8図のRA
Mインデックス回路58′は、追加の論理を犠牲にして
、アドレス指定論理の最短サイクル時間を短縮する。回
路58′は1ビツト可変長シフトレジスター136から
記憶回路56のRAM行イネーブルを駆動するが、この
シフトレジスターは、半レコードの最大長に対応する個
数のステージを有し、出力は多芯ライン134′を通じ
て記憶回路56の行イネーブルに接続されている。シフ
トレジスター136のステージはリング形に構成されて
いる。該シフトレジスターの長さは、多芯ライン133
′を通じてデコーダ138に加えられる初期制御データ
の使用により、レコード長の半分から1を引いた長さと
なるように構成され、この制御データは、上位コンピュ
ータから供給された制御データからレコード長が決定さ
れた後に使用される。単一のビットが該シフトレジスタ
ーリングを循環して、次の行へ進む前に、最初に読み出
しのために、次に書込みのために、行イネーブルを提供
する。
リングとしてのシフトレジスター136の動作を達成す
るために、デコーダ138の入力はユーザーレコード長
の低位ビットを除く全てのビットであり、これは分類装
置18へのレコード長入力の半分からlを引いた値であ
る。デコーダの出力は0が該デコーダに入力されるとき
に表明されるデコーダ出力に該シフトレジスターの出口
端部が接続される様に、該シフトレジスターに接続され
ている。該シフトレジスターの次のビット(ビット0内
にシフトするもの)は、Iが該デコーダに入力されると
きに表明されるデコーダ出力に接続されている、等々で
ある。
よって、デコーダ138の出力は単一のビットを該シフ
トレジスターに装填し、これはNシフト後に該シフトレ
ジスターの外にシフトするが、ここでNはレコード長の
半分からlを引いて得られる数である。これは初期化時
と、該ビットがシフトレジスターから出る時とに起こり
、斯くしてリングを形成する。シフトとシフトとの間で
、使用可能にされた行は最初に読み出され、次に書き込
まれる。
レコード制御回路62(第9図及び第1O図)第9図及
び第1O図は、レコード制御回路62の諸部分を示す。
第9図に示されている部分62Aは、主としてレコード
タイミングに使用され、第10図に示されている部分6
2Bは主としてタグタイミングに使用される。これらの
部分は、処理要素及びパイプライン制御のためのタイミ
ング情報を作る。第9図及び第1O図のレコード制御回
路は、初期化時に以下の情報を受は取る:(a)  ユ
ーザーレコードのサイズの半分、U/2゜これは、レコ
ードサイズが奇数ならばOに向かって先端から切られ、
第9図のライン141に加えられる。
(b)  キーのサイズ。これは第10図のライン14
2に加えられる。
第9図及び第10図のレコード制御回路は、次の様に、
構成要素を包含すると共に内部状態条件を維持する: (a)  第9図のレコードバイトカウンタRCTR1
43゜これはU/2に初期化され、期間毎に、カウンタ
値から得られるロード/デクリメント信号によりデクリ
メントされる(初期化時又はRLTR=1の時にロード
、その他の時はデクリメント)。ゼロを通過してデクリ
メントされると、カウンタ143はU/2にリセットさ
れる。
(b)  第1O図のタグバイトカウンタTCTR1,
46゜これは、INITライン149で加えられる信号
により制御されるマルチプレクサ148を通じて加えら
れる信号を通してKに初期化される。
カウンタ146は、期間毎にライン144上の信号によ
りデクリメントされる。デクリメントされた時にカウン
タ146が0であれば、該カウンタは、マルチプレクサ
148を通じてライン141から加えられる信号によっ
てU/2にセットされる。
ラッチ回路152の出力で第9図のライン150に生成
されるプール値RCN Toこの回路152の入力は排
他的OR回路153の出力に接続されており、この回路
153の一入力はカウンタ143のRCTR=0出力に
接続され、第2入力はライン150に接続されている。
値RCNTは、各PEにおいてどの半レコードか進行中
であるかを示す。これは、レコードの第1の半分が偶数
PEに入ろうとしており、レコードの第2の半分が奇!
MPEに入ろうとしていることを示す偽に初期化される
。これは、レコードバイトカウンタがゼロを通過してデ
クリメントされるときに変化する。
それが偽であれば真となり、真であれば偽となる。
次にタグバイトに会うのが奇数PEであるか偶数PEで
あるかを示しプール値TCNT、この値は第10図のラ
イン156上でラッチ回路157の出力で生成される。
この回路157は排他的OR回路158の出力に接続さ
れ、該排他的OR回路の一入力はカウンタ146の出力
のTCTR=Oラインに接続され、第2入力はライン1
56に接続されている。
内部状態情報に基づいて、該レコード制御は以下の出力
を生成する: fa)  レコードの最後のバイトが偶数処理要素に与
えられることを示すプール値EREC,この値は、AN
D回路162の出力のラッチ回路161に接続されたラ
イン160上に生成される。こ回路162の入力はRC
NTライン150とRCTRカウンタ143のRCTR
=0出力とに接続されている。
(b)  レコードの最後のバイトが奇数処理要素に与
えられることを示すプール値○REC0この値は、AN
D回路166の出力のラッチ回路165に接続されたラ
イン164上に生成され、該AND回路の入力はカウン
タ143のRCTR=O出力及び−RCNTライン16
7に接続されており、このライン167はインバータ1
68を通じてRCNTライン150に接続されている。
(C1レコードの第1バイトが偶数処理要素又は奇数処
理要素に与えられることを示すプール値PCADVoこ
れはカウンタ143のRCTR=0出力に接続されたラ
ッチ回路172の出力のライン170上に生成される。
(d)  レコードキーに続く第1のバイト、即ち、「
タグ」バイトが偶数処理要素に与えられることを示すプ
ール値ETAG0これは、入力がTCNTライン156
とTCTRカウンタ146のTCTR=0出力とに接続
されているAND回路176の出力のラッチ回路175
に接続されているライン174上に生成される。
(e)  レコードキーに続く第1のバイトが奇数処理
要素に与えられることを示すプール値0TAG。
これは、AND回路180の出力のラッチ回路179に
接続されたライン178上に生成される。該AND回路
の入力はカウンタ146のTCTR=O出力と−TCN
Tライン181とに接続されており、このライン181
はインバータ182を通じてTCNTライン150に接
続されている。
パイプライン制御回路60(第11図)非常に重要な特
徴は、リバウンド分類装置に装填し、且つこれを空にす
ることを可能にすると共に別々のグループのレコードの
混合を防止するパイプライン制御回路60に関する。
回路60のパイプライン要素91−94及び96の回路
は第11図に示されている。パイプライン要素91は、
分類装置18の第1部40の処理要素と連携しており、
入力ライン186を有し、これに、該分類装置への新し
いレコードの入力と同期する関係で信号が加えられる。
入力ライン186は、ラッチ189に出力接続されてい
るマルチプレクサ188の一入力に接続されており、該
ラッチの出力は、マルチプレクサ188の第2入力に接
続されているライン190に接続されている。
マルチプレクサ194の出力に接続されているラッチ1
93の出力のライン192上にFORCEVO信号が生
成され、マルチプレクサ194の一入力はライン192
に接続され、その第2入力はORゲート196の出力に
接続されている。ORゲートt96の入力は、ライン1
86及び190に、更に次のステージのFORCEVl
ラインi92′に接続されている。
マルチプレクサ188及び194は、第9図のレコード
制御回路162Aからライン170を通じて加えられる
信号PCADVにより制御される。
該分類装置の処理要素と連携する他の全てのパイプライ
ン要素の回路は、要素9Iのそれと実質的に同一である
。ライン186がrBNDm−IJから来ることと、9
3にはrFORcEVm+lj入力が無いこととを除い
て。
パイプライン要素94及び96の回路も第11図に示さ
れている。要素94は、要素91のマルチプレクサ18
8及びラッチ189に対応するマルチプレクサ198及
びラッチ199を有する。
同様に、要素96は、マルチプレクサ198′及びラッ
チ199′を有し、最後の出力信号NEWSTREAM
OUTはライン200上に生成される。
作動時には、パイプライン制御回路60は各期間中に以
下の情報を受は取る: (a)  レコードの第1バイトが偶数処理要素又は奇
数処理要素に与えられることを示す、回路部分62A(
第9図)からのプール値PCADV。
(b)  ライン186上に加えられるプール値rNE
WsTREAM J 、これは、リバウンド分類装置に
与えられる現在のバイトが、新しいグループのレコード
の分類を、既にリバウンド分類装置内にあるレコードと
は別に開始させることを示す。
パイプライン制御回路60は以下の内部状態情報を維持
する: (a)  要素91のライン190及び他の要素の該ラ
インに対応するラインに生成される各PEについてのプ
ール値rBNDOJないしrBNDN−2J 、この値
は、レコードの第1バイトが偶数処理要素又は奇数処理
要素に最後に与えられた時以来、レコードグループ同士
の間の「境界」がリバウンド分類装置をr下ってj来た
ことを示す。
(b)  プール値rBNDN−N は、レコートノ第
1バイトが偶数処理要素又は奇数処理要素に最後に与え
られたとき以来、レコードグループ間の境界がIER8
rN−2JからIER8rN+N−3Jの中に移動した
ことを示す。
(C)  処理要素rPEN−2JないしrPEl」に
ついてのプール値。これは、第1I図に示されている9
4ないし96に続く要素により生成される。この各々の
値は、レコードの第1バイトが最後に偶数処理要素又は
奇数処理要素に与えられたとき以来、レコードグループ
間のr境界1がリバウンド分類装置をr昇って」そのP
Eまで戻ってきたことを示す。
(d)  その処理要素がr垂直に通過させる様にされ
ている1ことを示す、各処理要素についてのプール値(
第11図のrFORcEVOJないしrFORcEVN
−2J )。
受は取った情報と、現在の内部状態とに基づいて、パイ
プライン制御は各期間に以下の情報を作る: (a)  その処理要素がr垂直に押し進める」べきこ
とを示す、各処理要素についてのプール値(rFORC
EVO」ないし「FORCEVN−2j)。
(b)  リバウンド分類装置が出力する現在のレコー
ドバイトが、分類されるレコードの新しいグループの第
1バイトであることを示す、ライン200上のプール値
rNEWsTREAMOUTJ oこれは、異なるグル
ープからのレコードの比較を防止するために分類順序検
査装置により使用される。
パイプライン制御は、レコードの第1バイトが偶数処理
要素又は奇数処理要素に与えられる毎に、その内部情報
を更新する( rPcADV」、半レコード毎に)。
「境界j値は、その頂部からレコードと並列にリバウン
ド分類装置に入り、左側を下り、底を横断し、右側を上
る。
PErNJについての新しい「垂直に押し進める」値は
、下記のいずれかが真であればセットされる: 「境界」がPErN−Hについてセットされているか、
又は、PEOについて「境界」がIBRSニ入ロウトシ
テイル(rNEWSTREAMIN」)。
r境界jがPErNtについてセットされている。
r垂直に押し進める」がPErN+lJについてセット
されている。これは最後のPEには適用されない。
この操作は、境界に位置する又は境界より上の全てのP
Eを垂直に押し進める。これは、境界の一方の側のレコ
ードと、別の側のレコードとの混合を防止するが、境界
の同じ側のレコードの分類を許す。
分類順序つけ装置34 (第1図) 先に指摘したように、内部境界の無い分類装置18は「
魔法の分類箱」と見なすことの出来るものであり、レコ
ードは数箱に押し込まれ、箱の中の全てのレコード(押
し込まれたレコードを含む)のうちの最小のレコードが
飛び出してくる。
加速装置IOの分類及び併合の操作は、分類装置18等
のN−1要素リバウンド分類装置を使って、データの分
類済みのN個のストリングを併合して一つの大きな分類
済みストリングにするという問題を認め、分析すること
によって良く理解することが出来るものである。以下の
アルゴリズムを考察する。
l)分類装置18内に境界を設定して、第11図との関
連で上記した新しい分類操作を開始する。
2)第1のN−1ストリングの第1 (最小)レコード
を分類装置18に押し込む。
3)  N番目のストリングの第1 (最小)レコード
を分類装置I8に押し込む。全ての第Lレコ−ドのうち
の最小のレコードが飛び出す;これが、併合されたスト
リングのうちの第1 (最小)レコードである。
4)飛び出したレコードの出所となったストリングを識
別し、そのストリングから次のレコードを分類装置18
に押し込む。飛び出すレコードは、入力されたストリン
グのいずれかに残留している最小のレコードであり、従
って併合/分類済みストリングの次のレコードである。
5)前記ステップを繰り返す。いずれかの入力されたス
トリングの最後のレコードが分類装置18から飛び出す
とき、人工的レコード(r実際のJレコードのいずれよ
りも大きい)を、そのストリングの1次の」レコードと
して押し込む。第1の人工的レコードが分類装置18か
ら飛び出すとき、より小さい(即ち、「実際のj)レコ
ードは分類装置18内に残っていないので、併合は終了
する。
このアルゴリズムの下で動作した分類装置18の出力は
N個の入力ストリングの併合である;これは、以下の様
に記すことにより証明することが出来る。
(a)  分類装置18から出力される各レコードは、
分類装置内に現在ある全てのレコードのうちの最小のレ
コードである。
fb)  出力されるレコードは、同じ入力ストリング
の次のレコードと置換され、これは、該入力ストリング
が分類されるので該出力レコードより小さくはないので
、該分類装置から出力される次のレコードは、該分類装
置から出力される現在のレコードより小さくはない;即
ち、分類装置から出力されるレコードは、分類された順
となっている。
(C)  全ての入力ストリングの全てのレコードが結
局は分類装置から出力される。
上記のアルゴリズムを使って併合を行うために、分類装
置内の与えられたレコードの出所がどのストリングであ
るかを知ることが望ましい。また、そのストリング内の
次のレコードを発見する方法と、そのストリングに残留
しているレコードがあるか否か判断する方法とを知るこ
とも望ましい。
以下の節は、所望の情報を得て使用する好適な構成を示
す。人工的レコードの代わりに、本発明は全てのストリ
ングが空となり、NBWSTRBAMINが表明される
まで、最低の番号の、空でないストリングを使用する。
タグ挿入及び除去(第1図及び第2図)図示の分類加速
装置は、入力部2Iのバイト挿入装置25を使って、各
レコードに、それが分類装置に送り込まれる際にタグバ
イトを挿入することにより、分類装置内の与えられたレ
コードの出所がどの入力ストリングであるかを監視し続
ける。
第2図との関連で前述した様に、キーフィールドの最後
のバイトの直後で且つデータフィールドの第1バイトよ
り前の位置にタグバイトを挿入するのが好ましい。レコ
ードのタグバイトは、この併合操作のどの入力ストリン
グが該レコードを内蔵していたかを記述する指標を含む
。8ビツトタグバイトは、256個に及びストリングを
併合操作に入力する事を可能にする;実際、このバイト
の■ビットを使って、後述する様に安定な分類操作を実
施し保証して、最大で128個のストリングを併合する
ことが出来る。図示の実施例は、分類装置内の処理要素
の数(15)によって、一時に併合出来るストリングが
16個に限定されていて、ストリング識別のために4ビ
ツトを必要とするだけである。
上位メモリーへの転送のため、或いは局所メモリー16
への一時的格納のために、完全に分類されたレコードの
ストリングが出力部22によって出力される出力操作に
おいて、出力部22のデータパッカー31は、入力部2
1によって先に挿入されてあったタグを、レコードから
、該レコード分類装置から出力される際に除去するので
、タグが記憶装置中のスペースを占めることはない。後
述するように、ユーザーは、最後の併合パスによってレ
コードがユーザーのバッファーに出力される時にタグを
レコード中に残しておくべきことを随意に指定すること
が出来る。
レコードが分類装置から出力されるとき、そのレコード
の出所である入力ストリングを判定するためにタグバイ
トか検査される。このストリング番号は分類順序づけ装
置34のストリング選択論理回路39に送り込まれ、分
類順序づけ装置34は、ROM38内のマイクロコード
により制御され、ストリング選択論理回路39の出力を
使用して、分類装置に入力される次のレコードのアドレ
スを決定する;そのレコードアドレスは、ストリング選
択論理回路39の生成したストリング番号と共に、入力
部22に与えられて次のレコードの読み出しを開始させ
る。
ストリング選択論理回路39(第12図)一般に、次の
入力レコードを提供するべく選択されるストリングは、
その指標が現在の出力レコードのタグ中にあったストリ
ングと同じである。
例外は、将来のストリングが使い尽くされたときである
。上記のアルゴリズムで使用される、そのストリングか
らの次のレコードの代わりに人工的な大きなレコードを
使用する技術は、働きはするけれども、ぎこちなくて時
間を食う;使い尽くされていないストリングを採集して
、そのストリングからレコードを入力するのが遥かに効
率的(且つ同じく正確)であることが分かっている(分
類の安全性を守るために、今は、最低の、空でないスト
リングを選択しなければならない)。この操作は、スト
リング選択論理回路39により行われる。
ストリング選択論理回路39は、各入力ストリングにつ
いてlビットを含む妥当なビットのファイルを使い、且
つ、これから説明する機能を実行する回路を使って作動
する。斯かる回路の一部が第12図に示されており、こ
れについては、第13図ないし第17図に示されている
タグ先読み論理の動作との関連で後述する。併合操作の
開始時に、入力ストリングのいずれもが使い尽くされて
いないことを示すために、妥当なビットのファイルが全
部ゼロにセットされる。指定されたストリングが使い尽
くされている(即ち、該ビットがlである)か否かを調
べるために、出力レコードからのタグは有効ビットのフ
ァイルを指す;そうでなければ、そのストリング番号は
分類順序づけ装置へ出力される。指定されたストリング
が使い尽くされていれば、使い尽くされていない最低番
号のストリングを発見するために優先順位符号化が有効
ビットのファイルに対して行われて、このストリングの
番号が分類順序づけ装置に送られる。
若し全ての入力ストリングが使い尽くされていれば、そ
のことを分類順序づ1す装置に知らせるフラグがセット
される。
分類順序づけ装置34は併合操作の現在の状態を維持す
るためにレジスターアレイ35にレジスターの二つのフ
ァイルを内蔵している;一つのファイルは各ストリング
についての次のレコードアドレスを内蔵し、他のファイ
ルは各ストリングの最後のレコードアドレスを内蔵する
。ストリング選択論理からストリング指標を得ると、分
類順序づけ装置はそのストリングについて次のレコード
アドレスを第1のファイルから取り出して、それを入力
部21に送る;これは、そのストリングについての次の
レコードアドレスを更新する。ストリング中の最後のレ
コードのアドレスが入力部21に送られたとき(次のレ
コードアドレスを第2レジスターフアイル中のそのスト
リングについての最後のレコードアドレスと比較するこ
とにより判定される)、分類順序づけ装置はストリング
選択論理のビットファイル中のそのストリングに対応す
る有効ビットをセットして、そのストリングが今使い尽
くされたことを示す。
ストリング選択論理回路39は、併合されるべきストリ
ングの数が16より少ないときにも使われる。前記のア
ルゴリズムは、ストリングの数が分類装置中の要素の数
より1大きい時にだけ働く。
併合されるべきストリングがそれより少ないときには、
そのストリング数を正しい値とするために数個の「空白
」ストリング(レコードを全く含んでいない)を該併合
に付加しなければならない。
ストリング選択論理回路39は、r空白jストリングの
一つからのレコードを分類装置に最初に装填しようとす
る試み(前記アルゴリズムの第1ステツプに記載した)
によって実際に「現実の」のストリングの一つからのレ
コードが装填されることとなることを保証するのに使わ
れる。これは、併合操作の開始時にストリング選択論理
回路39において「空白jストリングの妥当なビットを
ゼロの代わりに1に初期化することによって実行される
タグ先読み及び付随の論理(第12図ないし第17図)
特殊化されたストリング選択論理及び高速分類順序づけ
装置でも、現在のレコードについてのタグの出力と次の
入力レコードのアドレスの入力プロセッサへの送付との
間に遅れがある。入力部2Iは、新しいレコードの始め
のバイトを、それらが分類装置に入力され得ることとな
る前に、取り出さなければならない。これが累積してレ
コードとレコードとの間に顕著な遅れか生じ、これに起
因して入力部21は分類装置を機能停止させてデータ待
ちさせると共に併合プロセスを減速させる。
この遅れを無くするために、分類加速装置は、最小のレ
コードのタグを、それが実際に分類装置から出力される
前に判定するべくタグ先読み論理を実施する。
タグ先読み論理はストリング選択論理と関連して作用す
るが、ストリング選択論理は、第12図に示されていて
、分類装置18に加えられるべき次のレコードのタグに
ついての三つの可能な値の選択を行うものである。その
三つの値は、後述する様にして第17図の論理回路によ
りライン202上に生成されるrPE I TAGJと
、ライン2o3に加えられる、入力レコードのタグr 
I TA GJと、ライン207(上記した)を通じて
状況データか加えられる優先順位エンコーダ206によ
りライン2θ4上に生成される、残っているタグを持っ
た最低番号のストリームのタグと、である。
マルチプレクサ208は、ライン209に加えられるP
VO制御信号により操作されて、ITAG(3号及びP
EITA、G信号からWINTAG信号をライン21上
に生成する。PVOが真であればPEITAGが選択さ
れ、そうでなければITAGが選択される。ライン21
0上のWINTAGストリームの状況がストリーム状況
参照部212により検査され、この参照部はライン21
3上に出力信号を生成し、この信号は、WINTAG信
号及びALTTAG信号が加えられるマルチプレクサ2
14に加えられる。WINTAGストリームが空でなけ
れば、WINTAGは、マルチプレクサ214の出力ラ
イン216上に生成されるNEXTTAGとして使われ
る。その他の場合には、空でない最低番号のストリーム
がライン216上のNEXTTAGとして使われる。
タグ先読み論理回路100は、次に列挙する要素を含む
、即ち、ライン202上のPEITAG信号とライン2
18上バツクアツプ・タグBTAGとを生成するのに使
われる第13図に示されている回路と、PEOが現在の
レコードについて判断をした時にライン220上にDE
CISION信号を表明するのに使われる第14図に示
されている論理回路と;PEOを励起するレコードの妥
当性を検査するライン222上のVALTAG信号を生
成するための、第15図に示されている論理回路と;タ
グをBTAGライン218から第15図の回路のPEI
TAGライン202へ進ませるADVTA信号をライン
224上に生成する第16図に示されている論理回路と
、PEOから出る現在のレコードの最後の半分において
タグが発見された時にTAGSEEN信号をライン22
6上に生成する第17図に示されている回路と、を含ん
でいる。
タグ先読み論理回路の動作に関して、分類装置から出力
されるレコードは常にPEOから来ることを記しておく
。PEOの入力は、分類装置に入力されるレコードと、
PEIの上側の出力により供給されるIER3N−1の
出力とである。入力レコードのタグは知られている;P
EI内のレコードのタグはPEI内の特別の論理によっ
てタグ選択論理39に与えられる(第12図及び第13
図のライン202上のPEITAG)。タグ先読み論理
PEOの内部状態を監視し、判断がなされるのを待つ(
第14図のライン220上のDECISION);判断
がなされた時、どのレコードかPEOから出てゆくレコ
ードであるかを調べるためにPEOについての「垂直に
通過」状態ビット(第12図のPVO)が検査される。
その時、このレコードのタグ(第12図のWINTAG
)がストリング選択論理(第12図)への入力として使
われ、これにより実際の出力でのレコードの半分に及ぶ
ジャンプを得る。この方法を使うことによって、非常に
小さいレコードの場合又は「判断(Decision)
Jがレコードについて非常に遅(に行われるときを除い
て、併合時のレコード間遅延を完全に無くすることが出
来る。
第13図の論理回路はマルチプレクサ228を包含し、
このマルチプレクサは、第16図の回路からのライン2
24上のADVTAG信号の反転によって操作され、そ
の−入力はラッチ回路229に接続されており、これは
出力ライン202に接続されている。マルチプレクサ2
28の第2入力は、第1O図のレコード制御回路62B
からのライン178上の、OT A G信号により操作
されるマルチプレクサ230の出力に接続されている。
マルチプレクサ230の一入力はライン231のURI
に接続され、その第2入力はライン218のBTAGに
接続されている。ライン218は、ライン178から制
御されると共にその入力ライン218及び231に接続
されている、マルチプレクサ234から駆動されるラッ
チ232の出力に接続されている。
PEIから出るレコードについてのタグ(第13図のラ
イン202上のPEITAG)は、次の様にして抽出さ
れる:前進しないタグであれば(−ADVTAG) 、
PE ITAGの先の値がラッチされる。ライン224
上の前進するタグ(−ADVTAG)が真であり、タグ
PEIから出てゆこうとしているならば(ライン178
上の0TAG)そのタグがライン231のURIを通じ
て選択される。タグが前進中でタグがPEIから出てゆ
かないならば、バックアップ・タグ(ライン218上の
BTAG)が選択され、該バックアップ・タグは、タグ
がPEIから出てゆく時に回路232によってラッチさ
れる(OTAG)。
第14図を参照すると、ライン220上のDECISI
ON信号はANDゲート236により生成され、このゲ
ートの一入力はDECENBライン237に接続され第
2入力はAND回路238の出力に接続されており、こ
の回路238の入力は、−DECID INGOライン
239と、第15図の回路からのVALTAGライン2
20とに接続されている。
第15図を参照すると、ライン220上のVALTAG
信号は、3個のANDゲート243.244及び245
に接続された入力を有するOR回路242の出力に接続
されたラッチ240の出力で生成される。ゲート243
.244及び245の入力は、ライン220及び226
と、第9図のERECライン1.60反転から得られる
ーERECライン246と、前記した様に第9図及び第
1θ図のレコード制御回路から得られる他の信号とに接
続されている。
ライン220上のVALTAG信号は、PEIから出る
レコードについてのタグ(PEITAG)がPEOから
出るレコードについてのタグであれば、そのタグの妥当
性を検査する。VALTAGはレコードの最後のバイト
がPEOから出る時に撤回される(−EREC及びVA
LTAG)。若しタグがレコードの最初の半分の中にあ
れば、レコードがPEOに入り始める時にVALTAG
が表明される(EREC及びTAGSEEN)。タグが
レコードの第2の半分の中にあれば、該タグがPEIを
出た直後にVALTAGが表明される(TCTR=O及
びTCNT及び−RCNT)。
第16図の回路に関して、出力ライン224はラッチ2
50に接続されており、これは、二つのANDゲート2
53及び254に接続された入力を有するORゲート2
52の出力に接続されており、ANDゲート253の入
力はライン160及び226に接続され、ANDゲート
254の入力は第9図及び第1O図の回路からのライン
146.156及び167に接続されている。
タグは、ADVTAGによりBTAGからPEITAG
へ進められる。そのタグがレコードの最初の半分の中に
あれば、PEOに与えられるレコードの第1バイト時に
ADVTAGが表明される(EREC及びTAGSEE
N)。タグがレコードの第2の半分の中にあれば、AD
VTAGは、該タグがPEIから出る時に表明される(
TCTR=0及びTCNT及び−RCNT)。
第17図は、PEOから出る現在のレコードの最後の半
分の時にタグが見られたか否か監視し続ける論理を示す
。この論理は、−入力が−ERECライン246に接続
されているANDゲート258の出力に接続されている
。ゲート258の第2入力はORゲート259の出力に
接続されており、該ORゲートの一入力はライン226
に接続され第2入力はANDゲート260に接続されて
おり、該ANDゲートの入力は第9図及び第10図のレ
コード制御回路からのライン150及び156に接続さ
れている。ライン226上のTAGSEENは、レコー
ドの最後のバイトがPEOから出るときに撤回される(
−EREC)。TAGEENは、レコードの最初の半分
の際にタグPEIから出るときに表明される(TCTR
=0及びTCNT及びRCNT)。
分類順序づけ装置34(第1図及び第18図ないし第2
2図) 分類加速装置の他の区域は、処理されるべきデータスト
リングを操作するが、分類順序づけ装置は外部メモリー
アドレスを計算し、分類加速装置の全体を制御する。
分類加速装置の図示の好適な実施例は、図示の16路強
化リバウンド分類装置18を使用するが、以下の部は、
開示した分類装置18のそれと同等の機能特性を有する
N路分類装置の使用に一般化されている。
前述した様に、分類順序づけ装置34は、レジスターア
レイ36及びフラグレジスター37を含む制御プロセッ
サを有する。レジスターアレイ36は好ましくは4個の
バンクを成す64個の32ビツト・レジスターであり、
フラグレジスターは32ビツト・レジスターである。制
御プロセッサはALU37も包含するが、これは好まし
くは32ビツトALUである。実用的実施例では、この
構成は1個のレジスターの読み出し、ALU操作の実行
、及び同レジスターへの一つの133nsクロツクでの
書込みを行うことが出来る。
レジスターアレイは二つの目的に役立つ。上位プロセッ
サは、これらのレジスターを初期化することによって分
類加速装置へ制御情報を伝え、制御プロセッサは、その
マイクロコード化されたプログラムの変数として、それ
らを使用する。アドレス、カウント、及び状況情報は該
アレイ中に維持される。該アレイは各々16個のレジス
ターから成る4個のバンクとして組織されている。各バ
ンクを変数で指標付けすることが出来、併合操作からの
タグをストリング指標から、取り出されるべき次のレコ
ードを指すアドレスに速やかに変換することを可能にす
る。
制御プロセッサ用のマイクロプログラムは、例えば各々
60ビツトから成る512個のマイクロワードから成る
アレイを成してROM38に格納され、各マイクロワー
ドはALUオペランドのソース、実行されるべきALU
操作、ALU操作の宛先、及び実行されるべき次のマイ
クロワードの記憶場所を制御するフィールドに分割され
る。マイクロワード中の追加のフィールドは、色々な宛
先へのデータの書込みを可能にすると共にマイクロプロ
グラム実行の流れを制御し、マイクロコード・サブルー
チンが支援されることが出来る。本発明は、以下に詳し
く説明すると共に第18図ないし第22図に部分的に示
した分類操作を行うために特定の形の制御プロセッサの
使用に限定されるものではない。第18図は、分類順序
づけ装置の動作の理解に重要な中間記憶装置の構成を示
し、第19図ないし第22図は分類の安定性を得るのに
重要な分類順序づけ装置の変形例を示す。
中間記憶装置の構成(第18図) 分類加速装置10が使用するアルゴリズムは、色々なサ
イズの領域に組織された中間記憶装置を必要とする。最
小の領域は、中間記憶区域の底に位置し、N個のレコー
ドから成るN個に及ぶストリングを保持するのに使われ
る。第2の領域は、第1の領域の端に位置し、N×N個
のレコードから成るN個のストリングを保持するのに使
われる。
各々の領域は、その前の領域よりもN倍大きい。
第18図は、Nが図示の実施例の場合のように16では
なくて4である場合に使用される組織の例を示す。この
例では、第1領域ROは4個のレコードを格納し、第2
領域R1は16個のレコードの4個のストリングを格納
する、即ち、それはN×N個のレコードを格納する。第
3の領域R2は、その区だけ示されているが、64個の
レコードの4個のストリングを、即ち、N×N×N個の
レコードを格納する。
Nが16である図示の実施例では、第1領域ROは16
個のレコードの16個のストリング(256レコード)
を格納し、第2領域R1は4096個のレコードを格納
し、第3レコードR2は65.536個のレコードを格
納する。後の領域は、その前の領域のレコードの数の1
6倍を包含する。使用可能なメモリーに応じて、随意の
数の追加の領域を設けることが出来る。
中間記憶装置の場所と大きさとは、操作初期化時にレジ
スターアレイにベースアドレス及びエンドアドレスを装
填することによってプログラムされる。操作のために充
分な記憶装置が割り当てられれば、制御プロセッサは該
操作を保留して上位プロセッサに割り込む。該エンドア
ドレスを増大させることにより、該記憶装置を動的に拡
張することが出来る。
拡張された併合・分類アルゴリズム 図示の実施例では、ROM38に格納されるマクロプロ
グラムに、拡張された併合・分類アルゴリズムが埋め込
まれるが、該アルゴリズムを実現するために同等の手段
を使用することも出来る。
該アルゴリズムは、強化されたリバウンド分類装置のN
路併合能力を利用して、制限の無い個数のレコードを並
べ変える。該アルゴリズムは、入力フェーズ及び出力フ
ェーズと呼ばれる二つのフェーズから成る。後述する様
に、これらのフェーズを構成する分類及び併合の操作の
順序は、分類の安定性、メモリーの効率、及び動作のた
めに重要である。
入カフニーズ 入力フェーズは、分類及び併合から成り、実際上、入力
ストリングを構成する未分類レコードの全てが処理され
るまでである。各分類操作によりN個の未処理レコード
が操作され、中間記憶装置の領域OにN個のレコードの
分類済みストリングが作られる。各併合操作により、満
杯となった領域のN個の分類済みストリングが処理され
、入力ストリングの各々よりN倍大きな次の領域に単一
の分類済みストリングが作られる。
入力フェーズは、入力ストリングの始めのN個のレコー
ドを分類してN個のレコードの一つのストリングを領域
Oに作ることから始まる。その後、入力ストリングの次
のN個のレコードが分類されて、N個のレコードの第2
のストリングとなる。
このプロセスは、N個のレコードのN個のストリングが
領域0に生じるまで続き、その時点で分類は中止され、
該ストリングは併合されて、領域lのN×N個のレコー
ドの単一のストリングとなる。
この併合が終わると、入力フェーズは入力ストリングの
分類を再開する。結局、N個のレコードのN個の新しい
ストリングか領域Oに作られ、分類が中止され、それら
が併合されて領域lのN×N個の第2のストリングとな
る。このプロセスは、領域lにN×Nの長さのストリン
グがN個出来るまで続き、その時点で、それらは併合さ
れて、領域2のN×N×N個のレコードの単一のストリ
ングとなる。領域の数は、使用可能な中間記憶装置の量
によって制限される。
入力フェーズは、入力ストリングの全体が処理されるま
で、可能な時には併合を行いながら、継続する。入力ス
トリング中のレコードの数は、操作が初期化される時に
レジスターアレイにプログラムされる。コマンドレジス
ターには数個のオプション・ビットがあり、その一つは
、入力ストリングが分類されるべきレコードの全てを包
含しているか否かを示す。このビット(ENDビット)
がセットされていなければ、制御プロセッサは、出力フ
ェーズが始まる前に上位処理装置に割り込み、上位処理
装置が同じ分類操作で他の入力ストリングを包含するこ
とを可能にする。レコードカウントレジスターは、入力
ストリングが処理されるに従って継続的にデクリメント
される。
出力フェーズ 入力フェーズの終了時には、複数の領域内に数個のスト
リングがある。出力フェーズは、この数をN以下に減ら
す一連の併合操作と、直接に宛先アドレスへの最後の併
合とから成る。
出力フェーズの開始時には、各領域にN−1個の完全な
長さのストリングがあると共に、領域0には不完全な長
さのストリングがある。この不完全な長さのストリング
は、分類されているレコードの総数モジュールNから成
り(0であることもあり得る)これは、レコードの総数
が必ずしもNの倍数ではないから存在するものである。
分類を安定させるために、最高の領域から最低の領域へ
と優先順位が割り当てられる。一つの領域の中では、優
先順位は最低のストリングから最高のストリングへの順
である。これは、ストリングが作られた順と一致する。
出力フェーズは、非常に効率的で信頼できる態様で進行
する。最低の空でない領域から併合が行われてゆき、こ
の併合は、関係するストリングの総数がN以下であると
いう制限の範囲内で、なるべく多数の領域を含む。この
併合により、該併合に含まれなかった空でない最初の領
域に新しい不完全なストリングが作られる。
これらの複数領域併合は、上から2番目の領域に達する
まで続く。この時点で、一番上の領域と2番目に高い領
域との両方が含まれていれば、それらは、宛先の記憶場
所に書き込まれる分類操作の最後の併合に参加する。最
高の領域が包含され得なければ、2番目に高い領域は参
加を禁じられ、出力は、2番目に高いレベルの部分的併
合をつくり出す。
後の場合は、動作最適化を表す。最後の二つの領域のス
トリングの大きさは分類操作全体のサイズに関して重要
であるので、これらのストリングの取扱は、2番目に高
い領域から、ちょうど充分なだけのストリングを最高の
領域の不完全なストリングに併合して、正確にN個のス
トリングを残すことによって、最小限度にされる。これ
は「最善の」併合と呼ばれる。その時、N個のストリン
グが最後に併合に参加する。
分類操作の全段階を通じて、指標付けを可能にするため
に、各領域のストリング総数がレジスターアレイの一つ
のバンクに維持される。不完全なストリングの長さは、
該アレイ内の他のレジスターに維持される。他のストリ
ングの長さは、それらの領域の番号から分かる。
不完全なストリングの長さを維持するレジスターは1個
だけしかないので、不完全なストリングは常時1個だけ
存在できる。出力フェーズは全ての併合に不完全なスト
リングを含み、これらの併合の各々が、より大きな不完
全なストリングをより高い領域につくり出す。不完全な
ストリングの長さのためのレジスターは、新しい不完全
なストリングのサイズを反映するように継続的に更新さ
れる。不完全なストリングもr最善の」併合に参加する
中間記憶装置の管理 中間記憶装置の構成は、第18図との関係で上記されて
いる。この節は、分類操作の入力フェーズで制御プロセ
ッサにより実行される簿記について詳しく説明するもの
である。
制御プロセッサは、該操作のために充分な記憶装置が割
り当てられているか否か判断しなければならない。動作
をなるべく悪化させずに、この判断を行うために、レジ
スターアレイ35内の2個のレジスターを使って、最高
の活動状態領域の番号と最高の活動状態アドレスとを維
持する。拡張された併合・分類アルゴリズムの中の各分
類又は併合の開始時に、現在の領域が最高の活動状態領
域と比較される。若しそれが最高の活動状態領域引くl
より小さければ、その分類又は併合は正常に続く;そう
でなければ、制御プロセ・ソサは、新しいストリングを
最高領域に作りかけており、進むのに充分な記憶装置が
割り当てらレーテいるか否か確かめなければならない。
この確認は、最高活動状態アドレスレジスターを使って
、他の完全なストリングのための余地が次の領域にある
か否か判断することから始まる。
若しあれば、拡張併合・分類は正常に進行する;若し無
ければ、制限プロセッサは、現在の領域から別個のスト
リングが次の領域の不完全なストリングに嵌まり込むか
判定し、その情報を使って、それらのストリングが併合
されたならば何個の追加レコードを処理できるか判定す
る。若しこの数が入力ストリングに残っているレコード
の数より少なければ、制御プロセッサは上位プロセッサ
に割り込んで、操作を完了するためにもっと多量の記憶
装置が割り当てられなければならないことを指摘する。
許容可能な追加のレコードの数が、残っているレコード
の数より多ければ、追加の記憶装置無しで操作を完了す
ることが出来る。コマンドレジスターにENDビットが
セットされると、このレベルに残っているストリングの
数と、将来の入力から形成されるこのレベルの追加のス
トリングの数と、次のレベルのストリングの数との和が
等しくNとなる様に、制御プロセッサはこのレベルから
ちょうど充分なストリングを併合する。「最善の1併合
が行われたことを出力フェーズに対して指摘するフラグ
がセットされ、この特別の不完全なストリングの長さが
レジスターアレイ内のレジスターに保存される。このレ
ジスターは、出力フェーズが使用する不完全なストリン
グの長さのためのレジスターと同じではない。
ENDビットがセットされなければ、コマンドレジスタ
ー内の追加のオプション・ビット(LOCKビット)が
検査される。このLOCKビットがセットされていれば
、制御プロセッサは、なるべく多数のストリングを次の
レベルの特別の不完全なストリングに併合し、併合フラ
グを設置し、特別の不完全なストリングの長さを保存し
、レベル0のストリングを作り続ける。LOCKビット
がセットされていなければ、上位プロセッサは割り込ま
れて、ENDビットをセットし、LOCKビットをセッ
トし、又は記憶装置エンドアドレスを増大させることを
許される。
「最善の」併合は、拡張併合・分類の動作が最適化する
ことを保証する。制御プロセッサは操作中のレコードの
総数を知らず、上位プロセッサが中間記憶装置のサイズ
を固定する許可を与えているのてr短縮」併合が起こる
。−旦固定されると、記憶装置アドレスの終端を増大さ
せることは違法となる。この併合は、与えられた量の記
憶装置で分類することの出来るレコードの数を最適化す
る。
分類制御 前述の入カフニーズの分類プロセスは、分類加速装置が
、入力ストリングからN個の未整理レコードを読み込み
、それらを分類し、その結果を中間記憶装置の領域0中
の新しいストリング中に置くことを必要とする。
好ましくは、分類制御は、マイクロコード中の単一ルー
プの中に存する。最初に、入力ストリングが使い尽くさ
れたか否か調べるためにレコードカウントレジスターが
検査される。使い尽くされていれば、制御は出力フェー
ズに移転する。より多数の入力レコードがあれば、レジ
スターアレイ内のソースアドレスが入力プロセッサに渡
される。
このレジスターは、操作が初期化された時に入力ストリ
ングのアドレスが装填されたレジスターであり、この時
にレコード当たりのバイトの数だけインクリメントされ
る。該アレイ内の他のカウントレジスターはlだけイン
クリメントされ、カウントがNに達するまで分類ループ
は継続する。
併合制御 純粋にマイクロコードで取り扱われるのが好ましい分類
制御とは異なって、併合制御用のマイクロコードは、前
述の併合アルゴリズムによりストリング選択回路39で
加速されるのが好ましい。
ストリング選択論理について前述した。分類順序づけ装
置は入力プロセッサが各レコードに挿入するタグの供給
も行う。
分類安定性 r安定な」分類は、同じキーを持ったレコードが、入っ
たときと同じ相対的順序で該分類からでるような分類で
ある。設計を単純なままに保ち、追加の記憶装置及び時
間要件を小さくするために、N路併合アルゴリズムで既
に必要とされたタグバイトを使用して分類安定性を保証
する。この特徴は、総レコードサイズを割合に小さく保
つと共に、分類順序づけ装置又はリバウンド分類装置の
大幅な変更を必要としない。
この所定の順序が変更されないことを保証するために、
特別のハードウェア及びアルゴリズムを使用する特別の
特徴が分類加速装置10に含まれている。
前記した様に、キーバイトに続いて、残りのデータバイ
トの前にタグバイトが入力レコードストリングに挿入さ
れる。タグバイトの高位4ビツトは、レコードの出所と
なったストリングの番号(併合について)、又はゼロ(
分類について)にセットされる。
タグバイトは常に処理要素においてr上昇」順に比較さ
れる。タグバイトをキーの前に、しかし残りのデータの
前に置くことにより、処理要素は、残りの非キーバイト
が与えられる前に、それらのバイトをどの経路に通すか
決定することが出来る。
ストリング番号は、等しいキーを持った異なるストリン
グからのレコードを、それが入って来た順にリバウンド
分類装置から出て行かせる。r順序jビットは、等しい
キーを持った同じストリングからのレコードを、それら
が入って来た順にリバウンド分類装置から出て行かせる
分類順序づけ装置強化 与えられた併合のために、−緒に分類プロセスに入った
レコードのストリングが選択される。即ち、選択される
成るレコードの前に、しかし、選択される他のレコード
の後に分類プロセスに入って選択されないレコードは無
い(それらは、可能性としては、この併合に属すること
があり得る)。
各ストリングに対して独自の番号が選択されるが、それ
は、そのストリング中のレコードが分類プロセスに入っ
た、同じ併合内の他のストリングに対しての相対順位を
示す。ストリングの各レコードは、タグバイトの高位ビ
ットに挿入されたストリング番号を持っている。異なる
ストリングからの2個のレコードの順序が、それらのタ
グバイトが比較されるときに解明されていなければ、そ
れらが入ってきたのと同じ順序で併合から出て行くこと
をストリング番号が保証する。
分類済みストリングが作業空間の領域に書き込まれてゆ
くとき、それらは、その領域の使用可能な最低の行に書
き込まれる。領域が満杯になると、その次に高い領域の
使用可能な最低の行に併合されてゆく。これから分かる
ように、部分的併合(後述する)が無い場合には、最高
の領域は分類に最初に入ったストリングを包含し、2番
目に高い領域は2番目に入ったストリングを包含する、
等々である1、領域内では、最低の行は、最初に分類に
入ったストリングを包含し、次の行は2番目に入ったス
トリングを包含する、等々である。
下記の記述においては、0から始まるストリング番号が
順に割り当てられる。別様に指定されない限りは、行の
グループ内ではストリング番号は最低の行から最高の行
へと順に割り当てられる。
第19図に示されている様に、v S Jの下のコラム
内のストリング番号0ないし15は順に並んでおり、ス
トリング15は最高のアドレスHAにあり、ストリング
0は最低のアドレスLAにある。
併合に参加するストリングにストリング番号を割り当て
る異なる場合が4種類ある: l)成る領域が満杯で、次に高い領域への完全併合が行
われる時、ストリング番号はグループとして16個の行
に割り当てられる(第19図に示されている様にして)
2)作業空間の量か限られているために部分的併合が行
われるときには、2番目に高い領域の、全てではない行
が最高領域に併合される。この場合、ストリング番号は
、グループとして、最高領域の最後の行に収まる2番目
に高い領域の最高番号の行のうちのなるべく多くの行に
割り当てられる。第20図の例では、Nは最高領域の番
号である。
3)(全での入力データが作業空間メモリー内に置かれ
た後)最後の併合が行われるとき、部分的併合が起こっ
ていなければ、ストリング番号はグループとして最高領
域内の全ての行に割り当てられ、その後、空でない全て
の領域が割り当てられるまで、2番目に高い領域内の全
ての行に割り当てられる、等々である。この状態は第2
1図に示されており、ここで最後の併合はFMで指示さ
れている。
4)最後の併合が行われる時、部分的併合が起こってい
なければ、手順はもっと複雑である。以下のことが指摘
されなければならない:(a)  1回だけ、部分的併
合が行われる。
(C)  常に、2番目に高い領域から最高領域へであ
る。
(C)  それ以上の、最高領域への併合は行われない
(それは満杯となっている)。
次の手順が行われる。最初に、ストリング番号が、グル
ープとして、最高領域の、最後の行を除いた全ての行へ
割り当てられる。その後、それらは、グループとして、
部分的併合の直後に残っていた2番目に高い領域内の行
に割り当てられる。
次に、最高領域の最後の行にストリング番号が割り当て
られる。その後、2番目に高い領域内の、割り当てされ
ずに残っている行にグループとして割り当てが行われる
。最後に、残っている空でない領域にグループとして領
域の下降順に割当が行われる。
部分的併合後の最善の併合のためのストリング番号割当
を示す第22図において、データは以下の様に表されて
いる: pppppp=部分的併合の結果。
aaaaaa=その部分的併合後に2番目に高い領域に
付加された行。
bbbbbb=その部分的併合の直後に2番目に高い領
域に残っている行。
++++++=他の満杯の行。
リバウンド分類装置強化 分類装置に入る各レコードのタグバイトの最下位ビット
(「順位jビットと呼ばれる)はlにセットされる。
順位ビットは、同じストリング番号を持ったレコードの
順位を保存するために使われる。順位ビットは次のよう
に取り扱われる(それはlにセットされたリバウンド分
類装置に入ることを想起):(a)  処理要素が垂直
に通過させることを決定し、或いは既に垂直に通過させ
つつあるならば=1)「下方にj通過させられるタグバ
イト(下って来たタグバイト)の順位ビットはlにセッ
トされる。
2)r上方に1通過させられるタグバイト(昇って来た
タグバイト)の順位ビットは変更されない。
(bl  処理要素が水平に通過させることを決定し、
或いは既に水平に通過させつつあるならば:l)r下方
に1通過させられるタグバイト(昇って来たタグバイト
)の順位ビットはOにセットされる。
2)「上方に」通過させられるタグバイト(下ってきた
タグバイト)の順位ビットはlにセットされる。
(c)  IER3rN−2J からIER3rN−2
+N−1jへ渡されるタグバイトの順位ビットは■にセ
ットされる。
この方法の安定性は例によって示すことが出来、その例
では、2個の重複するレコードがあるとする。この説明
のために、重複するレコードは、完全に等しいキー及び
等しいタグを持ったレコードであると仮定する。
第ルコードはER8に入り、第2レコードがER3に入
るまで他のレコードと混じっている。
第2レコードと会うために、第ルコードは上を向いて、
その順位ビットをlにセットされなければならない。E
R8は分類されているので、第2レコードは真っ直ぐに
下方に進んで第ルコードと出会い、その順位ビットをセ
ットされたままに保つ。この二つのレコードは正確に等
しく、順位ビットを含み、よって垂直に移動し続ける。
追加の重複レコードが無ければ、この重複レコードは、
より大きなレコードを通過し続け、或いは上のレコード
は下方に向きを変え(これは、その順位ビットをクリア
する)、上がってくる次の重複レコードと出会う(この
レコードの順位ビットは、まだセットされたままである
)。これにより、該重複レコードは、より大きなレコー
ドが通り越すか、他の重複レコードが入るか、又はER
8が流されるまでは、ER8が現在の位置を保つ。
今、示す必要があるのは、重複レコードの、出てゆくグ
ループに入る新しいレコードは該グループの底に落下す
ることである。新しいレコードは、重複レコードの出て
ゆくグループの各レコードと出会うとき、その新しいレ
コードは下降中であり旧レコードは上昇中である。上昇
するレコードは常にその順位ビットかセットされる。垂
直に通過させられる下降するレコードの順位ビットも同
じく常にセットされる。これは、新しいレコードは、該
グループの底に達するまで該コラムを下って垂直に移動
し続けることを意味する。
叙上から、垂直に通過する時に順位ビットを変更せず、
そのままにしておく様に規則を変更することが出来ると
結論することが出来る。これにより、下方に向けられた
レコードは、若し下り続けるのであれば、その順位ビッ
トを0にセットされたままに保つことが許されるが、下
方に向けられたレコードは、その下にあるものが全てそ
れより大きいので、決して下降し続けない。これにより
、PE内の論理が単純化される。
順位ビットの、指摘した使用によって、位置を変更する
ことのあるレコードは、それらの初期順位を保存させら
れる。
データ保全性特徴 外部ハードウェアとの協働により、分類加速装置を通過
するデータは、データが該装置に入った点から、出てゆ
くまで、変造に関して検査される。
また、レコードを分類又は併合する時には、分類加速装
置の正しい動作と、併合のための入力レコードの正しい
整理とを確実にするために、出力レコードの順位が検査
される。
エラー検出コード パリティ 分類装置外のデータ経路が、バイトパリティの使用によ
り検査される。バイトパリティは、8ビツトのデータを
9ビツト値で表す方式である。余分のビットは、データ
の出所で計算されたパリティ値を担っている。該データ
からパリティ値を計算し直し、その新しく計算された値
をパリティビットと比較することによって、パリティ検
査が行われる。等しくないことは、該データ中のエラー
を指摘するものである。
分類加速装置IOには、上位システムからデータ及びパ
リティが供給される。データが入るとき、該パリティは
好ましくは検査をされる。この時点で検出されたエラー
は、システムパリティエラーとして分類され、その様な
ものとして報告される。
システムバスインターフェースからのデータ経路のパリ
ティ保護は、リバウンド分類装置まで続く。データがリ
バウンド分類装置に入るとき、データパリティが再び検
査され、エラーは内部データエラーとして報告される。
出力時に、リバウンド分類装置はパリティを持ったデー
タを生成する。このデータがシステムバスインタフェー
スに達したとき、そのパリティが検査され、不一致は内
部パリティエラーとして報告される。パリティ値は、シ
ステムバスインターフェースで再生されて、該データと
共に上位システムに渡され、これにより該上位システム
は上記の様にデータパリティを検査することが出来るこ
ととなる(分類順序づけ装置からのデータのためのパリ
ティを提供するためにパリティがシステムバスインター
フェースで再生される)。
検査合計計算(第23図) 分類加速装置内で、2レベル検査合計方式を使ってデー
タ保全性が保証される。検査合計保護は、多数のバイト
に渡って検査合計を検査するエラー検出方法である。検
査合計は、後に、該検査合計を計算し直して、それを先
に計算されてあった検査合計と比較することにより、検
査される。検査合計は以下の公式により計算される: i=0ないしnについては、検査合計=f(検査合計、
データ〔i〕) 各レコードか分類装置に入るとき、レコードの検査合計
が計算される。この検査合計についての関数(f)は、
第23図との関係で後述するPARブロックを使い、デ
ータバイトのパリティを使用して、モジュール256で
データバイトに加算されるものとして該検査合計又は該
検査合計のビット反転形を選択する。「ビット反転j操
作はバイトに対して行われ、これにより、該バイト内の
最上位ビットと最下位ビットとか交換され、上から2番
目のビットと下から2番目のビットとが交換される、等
々であり、結局、全てのビットか異なる位置を持つこと
となる。
これらのレコード検査合計が互いにモジュール256加
算されて、レコードのグループについての検査合計とな
る。
分類装置を出るレコードは、同様に計算された検査合計
を有する。分類装置がレコードのグループを処理して、
残りのレコードが流し去られた後、入力検査合計及び出
力検査合計が比較される。
レコード検査合計のこの単純加算は、結合的性質を持っ
た関数をつくり出す:即ち、レコード検査合計を合計す
る順序は、その結果として得られる検査合計には影響を
与えない。このことは、該分類装置の主な機能がレコー
ドの並べ直しであるので、重要である。
レコード検査合計の計算は結合的ではない。
二つのレコードのバイトnがそれらのバイト間で交換さ
れれば、その二つのレコードの検査合計の和は異なるこ
とになる。
交換されたバイトの例は、次のとおりである;人カニ X61 0×62 0×61 0×03 O×31 0×32 0  0X31 0  0X63 出カニ X61 0×62 0×61 0×92 0×31 0×62 0  0X31 0  0X93 この検査合計を求める方式は、分類装置18で2種類の
エラーについて検査を行うことが出来る:即ち、データ
経路での単ビツト故障(記憶要素故障を含む)と、レコ
ード間の不適切に制御されたバイト交換(PE制御不良
)。
検査合計操作は第23図の論理回路を使って実現される
が、これはEDCNEQ信号をライン270上に生成し
、このラインは、二つの部の出力を比較するNEQ比較
回路272の出力に接続される。第23図に示されてい
る上側の部は、加算回路274の出力に接続された出力
ラッチ273を含み、この加算回路274の一入力は該
ラッチ273の出力に接続されている。
加算回路274の他方の入力は、−入力かERECライ
ン160に接続されているAND回路275の出力に接
続されている。AND回路275の他方の入力は、加算
回路278の出力に接続されているラッチ276の出力
に接続されている。加算回路278の一出力はマルチプ
レクサ280の出力に接続されており、該マルチプレク
サの一入力はラッチ276の出力に接続され第2入力は
REVER8E  B ITSブ0ツク28 H:接続
されている。ブロック281は、前述の、バイトのビッ
ト反転を行う。
マルチプレクサ280はPARブロック282により制
御され、その入力はl BYTEライン283(リバウ
ンド分類装置に入るバイト)に接続されており、rBY
TEは加算器278の第2入力にも接続されている。該
論理の2番目に低い部は1番低いのと実質的に同一であ
り、対応する要素はダッシュ記号付番号で示されている
。差異は、ライン283′が0BYTEライン(リバウ
ンド分類装置から出るバイト)であるのに対して、ライ
ン283はIBYTEラインであることである。
分類順序検査装置(第24図ないし第28図)レコード
が分類装置から出るとき、該レコードは、一つのレコー
ドを保持する特別の記憶要素に入る。この記憶要素はシ
フトレジスターの様に振る舞い、該記憶要素の入力及び
出力を検査する比較論理が、分類装置から出るレコード
が正しく整理されていることを確認するのを可能にする
。該比較論理は、出力を除いて、分類装置に使用されて
いる処理要素と同様である。該比較論理の出力は、レコ
ードの減少(「下降」分類について増大)シーケンスが
検出されたことを示す信号である(分類順序エラー)。
分類順序検査装置は、出力ストリング中のレコードが次
のレコードと同じキーを持っていることを示す「タイ」
ビットを提供するのにも使われる。
この「タイjビットは、リバウンド分類装置からの出力
上のタグバイトの最下位ビットである。ユーザーソフト
ウェアは、このrタイjビットを利用して、後続の節で
説明するように加速装置10の容量を越えるキーフィー
ルドに対して分類を行い、或いは重複レコードの分類後
の処理を補助することか出来る。分類加速装置は、普通
は、レコードを出力する前に該レコードからタグバイト
を取り除くが、ユーザーが希望する場合にはタグバイト
をレコードに残したままにしておく様に分類加速装置に
指令することも出来る。
分類順序検査操作は、第24図ないし第28図に示され
ている論理回路により実施される。第27図に示されて
いる回路は出力ライン286を包含し、このライン上に
前述の5RTERR信号が生成される。ライン286は
、−RESETライン290に接続された一入力を有す
るANDゲート289の出力に接続されたラッチ288
の出力に接続されている。ANDゲート289の他方の
入力は、ORゲート282の他方の入力に接続されてお
り、このORゲートの一入力はライン286に接続され
第2入力はANDゲート294に接続されている。AN
Dゲート294は、CHKING信号及びEQUAL信
号をそれぞれ受信するライン295及び297に接続さ
れた入力を有する。ANDゲート294への第3入力は
マルチプレクサに接続されている。該マルチプレクサの
一入力はrA<Bjであり、他方はrA〉Bjである。
該マルチプレクサは、ASCEND ING及びETA
Gを入力とするORゲートにより制御される。
該分類順序検査装置の回路は、更に、第24図、第25
図、第26図及び第28図に示されている論理回路を含
む。第24図おおいて、比較回路298が設けられてお
り、この回路は、前述のB〈A信号をライン296上に
生成し、且つ、A=B信号及びA<B信号をライン29
9及び300上に生成する。比較回路298の一入力は
UROライン302に直結され、比較回路298の他方
の入力はカスケード接続された2個のIER8要素30
3及び304を通じてライン302に接続されている。
これらは、一つのレコードプロ・ツクを保持する前述の
特別の記憶要素を形成する。
第25図において、ライン295上のCHK ING信
号はラッチ306により生成され、該ラッチはANDゲ
ート308の出力に接続されており、このゲートの一入
力にはライン309上の−NEWSTREAMOUT信
号が加えられるが、この−NEWSTREAMOUT信
号は、第11図に示されているパイプライン回路の生成
するNEWSTREAMOUT信号の逆である。ゲート
308の第2入力はORゲート310の出力に接続され
ており、このORゲートの一入力はERECライン16
0に接続され第2入力はライン295に接続されている
第26図において、ライン297上のEQUAL信号は
、ORゲート314の出力に接続されたう・ソチ312
の出力に生成され、このORゲートの一入力はEREC
ライン160に接続され第2入力はANDゲート316
の出力に接続されている。
ANDゲート316の一入力はA=Bライン299(第
24図)に接続され、他方はライン297に接続されて
いる。
第28図は、ライン318上に生成されるTIBD信号
を生成するのに使われる回路を示し、このライン318
はANDゲート320の出力に接続されたラッチ回路3
19の出力に接続されており、このANDゲートは、C
HKINGライン295、第10図の回路からのETA
Gライン174及びEQUALライン297に接続され
た入力を有する。
分類加速装置の容量を越えること 加速装置10は、使用可能な作業空間メモリーがユーザ
ーのファイル中のレコードを分類するのに充分でないと
きにも使うことの出来るものである。非常にありふれた
2種類の場合に対処するアルゴリズムが設けられる。第
1の場合は、レコードの総数を分類するのに充分な作業
空間メモリーが使用できない時である。第2の場合は、
レコード及び/又はキーの長さが分類加速装置の許容す
る最大長さを上回るときである。
使用可能な作業空間メモリーを越えることユーザーレコ
ードを分類するのに充分な作業空間メモリーを使用でき
ないときには、ユーザーは、r外部併合jと呼ばれるも
のを使用することが出来る。これは単に、分類操作を完
了するのに要する各併合パスの入力及び出力のためにレ
コード記憶装置をユーザーが管理しなければならないこ
とを意味する。
始めに、ユーザーは、分類加速装置10を使用して、使
用可能な作業空間メモリーに収まる、なるべく多数のレ
コードを分類する。この数を計算する必要はない。分類
加速装置が満杯になったことを示す指示が出されるまで
、単にレコードが分類加速装置に送られる。レコードの
これらの分類済みストリングは、その後、ユーザーか使
用することの出来る記憶装置内に置かれる(これらは、
例えばディスクに書き込まれてもよい)。全てのレコー
ドが分類され終わったとき、即ち、16個の分類済みス
トリングが作られたとき、ユーザーは、分類加速装置1
0を合併装置として使用して、その分類済みストリング
を併合する。これは、バッファー付き入力及び出力で行
うことが出来、従って、分類加速装置が非常に僅かなメ
モリーを使用できればよい。この併合から得られる分類
済みストリングを再び記憶装置内に置くことが出来る。
このアルゴリズムを繰り返し使うことが出来、これは追
加のレコード記憶装置の利用可能性によってのみ限定さ
れる。
最大レコード長を越えること レコード長が、分類加速装置が許容する最大長を越える
場合が2種類ある。
第1の、最も単純な場合は、レコード全体が大き過ぎる
が、キーと、元のレコードへのポインタとの合計が収ま
るときである。この場合、元のキーと、これに続く、元
のレコードを指すポインタを包含するバイトとから成る
新しいレコードが分類加速装置に入力される。分類が完
了したとき、ユーザーは、単に、該ポインタを使って元
のレコードの内容へアクセスして、その分類済みレコー
ドを処理する。
第2の場合は、レコードか大き過ぎて、キーと、元のレ
コードを指すポインタとの合計が収まらない時に起こる
。この場合、ユーザーは新しいレコードを再び入力する
が、この時にはユーザーは、収まるだけの、なるべく多
数のキーバイトだけを入力し、ポインタのための余地を
端部に残しておく。これらの、先端を切ったキーでの分
類時には、ユーザーrタイ」ビットを検査できるように
タグバイトが出力されるべき旨の要求が好ましい。
多くの場合、この様にして与えられる先端を切られたキ
ーは、レコードの分類された順序を判断するのに充分な
程度に独特である。重複する、先を切られたキーを持っ
たレコードのグループの位置を突き止めるには、「タイ
」ビットを検査するだけでよい。このレコードのグルー
プは、そのとき、元のレコードからの残りのキーバイト
のうちの、収まるだけの数のキーバイトを新しいキーと
して使うことによって、更に分類することが出来る。重
複するキーが報告されなくなるか、又は全てのキーバイ
トが処理され終わるまで、重複する先を切られたキーを
持ったレコードの全てのグループに対して、このプロセ
スを反復することが出来る。
このプロセスは、より大きな最大レコード長を持った分
類加速装置を使うよりも早く作用する可能性があること
を指摘しなければならない。その理由は、分類加速装置
の速度がR*N*LOG16(N)に比例し、ここでR
は分類加速装置に与えられるレコードの長さであり、N
はレコードの個数である。より小さなRの値(最大のR
により制隈される)を使えば、レコードの最初のパス分
類は、より高速となる。後続のパスがあるならば、その
パスは、同様に、遥かに小さなNの値を使って重複を解
明するであろうが、これは遥かに高速であろう。
本発明の新規な思想の範囲から逸脱せずに修正、変形を
行うことが出来ることが理解されよう。
【図面の簡単な説明】
第1図は、本発明に従って構成された分類加速装置の略
ブロック図であり、上位コンピュータ及び上位メモリー
に接続されて示されている。 第2図は、該加速装置の強化されたリバウンド分類装置
に送られる、入力レコードから作られたレコードの形式
を示す。 第3図は、本発明の加速装置のリバウンド分類加速装置
を単純化した一般的形で示すと共に、これに付随する記
憶回路及びパイプライン回路を示す略図である。 第4A図及び第4B図は、第3図に示されている分類装
置等の分類装置を通るデータの流れの単純化した例を示
す。 第5図は、第1図の分類加速装置に使用された、強化さ
れたリバウンド分類装置及びこれに付随する記憶回路の
構成を詳しく示す略図である。 第6図は、第5図に示されているリバウンド分類装置の
処理要素の制御回路の論理回路を示す。 第7図は、第1図及び第5図に示されている記憶回路と
共に使用することの出来るRAMインデックス回路の一
つの形を示す。 第8図は、第1図及び第5図に示されている記憶回路と
共に使用することの出来るRAMインデックス回路の他
の形を示す。 第9図は、レコードタイミング信号を供給する、第1図
の加速装置のレコード制御回路の一部を示す。 第10図は、タグタイミング信号を供給する、第1図の
加速装置のレコード制御回路の他の部分を示す。 第1.1図は、第1図及び第5図に示されているパイプ
ライン制御回路の詳細を示す。 第12図は、第1図の加速装置の分類順序づけ装置のス
トリング選択論理回路のタグ選択回路を示す。 第13図ないし第17図は、第1図の加速装置のタグ先
読み論理回路のいろいろな部分を示す。 第18図は、第1図の分類加速装置の使用する中間記憶
装置の組織の例を示す。 第19図ないし第22図は、最適の併合操作を得るため
に使用されるストリング番号割り当てを示す。 第23図は、第1図の強化されたリバウンド分類装置の
インターフェースの検査合計論理回路を示す。 第24図ないし第27図は、第1図の強化されたリバウ
ンド分類装置のインターフェースの分類順序検査装置の
論理回路の部分を示す。 第28図は、連続する二つのレコードが同じキーを有す
ることを示す信号を生成するために使われる、分類順序
検査装置の論理回路の追加の部分を示す。

Claims (11)

    【特許請求の範囲】
  1. (1)限られた数のレコードのグループが入力されると
    共にレコードのグループを分類された順に出力する様に
    なっている分類手段と、前記分類手段にレコードを供給
    する入力手段と、前記分類手段により分類されたレコー
    ドのストリングの記憶を行う出力手段と、前記入力手段
    、分類手段及び出力手段を制御する分類制御手段とから
    成る分類システムであって、前記分類制御手段は、初期
    入力モードにおいてレコードの未整理グループを前記分
    類手段に逐次供給すると共に前記分類手段の出力したレ
    コードの複数の分類済みストリングの一時記憶を行い、
    その後、前記分類制御手段は、併合モードにおいて、分
    類済みレコードの前記の一時記憶されたストリングのレ
    コードを前記分類手段に供給すると共に、前記ストリン
    グの前記レコードの全てを分類された順に包含する、よ
    り大きなストリングの記憶を行い、前記分類手段は、該
    手段に供給された各レコードに含まれているタグデータ
    を検査して、前記分類手段から出力されて前記分類手段
    に入力された最後のレコードの出所となったストリング
    を識別すると共に前記分類制御手段の動作を制御する手
    段を包含しており、前記分類手段は、レコードのタグを
    、前記分類手段からの出力の前に検査して、動作速度を
    高める手段を包含することを特徴とする分類システム。
  2. (2)限られた数のレコードのグループが入力されると
    共にレコードの前記グループを、分類された順のレコー
    ドのストリングとして出力する分類手段と、或る数の分
    類された順のレコードを各々包含する分類済みレコード
    の複数のストリングを包含する前記分類手段にレコード
    を供給する入力手段と、前記分類手段の分類したレコー
    ドのストリングの記憶を行う出力手段と、前記入力手段
    、分類手段、及び出力手段の制御を行う分類制御手段と
    、から成る分類システムであって、前記分類制御手段は
    、併合モードにおいて、分類済みレコードの前記複数の
    ストリングのレコードを前記分類手段に供給すると共に
    、前記分類手段により、レコードの前記複数のストリン
    グを併合して、前記ストリングの前記レコードの全てを
    分類された順に包含する単一のより大きなストリングに
    し、前記分類制御手段は、分類済みレコードの前記複数
    のストリングの前記レコードの、前記分類手段への供給
    の、或る順序づけを行う分類順序づけ手段を含んでおり
    、供給レコードの前記の或る順序づけは、分類済みレコ
    ードの前記複数のストリングのうちの最小のレコードが
    最初に前記分類手段に供給されると共に、その後の操作
    において前記分類手段からレコードが出力される時に、
    前記分類手段に入力される次のレコードが、前記分類手
    段から出力されたレコードの出所となったストリング中
    に残っているレコードのうちの最小のレコードである様
    な順序づけであり、前記分類手段は、前記併合モード時
    にレコードのタグを前記分類手段からの出力の前に検査
    して動作速度を高める手段を含むことを特徴とする分類
    システム。
  3. (3)分類されるべきレコードのグループの入力のため
    の入力手段と、分類済みレコードの出力のための出力手
    段と、複数の処理要素及び前記処理要素に付随する記憶
    要素から成る分類手段と、から成る分類システムであっ
    て、各記憶要素は、分類操作時に一つの処理要素から他
    の処理要素へ転送されるべきレコードデータの複数のバ
    イトを記憶する様になっており、前記記憶要素の各々は
    、分類されるべきレコード内のバイトの数に比例する数
    の行を有するRAM部と、分類操作時に前記RAMの指
    標付けを制御する可変長カウンタ手段とから成ることを
    特徴とする分類システム。
  4. (4)前記可変長カウンタ手段は、プログラマブルな長
    さを有することを特徴とする請求項3に記載の分類シス
    テム。
  5. (5)前記可変長カウンタ手段は、デコーダを含み、こ
    のデコーダの入力は、レコード長の1/2から1を引い
    て得られる長さであり、前記デコーダの出力は単一のビ
    ットを1ビット可変長シフトレジスターに装填し、前記
    単一ビットは前記RAM部の前記行を使用可能にするこ
    とを特徴とする請求項4に記載の分類システム。
  6. (6)限られた数のレコードのグループが入力されると
    共にレコードの前記グループを分類された順に出力する
    分類手段と共に使用する併合システムであって、前記併
    合システムは、各々分類された順にレコードを包含する
    分類済みレコードのストリングを含む前記分類手段にレ
    コードを供給する入力手段と、前記分類手段の分類した
    レコードのストリングの記憶を行う出力手段と、前記入
    力手段、分類手段及び出力手段の制御を行う分類制御手
    段と、から成っており、前記分類制御手段は複数の併合
    操作を行い、前記併合操作の各々は、分類済みレコード
    の複数の前記ストリングのレコードを前記分類手段に供
    給して前記分類手段により分類済みレコードの前記複数
    のストリングの併合を行わせて、前記ストリングの前記
    レコードの全てを分類された順に包含する単一のより大
    きなストリングを作らせる操作を包含し、前記分類制御
    手段は、前記複数の併合操作を行って複数の前記の、よ
    り大きなストリングを形成させた後、前記の複数の、よ
    り大きなストリングを併合して、前記の、より大きなス
    トリングの前記レコードの全てを分類された順に包含す
    る、更に大きな単一のストリングを形成し、前記分類手
    段は、分類を行ってN個のレコードの分類済みストリン
    グを作るN−1個の処理要素を含み、前記分類制御手段
    は、三つのフェーズ、即ち、前記レコードの全てが分類
    又は併合されるまで一連の分類及び併合操作を行う入力
    フェーズと、前記分類済みストリングの数をN以下に減
    らす一連の出力フェーズ併合から成る出力フェーズと、
    前記分類済みストリングの全てを1個の最終分類済みス
    トリングに併合する最終併合フェーズと、において動作
    することを特徴とする併合システム。
  7. (7)複数の領域に分割された中間記憶域を含み、前記
    入力フェーズは、N個の分類済みレコードのN個のスト
    リングを第1領域に作り、前記のN個のストリングを併
    合して第2領域の1/Nに格納されるN×N個の分類済
    みストリングとし、前記第2領域がN個のN×N個の分
    類済みストリングを内蔵するに到るまでN個の分類済み
    レコードのN個のストリングを前記第1領域に作って前
    記N個のストリングを併合し、前記レコードの全てが分
    類又は併合されるまで、より大きな長さを持っていて前
    記中間記憶域の順次に大きくなる領域に格納されるN個
    のストリングの系列を作り続ける操作を含むことを特徴
    とする請求項6に記載の併合システム。
  8. (8)前記出力フェーズは、前記分類済み及び前記併合
    済みストリングの全てをN個以下の分類済みストリング
    に減らす一連の併合を含むことを特徴とする請求項7に
    記載の併合システム。
  9. (9)前記最終併合フェーズは、N個以下の分類済みス
    トリングを併合して1個の最終分類済みストリングとす
    ることを含むことを特徴とする請求項8に記載の併合シ
    ステム。
  10. (10)分類手段によって、限られた数のレコードのグ
    ループを分類して、分類された順のレコードのストリン
    グとする分類方法であって、レコードの未整理のグルー
    プを前記分類手段に逐次送り、レコードの複数の分類済
    みストリングを一時記憶し、前記の、一時記憶された分
    類済みレコードのストリングを前記分類手段に供給し、
    前記ストリングの前記レコードの全てを分類された順に
    内蔵する、より大きなストリングを記憶し、各レコード
    に含まれるタグデータを検査して、最後のレコードの出
    所となったストリングを識別し、各レコードに含まれる
    タグデータを、前記分類手段からの出力の前に検査して
    動作速度を高めるステップから成ることを特徴とする方
    法。
  11. (11)複数のレコードを分類する方法であって、分類
    されるべきレコードのグループを入力し、分類されたレ
    コードを出力し、複数の処理要素と前記処理要素に付随
    する記憶要素とを使用して分類を行い、分類操作時に前
    記記憶要素を通じてレコードのバイトを一つの処理要素
    から他の処理要素に転送し分類操作時に前記記憶要素と
    して使用されるRAMの指標付けを制御するために可変
    長カウンタを使用するステップから成ることを特徴とす
    る方法。
JP2172503A 1989-06-30 1990-06-29 分類加速装置のための速度及びメモリー制御 Expired - Lifetime JPH0776906B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37434289A 1989-06-30 1989-06-30
US374342 1989-06-30

Publications (2)

Publication Number Publication Date
JPH03129426A true JPH03129426A (ja) 1991-06-03
JPH0776906B2 JPH0776906B2 (ja) 1995-08-16

Family

ID=23476375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2172503A Expired - Lifetime JPH0776906B2 (ja) 1989-06-30 1990-06-29 分類加速装置のための速度及びメモリー制御

Country Status (2)

Country Link
US (2) US5349684A (ja)
JP (1) JPH0776906B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200480810Y1 (ko) * 2015-10-06 2016-07-08 농업회사법인 코엔에프(유) 드립식 음료추출용기

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579514A (en) * 1993-10-22 1996-11-26 International Business Machines Corporation Methodology for increasing the average run length produced by replacement selection strategy in a system consisting of multiple, independent memory buffers
US5497486A (en) * 1994-03-15 1996-03-05 Salvatore J. Stolfo Method of merging large databases in parallel
US5561277A (en) * 1994-03-15 1996-10-01 Delaware Capital Formation, Inc. Dual processor control system with continuous parallel interface integrity testing
JP3515810B2 (ja) * 1994-08-16 2004-04-05 富士通株式会社 ソート処理方法および装置
US6311184B1 (en) * 1995-10-06 2001-10-30 International Business Machines Corporation Sort and merge functions with input and output procedures
US6388683B1 (en) 1996-06-25 2002-05-14 International Business Machines Corporation Object oriented data arranger graphical user interface
US6271693B1 (en) * 1997-12-12 2001-08-07 United Microelectronics Corp. Multi-function switched-current magnitude sorter
JP3344559B2 (ja) * 1998-06-19 2002-11-11 三菱電機株式会社 マージソート処理装置
US6519593B1 (en) * 1998-12-15 2003-02-11 Yossi Matias Efficient bundle sorting
JP3640580B2 (ja) * 1999-11-11 2005-04-20 富士通株式会社 ソート・マージ処理装置
US7430562B1 (en) 2001-06-19 2008-09-30 Microstrategy, Incorporated System and method for efficient date retrieval and processing
US6859798B1 (en) 2001-06-20 2005-02-22 Microstrategy, Inc. Intelligence server system
EP1528489A1 (en) * 2003-09-11 2005-05-04 Sap Ag A financial data evaluation method
US7861253B1 (en) 2004-11-12 2010-12-28 Microstrategy, Inc. Systems and methods for accessing a business intelligence system through a business productivity client
US8761659B1 (en) 2005-02-11 2014-06-24 Microstrategy, Inc. Integration of e-learning with business intelligence system
US7102544B1 (en) * 2005-05-31 2006-09-05 Altera Corporation Method and system for improving memory interface data integrity in PLDs
US7590624B2 (en) * 2005-09-12 2009-09-15 Lsi Corporation Process for identifying duplicate values in very large data sets
US7818316B2 (en) * 2006-12-18 2010-10-19 International Business Machines Corporation Variable density query engine
US10089379B2 (en) * 2008-08-18 2018-10-02 International Business Machines Corporation Method for sorting data
US8478775B2 (en) * 2008-10-05 2013-07-02 Microsoft Corporation Efficient large-scale filtering and/or sorting for querying of column based data encoded structures
US8190943B2 (en) * 2009-03-13 2012-05-29 Massachusetts Institute Of Technology Systolic merge sorter
TW201115459A (en) * 2009-10-21 2011-05-01 Etron Technology Inc Data processing circuit
JP5311491B2 (ja) * 2009-11-17 2013-10-09 Necシステムテクノロジー株式会社 グラフィクス頂点処理装置およびグラフィクス頂点処理方法
US20120254199A1 (en) * 2011-03-31 2012-10-04 Harumi Kuno Merge optimization system
US9607036B2 (en) 2013-08-21 2017-03-28 International Business Machines Corporation Managing a data set
US10523596B1 (en) * 2015-02-06 2019-12-31 Xilinx, Inc. Circuits for and methods of merging streams of data to generate sorted output data
CN109492191B (zh) * 2018-09-17 2024-05-07 平安科技(深圳)有限公司 计算投保概率的方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4090249A (en) * 1976-11-26 1978-05-16 International Business Machines Corporation Apparatus for sorting records in overlap relation with record loading and extraction
JPS6142031A (ja) * 1984-08-03 1986-02-28 Nippon Telegr & Teleph Corp <Ntt> ソ−ト処理装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3587057A (en) * 1969-06-04 1971-06-22 Philip N Armstrong Data sorting system
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
UST972003I4 (en) * 1971-11-17 1978-07-04 Sort/merge algorithm
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
UST912008I4 (en) * 1972-12-26 1973-07-10 Method for reordering the records of a file
UST913007I4 (en) * 1973-02-20 1973-08-14 Sort process
UST921028I4 (en) * 1973-09-17 1974-04-23 Sort process
US3931612A (en) * 1974-05-10 1976-01-06 Triad Systems Corporation Sort apparatus and data processing system
US3997880A (en) * 1975-03-07 1976-12-14 International Business Machines Corporation Apparatus and machine implementable method for the dynamic rearrangement of plural bit equal-length records
US4064556A (en) * 1975-06-23 1977-12-20 Sperry Rand Corporation Packed loop memory with data manipulation capabilities
US4030077A (en) * 1975-10-16 1977-06-14 The Singer Company Multistage sorter having pushdown stacks for arranging an input list into numerical order
US4031520A (en) * 1975-12-22 1977-06-21 The Singer Company Multistage sorter having pushdown stacks with concurrent access to interstage buffer memories for arranging an input list into numerical order
US4078260A (en) * 1976-05-12 1978-03-07 International Business Machines Corporation Apparatus for transposition sorting of equal length records in overlap relation with record loading and extraction
US4131947A (en) * 1976-08-06 1978-12-26 Armstrong Philip N Random access digital sorter
US4209845A (en) * 1977-01-25 1980-06-24 International Business Machines Corporation File qualifying and sorting system
US4101968A (en) * 1977-04-04 1978-07-18 The Singer Company Sorter with overlap operation
JPS5694589A (en) * 1979-12-27 1981-07-31 Nec Corp Memory device
US4425617A (en) * 1981-03-23 1984-01-10 Rca Corporation High-speed data sorter
US4417321A (en) * 1981-05-18 1983-11-22 International Business Machines Corp. Qualifying and sorting file record data
US4514826A (en) * 1981-05-18 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Relational algebra engine
US4464732A (en) * 1982-03-19 1984-08-07 Honeywell Inc. Prioritized sorting system
US4499555A (en) * 1982-05-06 1985-02-12 At&T Bell Laboratories Sorting technique
US4595995A (en) * 1983-02-17 1986-06-17 At&T Bell Laboratories Sort circuit and method using multiple parallel sorts of the sorted items
US4520456A (en) * 1983-02-18 1985-05-28 International Business Machines Corporation Dual reciprocating pipelined sorter
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
US4799152A (en) * 1984-10-12 1989-01-17 University Of Pittsburgh Pipeline feedback array sorter with multi-string sort array and merge tree array
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
US4962451A (en) * 1985-11-07 1990-10-09 International Business Machines Corporation Cache-effective sort string generation method
EP0244958A3 (en) * 1986-04-09 1989-10-25 Howard B. Demuth Sorter method and apparatus using multiple column merger
US5084815A (en) * 1986-05-14 1992-01-28 At&T Bell Laboratories Sorting and merging of files in a multiprocessor
US4903242A (en) * 1987-05-06 1990-02-20 Nec Corporation Serial access memory circuit with improved serial addressing circuit composed of a shift register
JP2753260B2 (ja) * 1987-05-13 1998-05-18 株式会社日立製作所 マージ方法
US4873671A (en) * 1988-01-28 1989-10-10 National Semiconductor Corporation Sequential read access of serial memories with a user defined starting address
US5111465A (en) * 1989-06-30 1992-05-05 Digital Equipment Corporation Data integrity features for a sort accelerator
US5142687A (en) * 1989-06-30 1992-08-25 Digital Equipment Corporation Sort accelerator with rebound sorter repeatedly merging sorted strings
US5185886A (en) * 1989-06-30 1993-02-09 Digital Equipment Corporation Multiple record group rebound sorter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4090249A (en) * 1976-11-26 1978-05-16 International Business Machines Corporation Apparatus for sorting records in overlap relation with record loading and extraction
JPS6142031A (ja) * 1984-08-03 1986-02-28 Nippon Telegr & Teleph Corp <Ntt> ソ−ト処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200480810Y1 (ko) * 2015-10-06 2016-07-08 농업회사법인 코엔에프(유) 드립식 음료추출용기

Also Published As

Publication number Publication date
US5349684A (en) 1994-09-20
JPH0776906B2 (ja) 1995-08-16
US5855016A (en) 1998-12-29

Similar Documents

Publication Publication Date Title
JPH03129426A (ja) 分類加速装置のための速度及びメモリー制御
US5452451A (en) System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions
US4210961A (en) Sorting system
EP0127753B1 (en) Method for executing a distribution sort
JPH03116323A (ja) リバウンド分類装置を併合装置として使用する分類加速装置
US5319651A (en) Data integrity features for a sort accelerator
CN103999035B (zh) 用于状态机中的数据分析的方法及系统
US5218698A (en) Garbage collection system for a symbolic digital processor
US5185886A (en) Multiple record group rebound sorter
US6760821B2 (en) Memory engine for the inspection and manipulation of data
JPH04247571A (ja) データベースレコード処理装置
JPS62113234A (ja) レコ−ドセツト分類方法
US20020065793A1 (en) Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes
US7403944B2 (en) Reduced comparison coordinate-value sorting process
JPH03129521A (ja) 分類加速装置の安定分類
Saucier et al. Multi-level synthesis on PALs
JPS6142031A (ja) ソ−ト処理装置
JPS61210478A (ja) ベクトル処理装置
JPH03129520A (ja) 分類加速装置の制御
JPH0317780A (ja) 記号列検索方法および装置
Parpia et al. A program for generating complete active spaces for relativistic atomic structure calculations
Scherson et al. Multi-operand associative arithmetic
EP0335489B1 (en) Concurrent sorting apparatus and method
JPH048814B2 (ja)
JPH04336324A (ja) データ選択処理方法