JPH03116323A - リバウンド分類装置を併合装置として使用する分類加速装置 - Google Patents

リバウンド分類装置を併合装置として使用する分類加速装置

Info

Publication number
JPH03116323A
JPH03116323A JP2172514A JP17251490A JPH03116323A JP H03116323 A JPH03116323 A JP H03116323A JP 2172514 A JP2172514 A JP 2172514A JP 17251490 A JP17251490 A JP 17251490A JP H03116323 A JPH03116323 A JP H03116323A
Authority
JP
Japan
Prior art keywords
records
classification
record
string
input
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
JP2172514A
Other languages
English (en)
Other versions
JPH0776910B2 (ja
Inventor
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
Original Assignee
Digital Equipment 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 filed Critical Digital Equipment Corp
Publication of JPH03116323A publication Critical patent/JPH03116323A/ja
Publication of JPH0776910B2 publication Critical patent/JPH0776910B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/36Combined merging and sorting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • 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装置は公
知である。IBMの開発したリバウンド分類装置は、デ
ータが左側に沿って流れ下り、右側に沿って流れ上るU
形状のパイプラインを成すものとして視覚化することの
出来る一組の処理要素を含む。該処理要素は、同時に作
動して、分類処理を高速化する。各要素は、二つのレコ
ードからのデータを比較し、その比較の結果に応じて、
左側に沿っての垂直下降運動及び右側に沿っての垂直上
昇運動を行うか、又は、「比較的に重い」レコードが左
下方へ動かされ且つ「比較的に軽い」レコードが右上方
へ動かされて結局は右側の上端から分類された順に出て
ゆくこととなる様に水平交換を行う。この種のリバウン
ド分類装置は、分類操作の高速化に利点を有するが、所
要のハードウェアのコストが高いので、特に多数のレコ
ードを分類するために斯かる分類装置を広く使用するこ
とが出来なかった。
複数の処理要素を使う他の種類の分類システムが提案さ
れている。しかし、全ての既知の種類のシステムには、
特に作動速度、ハードウェアのコスト、安定性及び信頼
性に関して限界がある。
(発明の概要) 本発明の成る面は、従来の分類装置の問題の根源及び限
界の発見と認識に関する。処理動作が数個の要素によっ
て同時に行われる分類装置は、分類操作を高速化するの
には有利であるが、分類できるレコードの個数が限られ
ているという点で限界がある。例えば、前述のIBMの
分類装置は、分類要素の総数より一つだけ多いレコード
を含むレコードのグループを分類できる。よって、15
個の処理要素は、最大で16個のレコードを含むグルー
プを分類する。大規模な分類では、斯かるシステムを使
うハードウェアの量とコストとは膨大となる。
本発明の分類加速装置にはリバウンド分類装置を設けら
れ、限られた数の処理要素が同時に作動して割合に少数
のレコードをグループに分類する。
この時、同じリバウンド分類装置が、分類きれたグルー
プを併合して、より小さなグループのレコードの全てを
分類された順に包含する大きなグループにするのにも使
われる。本発明の分類加速装置では、例えば16個のデ
ータ項目を分類するハードウェアが、16路・併合を行
うのにも使われる。分類されるべきレコードの個数が大
きくなっても、大分類のための処理要素の数を増やす必
要はない。
本発明を取り入れた分類加速装置は、典型的にはアドレ
ス及びデータのバスを通じて上位コンピュータと上位メ
モリーとに接続される。該分類加速装置は、上位処理装
置とは独立に作動してレコードを高速で分類し、その分
類されたレコードを上位メモリーに格納する。該分類加
速装置の独立動作によって、上位コンピュータは、分類
及び併合操作が行われているときに自由に他の操作を行
うことが出来る。
好適な実施例では、分類加速装置は、入力部と、出力部
と、分類制御部と、分類部とを含む。分類制御部は、入
力部を制御してレコードのグループを分類部へ逐次に送
らせると共に、出力部を制御して複数の分類されたグル
ープを局所作業メモリー又は上位コンピュータのメモリ
ーの作業部分に格納させる。入力部、分類部、及び出力
部は、分類制御部から制御されて、レコードのグループ
を未分類の順序で受は取り、次にこのレコードのグルー
プの分類を、分類された順序で該グループを格納する。
これは、次に、分類されたレコードのグループを併合し
て、大きな分類されたグループ又はストリングにする。
該分類加速装置の分類部は、1期間に、成る最大個数の
レコードを下降順又は上昇順に分類することが出来、そ
の数は、成る実施例では16である。分類された16の
グループが作られると、これらのグループを一連の操作
を通じて併合して一つの大きな分類済みストリングとす
ることが出来る。16個の大きな分類済みストリングが
作られると、それらは併合されて、より長いストリング
となる。全てのレコードが分類されるまで、各回で16
倍大きなストリングを作りながら、このプロセスが繰り
返される。この方法は、Nlogwを越えない値に比例
する速度で分類をするが、ここでNはレコードの数であ
り、Wは処理要素の数より1だけ大きい数である。
この様な分類及び併合の機能を達成するために、分類部
又はリバウンド分類装置は僅かに15個の処理要素を有
するだけでよい。処理要素はレコードのキーバイトを比
較して順序を決める。処理要素は、2個のレコード記憶
要素を介して互いに接続される。処理要素及びレコード
記憶要素の構成は垂直のコラムを見ることが出来、新た
に入力されたレコードは該コラムの頂部左側に入り、分
類されたレコードは該コラムの頂部右側から出てゆく。
レコードは16個のグループに分類され、格納部又は作
業空間メモリーに格納される。充分な数のグループが分
類された後、併合操作が始まる。
併合のために、どの分類されたグループに属するかを示
すタグが各レコードに付される。上昇分類では、各グル
ープの最小のレコードは1.リバウンド分類装置から押
し出されるまでリバウンド分類装置内に置かれる。この
レコードは、分類された各グループの最小のレコードの
全集合のうちの最小のレコードである。リバウンド分類
装置に送り込まれた次のレコードは、全てのレコードの
うちの最小のレコードを以前から含んでいたグループか
ら逐次に選択される。この新しいレコードは、分類され
たグループに由来するものであるので、最初の最小のレ
コードに等しいか又はそれより大きくなければならない
。この手順は継続され、新しいレコードは、最後に出力
されたレコードの出所となったグループから選択される
。全てのストリングが使い尽くされると、併合は完了し
、分類済みレコードの一つの大きなグループが出来てい
る。
本発明の分類及び併合機能を迅速に且つ効率的に達成す
るために、本設計に色々な特徴が取り入れられる。外部
ハードウェアとの協働で、データが該分類加速装置に入
った点から、それが上位処理装置に戻るまで、そのデー
タは変造に関して検査される。それらのレコードが強化
されたリバウンド分類装置から出た後、となり合うレコ
ードの大きさを比較して、それらが適切に並べられてい
るか否か判定することによって、該分類加速装置の分類
及び併合特徴の正しい動作も検査される。
データが該システムを通過する際に該データの保全性を
検査する二つの方法が使われる。第1の方法では、バイ
トパリティを使ってデータ伝送のエラーを検出する。デ
ータの8ビツトは9個のビット値でひ表される。余分の
ビットは、データの出所で計算されたパリティ値を示す
。レコードの保全性は、送信されたデータからパリティ
値を計算し直し、その新しく計算された値を、送信され
たパリティビットと比較することによって検査される。
不一致は、伝送エラーを示す。
データ保全性を保証するために使われる第2の方法は、
2レベル検査合計方式を使用する。検査合計は、各レコ
ードがリバウンド分類装置に入ってくるときに多数のバ
イトに対して計算される。
検査合計は、後に、強化されたリバウンド分類装置から
レコードが出てゆくときに計算し直されて、先に計算さ
れていた検査合計と比較される。この比較により、リバ
ウンド分類装置で発生することある2種゛類のエラーが
検査される。第1の種類のエラーは、データ経路での単
一ビット故障(記憶要素故障を含む)に由来し、第2の
種類は、レコード同士の間の不適切に制御されたバイト
のスワッスング(交換)に由来する(処理要素制御故障
)分類順序検査装置は、強化されたリバウンド分類装置
から出てゆ(レコードを、適切な分類について検査する
。シフトレジスターとして作用する特別の記憶要素は、
一つのレコードを保持し、比較論理と協働して、分類さ
れたレコードが適切な順序に並べられているか否か判定
する。該比較論理の出力は、リバウンド分類装置がレコ
ードを不適切に分類したか否かを示す。
分類順序検査装置は、隣接するレコードのキーが等しい
か否かを示す「タイjビットも提供する。
ユーザーソフトウェアは、この「タイjビットを利用し
て、分類加速装置の容量を越えたキーフィルドに対して
分類を行うか、或いはユーザーが重複するレコードの分
類後除去を行うのを補助する。
本発明に従って構成された分類加速装置は、好適な実施
例では、ハードウェア要件を極めて小さくしながら、多
数のレコードの高速で安定した分類を達成する特徴を更
に含んでいる。一つの特徴は、分類加速装置で多数の分
類/併合を行うためのパイプライン制御である。このパ
イプライン制御は、異なるグループからのレコードを混
合せずに、且つ、新しいレコードのグループを該リバウ
ンド分類装置で分類する前に該リバウンド分類装置から
見かけレコードを流すことを必要とせずに、レコードの
グループを分類することを可能にする。
該パイプライン制御は1.先のグループの最後のレコー
ドが第1処理要素によって検査された直後に分類加速装
置が新しいレコードのグループをリバウンド分類装置に
押し込み始めることを可能にする。パイプライン制御は
、リバウンド分類装置と並列の一系統のシフトレジスタ
ーにより達成される。新しいレコードのグループがリバ
ウンド分類装置に入る時、新しいレコードの組かりバウ
ンド分類装置に入ったことを示す境界値か第1パイプラ
インシフトレジスターにセットされる。該境界値は、第
1のレコードと共に、処理要素を通過するとき、シフト
レジスターの該系列を通してシフトされる。該値は、該
処理要素に対して、該境界値に続(レコードを、他のグ
ループのレコードと比較してはならないことを示す。こ
の様にして、リバウンド分類装置は完全にレコードが装
填された状態に保たれることが出来、レコードの随意の
数の異なるグループのレコードのローディング及びアン
ローディングが重なり合うことが可能となる。
分類加速装置の他の特徴は、安定分類の実行に関する。
安定分類は、等しいキーを持ったレコードは、入る際と
同じ相対的順序で分類加速装置から出てゆく様な分類で
ある。安定分類は、等しいキーを持ったレコードの順序
が既に決まっている様なアプリケーションで必要とされ
るものである。
安定分類をリバウンド分類装置に組み込むために、追加
のハードウェアが付加され、アルゴリズムが修正されて
いる。
安定分類は、レコードの出所であるグループにより、そ
のレコードを識別するビットをセットすることによって
実施される。このグループ指定は、等しいキーを有する
異なるグループからのレコードを、入ってきた順序でリ
バウンド分類装置から出てゆかせる。「順序」ビットは
、等しいキーを持った同じグループからのレコードを、
入ってきた順にリバウンド分類装置から出てゆかせる。
分類加速装置の他の特徴は、データを格納するのに要す
るメモリーの量のより約10%程度大きい作業空間メモ
リーを必要とするに過ぎなくする様な併合先読み/メモ
リー管理構成に関する。この特徴は、メモリーの使用効
率を高めるだけでなく、作業空間メモリーを線型拡張し
、これにより作業空間の上位システム管理を簡単にする
。最適の併合により、データを処理する回数が減り、従
って、併合/分類アルゴリズムを実行するのに要する時
間が短(なる。
作業空間記憶装置の割付は、分類制御部によって管理さ
れる。分類制御部は、分類されたデータに充分な記憶装
置が配分されているが否かを判定する。好適な実施例で
は、拡張された併合/分類アルゴリズムが入カフニーズ
及び出力フェーズの使用により分類及び併合の順序づけ
を制御する。
入力フェーズは、分類及び併合から成り、入力ストリン
グを構成する未分類レコードの全てが、レコードのグル
ープを分類することにより又はレコードのグループを併
合することによって処理され終わるまで、続(。全ての
入力レコードが分類又は併合された後、出力フェーズが
始まる。
この時点で、作業空間記憶装置の複数の領域に数個の分
類済みグループ又はストリングがある。
出力フェーズは、一連の併合と、これに続(、レコード
の分類を完了させる最後の併合とから成る。
分類加速装置の併合機能の速度を更に高めるために、分
類加速装置はストリング番号又はタグ抽出先読み特徴を
利用する。本発明のこの特徴は、分類制御部により作ら
れた、与えられたレコードがどの入力ストリングに由来
するものであるのかを示す情報を利用する。この情報は
、分類制御部が次のレコードをリバウンド分類装置に送
ることを可能にするために必要である。先に記載したよ
うに、適切な併合は、次の入力レコードが最後の出力レ
コードと同じグループに由来するレコードであることを
必要とする。若しストリング情報が分類制御部に送られ
るのが遅過ぎると、リバウンド分類装置は次の入力レコ
ードを待ちながら機能停止する。大概の場合、タグ先読
みは次の分類済みレコードがリバウンド分類装置から出
てゆく前にタグ情報を分類制御部に提供する。これによ
り、次の入力レコードはリバウンド分類装置の入力で待
機することが出来るので、併合操作に遅延は生じない。
タグ先読み論理は、最小のレコードのグループ(上昇分
類の場合)を、それが実際に該分類装置から出力される
前に、早く決定する。これにより、次のレコードが出力
される前に分類加速装置は次の入力レコードへアクセス
を開始することが出来る。この技術を使って、非常に短
いレコードの場合、又は分類判定がレコードに対して非
常に遅くなされる場合を除いて、併合のレコード間遅延
を完全に無(することが出来る。
該分類加速装置の一つの付加的特徴は、指標付けを行っ
て、レコード記憶要素として使われる可変長シフトレジ
スターを実現する循環RAMを使用することである。レ
コードデータが処理要素間を通過する該レコードデータ
を保持するためにRAMが使われる。この方法では、色
々なレコードの大きさに対処する様に、1ビット可変長
シフトレジスターがプログラムされる。該ビットは、該
可変長シフトレジスターを通してシフトされるとき、R
AMの各行を順次に作動可能に、RAMはデータを読み
出すか又は書き込む。よって、この特徴は、極めて少な
い量の論理を使いながら、長さが可変となる様にしてシ
フトレジスターを実現する。この方法は、低速で、作動
に多量の電力を要するデータ用シフトレジスターを使用
しない。
他の特徴及び利点は、添付図面と関連させて以下の詳し
い記述を読むことにより、もっと充分に理解できる。
(実施例) 参照数字lOは、本発明の原理に従って構成された分類
加速装置を示す。分類加速装置10は、アドレス及びデ
ータバス13を通じて上位コンピュータ11、上位メモ
リー12、及び作業空間メモリー18に接続されており
、上位コンピュータ11からコマンドデータを受信して
、上位メモリー12に格納されているレコードを分類し
、その分類したレコードをメモリー12に格納するよう
になっている。
コマンドデータは、例えば、分類されるべきレコードの
一グループのメモリー12におけるスタートアドレス又
は併合されるべきレコードのスタートアドレス、各グル
ープ内のレコードの長さ、各レコード内のキーフィール
ドの長さ、所望の分類のモード、グループ内のレコード
の数、及び分類済みレコードを格納するメモリー12内
のスタートアドレスを含む。このコマンドデータの受信
後、分類加速装置10は、上位処理装置とは独立に作動
して、指定されたレコードを高速で分類又は併合し、そ
の分類されたレコードを上位メモリー12に格納する。
上位コンピュータは、コマンド信号を分類加速装置10
に供給した後、他の操作を自由に行う。
図示の分類加速装置10は、システムインターフェース
15を通じて上位バス13に接続された局所アドレス及
びデータバス14を含む。作業空間を提供する局所メモ
リー16は、局所バス14に接続されている。局所メモ
リー16は随意のものであるが、作業空間は図示のシス
テムに必要なものである。図示の局所メモリー16の代
わりに、或いは、それに加えて、上位メモリー12の一
部を使って、局所メモリー16の提供する作業空間の代
わりとなる作業空間を設けることが出来る。
局所バス14は、入力部21、出力部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を使って、修正されたレコードを
作る。修正されたレコードの連続的なストリームをリバ
ウンド分類装置18に送ることが出来、各々の修正され
たレコードは成る偶数個の逐次バイトから成る。
好ましくは、修正されたレコードは、各々、第2図に示
されている形を有し、該分類装置に最初に入る先行の1
個以上のキーバイトにと、これに続くタグバイトT(バ
イト挿入装置25により付加される)と、1個以上のデ
ータバイトDとを含む。レコード中に偶数個のバイトを
得ることが必要な場合には後続のパッドバイトPが、図
示の様に、バイト挿入装置25により各レコードに付加
される。
タグバイトTの挿入は、与えられたレコードの出所とし
ての入力ストリングを確実に且つ効率的に識別すること
を可能にし、且つ後述するように迅速な併合操作を容易
にする特徴である。他の特徴によると、後述するように
、高度に安定した分類操作を保証するために使われる「
順序」ビットを各レコードが含んでおり、このr順序」
ビットは好ましくはタグバイトに包含される。
操作の入力フェーズでは、分類操作が行われて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個の少
ないレコードを包含することがある。形成されることの
出来るストリングの数は、使用可能なメモリーによって
のみ限定される。
入カフニーズの分類及びアップ併合操作が完了すると、
出カフニーズが始まって、必要に応じて併合が行われて
ストリングの数が16以下に減らされ、次に最後の併合
が行われて分類済みレコードが上位メモリー12の、上
位コンピュータ11からの最初のコマンドで指定される
アドレスから始まるアドレスに直接書き込まれる。更に
他の特徴は、併合されるべきストリングの作業メモリー
又は中間メモリーにおける格納の管理と、格納されてい
るストリングを中間メモリーから併合のためにリバウン
ド分類装置18に供給する方法とに関する。
分類加速装置10は、パリティ及び検査合計の検査を含
む検査操作に関連する特徴も含んでおり、これらの検査
は、処理エラーを検出すると共に、分類加速装置10か
ら出力される分類済みレコードの保全性を保証しながら
最適な分類及び併合の操作が出来る様に行われる。
分類加速装置10の心臓部は、第3図に単純化された形
で示されているリバウンド分類装置18である。第4A
図及び第4B図は、該分類装置中のデータの流れの、簡
単化された例を示す。リバウンド分類装置18の構成は
、第5図に詳しく示されており、分類装置18の個々の
回路は他の図に示されている。
分類装置18は、典型的には名前又は番号のASCII
表示を提供するバイトであるレコードのキーに割り当て
られた数値に一致する順にレコードを配列する。該分類
装置は、希望に応じてレコードを上昇又は下降の順に分
類することが出来る。本書において動作を記述し、混乱
をなるべ(無くするために、レコードキーの比較に言及
するときには「より大きいj及び「より小さい」という
用語を使用する。「より大きい」キー及び「より小さい
」キーに付随する実際のキー値は、行われている分類が
上昇分類である下降分類であるかに依存し、本書におけ
る「より大きいj及び「より小さい」という用語の使用
は発明に対する限定と解されるべきではないことが分か
る。
第3図を参照すると、分類装置I8は、実際にN個のレ
コードキーを比較することの出来るN−1要素のリバウ
ンド分類装置である。Nは図示の実施例では16であり
、N−1個の処理要素はPE、ないしPEN−1と示さ
れていて、第1図に示されている部40−54に包含さ
れている。
キー比較は、−時に1バイトずつ、N−1個の処理要素
の全てで行われるか又は並列に動作する。
キーのバイトの比較は、キーからのバイトが一致しなく
なるまで続けられる。その時、該バイトの符号を除いた
二進値に基づいて、どのキーがより大きいか判断される
。上昇分類では、より大きなキーは、より大きな符号無
し二進バイト値を持っているキーである。下降分類では
、より大きなキーは、より小さな符号無し二進バイト値
を持っているキーである。
N−1要素リバウンド分類装置は、以下の特性を持った
ブラックボックスと見ることの出来るものである。N−
1個のレコードが装填された後、新しいレコードがこの
箱に投入されると、この新しいレコードと、既に該箱の
中にあるN−1個のレコードとの中の最小のレコードが
該箱から出てくる。
第3図に略図示されている様に、リバウンド分類装置は
、各々IER8として示されている要素間レコード格納
部を介して接続されたN−1個の処理要素から成ってお
り、2個のIER8が各PEに付随している。各PEは
各期間に2個の入力バイトを受は入れて2個の出力バイ
トを作る。
各I ER8は各期間に1バイトを受は入れて1バイト
を作る。各I ER8はレコードの半分を保持し、シフ
トレジスターとして作動する。I ER8のバイト入力
は出力においてR/2期間後に作られるが、ここでRは
レコード中のバイトの数である。処理要素及び要素間レ
コード格納部の構成は、垂直のコラムと見なすことの出
来るものであり、新しいレコードは該カラムの、第3図
の頂部左側及び右側から出入りする。
IER8要素は、次のようにしてPEに接続されている
: (a)  該コラムを下るPEmからの出力バイトは、
I ER8mへの入力である。
(b)  IER8mの出力は、IER8N+N−3へ
の入力であるIER8N−2を除いて、下降するPEm
+1への入力である。リバウンド分類装置への入力は、
PE0−\の入力である。
(C)該コラムを上昇するPEmからの出力バイトは、
該分類装置の出力であるPEOを除いて、I ER8N
−1+m−1への入力である。
(d)  I ER8N −1+m −1の出力は、P
Em−1への入力である。
より大きなキーを持ったレコード(最後のシーケンスで
遅くに分類するもの)は該コラムの底に向かって降下し
、より小さなキー持ったレコード(最後のシーケンスで
早くに分類するもの)は該コラムの頂部へ向かって上昇
する。本発明の加速装置では、比較されるべきレコード
のグループは、該コラムに入る新しいレコードが該コラ
ム中に既に在るレコードと混合されるのを防止する「境
界」条件を作ることによって分離される。これにより、
実際に、グループが該コラムから流し去られ、新しいグ
ループが装填される。
各PEは、該コラムを下降するレコード及び上昇するレ
コードの第1バイトが与えられたときに処理を開始する
。若し下降しているレコードが上昇しているレコードよ
り大きければ、それは該コラムを下降し続け、そして、
上昇しているレコードは該コラムを上昇し続ける。若し
下降しているレコードが上昇しているレコードより小さ
ければ、それは逆に該コラムを上昇させられ、上昇して
いたレコードは逆に該コラムを下降させられる。各IE
R8はレコードの半分を内蔵しているだけなので、偶数
番号のPEは、奇数番号のPEとは半レコードだけ位相
がずれている。
本発明の加速装置のパイプライン制御は、新しいレコー
ドが与えられた時、キーの終わりが到達した時、及びそ
れらを比較するべきか否か(「境界J条件)を知る様に
PEの順序づけを制御する。
第4A図及び第4B図において、4個の2バイトレコー
ドの組を分類すの単純化された3要素リバウンド分類装
置が示されており、図示の加速装置lOは僅か4バイト
だけを必要とするものであり、簡単のために、この例で
は2バイトを使われる。図示の単純化されたリバウンド
分類装置への下記の入力シーケンスを考察する。2個の
数字がそれぞれレコードである: 85393274 この例では、以下の仮定を用いる: (a)  該キーはレコードの全体である。
(bl  箱は処理要素を表す。
(C)箱と箱との間の垂直線は、1個の数字を保持する
要素間レコード格納部を表す。
(d)  垂直線の隣に示されている数字は、I ER
8に包含されているデータの値を表す。Xは、「無頓着
な人」データ(“don’ t care″date)
を示す。
(e)  r<−Jという記号は、新しいグループの第
1バイトを示す(r境界」条件)。
(f)PE状態は、PEの中に示されているrDs」1
rPV」、FPHJ、rEv」、及びrx XJという
記号で指示されている。
(栃 DS=決定状態(垂直に通過) (h)PV=垂直に通過 (i)PH=水平に通過 U)FV=垂直に押し進める(垂直に通過)(k)xx
=頓着しない(don’ t care) 。
図示の状態は、分類装置の動作を理解するのに役立つ。
例えば、PEの初期状態は、データをI ER8に装填
するrRV」である。4番目のクロック後に、最低のP
E要素がrDE」 (決定)状態に入り、二つの記録の
第1の可能な比較が行われる。
14クロツク後に最後のデータ値r5Jが分類装置の出
力に現れる。よって、該出力ストリームはr32397
485J となる。
第5図において、前述の処理要素PE01PEl及びP
EN−2は、部40.41及び54に包含されている。
部40の処理要素は、2個のマルチプレクサ65及び6
6、制御回路67及び比較器67を含む。上京側のUL
入入子ライン69、マルチプレクサ65の1入力とマル
チプレクサ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の全ての処理要素は、同じ機能を実行する
。各処理要素が、各期間に以下の情報を受は取る: (a)  第5図のULライン69を通じて加えられ蚤
、コラムを下降するレコードの次のバイト。
(b)  第5図のLRライン70を通じて加えられる
、コラムを上昇するレコードの次のバイト。
(C)  現在のバイトがレコードの最後のバイトであ
れば真であり、そうでなければ偽であるプール値。(こ
の値は第6図においてEloRECと呼ばれており、こ
れについては後述するが、これはPE制御論理を示す;
それは偶数番号のPEについてはERECと呼ばれ、奇
数番号のPEについては0RECと呼ばれる。)(dl
  現在のバイトがキーに続く第1のバイトであれば真
であり、そうでなければ偽であるプール値。(この値は
第6図ではEloTAGと呼ばれており、偶数番号及び
奇数番号のPEについてETAG及び0TAGと呼ばれ
る。)(e)  現在のレコードが「垂直に移動させら
れている」ならば真であり、そうでなければ偽であるプ
ール値。「垂直に移動」は、コラムを下るしコードから
のバイトはコラムを下って移動させられ、コラムを上る
レコードからのバイトはコラムを登って移動させられる
ことを意味する。
(この値は第6図においてFORCEVと呼ばれている
。) げ) 「上昇」分類については真で、「下降1分類につ
いては偽であるプール値。(この値は第6図でASCE
NDINGと呼ばれている。)各処理要素が、以下の内
部状態情報を維持する:(a)  現在のレコードのう
ちのどれが「より大きいjかということについて判断が
なされていなければ真であり、そうでなければ偽である
プール値。
(第6図のDECIDING、) (b)  判定がされた後に使用される、バイトがr垂
直に移動させられている」ならば真であり、バイトが「
水平に移動させられている」ならば偽であるプール値。
(第6図のPASSVo)受信された情報と現在の内部
状態情報とに基づいて、各処理要素は各期間に以下の情
報を作る:(a)  コラムを下るべき次のバイト。こ
のバイトは第5図のLLライン71から下降させられる
(b)  コラムを上るべき次のバイト。このバイトは
第5図のURライン72から上昇させられる。
(C)  内部状態情報についての新しい値。
処理要素の動作について、上記の情報に関して簡単に説
明する。処理要素が垂直に移動させる様にされているな
らば、下降するレコードの全てのバイトが下方に通過さ
せられ、上昇するレコードのバイトは、下記の判断プロ
セスとは無関係に上方に通過させられる。これは、分類
装置に装填をし、それを空にし、分類されるべきレコー
ドのグループを分離するのに使われる。
処理要素が垂直に移動させる様にされていなければ、次
の様になる。判断が既に行われていれば、先に行われた
その判断に基づいてバイトは垂直又は水平に移動させら
れ続ける。そうでなければ、現在の入力バイトが比較さ
れる。それらが等しくなければ、この時点で判断が行わ
れる。上昇中のバイトが下降中のバイトより大きければ
、上昇中のバイトは下方に移動させられ、下降中のバイ
トは上方に移動させられる(水平に移動)。そもなけれ
ば、上昇中のバイトは上方に移動させられ、下降中のバ
イトは下方に移動させられる(垂直に移動)。判断がさ
れる時、処理要素は、各レコードの残りのバイトを同じ
方向に移動させるために、垂直に移動させたか又は水平
に移動させたかを思い出す。
上昇/下降の入力の状態は、比較における大小の意味を
判断するのに使われる。
第3図の要素間レコード格納部即ち、I ER8は、バ
イトのレコードの半分を内蔵する可変長シフトレジスタ
ーである。Rの長さのレコードにっていは、期間Tにお
けるIER8へのバイト入力は、期間T+R/2でその
出力に作られる。これは、該シフトレジスターの長さが
R/2でなければならないことを意味する。前述したよ
うに、ユーザーレコードは、付加された少な(とも一つ
のバイト(タグバイト「を有し、生じた長さが奇数であ
れば、パッドバイトも付加される。
第5図に示されている回路において、各シフトレジスタ
ーは、比較器論理への安定なインターフェースを提供す
るラッチと組み合わせて記憶回路56のRAM部を使用
することによって実現される。第3図の第1シストレジ
スターI ER8Oは、RAM部74と読み書き回路7
6とによって実現されており、この回路76は、LL出
カライン71に接続された書込み入力と、出力ラッチ回
路78を通じて次の部41のUL入入子ライン69′接
続された読み出し出力とを有する。出力ラッチ回路78
は、該シフトレジスターの余分の行を形成し、キーバイ
トの比較のために安定した状態を保証する。この余分の
行のためのラッチと、少なくとも一つのRAM行とがデ
ータ経路中になければならないので、該シフトレジスタ
ーの最小サイズは2行である。これにより、リバウンド
分類装置のための最小レコード長さが4バイトに設定さ
れる。
RAMは、最大レコードサイズの半分から1を引いた数
に等しい個数の行と、処理要素の個数の2倍の8倍に等
しい個数のコラムとを有する。現行の実施例では、処理
要素の個数は15であり、各行は2X15X8、即ち、
240ビット幅となる。最大レコードサイズは40であ
るので、(40/2)−1、即ち、19個の行がある。
これで、全体としてのRAMサイズは4560ビツトと
なる。
RAM部74及び読み書き回路76によってシフトレジ
スターI ER8Oが構成されているのと同様に、第3
図のシフトレジスターIER8−1はRAM部80と読
み書き回路82とによって構成されており、この回路8
2は、部41のUR出カラインに接続された書込み入力
と、部40の処理要素のラインLRライン70に接続さ
れた出力ラッチ回路84を通じて接続された読み出し回
路とを有する。出力ラッチ回路84は、ラッチ回路78
と同様に、シフトレジスターの余分の行を形成する。
第5図に示されている部41及び54の処理要素及びシ
フトレジスターは、部40のそれらと実質的に同一であ
り、対応する要素はダッシュ記号及び二重ダッシュ記号
で指示されている。部41は例外であり、タグ先読み回
路100を含むものとして示されており、第13図ない
し第17図との関連で後述する様にして処理の中断を回
避する。
分類装置18のRAM部74及び80及びその他の部4
1−54の行イネーブルはRAMインデックス回路から
駆動され、後述するように、形の異なる二つの回路58
及び58′が第7図及び第8図に示されている。
分類装置18の部41−54は、境界指示を格納するよ
うに構成された要素を含むパイプライン制御回路60に
接続されており、この指示は、分類装置18におけるコ
ードのシフトと同期して一つの要素から他の要素ヘシフ
トされる。該要素のうちの成るものは、処理要素の制御
回路にFORCEV信号を加えて、成る状態の際に処理
要素に垂直方向にのみシフトを行わせて−グループのレ
コードの他のグループのレコードとの混合を回避する。
FORCEV信号を部40.41及び54に加えるパイ
プライン要素は第5図において参照数字91.92及び
93で示されており、該要素も境界条件信号をシフトさ
せる。追加のパイプライン要素は境界条件信号のシフト
のためだけに使われるが、部54.41及び40につい
てのパイプライン要素はそれぞれ参照数字94.95及
び96で指示されている。次に、パイプライン要素の動
作について、第11図との関連で詳しく説明する。
処理要素制御論理(第6図) 第6図は、部40の制御回路67の論理回路を示し、同
様の論理回路が制御回路67′及び67#と分類装置1
8の他の部の制御回路とに包含されている。前記のFO
RCEV信号は、ライン101を通じてORゲート10
2の一入力に加えられ、このゲートは出力をNEW  
PASS  Vライン103に出力する。ORゲート1
02の第2入力はマルチプレクサ1(14)に接続され
ており、このマルチプレクサは、ラッチ106の出力に
接続されたライン105上のDECIDING信号によ
って制御される。ラッチ10 ’6は、ORゲート10
8を通じて、ライン109上のE10REC信号から、
又は3入力を有するANDゲート110の出力から加え
られる信号から、制御される。
ANDゲート110の一入力はDECID INGライ
ン105に接続されている。第2入力はライン111を
通じて比較回路689の出力に接続されており、ここで
、上方側入力69及び下右側人カフ0の信号が等しいと
きにUL=LR信号が生成される。該ANDゲートの第
3入力はr−E10TAGJライン112に接続されて
いる。
マルチプレクサ1(14)の一入力はPASS  Vラ
イン113に接続されており、このラインはラッチ11
4の出力に接続され、このラッチにライン103上のN
EW  PASS  V信号が加えられる。マルチプレ
クサ1(14)の第2入力はORゲート116の出力に
接続されており、このゲートの一入力はUL=LRライ
ン111に接続され、第2入力はマルチプレクサ118
の出力に接続されている。マルチプレクサ118の一入
力はライン119を通じて、比較器68からのUL>L
R信号ラインに接続されている。
第2入力は、ライン120で比較回路68から加えられ
るUL/LR信号に接続されている。マルチプレクサ1
18はORゲート122の出力から制御され、このゲー
トは接続された入力ライン123及び124を有し、こ
れにASCEND ING信号及びE10TAG信号が
加えられる。第6図の制御論理の動作は、PE要素が行
う動作に関する以上の説明から明らかであろう。
前記した様に、RAM部74及び84及び分類装置18
の他の部41−54の行イネーブルはRAMインデック
ス回路から駆動されるが、形の異なる二つの回路58及
び58′が第7図及び第8図に示されている。
RAMインデックス回路(第7図) 第7図のRAMインデックス回路58は、単一のデコー
ダ131及びガウンタ132から成る。
該カウンタはカウント入力133を通じてU/2のカウ
ントを装填され、各カウントで装填された後、■までカ
ウントダウンし、その後、動作が反復される。カウンタ
132の出力は、デコーダ131及び多芯出力ライン1
34を通じて部40のRAM部74及び84と、他の部
41−54の対応するRAM部とに送られる。デコーダ
131の出力は、次の行に進む前に、RAM行イネーブ
ルを、最初は読み出しに、次に書込みに、駆動する。始
動時及びカランタカ月に達した後の初期値(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へのレコード長入力の半分から1を引いた値であ
る。デコーダの出力はOが該デコーダに入力されるとき
に表明されるデコーダ出力に該シフトレジスターの出口
端部が接続される様に、該シフトレジスターに接続され
ている。該シフトレジスターの次のビット(ビットO内
にシフトするもの)は、1が該デコーダに入力されると
きに表明されるデコーダ出力に接続されている、等々で
ある。
よって、デコーダ138の出力は単一のビットを該シフ
トレジスターに装填し、これはNシフト後に該シフトレ
ジスターの外にシフトするが、ここでNはレコード長の
半分から1を引いて得られる数である。これは初期化時
と、該ビットがシフトレジスターから出る時とに起こり
、斯(してリングを形成する。シフトとシフトとの間で
、使用可能にされた行は最初に読み出され、次に書き込
まれる。
レコード制御回路62(第9図及び第10図)第9図及
び第10図は、レコード制御回路62の諸部分を示す。
第9図に示されている部分62Aは、主としてレコード
タイミングに使用され、第10図に示されている部分6
2Bは主としてタグタイミングに使用される。これらの
部分は、処理要素及びパイプライン制御のためのタイミ
ング情報を作る。第9図及び第10図のレコード制御回
路は、初期化時に以下の情報を受は取る:偉)ユーザー
レコードのサイズの半分、U/2゜これは、レコードサ
イズが奇数ならばOに向かって先端から切られ、第9図
のライン141に加えられる。
(b)  キーのサイズ。これは第10図のライン14
2に加えられる。
第9図及び第10図のレコード制御回路は、次の様に、
構成要素を包含すると共に内部状態条件を維持する: (a)  第9図のレコードバイトカウンタRCTR1
43゜これはU/2に初期化され、期間毎に、カウンタ
値から得られるロード/デクリメント信号によりデクリ
メントされる(初期化時又はRLTR=1の時にロード
、その他の時はデクリメント)。ゼロを通過してデクリ
メントされると、カウンタ143はU/2にリセットさ
れる。
(b)  第10図のタグバイトカウンタT CT R
146゜これは、INITライン149で加えられる信
号により制御されるマルチプレクサ148を通じて加え
られる信号を通してKに初期化される。
カウンタ146は、期間毎にライン144上の信号によ
りデクリメントされる。デクリメントされた時にカウン
タ146がOであれば、該カウンタは、マルチプレクサ
148を通じてライン141から加えられる信号によっ
てU/2にセットされる。
ラッチ回路152の出力で第9図のライン150に生成
されるプール値RCNT、この回路152の入力は排他
的OR回路153の出力に接続されており、この回路1
53の一入力はカウンタ143のRCTR=O出力に接
続され、第2入力はライン150に接続されている。値
RCNTは、各PEにおいてどの半レコードが進行中で
あるかを示す。これは、レコードの第1の半分が偶数P
Eに入ろうとしており、レコードの第2の半分が奇数P
Eに入ろうとしていることを示す偽に初期化される。こ
れは、レコードバイトカウンタがゼロを通過してデクリ
メントされるときに変化する。
それが偽であれば真となり、真であれば偽となる。
次にタグバイトに会うのが奇数PEであるか偶数PEで
あるかを示しプール値TCNT、この値は第10図のラ
イン156上でラッチ回路157の出力で生成される。
この回路157は排他的OR回路158の出力に接続さ
れ、該排他的OR回路の一入力はカウンタ146の出力
のTCTR=Oラインに接続され、第2入力はライン1
56に接続されている。
内部状態情報に基づいて、該レコード制御は以下の出力
を生成する: (a)  レコードの最後のバイトが偶数処理要素に与
えられることを示すプール値EREC0この値は、AN
D回路162の出力のラッチ回路161に接続されたラ
イン160上に生成される。二回路162の入力はRC
NTライン150とRCTRカウンタ143のRCTR
=O出力とに接続されている。
(b)  レコードの最後のバイトが奇数処理要素に与
えられることを示すプール値0REC0この値は、AN
D回路166の出力のラッチ回路165に接続されたラ
イン164上に生成され、該AND回路の入力はカウン
タ143のRCTR=0出力及び−RCNTライン16
7に接続されており、このライン167はインバータ1
68を通じてRCNTライン150に接続されている。
(C)  レコードの第1バイトが偶数処理要素又は奇
数処理要素に与えられることを示すプール値PCADV
、これはカウンタ143のRCTR=0出力に接続され
たラッチ回路172の出力のライン170上に生成され
る。
(d)  レコードキーに続く第1のバイト、即ち、r
タグ」バイトが偶数処理要素に与えられることを示すプ
ール値ETAG0これは、入力がTCNTライン156
とTCTRカウンタ146のTCTR=O出力とに接続
されているAND回路176の出力のラッチ回路175
に接続されているライン174上に生成される。
(e)  レコードキーに続(第1のバイトが奇数処理
要素に与えられることを示すプール値0TAG0これは
、AND回路180の出力のラッチ回路179に接続さ
れたライン178上に生成される。該AND回路の入力
はカウンタ146のTCTR=0CTR−TCNTライ
ン181とに接続されており、このライン181はイン
バータ182を通じてTCNTライン150に接続され
ている。
パイプライン制御回路60(第11図)非常に重要な特
徴は、リバウンド分類装置に装填し、且つこれを空にす
ることを可能にすると共に別々のグループのレコードの
混合を防止するパイプライン制御回路60に関する。
回路60のパイプライン要素91−94及び96の回路
は第11図に示されている。パイプライン要素9■は、
分類装置18の第1部40の処理要素と連携しており、
入力ライン186を有し、これに、該分類装置への新し
いレコードの入力と同期する関係で信号が加えられる。
入力ライン186は、ラッチ189に出力接続されてい
るマルチプレクサ188の一入力に接続されており、該
ラッチの出力は、マルチプレクサ188の第2入力に接
続されているライン190に接続されている。
マルチプレクサ194の出力に接続されているラッチ1
93の出力のライン192上にFORCEVO信号が生
成され、マルチプレクサ194の一入力はライン192
に接続され、その第2入力はORゲート196の出力に
接続されている。ORゲート196の入力は、ライン1
86及び190に、更に次ノステージ(7)FORCE
V 1 ライン192’に接続されている。
マルチプレクサ188及び194は、第9図のレコード
制御回路162Aからライン170を通じて加えられる
信号PCADVにより制御される。
該分類装置の処理要素と連携する他の全てのパイプライ
ン要素の回路は、要素91のそれと実質的に同一である
。ライン186がrBNDm−1jから来ることと、9
3にはrFORcEVm+IJ入力が無いこととを除い
て。
パイプライン要素94及び96の回路も第11図に示さ
れている。要素94は、要素91のマルチプレクサ18
8及びラッチ189に対応するマルチプレクサ198及
びラッチ199を有する。
同様に、要素96は、マルチプレクサ198′及びラッ
チ199′を有し、最後の出力信号NEWSTREAM
OUTはライン200上に生成される。
作動時には、パイプライン制御回路60は各期間中に以
下の情報を受は取る: (a)  レコードの第1バイトが偶数処理要素又は奇
数処理要素に与えられることを示す、回路部分62A(
第9図)からのプール値PCADV。
(b)  ライン186上に加えられるプール値fNE
WsTREAM J 0これは、リバウンド分類装置に
与えられる現在のバイトが、新しいグループのレコード
の分類を、既にリバウンド分類装置内にあるレコードと
は別に開始させることを示す。
パイプライン制御回路60は以下の内部状態情報を維持
する: (a)  要素91のライン190及び他の要素の該ラ
インに対応するラインに生成される各PEにつイテノプ
ール値rBNDOJ ないしrBNDN−2」。この値
は、レコードの第1バイトが偶数処理要素又は奇数処理
要素に最後に与えられた時以来、レコードグループ同士
の間の「境界」がリバウンド分類装置を「下って」来た
ことを示す。
(b)  プール値rBNDN−Nは、レコードの第1
バイトが偶数処理要素又は奇数処理要素に最後に与えら
れたとき以来、レコードグループ間の境界がIER8r
N−2JからIER8rN+N−3Jの中に移動したこ
とを示す。
(C)処理要素rPEN−2JないしrPE IJにつ
いてのプール値。これは、第11図に示されている94
ないし96に続く要素により生成される。この各々の値
は、レコードの第1バイトが最後に偶数処理要素又は奇
数処理要素に与えられたとき以来、レコードグループ間
の「境界」がリバウンド分類装置を「昇って」そのPE
まで戻ってきたことを示す。
(d)  その処理要素が「垂直に通過させる様にされ
ている」ことを示す、各処理要素についてのプール値(
第11図(7)rFORcEVOJないしFF0RCE
VN−2J )。
受は取った情報と、現在の内部状態とに基づいて、パイ
プライン制御は各期間に以下の情報を作る: (a)  その処理要素が「垂直に押し進める」べきこ
とを示す、各処理要素についてのプール値(fFORc
EVOiないしFF0RCEVN−2」)。
(b)  リバウンド分類装置が出力する現在のレコー
ドバイトが、分類されるレコードの新しいグループの第
1バイトであることを示す、ライン200上のプール値
r NEWSTREAMOUTJ。これは、異なるグル
ープからのレコードの比較を防止するために分類順序検
査装置により使用される。
パイプライン制御は、レコードの第1バイトが偶数処理
要素又は奇数処理要素に与えられる毎に、その内部情報
を更新する( rPcADV」、半レコード毎に)。
「境界」値は、その頂部からレコードと並列にリバウン
ド分類装置に入り、左側を下り、底を横断し、右側を上
る。
PErNJについての新しい「垂直に押し進める」値は
、下記のいずれかが真であればセットされる: 「境界」がPErN−Hについてセットされているか、
又は、PEOについてr境界」がrER3に入ろうとし
ティる( rNEWSTREAMIN J )。
「境界」がPErNJについてセットされている。
「垂直に押し進める」がPEfN+1」についてセット
されている。これは最後のPEには適用されない。
この操作は、境界に位置する又は境界より上の全てのP
Eを垂直に押し進める。これは、境界の一方の側のレコ
ードと、別の側のレコードとの混合を防止するが、境界
の同じ側のレコードの分類を許す。
分類順序づけ装置34(第1図) 先に指摘したように、内部境界の無い分類装置18は「
魔法の分類箱」と見なすことの出来るものであり、レコ
ードは該箱に押し込まれ、箱の中の全てのレコード(押
し込まれたレコードを含む)のうちの最小のレコードが
飛び出してくる。
加速装置10の分類及び併合の操作は、分類装置18等
のN−1要素リバウンド分類装置を使って、データの分
類済みのN個のストリングを併合して一つの大きな分類
済みストリングにするという問題を認め、分析すること
によって良く理解することが出来るものである。以下の
アルゴリズムを考察する。
■)分類装置18内に境界を設定して、第11図との関
連で上記した新しい分類操作を開始する。
2)第1のN−1ストリングの第1 (最小)レコード
を分類装置18に押し込む。
3)  N番目のストリングの第1 (最小)レコード
を分類装置18に押し込む。全ての第ルコードのうちの
最小のレコードが飛び出す:これが、併合されたストリ
ングのうちの第1 (最小)レコードである。
4)飛び出したレコードの出所となったストリングを識
別し、そのストリングから次のレコードを分類装置18
に押し込む。飛び出すレコードは、入力されたストリン
グのいずれかに残留している最小のレコードであり、従
って併合/分類済みストリングの次のレコードである。
5)前記ステップを繰り返す。いずれかの入力されたス
トリングの最後のレコードが分類装置18から飛び出す
とき、人工的レコード(「実際の」レコードのいずれよ
りも大きい)を、そのストリングの「次の」レコードと
して押し込む。第1の人工的レコードが分類装置18か
ら飛び出すとき、より小さい(即ち、「実際の」)レコ
ードは分類装置18内に残っていないので、併合は終了
する。
このアルゴリズム9下で動作した分類装置18の出力は
N個の入力ストリングの併合である;これは、以下の様
に記すことにより証明することが出来る。
(a)  分類装置18から出力される各レコードは、
分類装置内に現在ある全てのレコードのうちの最小のレ
コードである。
(b)  出力されるレコードは、同じ入力ストリング
の次のレコードと置換され、これは、該入力ストリング
が分類されるので該出力レコードより小さくはないので
、該分類装置から出力される次のレコードは、該分類装
置から出力される現在のレコードより小さくはない;即
ち、分類装置から出力されるレコードは、分類された順
となっている。
(C)  全ての入力ストリングの全てのレコードが結
局は分類装置から出力される。
上記のアルゴリズムを使って併合を行うために、分類装
置内の与えられたレコードの出所がどのストリングであ
るかを知ることが望ましい。また、そのストリング内の
次のレコードを発見する方法と、そのストリングに残留
しているレコードがあるか否か判断する方法とを知るこ
とも望ましい。
以下の節は、所望の情報を得て使用する好適な構成を示
す。人工的レコードの代わりに、本発明は全てのストリ
ングが空となり、NEWSTREAMINが表明される
まで、最低の番号の、空でないストリングを使用する。
タグ挿入及び除去(第1図及び第2図)図示の分類加速
装置は、入力部21のバイト挿入装置25を使って、各
レコードに、それが分類装置に送り込まれる際にタグバ
イトを挿入することにより、分類装置内の与えられたレ
コードの出所がどの入力ストリングであるかを監視し続
ける。
第2図との関連で前述した様に、キーフィールドの最後
のバイトの直後で且つデータフィールドの第1バイトよ
り前の位置にタグバイトを挿入するのが好ましい。レコ
ードのタグバイトは、この併合操作のどの入力ストリン
グが該レコードを内蔵していたかを記述する指標を含む
。8ビツトタグバイトは、256個に及びストリングを
併合操作に入力する事を可能にする;実際、このバイト
の1ビツトを使って、後述する様に安定な分類操作を実
施し保証して、最大で128個のストリングを併合する
ことが出来る。図示の実施例は、分類装置内の処理要素
の数(15)によって、−時に併合出来るストリングが
16個に限定されていて、ストリング識別のために4ビ
ツトを必要とするだけである。
上位メモリーへの転送のため、或いは局所メモリー16
への一時的格納のために、完全に分類されたレコードの
ストリングが出力部22によって出力される出力操作に
おいて、出力部22のデータパッカー31は、入力部2
1によって先に挿入されてあったタグを、レコードから
、該レコード分類装置から出力される際に除・去するの
で、タグか記憶装置中のスペースを占めることはない。
後述するように、ユーザーは、最後の併合パスによって
レコードがユーザーのバッファーに出力される時にタグ
をレコード中に残してお(べきことを随意に指定するこ
とが出来る。
レコードが分類装置から出力されるとき、そのレコード
の出所である入力ストリングを判定するためにタグバイ
トが検査される。このストリング番号は分類順序づけ装
置34のストリング選択論理回路39に送り込まれ、分
類順序づけ装置34は、ROM38内のマイクロコード
により制御され、ストリング選択論理回路39の出力を
使用して、分類装置に入力される次のレコードのアドレ
スを決定する:そのレコードアドレスは、ストリング選
択論理回路39の生成したストリング番号と共に、入力
部22に与えられて次のレコードの読み出しを開始させ
る。
ストリング選択論理回路39 (第12図)一般に、次
の入力レコードを提供するべく選択されるストリングは
、その指標が現在の出力レコードのタグ中にあったスト
リングと同じである。
例外は、将来のストリングが使い尽くされたときである
。上記のアルゴリズムで使用される、そのストリングか
らの次のレコードの代わりに人工的な大きなレコードを
使用する技術は、働きはするけれども、ぎこちなくて時
間を食う;使い尽くされていないストリングを採集して
、そのストリングからレコードを入力するのが遥かに効
率的(且つ同じく正確)であることが分かっている(分
類の安全性を守るために、今は、最低の、空でないスト
リングを選択しなければならない)。この操作は、スト
リング選択論理回路39により行われる。
ストリング選択論理回路39は、各入力ストリングにつ
いて1ビツトを含む妥当なビットのファイルを使い、且
つ、これから説明する機能を実行する回路を使って作動
する。斯かる回路の一部が第12図に示されており、こ
れについては、第13図ないし第17図に示されている
タグ先読み論理の動作との関連で後述する。併合操作の
開始時に、入力ストリングのいずれもが使い尽(されて
いないことを示すために、妥当なビットのファイルが全
部ゼロにセットされる。指定されたストリングが使い尽
くされている(即ち、該ビットが1である)か否かを調
べるために、出力レコードからのタグは有効ビットのフ
ァイルを指す;そうでなければ、そのストリング番号は
分類順序づけ装置へ出力される。指定されたストリング
が使い尽くされていれば、使い尽くされていない最低番
号のストリングを発見するために優先順位符号化が有効
ビットのファイルに対して行われて、このストリングの
番号が分類順序づけ装置に送られる。
若し全ての入力ストリングが使い尽くされていれば、そ
のことを分類順序づけ装置に知らせるフラグがセットさ
れる。
分類順序づけ装置34は併合操作の現在の状態を維持す
るためにレジスターアレイ35にレジスターの二つのフ
ァイルを内蔵している;一つのファイルは各ストリング
についての次のレコードアドレスを内蔵し、他のファイ
ルは各ストリングの最後のレコードアドレスを内蔵する
。ストリング選択論理からストリング指標を得ると、分
類順序づけ装置はそのストリングについて次のレコード
アドレスを第1のファイルから取り出して、それを入力
部21に送る;これは、そのストリングについての次の
レコードアドレスを更新する。ストリング中の最後のレ
コードのアドレスが入力部21に送られたときく次のレ
コードアドレスを第2レジスターフアイル中のそのスト
リングについての最後のレコードアドレスと比較するこ
とにより判定される)、分類順序づけ装置はストリング
選択論理のビットファイル中のそのストリングに対応す
る有効ビットをセットして、そのストリングが今使い尽
(されたことを示す。
ストリング選択論理回路39は、併合されるべきストリ
ングの数が16より少ないときにも使われる。前記のア
ルゴリズムは、ストリングの数が分類装置中の要素の数
より1大きい時にだけ働く。
併合されるべきストリングがそれより少ないときには、
そのストリング数を正しい値とするために数個の「空白
」ストリング(レコードを全(含んでいない)を該併合
に付加しなければならない。
ストリング選択論理回路39は、「空白」ストリングの
一つからのレコードを分類装置に最初に装填しようとす
る試み(前記アルゴリズムの第1ステツプに記載した)
によって実際に「現実の」のストリングの一つからのレ
コードが装填されることとなることを保証するのに使わ
れる。これは、併合操作の開始時にストリング選択論理
回路39において「空白」ストリングの妥当なビットを
ゼロの代わりに1に初期化することによって実行される
タグ先読み及び付随の論理(第12図ないし第17図)
特殊化されたストリング選択論理及び高速分類順序づけ
装置でも、現在のレコードについてのタグの出力と次の
入力レコードのアドレスの入力プロセッサへの送付との
間に遅れがある。入力部21は、新しいレコードの始め
のバイトを、それらが分類装置に入力され得ることとな
る前に、取り出さなければならない。これが累積してレ
コードとレコードとの間に顕著な遅れが生じ、これに起
因して入力部21は分類装置を機能停止させてデータ待
ちさせると共に併合プロセスを減速させる。
この遅れを無(するために、分類加速装置は、最小のレ
コードのタグを、それが実際に分類装置から出力される
前に判定するべ(タグ先読み論理を実施する。
タグ先読み論理はストリング選択論理と関連して作用す
るが、ストリング選択論理は、第12図に示されていて
、分類装置18に加えられるべき次のレコードのタグに
ついての三つの可能な値の選択を行うものである。その
三つの値は、後述する様にして第17図の論理回路によ
りライン202上に生成されるrPE ITAGJと、
ライン203に加えられる、入力レコードのタグfIT
AG」と、ライン207(上記した)を通じて状況デー
タが加えられる優先順位エンコーダ206によりライン
2(14)上に生成される、残っているタグを持った最
低番号のストリームのタグと、である。
マルチプレクサ208は、ライン209に加えられるP
VO制御信号により操作されて、ITAG信号及びPE
ITAG信号からWINTAG信号をライン21上に生
成する。PVOが真であればPEITAGが選択され、
そうでなければITAGが選択される。ライン210上
のWINTAGストリームの状況がストリーム状況参照
部212により検査され、この参照部はライン213上
に出力信号を生成し、この信号は、WINTAG信号及
びALTTAG信号が加えられるマルチプレクサ214
に加えられる。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図に示されている論理回路と
、PE′0から出る現在のレコードの最後の半分におい
てタグが発見された時にTAGSEEN信号をライン2
26上に生成する第17図に示されている回路と、を含
んでいる。
タグ先読み論理回路の動作に関して、分類装置から出力
されるレコードは常にPEOから来ることを記してお(
。PEOの入力は、分類装置に入力されるレコードと、
PEIの上側の出力により供給されるIER8N−1の
出力とである。入力レコードのタグは知られている;P
EI内のレコードのタグはPEI内の特別の論理によっ
てタグ選択論理39に与えられる(第12図及び第13
図のライン202上のPEITAG)。タグ先読み論理
PEOの内部状態を監視し、判断がなされるのを待つ(
第14図のライン220上のDECIS ION ) 
;判断がなされた時、どのレコードがPEOから出てゆ
くレコードであるかを調べるためにPEOについての「
垂直に通過」状態ビット(第12図のPVO)が検査さ
れる。その時、このレコードのタグ(第12図のWIN
TAG)がストリング選択論理(第12図)への入力と
して使われ、これにより実際の出力でのレコードの半分
に及ぶジャンプを得る。この方法を使うことによって、
非常に小さいレコードの場合又はr判断(Decisi
on)Jがレコードについて非常に遅くに行われるとき
を除いて、併合時のレコード間遅延を完全に無くするこ
とが出来る。
第13図の論理回路はマルチプレクサ228を包含し、
このマルチプレクサは、第16図の回路からのライン2
24上のADVTAG信号の反転によって操作され、そ
の−入力はラッチ回路229に接続されており、これは
出力ライン202に接続されている。マルチプレクサ2
28の第2入力は、第10図のレコード制御回路62B
からのライン178上の0TAG信号により操作される
マルチプレクサ230の出力に接続されている。
マルチプレクサ230の一入力はライン231のURL
に接続され、その第2入力はライン218のBTAGに
接続されている。ライン218は、ライン178から制
御されると共にその入力ライン218及び231に接続
されている、マルチプレクサ234から駆動されるラッ
チ232の出力に接続されている。
PEIから出るレコードについてのタグ(第13図のラ
イン202上のPEITAG)は、次の様にして抽出さ
れる:前進しないタグであれば(−ADVTAG) 、
PE ITAG(7)先の値カラッチされる。ライン2
24上の前進するタグ(−ADVTAG)が真であり、
タグPEIから出てゆこうとしているならば(ライン1
78上の0TAG)そのタグがライン231のURlを
通じて選択される。タグが前進中でタグがPEIから出
てゆかないならば、バックアップ・タグ(ライン218
上のBTAG)が選択され、該バックアップ・タグは、
タグがPElから出てゆ(時に回路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ライン160反転から得られる一
ERECライン246と、前記した様に第9図及び第1
0図のレコード制御回路から得られる他の信号とに接続
されている。
ライン220上のVALTAG信号は、PEIから出る
レコードについてのタグ(PE ITAG)がPEOか
ら出るレコードについてのタグであれば、そのタグの妥
当性を検査する。VALTAGはレコードの最後のバイ
トがPEOから出る時に撤回される(−EREC及びV
ALTAG)。若しタグがレコードの最初の半分の中に
あれば、レコードがPEOに入り始める時にVALTA
Gが表明される(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図及び第1θ図の回路からのライン
146.156及び167に接続されている。
タグは、A D V T A G ニよりBTAGから
PEITAGへ進められる。そのタグがレコードの最初
の半分の中にあれば、PEOに与えられるレコードの第
1バイト時にADVTAGが表明される(EREC及び
TAGSEEN)。タグがレコードの第2の半分の中に
あれば、A D V T AGは、該タグがPEIから
出る時に表明される(TCTR=O及びTCNT及び−
RCNT)。
第17図は、PEOから出る現在のレコードの最後の半
分の時にタグが見られたか否か監視し続ける論理を示す
。この論理は、−入力が−ERECライン246に接続
されているANDゲート258の出力に接続されている
。ゲート258の第2入力はORゲート259の出力に
接続されており、該ORゲートの一入力はライン226
に接続され第2入力はANDゲート26oに接続されて
おり、該ANDゲートの入力は第9図及び第10図のレ
コード制御回路からのライン150及び156に接続さ
れている。ライン226上のTAGSEENは、レコー
ドの最後のバイトがPEOから出るときに撤回される(
−EREC)。TAGEENは、レコードの最初の半分
の際にタグPEIから出るときに表明される(TCTR
=O及び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図) 分類加速装置IOが使用するアルゴリズムは、色々なサ
イズの領域に組織された中間記憶装置を必要とする。最
小の領域は、中間記憶区域の底に位置し、N個のレコー
ドから成るN個に及ぶストリングを保持するのに使われ
る。第2の領域は、第1の領域の端に位置し、NXN個
のレコードから成るN個のストリングを保持するのに使
われる。
各々の領域は、その前の領域よりもN倍大きい。
第18図は、Nが図示の実施例の場合のように16では
な(て4である場合に使用される組織の例を示す。この
例では、第1領域ROは4個のレコードを格納し、第2
領域R1は16個のレコードの4個のストリングを格納
する、即ち、それはNXN個のレコードを格納する。第
3の領域R2は、その%だけ示されているが、64個の
レコードの4個のストリングを、即ち、NXNXN個の
レコードを格納する。
Nが16である図示の実施例では、第1領域ROは16
個のレコードの16個のストリング(256レコード)
を格納し、第2領域R1は4096個のレコードを格納
し、第3レコードR2は65.536個のレコードを格
納する。後の領域は、その前の領域のレコードの数の1
6倍を包含する。使用可能なメモリーに応じて、随意の
数の追加の領域を設けることが出来る。
中間記憶装置の場所と大きさとは、操作初期化時にレジ
スターアレイにベースアドレス及びエンドアドレスを装
填することによってプログラムされる。操作のために充
分な記憶装置が割り当てられれば、制御プロセッサは該
操作を保留して上位プロセッサに割り込む。該エンドア
ドレスを増大させることにより、該記憶装置を動的に拡
張することが出来る。
拡張された併合・分類アルゴリズム 図示の実施例では、ROM38に格納されるマクロプロ
グラムに、拡張された併合・分類アルゴリズムが埋め込
まれるが、該アルゴリズムを実現するために同等の手段
を使用することも出来る。
該アルゴリズムは、強化されたリバウンド分類装置のN
路併合能力を利用して、制限の無い個数のレコードを並
べ変える。該アルゴリズムは、入カフニーズ及び出力フ
ェーズと呼ばれる二つのフェーズから成る。後述する様
に、これらのフェーズを構成する分類及び併合の操作の
順序は、分類の安定性、メモリーの効率、及び動作のた
めに重要である。
入カフニーズ 入カフニーズは、分類及、び併合から成り、実際上、入
力ストリングを構成する未分類レコードの全てが処理さ
れるまでである。各分類操作によりN個の未処理レコー
ドが操作され、中間記憶装置の領域0にN個のレコード
の分類済みストリングが作られる。各併合操作により、
満杯となった領域のN個の分類済みストリングが処理さ
れ、入力ストリングの各々よりN倍大きな次の領域に単
一の分類済みストリングが作られる。
入カフニーズは、入力ストリングの始めのN個のレコー
ドを分類してN個のレコードの一つのストリングを領域
0に作ることから始まる。その後、入力ストリングの次
のN個のレコードが分類されて、N個のレコードの第2
のストリングとなる。
このプロセスは、N個のレコードのN個のストリングが
領域Oに生じるまで続き、その時点で分類は中止され、
該ストリングは併合されて、領域1のNXN個のレコー
ドの単一のストリングとなる。
この併合が終わると、入カフニーズは入力ストリングの
分類を再開する。結局、N個のレコードのN個の新しい
ストリングが領域Oに作られ、分類が中止され、それら
が併合されて領域1のNXN個の第2のストリングとな
る。このプロセスは、領域1にNXNの長さのストリン
グがN個出来るまで続き、その時点で、それらは併合さ
れて、領域2のNXNXN個のレコードの単一のストリ
ングとなる。領域の数は、使用可能な中間記憶装置の量
によって制限される。
入力フェーズは、入力ストリングの全体が処理されるま
で、可能な時には併合を行いながら、継続する。入力ス
トリング中のレコードの数は、操作が初期化される時に
レジスターアレイにプログラムされる。コマンドレジス
ターには数個のオプション−ビットがあり、その一つは
、入力ストリングが分類されるべきレコードの全てを包
含しているか否かを示す。このビット(ENDビット)
がセットされていなければ、制御プロセッサは、出力フ
ェーズが始まる前に上位処理装置に割り込み、上位処理
装置が同じ分類操作で他の入力ストリングを包含するこ
とを可能にする。レコードカウントレジスターは、入力
ストリングが処理されるに従って継続的にデクリメント
される。
出力フェーズ 入カフニーズの終了時には、複数の領域内に数個のスト
リングがある。出力フェーズは、この数をN以下に減ら
す一連の併合操作と、直接に宛先アドレスへの最後の併
合とから成る。
出力フェーズの開始時には、各領域にN−1個の完全な
長さのストリングがあると共に、領域0には不完全な長
さのストリングがある。この不完全な長さのストリング
は、分類されているレコードの総数モジュールNから成
り(0であることもあり得るンこれは、レコードの総数
が必ずしもNの倍数ではないから存在するものである。
分類を安定させるために、最高の領域から最低の領域へ
と優先順位が割り当てられる。一つの領域の中では、優
先順位は最低のストリングから最高のストリングへの順
である。これは、ストリングが作られた順と一致する。
出力フェーズは、非常に効率的で信頼できる態様で進行
する。最低の空でない領域から併合が行われてゆき、こ
の併合は、関係するストリングの総数がN以下であると
いう制限の範囲内で、なるべく多数の領域を含む。この
併合により、該併合に含まれなかった空でない最初の領
域に新しい不完全なストリングが作られる。
これらの複数領域併合は、上から2番目の領域に達する
まで続く。この時点で、一番上の領域と2番目に高い領
域との両方が含まれていれば、それらは、宛先の記憶場
所に書き込まれる分類操作の最後の併合に参加する。最
高の領域が包含され得なければ、2番目に高い領域は参
加を禁じられ、出力は、2番目に高いレベルの部分的併
合をつ(り出す。
後の場合は、動作最適化を表す。最後の二つの領域のス
トリングの大きさは分類操作全体のサイズに関して重要
であるので、これらのストリングの取扱は、2番目に高
い領域から、ちょうど充分なだけのストリングを最高の
領域の不完全なストリングに併合して、正確にN個のス
トリングを残すことによって、最小限度にされる。これ
は「最善の」併合と呼ばれる。その時、N個のストリン
グが最後に併合に参加する。
分類操作の全段階を通じて、指標付けを可能にするため
に、各領域のストリング総数がレジスターアレイの一つ
のバンクに維持される。不完全なストリングの長さは、
該アレイ内の他のレジスターに維持される。他のストリ
ングの長さは、それらの領域の番号から分かる。
不完全なストリングの長さを維持するレジスターは1個
だけしかないので、不完全なストリングは常時1個だけ
存在できる。出力フェーズは全ての併合に不完全なスト
リングを含み、これらの併合の各々が、より大きな不完
全なストリングをより高い領域につくり出す。不完全な
ストリングの長さのためのレジスターは、新しい不完全
なストリングのサイズを反映するように継続的に更新さ
れる。不完全なストリングも「最善の」併合に参加する
中間記憶装置の管理 中間記憶装置の構成は、第18図との関係で上記されて
いる。この節は、分類操作の入カフニーズで制御プロセ
ッサにより実行される簿記について詳しく説明するもの
である。
制御プロセッサは、該操作のために充分な記憶装置が割
り当てられているか否か判断しなければならない。動作
をなるべく悪化させずに、この判断を行うために、レジ
スターアレイ35内の2個のレジスターを使って、最高
の活動状態領域の番号と最高の活動状態アドレスとを維
持する。拡張された併合・分類アルゴリズムの中の各分
類又は併合の開始時に、現在の領域が最高の活動状態領
域と比較される。若しそれが最高の活動状態領域引くl
より小さければ、その分類又は併合は正常に続く;そう
でなければ、制御プロセッサは、新しいストリングを最
高領域に作りかけており、進むのに充分な記憶装置が割
り当てられているか否か確かめなければならない。
この確認は、最高活動状態アドレスレジスターを使って
、他の完全なストリングのための余地が次の領域にある
か否か判断することから始まる。
若しあれば、拡張併合・分類は正常に進行する・若し無
ければ、制限プロセッサは、現在の領域から別個のスト
リングが次の領域の不完全なストリングに嵌まり込むか
判定し、その情報を使って、それらのストリングが併合
されたならば何個の追加レコードを処理できるか判定す
る。若しこの数が入力ストリングに残っているレコード
の数より少なければ、制御プロセッサは上位プロセッサ
に割り込んで、操作を完了するためにもっと多量の記憶
装置が割り当てられなければならないことを指摘する。
許容可能な追加のレコードの数が、残っているレコード
の数より多ければ、追加の記憶装置無しで操作を完了す
ることが出来る。コマンドレジスターにENDビットが
セットされると、このレベルに残っているストリングの
数と、将来の入力から形成されるこのレベルの追加のス
トリングの数と、次のレベルのストリングの数との和が
等しくNとなる様に、制御プロセッサはこのレベルから
ちょうど充分なストリングを併合する。「最善の」併合
が行われたことを出力フェーズに対して指摘するフラグ
がセットされ、この特別の不完全なストリングの長さが
レジスターアレイ内のレジスターに保存される。このレ
ジスターは、出力フェーズが使用する不完全なストリン
グの長さのためのレジスターと同じではない。
ENDビットがセットされなければ、コマンドレジスタ
ー内の追加のオプション・ビット(LOCKビット)が
検査される。このLOCKビットがセットされていれば
、制御プロセッサは、なるべく多数のストリングを次の
レベルの特別の不完全なストリングに併合し、併合フラ
グを設置し、特別の不完全なストリングの長さを保存し
、レベル0のストリングを作り続ける。LOCKビット
がセットされていなければ、上位プロセッサは割り込ま
れて、ENDビットをセットし、LOCKビットをセッ
トし、又は記憶装置エンドアドレスを増大させることを
許される。
「最善の」併合は、拡張併合・分類の動作が最適化する
ことを保証する。制御プロセッサは操作中のレコードの
総数を知らず、上位プロセッサが中間記憶装置のサイズ
を固定する許可を与えているので「短縮j併合が起こる
。−旦固定されると、記憶装置アドレスの終端を増大さ
せることは違法となる。この併合は、与えられた量の記
憶装置で分類することの出来るレコードの数を最適化す
る。
分類制御 前述の入カフニーズの分類プロセスは、分類加速装置が
、入力ストリングからN個の未整理レコードを読み込み
、それらを分類し、その結果を中間記憶装置の領域0中
の新しいストリング中に置(ことを必要とする。
好ましくは、分類制御は、マイクロコード中の単一ルー
プの中に存する。最初に、入力ストリングが使い尽くさ
れたか否か調べるためにレコードカウントレジスターが
検査される。使い尽くされていれば、制御は出力フェー
ズに移転する。より多数の入力レコードがあれば、レジ
スターアレイ内のソースアドレスが入力プロセッサに渡
される。
このレジスターは、操作が初期化された時に入力ストリ
ングのアドレスが装填されたレジスターであり、この時
にレコード当たりのバイトの数だけインクリメントされ
る。該アレイ内の他のカウントレジスターはlだけイン
クリメントされ、カウントがNに達するまで分類ループ
は継続する。
併合制御 純粋にマイクロコードで取り扱われるのが好ましい分類
制御とは異なって、併合制御用のマイクロコードは、前
述の併合アルゴリズムによりストリング選択回路39で
加速されるのが好ましい。
ストリング選択論理について前述した。分類順序づけ装
置は入力プロセッサが各レコードに挿入するタグの供給
も行う。
分類安定性 「安定な」分類は、同じキーを持ったレコードが、入っ
たときと同じ相対的順序で該分類からでるような分類で
ある。設計を単純なままに保ち、追加の記憶装置及び時
間要件を小さくするために、N路併合アルゴリズムで既
に必要とされたタグバイトを使用して分類安定性を保証
する。この特徴は、総レコードサイズを割合に小さく保
つと共に、分類順序づけ装置又はリバウンド分類装置の
大幅な変更を必要としない。
この所定の順序が変更されないことを保証するために、
特別のハードウェア及びアルゴリズムを使用する特別の
特徴が分類加速装置10に含まれている。
前記した様に、キーバイトに続いて、残りのデータバイ
トの前にタグバイトが入力レコードストリングに挿入さ
れる。タグバイトの高位4ビツトは、レコードの出所と
なったストリングの番号(併合について)、又はゼロ(
分類について)にセットされる。
タグバイトは常に処理要素において「上昇」順に比較さ
れる。タグバイトをキーの前に、しかし残りのデータの
前に置くことにより、処理要素は、残りの非キーバイト
が与えられる前に、それらのバイトをどの経路に通すか
決定することが出来る。
ストリング番号は、等しいキーを持った異なるストリン
グからのレコードを、それが入って来た順にリバウンド
分類装置から出て行かせる。「順序」ビットは、等しい
キーを持った同じストリングからのレコードを、それら
が入って来た順にリバウンド分類装置から出て行かせる
分類順序づけ装置強化 与えられた併合のために、−緒に分類プロセスに入った
レコードのストリングが選択される。即ち、選択される
成るレコードの前に、しかし、選択される他のレコード
の後に分類プロセスに入って選択されないレコードは無
い(それらは、可能性としては、この併合に属すること
があり得る)。
各ストリングに対して独自の番号が選択されるが、それ
は、そのストリング中のレコードが分類プロセスに入っ
た、同じ併合内の他のストリングに対しての相対順位を
示す。ストリングの各レコードは、タグバイトの高位ビ
ットに挿入されたストリング番号を持っている。異なる
ストリングからの2個のレコードの順序が、それらのタ
グバイトが比較されるときに解明されていなければ、そ
れらが入ってきたのと同じ順序で併合から出て行くこと
をストリング番号が保証する。
分類済みストリングが作業空間の領域に書き込まれてゆ
(とき、それらは、その領域の使用可能な最低の行に書
き込まれる。領域が満杯になると、その次に高い領域の
使用可能な最低の行に併合されてゆく。これから分かる
ように、部分的併合(後述する)が無い場合には、最高
の領域は分類に最初に入ったストリングを包含し、2番
目に高い領域は2番目に入ったストリングを包含する、
等々である。領域内では、最低の行は、最初に分類に入
ったストリングを包含し、次の行は2番目に入ったスト
リングを包含する、等々である。
下記の記述においては、0から始まるストリング番号が
順に割り当てられる。別様に指定されない限りは、行の
グループ内ではストリング番号は最低の行から最高の行
へと順に割り当てられる。
第19図に示されている様に、「S」の下のコラム内の
ストリング番号0ないし15は順に並んでおり、ストリ
ング15は最高のアドレスHAにあり、ストリングOは
最低のアドレスLAにある。
併合に参加するストリングにストリング番号を割り当て
る異なる場合が4種類ある: 1)成る領域が満杯で、次に高い領域への完全併合が行
われる時、ストリング番号はグループとして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番目に高い領
域に残っている行。
++++++=他の満杯の行。
リバウンド分類装置強化 分類装置に入る各レコードのタグバイトの最下位ビット
(「順位」ビットと呼ばれる)はlにセットされる。
順位ビットは、同じストリング番号を持ったレコードの
順位を保存するために使われる。順位ビットは次のよう
に取り扱われる(それはlにセットされたリバウンド分
類装置に入ることを想起):(a)  処理要素が垂直
に通過させることを決定し、或いは既に垂直に通過させ
つつあるならば=1)「下方に」通過させられるタグバ
イト(下って来たタグバイト)の順位ビットは1にセッ
トされる。
2)「上方に」通過させられるタグバイト(昇って来た
タグバイト)の順位ビットは変更されない。
(b)  処理要素が水平に通過させることを決定し、
或いは既に水平に通過させつつあるならば:l)r下方
にj通過させられるタグバイト(昇って来たタグバイト
)の順位ビットは0にセットされる。
2)「上方に」通過させられるタグバイト(下ってきた
タグバイト)の順位ビットは1にセットされる。
(C)  IER8FN−2J からIER8rN−2
+N−1」へ渡されるタグバイトの順位ビットは1にセ
ットされる。
この方法の安定性は例によって示すことが出来、その例
では、2個の重複するレコードがあるとする。この説明
のために、重複するレコードは、完全に等しいキー及び
等しいタグを持ったレコードであると仮定する。
第ルコードはER8に入り、第2レコードがER8に入
るまで他のレコードと混じっている。
第2レコードと会うために、第ルコードは上を向いて、
その順位ビットを1にセットされなければならない。E
R8は分類されているので、第2レコードは真っ直ぐに
下方に進んで第ルコードと出会い、その順位ビットをセ
ットされたままに保つ。この二つのレコードは正確に等
しく、順位ビットを含み、よって垂直に移動し続ける。
追加の重複レコードが無ければ、この重複レコードは、
より大きなレコードを通過し続け、或いは上のレコード
は下方に向きを変え(これは、その順位ビットをクリア
する)、上がってくる次の重複レコードと出会う(この
レコードの順位ビットは、まだセットされたままである
)。これにより、該重複レコードは、より大きなレコー
ドが通り越すか、他の重複レコードが入るか、又はER
8が流されるまでは、ER3が現在の位置を保つ。
今、示す必要があるのは、重複レコードの、出てゆ(グ
ループに入る新しいレコードは該グループの底に落下す
ることである。新しいレコードは、重複レコードの出て
ゆくグループの各レコードと出会うとき、その新しいレ
コードは下降中であり旧レコードは上昇中である。上昇
するレコードは常にその順位ビットがセットされる。垂
直に通過させられる下降するレコードの順位ビットも同
じく常にセットされる。これは、新しいレコードは、該
グループの底に達するまで該コラムを下って垂直に移動
し続けることを意味する。
叙上から、垂直に通過する時に順位ビットを変更せず、
そのままにしてお(様に規則を変更することが出来ると
結論することが出来る。これにより、下方に向けられた
レコードは、若し下り続けるのであれば、その順位ビッ
トを0にセットされたままに保つことが許されるが、下
方に向けられたレコードは、その下にあるものが全てそ
れより大きいので、決して下降し続けない。これにより
、PE内の論理が単純化される。
順位ビットの、指摘した使用によって、位置を変更する
ことのあるレコードは、それらの初期順位を保存させら
れる。
データ保全性特徴 外部ハードウェアとの協働により、分類加速装置を通過
するデータは、データが該装置に入った点から、出てゆ
くまで、変造に関して検査される。
また、レコードを分類又は併合する時には、分類加速装
置の正しい動作と、併合のための入力レコードの正しい
整理とを確実にするために、出力レコードの順位が検査
される。
エラー検出コード パリティ 分類装置外のデータ経路が、バイトパリティの使用によ
り検査される。バイトパリティは、8ビツトのデータを
9ビツト値で表す方式である。余分のビットは、データ
の出所で計算されたパリティ値を担っている。該データ
からパリティ値を計算し直し、その新しく計算された値
をパリティビットと比較することによって、パリティ検
査が行われる。等しくないことは、該データ中のエラー
を指摘するものである。
分類加速装置lOには、上位システムからデータ及びパ
リティが供給される。データが入るとき、該パリティは
好ましくは検査をされる。この時点で検出されたエラー
は、システムパリティエラーとして分類され、その様な
ものとして報告される。
システムバスインターフェースからのデータ経路のパリ
ティ保護は、リバウンド分類装置まで続く。データがリ
バウンド分類装置に入るとき、データパリティが再び検
査され、エラーは内部データエラーとして報告される。
出力時に、リバウンド分類装置はパリティを持ったデー
タを生成する。このデータがシステムバスインタフェー
スに達したとき、そのパリティが検査され、不一致は内
部パリティエラーとして報告される。パリティ値は、シ
ステムバスインターフェースで再生されて、該データと
共に上位システムに渡され、これにより該上位システム
は上記の様にデータパリティを検査することが出来るこ
ととなる(分類順序づけ装置からのデータのためのパリ
ティを提供するためにパリティがシステムバスインター
フェースで再生される)。
検査合計計算(第23図) 分類加速装置内で、2レベル検査合計方式を使ってデー
タ保全性が保証される。検査合計保護は、多数のバイト
に渡って検査合計を検査するエラー検出方法である。検
査合計は、後に、該検査合計を計算し直して、それを先
に計算されてあった検査合計と比較することにより、検
査される。検査合計は以下の公式により計算される: i=0ないしnについては、検査合計=f(検査合計、
データ〔i〕) 各レコードが分類装置に入るとき、レコードの検査合計
が計算される。この検査合計についての関数(f)は、
第23図との関係で後述するPARブロックを使い、デ
ータバイトのパリティを使用して、モジュール256で
データバイトに加算されるものとして該検査合計又は該
検査合計のビット反転形を選択する。rピット反転」操
作はバイトに対して行われ、これにより、該バイト内の
最上位ビットと最下位ビットとが交換され、上から2番
目のビットと下から2番目のビットとが交換される、等
々であり、結局、全てのビットが異なる位置を持つこと
となる。
これらのレコード検査合計が互いにモジュール256加
算されて、レコードのグループについての検査合計とな
る。
分類装置を出るレコードは、同様に計算された検査合計
を有する。分類装置がレコードのグループを処理して、
残りのレコードが流し去られた後、入力検査合計及び出
力検査合計が比較される。
レコード検査合計のこの単純加算は、結合的性質を持っ
た関数をつくり出す:即ち、レコード検査合計を合計す
る順序は、その結果として得られる検査合計には影響を
与えない。このことは、該分類装置の主な機能がレコー
ドの並べ直しであるので、重要である。
レコード検査合計の計算は結合的ではない。
二つのレコードのバイトnがそれらのバイト間で交換さ
れれば、その二つのレコードの検査合計の和は異なるこ
とになる。
交換されたバイトの例は、次のとおりである:入カニ 0×61 0×62 0X61   0X31   0  0X310XC3
0X32   0  0X63出カニ 0×61 0×62 O×63 0×61 0×92 0×20 0×31 0×62 0×33 0  0X31 0  0X93 ■ XFC O×28 この検査合計を求める方式は、分類装置工8で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  BITSブロック281に接続され
ている。ブロック281は、前述の、バイトのビット反
転を行う。
マルチプレクサ280はPARブロック282により制
御され、その入力はIBYTEライン283 (リバウ
ンド分類装置に入るバイト)に接続されており、IBY
TEは加算器278の第2入力にも接続されている。該
論理の2番目に低い部は1番低いのと実質的に同一であ
り、対応する要素はダッシュ記号付番号で示されている
。差異は、ライン283′が0BYTEライン(リバウ
ンド分類装置から出るバイト)であるのに対して、ライ
ン283はIBYTEラインであることである。
分類順序検査装置(第24図ないし第28図)レコード
が分類装置から出るとき、該レコードは、一つのレコー
ドを保持する特別の記憶要素に入る。この記憶要素はシ
フトレジスターの様に振る舞い、該記憶要素の入力及び
出力を検査する比較論理が、分類装置から出るレコード
が正しく整理されていることを確認するのを可能にする
。該比較論理は、出力を除いて、分類装置に使用されて
いる処理要素と同様である。該比較論理の出力は、レコ
ードの減少(「下降」分類について増大)シーケンスが
検出されたことを示す信号である(分類順序エラー)。
分類順序検査装置は、出力ストリング中のレコードが次
のレコードと同じキーを持っていることを示す「タイ1
ビツトを提供するのにも使われる。
このrタイ1ビツトは、リバウンド分類装置からの出力
上のタグバイトの最下位ビットである。ユーザーソフト
ウェアは、この「タイ1ビツトを利用して、後続の節で
説明するように加速装置i。
の容量を越えるキーフィールドに対して分類を行い、或
いは重複レコードの分類後の処理を補助することが出来
る。分類加速装置は、普通は、レコードを出力する前に
該レコードからタグバイトを取り除くが、ユーザーが希
望する場合にはタグ/’Lイトをレコードに残したまま
にしておく様に分類加速装置に指令することも出来る。
分類順序検査操作は、第24図ないし第28図に示され
ている論理回路により実施される。第27図に示されて
いる回路は出力ライン286を包含し、このライン上に
前述の5RTERR信号が生成される。ライン286は
、−RESETライン290に接続された一入力を有す
るANDゲ−4289の出力に接続されたラッチ288
の出力に接続されている。ANDゲート289の他方の
入力は、ORゲート282の他方の入力に接続されてお
り、このORゲートの一入力はライン286に接続され
第2入力はANDゲート294に接続されている。AN
Dゲート294は、CHKING信号及びEQUAL信
号をそれぞれ受信するライン295及び297に接続さ
れた入力を有する。ANDゲート294への第3入力は
マルチプレクサに接続されている。該マルチプレクサの
一入力はfA<BJであり、他方はrA>B」である。
該マルチプレクサは、ASCENDING及びETAG
を入力とするORゲートにより制御される。
該分類順序検査装置の回路は、更に、第24図、第25
図、第26図及び第28図に示されている論理回路を含
む。第24図おおいて、比較回路298が設けられてお
り、この回路は、前述のB〈A信号をライン296上に
生成し、且つ、A=B信号及びA<B信号をライン29
9及び300上に生成する。比較回路298の一入力は
UROライン302に直結され、比較回路298の他方
の入力はカスケード接続された2個のI ER8要素3
03及び3(14)を通じてライン302に接続されて
いる。これらは、一つのレコードブロックを保持する前
述の特別の記憶要素を形成する。
第25図において、ライン295上のCHK ING信
号はラッチ306により生成され、該ラッチはANDゲ
ート308の出力に接続されており、このゲートの一入
力にはライン309上の−NEWSTREAMOUT信
号が加えられるが、この−NEWSTREAMOUT信
号は、第11図に示されているパイプライン回路の生成
するNEWSTRBAMOUT信号の逆である。ゲート
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に接続され
た入力を有する。
分類加速装置の容量を越えること 加速装置IOは、使用可能な作業空間メモリーがユーザ
ーのファイル中のレコードを分類するのに充分でないと
きにも使うことの出来るものである。非常にありふれた
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図
の加速装置のレコード制御回路の一部を示す。 第1O図は、タグタイミング信号を供給する、第1図の
加速装置のレコード制御回路の他の部分を示す。 第11図は、第1図及び第5図に示されているパイプラ
イン制御回路の詳細を示す。 第12図は、第1図の加速装置の分類順序づけ装置のス
トリング選択論理回路のタグ選択回路を示す。 第13図ないし第17図は、第1図の加速装置のタグ先
読み論理回路のいろいろな部分を示す。 第18図は、第1図の分類加速装置の使用する中間記憶
装置の組織の例を示す。 第19図ないし第22図は、最適の併合操作を得るため
に使用されるストリング番号割り当てを示す。 第23図は、第1図の強化されたリバウンド分類装置の
インターフェースの検査合計論理回路を示す。 第24図ないし第27図は、第1図の強化されたリバウ
ンド分類装置のインターフェースの分類順序検査装置の
論理回路の部分を示す。 第28図は、連続する二つのレコードが同じキーを有す
ることを示す信号を生成するために使われる、分類順序
検査装置の論理回路の追加の部分を示す。 8 9 j 2

Claims (1)

  1. 【特許請求の範囲】 (1)限られた数のレコードのグループが入力されると
    共に前記レコードのグループを分類された順のレコード
    のストリングとして出力する様になっている、分類手段
    と共に使用する併合システムであって、前記併合システ
    ムは:分類された順の、或る数のレコードを各々包含す
    る分類済みレコードの複数のストリングを包含する前記
    分類手段にレコードを供給する入力手段と;前記分類手
    段により分類されたレコードのストリングの記憶を行う
    出力手段と;前記入力手段、分類手段及び出力手段を制
    御する分類制御手段とから成り;前記分類制御手段は、
    併合モードで動作して、分類済みレコードの前記複数の
    ストリングのレコードを前記分類手段に供給すると共に
    、前記分類手段によりレコードの前記複数のストリング
    を併合して、前記ストリングの前記レコードの全てを分
    類された順に包含する単一のより大きなストリングにす
    ることを特徴とする併合システム。 (2)前記分類制御手段は、前記併合モードで、分類済
    みレコードの前記複数のストリングの前記レコードを或
    る順序で前記分類手段に供給する分類順序づけ手段を含
    むことを特徴とする請求項1に記載の併合システム。 (3)前記の或る順序でのレコードの供給は、分類済み
    レコードの前記複数のストリングのうちの最小のレコー
    ドが最初に前記分類手段に供給される様に行われること
    を特徴とする請求項2に記載の併合システム。 (4)前記の或る順序でのレコードの供給は、後続の操
    作において前記分類手段からレコードが出力された時に
    、前記分類手段に入力された次のレコードが、前記分類
    手段から出力された前記レコードの出所となったストリ
    ングの残りのレコードのうちの最小のレコードある様に
    行われることを特徴とする請求項3に記載の併合システ
    ム。 (5)前記分類制御手段は、前記分類手段から出力され
    た最後のレコードを前記分類手段に入力させたストリン
    グを識別する識別手段を含むことを特徴とする請求項4
    に記載の併合システム。 (6)前記識別手段は、前記分類手段に供給された各レ
    コードに含まれるタグデータを検査する手段を含むこと
    を特徴とする請求項5に記載の併合システム。 (7)前記入力手段は、タグデータを、各レコードに、
    前記分類手段への入力の前に付加する手段を含むことを
    特徴とする請求項6に記載の併合システム。 (8)前記分類手段は、N個のレコードの一グループの
    レコードを入力し、前記一グループのN−1個のレコー
    ドの入力後にN個のレコードの前記一グループのうちの
    最小のレコードを出力し、その後に前記1グループの残
    りのN−1個のレコードを出力して、N個のレコードの
    分類済みストリングを形成する複数の処理要素を含むこ
    とを特徴とする請求項1に記載の併合システム。 (9)前記分類手段は更にレコード記憶手段を含み、前
    記処理要素は、前記入力手段から前記記憶手段へのレコ
    ードデータ転送と、前記記憶手段内でのレコードデータ
    転送と、前記出力手段へのレコードデータ転送とを行う
    転送手段と、レコードを比較して対応レコードデータ転
    送を行う比較手段とを含むことを特徴とする請求項8に
    記載の併合システム。(10)前記記憶手段は、前記処
    理要素の各々に対応する第1及び第2の記憶部分を含み
    、前記処理要素の各々は第1及び第2の入力と第1及び
    第2の出力とを含み、前記処理要素の各々は、第1モー
    ドにおいて、前記第1及び第2の記憶部分から前記第1
    及び第2の出力へのレコードデータの転送を行い、次、
    に前記第1及び第2の入力から前記第1及び第2の記憶
    部分への転送が行われると共に、第2モードにおいて、
    前記第1入力から前記第2出力へレコードデータを転送
    し且つ前記第2記憶部分から前記第1記憶部分へレコー
    ドデータを転送し、次に前記第1記憶部分から前記第1
    出力へレコードデータ転送が行われ且つ前記第2入力部
    分から前記第2記憶部分へレコードデータ転送が行われ
    ることとなる様に構成されていることを特徴とする請求
    項9に記載の併合システム。 (11)限られた数のレコードのグループが入力される
    と共に前記レコードのグループを分類された順に出力す
    る様になっている、分類手段と共に使用する併合システ
    ムであって、前記併合システムは:分類された順にレコ
    ードを各々包含する分類済みレコードのストリングを包
    含する前記分類手段にレコードを供給する入力手段と;
    前記分類手段により分類されたレコードのストリングの
    記憶を行う出力手段と;前記入力手段、分類手段及び出
    力手段を制御する分類制御手段とから成り;前記分類制
    御手段は、複数の併合操作を行い、前記併合操作の各々
    は、分類済みレコードの複数の前記ストリングのレコー
    ドを前記分類手段に供給して前記分類手段により分類済
    みレコードの前記複数のストリングの併合を行わせて、
    前記ストリングの前記レコードの全てを分類された順に
    包含する単一のより大きなストリングを作らせる操作を
    包含し、前記分類制御手段は、前記複数の併合操作を行
    って複数の前記の、より大きなストリングを形成させた
    後、前記の複数の、より大きなストリングを併合して、
    前記の、より大きなストリングの前記レコードの全てを
    分類された順に包含する、更に大きな単一のストリング
    を形成することを特徴とする併合システム。 (12)分類システムであって:限られた数のレコード
    のグループが入力され、分類された順にレコードのスト
    リングを出力する様に成っている分類手段と;レコード
    を前記分類手段に供給する入力手段と;前記分類手段に
    より分類されたレコードのストリングを記憶する出力手
    段と;前記入力手段、分類手段及び出力手段を制御する
    分類制御手段とから成り、前記分類制御手段は、初期入
    力モードにおいて、レコードの未整理グループを前記分
    類手段に逐次供給すると共に前記分類手段の出力したレ
    コードの複数の分類済みストリングを一時記憶し、前記
    分類制御手段は、その後、併合モードにおいて、分類済
    みレコードの前記の一時記憶されたストリングのレコー
    ドを前記分類手段に供給すると共に、前記ストリングの
    前記レコードの全てを分類された順に包含する、より大
    きなストリングを記憶することを特徴とする分類システ
    ム。 (13)限られた数のレコードのグループが入力される
    と共に前記レコードのグループを分類された順のレコー
    ドのストリングとして出力する様になっている分類手段
    を使って分類を行う方法であって、限られた数の、分類
    された順のレコードを各々包含する、分類済みレコード
    の複数のストリングを前記分類手段に入力するべく提供
    し、前記分類手段への前記ストリングのレコードの入力
    を制御して、前記分類手段によりレコードの前記複数の
    ストリングを併合させて、前記ストリングの前記レコー
    ドの全てを分類され た順に包含する単一の、より大き
    なストリングを形成するステップから成ることを特徴と
    する方法。(14)分類済みレコードの前記複数のスト
    リングのうちの最小のレコードを最初に前記分類手段に
    供給するステップを含むことを特徴とする請求項13に
    記載の方法。 (15)前記分類手段から出力されたレコードの出所と
    なったストリングの残りのレコードのうちの最小のレコ
    ードが前記分類手段から出力された時に前記分類手段に
    入力される次のレコードを制御するステップを更に含む
    ことを特徴とする請求項14に記載の方法。(16)前
    記分類手段から出力されたレコードの出所となったスト
    リングの判定を可能にするようにストリングの識別を設
    けるステップを含むことを特徴とする請求項15に記載
    の方法。 (17)そのレコードの出所となったストリングを示す
    タグデータを各レコードに設けるステップを含むことを
    特徴とする請求項16に記載の方法。
JP2172514A 1989-06-30 1990-06-29 リバウンド分類装置を併合装置として使用する分類加速装置 Expired - Fee Related JPH0776910B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US374433 1989-06-30
US07/374,433 US5142687A (en) 1989-06-30 1989-06-30 Sort accelerator with rebound sorter repeatedly merging sorted strings

Publications (2)

Publication Number Publication Date
JPH03116323A true JPH03116323A (ja) 1991-05-17
JPH0776910B2 JPH0776910B2 (ja) 1995-08-16

Family

ID=23476796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2172514A Expired - Fee Related JPH0776910B2 (ja) 1989-06-30 1990-06-29 リバウンド分類装置を併合装置として使用する分類加速装置

Country Status (6)

Country Link
US (1) US5142687A (ja)
EP (1) EP0405759B1 (ja)
JP (1) JPH0776910B2 (ja)
AT (1) ATE174696T1 (ja)
CA (1) CA2017900A1 (ja)
DE (1) DE69032828T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947687B2 (en) 2002-06-07 2005-09-20 Canon Kabushiki Kaisha Cartridge having locking portion for locking cartridge with an image forming apparatus and releasing portion to release the locking portion, and image forming apparatus having such a cartridge

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206947A (en) * 1989-06-30 1993-04-27 Digital Equipment Corporation Stable sorting for a sort accelerator
JPH0776906B2 (ja) * 1989-06-30 1995-08-16 ディジタル イクイプメント コーポレーション 分類加速装置のための速度及びメモリー制御
JPH07104784B2 (ja) * 1990-04-03 1995-11-13 富士ゼロックス株式会社 デジタルデータ処理装置
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
US5396622A (en) * 1991-12-23 1995-03-07 International Business Machines Corporation Efficient radix sorting system employing a dynamic branch table
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
US5727200A (en) * 1994-03-07 1998-03-10 Nippon Steel Corporation Parallel merge sorting apparatus with an accelerated section
US5497486A (en) * 1994-03-15 1996-03-05 Salvatore J. Stolfo Method of merging large databases in parallel
US6311184B1 (en) * 1995-10-06 2001-10-30 International Business Machines Corporation Sort and merge functions with input and output procedures
US6910818B2 (en) * 2001-04-30 2005-06-28 Microsoft Corporation Keyboard with improved function and editing sections
US7039646B2 (en) * 2002-12-18 2006-05-02 International Business Machines Corporation Method and system for compressing varying-length columns during index high key generation
US10089379B2 (en) * 2008-08-18 2018-10-02 International Business Machines Corporation Method for sorting data
US8892612B2 (en) 2011-03-30 2014-11-18 Hewlett-Packard Development Company, L.P. Exploitation of correlation between original and desired data sequences during run generation
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
CN106843803B (zh) * 2016-12-27 2019-04-23 南京大学 一种基于归并树的全排序加速器及应用
WO2019170961A1 (en) * 2018-03-05 2019-09-12 University Of Helsinki Device, system and method for parallel data sorting

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 (14)

* 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
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
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
US4110837A (en) * 1976-12-30 1978-08-29 International Business Machines Corporation Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus
US4303989A (en) * 1979-07-17 1981-12-01 The Singer Company Digital data sorter external to a computer
US4425617A (en) * 1981-03-23 1984-01-10 Rca Corporation High-speed data sorter
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
US4520456A (en) * 1983-02-18 1985-05-28 International Business Machines Corporation Dual reciprocating pipelined sorter
US4604726A (en) * 1983-04-18 1986-08-05 Raytheon Company Sorting apparatus
EP0244958A3 (en) * 1986-04-09 1989-10-25 Howard B. Demuth Sorter method and apparatus using multiple column merger

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
US6947687B2 (en) 2002-06-07 2005-09-20 Canon Kabushiki Kaisha Cartridge having locking portion for locking cartridge with an image forming apparatus and releasing portion to release the locking portion, and image forming apparatus having such a cartridge

Also Published As

Publication number Publication date
EP0405759B1 (en) 1998-12-16
JPH0776910B2 (ja) 1995-08-16
EP0405759A3 (en) 1992-09-02
DE69032828T2 (de) 1999-07-01
US5142687A (en) 1992-08-25
ATE174696T1 (de) 1999-01-15
CA2017900A1 (en) 1990-12-31
EP0405759A2 (en) 1991-01-02
DE69032828D1 (de) 1999-01-28

Similar Documents

Publication Publication Date Title
JPH03129426A (ja) 分類加速装置のための速度及びメモリー制御
JPH03116323A (ja) リバウンド分類装置を併合装置として使用する分類加速装置
US4210961A (en) Sorting system
EP0127753B1 (en) Method for executing a distribution sort
US6366911B1 (en) Partitioning of sorted lists (containing duplicate entries) for multiprocessors sort and merge
US5319651A (en) Data integrity features for a sort accelerator
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
US5185886A (en) Multiple record group rebound sorter
JPH04247571A (ja) データベースレコード処理装置
US7403944B2 (en) Reduced comparison coordinate-value sorting process
Hwang et al. Vector computer architecture and processing techniques
CN110837584A (zh) 一种分块并行构造后缀数组的方法及系统
JPH03129521A (ja) 分類加速装置の安定分類
US4162535A (en) Triangular high speed I/O system for content addressable memories
JPS6142031A (ja) ソ−ト処理装置
Saucier et al. Multi-level synthesis on PALs
Won et al. A hardware accelerator for maze routing
US5548747A (en) Bit stack wiring channel optimization with fixed macro placement and variable pin placement
Han et al. Succinct suffix sorting in external memory
JPH03129520A (ja) 分類加速装置の制御
Livny et al. Distributed computation via active messages
Hollaar A design for a list merging network
JPH0317780A (ja) 記号列検索方法および装置
Pramanik et al. A hardware pattern matching algorithm on a dataflow
Parhami The mixed serial/parallel approach to VLSI search processors

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees