JPH0776909B2 - 分類加速装置のデータ保全性特徴 - Google Patents
分類加速装置のデータ保全性特徴Info
- Publication number
- JPH0776909B2 JPH0776909B2 JP2172504A JP17250490A JPH0776909B2 JP H0776909 B2 JPH0776909 B2 JP H0776909B2 JP 2172504 A JP2172504 A JP 2172504A JP 17250490 A JP17250490 A JP 17250490A JP H0776909 B2 JPH0776909 B2 JP H0776909B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- output
- records
- input
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、分類加速装置に関し、特に、リバウンド分類
装置を併合装置として使用して多数のレコードを迅速に
且つ効率良く分類することの出来る分類加速装置に関す
る。本発明の加速装置は、極めて少ない部品を使用し、
その他の点では安価に製造することが出来、上位コンピ
ュータとは独立に作動し、信頼性が高い。
装置を併合装置として使用して多数のレコードを迅速に
且つ効率良く分類することの出来る分類加速装置に関す
る。本発明の加速装置は、極めて少ない部品を使用し、
その他の点では安価に製造することが出来、上位コンピ
ュータとは独立に作動し、信頼性が高い。
(従来技術とその問題点) 分類アルゴリズムのパイプライン方式VLSI装置は公知で
ある。IBMの開発したリバウンド分類装置は、データが
左側に沿って流れ下り、右側に沿って流れ上るU形状の
パイプラインを成すものとして視覚化することの出来る
一組の処理要素を含む。該処理要素は、同時に作動し
て、分類処理を高速化する。各要素は、二つのレコード
からのデータを比較し、その比較の結果に応じて、左側
に沿っての垂直下降運動及び右側に沿っての垂直上昇運
動を行うか、又は、『比較的に重い』レコードが左下方
へ動かされ且つ『比較的に軽い』レコードが右上方へ動
かされて結局は右側の上端から分類された順に出てゆく
こととなる様に水平交換を行う。この種のリバウンド分
類装置は、分類操作の高速化に利点を有するが、所要の
ハードウェアのコストが高いので、特に多数のレコード
を分類するために斯かる分類装置を広く使用することが
出来なかった。
ある。IBMの開発したリバウンド分類装置は、データが
左側に沿って流れ下り、右側に沿って流れ上るU形状の
パイプラインを成すものとして視覚化することの出来る
一組の処理要素を含む。該処理要素は、同時に作動し
て、分類処理を高速化する。各要素は、二つのレコード
からのデータを比較し、その比較の結果に応じて、左側
に沿っての垂直下降運動及び右側に沿っての垂直上昇運
動を行うか、又は、『比較的に重い』レコードが左下方
へ動かされ且つ『比較的に軽い』レコードが右上方へ動
かされて結局は右側の上端から分類された順に出てゆく
こととなる様に水平交換を行う。この種のリバウンド分
類装置は、分類操作の高速化に利点を有するが、所要の
ハードウェアのコストが高いので、特に多数のレコード
を分類するために斯かる分類装置を広く使用することが
出来なかった。
複数の処理要素を使う他の種類の分類システムが提案さ
れている。しかし、全ての既知の種類のシステムには、
特に作動速度、ハードウェアのコスト、安定性及び信頼
性に関して限界がある。
れている。しかし、全ての既知の種類のシステムには、
特に作動速度、ハードウェアのコスト、安定性及び信頼
性に関して限界がある。
(発明の概要) 本発明の或る面は、従来の分類装置の問題の根源及び限
界の発見と認識に関する。処理動作が数個の要素によっ
て同時に行われる分類装置は、分類操作を高速化するの
には有利であるが、分類できるレコードの個数が限られ
ているという点で限界がある。例えば、前述のIBMの分
類装置は、分類要素の総数より一つだけ多いレコードを
含むレコードのグループを分類できる。よって、15個の
処理要素は、最大で16個のレコードを含むグループを分
類する。大規模な分類では、斯かるシステムを使うハー
ドウェアの量とコストとは膨大となる。
界の発見と認識に関する。処理動作が数個の要素によっ
て同時に行われる分類装置は、分類操作を高速化するの
には有利であるが、分類できるレコードの個数が限られ
ているという点で限界がある。例えば、前述のIBMの分
類装置は、分類要素の総数より一つだけ多いレコードを
含むレコードのグループを分類できる。よって、15個の
処理要素は、最大で16個のレコードを含むグループを分
類する。大規模な分類では、斯かるシステムを使うハー
ドウェアの量とコストとは膨大となる。
本発明の分類加速装置にはリバウンド分類装置を設けら
れ、限られた数の処理要素が同時に作動して割合に少数
のレコードをグループに分類する。この時、同じリバウ
ンド分類装置が、分類されたグループを併合して、より
小さなグループのレコードの全てを分類された順に包含
する大きなグループにするのにも使われる。本発明の分
類加速装置では、例えば16個のデータ項目を分類するハ
ードウェアが、16路・併合を行うのにも使われる。分類
されるべきレコードの個数が大きくなっても、大分類の
ための処理要素の数を増やす必要はない。
れ、限られた数の処理要素が同時に作動して割合に少数
のレコードをグループに分類する。この時、同じリバウ
ンド分類装置が、分類されたグループを併合して、より
小さなグループのレコードの全てを分類された順に包含
する大きなグループにするのにも使われる。本発明の分
類加速装置では、例えば16個のデータ項目を分類するハ
ードウェアが、16路・併合を行うのにも使われる。分類
されるべきレコードの個数が大きくなっても、大分類の
ための処理要素の数を増やす必要はない。
本発明を取り入れた分類加速装置は、典型的にはアドレ
ス及びデータのバスを通じて上位コンピュータと上位メ
モリーとに接続される。該分類加速装置は、上位処理装
置とは独立に作動してレコードを高速で分類し、その分
類されたレコードを上位メモリーに格納する。該分類加
速装置の独立動作によって、上位コンピュータは、分類
及び併合操作が行われているときに自由に他の操作を行
うことが出来る。
ス及びデータのバスを通じて上位コンピュータと上位メ
モリーとに接続される。該分類加速装置は、上位処理装
置とは独立に作動してレコードを高速で分類し、その分
類されたレコードを上位メモリーに格納する。該分類加
速装置の独立動作によって、上位コンピュータは、分類
及び併合操作が行われているときに自由に他の操作を行
うことが出来る。
好適な実施例では、分類加速装置は、入力部と、出力部
と、分類制御部と、分類部とを含む。分類制御部は、入
力部を制御してレコードのグループを分類部へ逐次に送
らせると共に、出力部を制御して複数の分類されたグル
ープを局所作業メモリー又は上位コンピュータのメモリ
ーの作業部分に格納させる。入力部、分類部、及び出力
部は、分類制御部から制御されて、レコードのグループ
を未分類の順序で受け取り、次にこのレコードのグルー
プの分類を、分類された順序で該グループを格納する。
これは、次に、分類されたレコードのグループを併合し
て、大きな分類されたグループ又はストリングにする。
と、分類制御部と、分類部とを含む。分類制御部は、入
力部を制御してレコードのグループを分類部へ逐次に送
らせると共に、出力部を制御して複数の分類されたグル
ープを局所作業メモリー又は上位コンピュータのメモリ
ーの作業部分に格納させる。入力部、分類部、及び出力
部は、分類制御部から制御されて、レコードのグループ
を未分類の順序で受け取り、次にこのレコードのグルー
プの分類を、分類された順序で該グループを格納する。
これは、次に、分類されたレコードのグループを併合し
て、大きな分類されたグループ又はストリングにする。
該分類加速装置の分類部は、1期間に、或る最大個数の
レコードを下降順又は上昇順に分類することが出来、そ
の数は、或る実施例では16である。分類された16のグル
ープが作られると、これらのグループを一連の操作を通
じて併合して一つの大きな分類済みストリングとするこ
とが出来る。16個の大きな分類済みストリングが作られ
ると、それらは併合されて、より長いストリングとな
る。全てのレコードが分類されるまで、各回で16倍大き
なストリングを作りながら、このプロセスが繰り返され
る。この方法は、N log wを越えない値に比例する速度
で分類をするが、ここでNはレコードの数であり、wは
処理要素の数より1だけ大きい数である。
レコードを下降順又は上昇順に分類することが出来、そ
の数は、或る実施例では16である。分類された16のグル
ープが作られると、これらのグループを一連の操作を通
じて併合して一つの大きな分類済みストリングとするこ
とが出来る。16個の大きな分類済みストリングが作られ
ると、それらは併合されて、より長いストリングとな
る。全てのレコードが分類されるまで、各回で16倍大き
なストリングを作りながら、このプロセスが繰り返され
る。この方法は、N log wを越えない値に比例する速度
で分類をするが、ここでNはレコードの数であり、wは
処理要素の数より1だけ大きい数である。
この様な分類及び併合の機能を達成するために、分類部
又はリバンド分類装置は僅かに15個の処理要素を有する
だけでよい。処理要素はレコードのキーバイトを比較し
て順序を決める。処理要素は、2個のレコード記憶要素
を介して互いに接続される。処理要素及びレコード記憶
要素の構成は垂直のコラムを見ることが出来、新たに入
力されたレコードは該コラムの頂部左側に入り、分類さ
れたレコードは該コラムの頂部右側から出てゆく。
又はリバンド分類装置は僅かに15個の処理要素を有する
だけでよい。処理要素はレコードのキーバイトを比較し
て順序を決める。処理要素は、2個のレコード記憶要素
を介して互いに接続される。処理要素及びレコード記憶
要素の構成は垂直のコラムを見ることが出来、新たに入
力されたレコードは該コラムの頂部左側に入り、分類さ
れたレコードは該コラムの頂部右側から出てゆく。
レコードは16個のグループに分類され、格納部又は作業
空間メモリーに格納される。充分な数のグループが分類
された後、併合操作が始まる。併合のために、どの分類
されたグループに属するかを示すタグが各レコードに付
される。上昇分類では、各グループの最小のレコード
は、リバウンド分類装置から押し出されるまでリバウン
ド分類装置内に置かれる。このレコードは、分類された
各グループの最小のレコードの全集合のうちの最小のレ
コードである。リバウンド分類装置に送り込まれた次の
レコードは、全てのレコードのうちの最小のレコードを
以前から含んでいたグループから逐次に選択される。こ
の新しいレコードは、分類されたグループに由来するも
のであるので、最初の最小のレコードに等しいか又はそ
れより大きくなければならない。この手順は継続され、
新しいレコードは、最後に出力されたレコードの出所と
なったグループから選択される。全てのストリングが使
い尽くされると、併合は完了し、分類済みレコードの一
つの大きなグループが出来ている。
空間メモリーに格納される。充分な数のグループが分類
された後、併合操作が始まる。併合のために、どの分類
されたグループに属するかを示すタグが各レコードに付
される。上昇分類では、各グループの最小のレコード
は、リバウンド分類装置から押し出されるまでリバウン
ド分類装置内に置かれる。このレコードは、分類された
各グループの最小のレコードの全集合のうちの最小のレ
コードである。リバウンド分類装置に送り込まれた次の
レコードは、全てのレコードのうちの最小のレコードを
以前から含んでいたグループから逐次に選択される。こ
の新しいレコードは、分類されたグループに由来するも
のであるので、最初の最小のレコードに等しいか又はそ
れより大きくなければならない。この手順は継続され、
新しいレコードは、最後に出力されたレコードの出所と
なったグループから選択される。全てのストリングが使
い尽くされると、併合は完了し、分類済みレコードの一
つの大きなグループが出来ている。
本発明の分類及び併合機能を迅速に且つ効率的に達成す
るために、本設計に色々な特徴が取り入れられる。外部
ハードウェアとの協働で、データが該分類加速装置に入
った点から、それが上位処理装置に戻るまで、そのデー
タは変造に関して検査される。それらのレコードが強化
されたリバウンド分類装置から出た後、となり合うレコ
ードの大きさを比較して、それらが適切に並べられてい
るか否かを判定することによって、該分類加速装置の分
類及び併合特徴の正しい動作も検査される。
るために、本設計に色々な特徴が取り入れられる。外部
ハードウェアとの協働で、データが該分類加速装置に入
った点から、それが上位処理装置に戻るまで、そのデー
タは変造に関して検査される。それらのレコードが強化
されたリバウンド分類装置から出た後、となり合うレコ
ードの大きさを比較して、それらが適切に並べられてい
るか否かを判定することによって、該分類加速装置の分
類及び併合特徴の正しい動作も検査される。
データが該システムを通過する際に該データの保全性を
検査する二つの方法が使われる。第1の方法では、バイ
トパリティを使ってデータ伝送のエラーを検出する。デ
ータの8ビットは9個のビット値でひ表される。余分の
ビットは、データの出所で計算されたパリティ値を示
す。レコードの保全性は、送信されたデータからパリテ
ィ値を計算し直し、その新しく計算された値を、送信さ
れたパリティビットと比較することによって検査され
る。不一致は、伝送エラーを示す。
検査する二つの方法が使われる。第1の方法では、バイ
トパリティを使ってデータ伝送のエラーを検出する。デ
ータの8ビットは9個のビット値でひ表される。余分の
ビットは、データの出所で計算されたパリティ値を示
す。レコードの保全性は、送信されたデータからパリテ
ィ値を計算し直し、その新しく計算された値を、送信さ
れたパリティビットと比較することによって検査され
る。不一致は、伝送エラーを示す。
データ保全性を保証するために使われる第2の方法は、
2レベル検査合計方式を使用する。検査合計は、各レコ
ードがリバウンド分類装置に入ってくるときに多数のバ
イトに対して計算される。検査合計は、後に、強化され
たリバウンド分類装置からレコードが出てゆくときに計
算し直されて、先に計算されていた検査合計と比較され
る。この比較により、リバウンド分類装置で発生するこ
とある2種類のエラーが検査される。第1の種類のエラ
ーは、データ経路での単一ビット故障(記憶要素故障を
含む)に由来し、第2の種類は、レコード同士の間の不
適切に制御されたバイトのスワッスング(交換)に由来
する(処理要素制御故障)。
2レベル検査合計方式を使用する。検査合計は、各レコ
ードがリバウンド分類装置に入ってくるときに多数のバ
イトに対して計算される。検査合計は、後に、強化され
たリバウンド分類装置からレコードが出てゆくときに計
算し直されて、先に計算されていた検査合計と比較され
る。この比較により、リバウンド分類装置で発生するこ
とある2種類のエラーが検査される。第1の種類のエラ
ーは、データ経路での単一ビット故障(記憶要素故障を
含む)に由来し、第2の種類は、レコード同士の間の不
適切に制御されたバイトのスワッスング(交換)に由来
する(処理要素制御故障)。
分類順序検査装置は、強化されたリバウンド分類装置か
ら出てゆくレコードを、適切な分類について検査する。
シフトレジスターとして作用する特別の記憶要素は、一
つのレコードを保持し、比較論理と協働して、分類され
たレコードが適切な順序に並べられているか否か判定す
る。該比較論理の出力は、リバウンド分類装置がレコー
ドを不適切に分類したか否かを示す。
ら出てゆくレコードを、適切な分類について検査する。
シフトレジスターとして作用する特別の記憶要素は、一
つのレコードを保持し、比較論理と協働して、分類され
たレコードが適切な順序に並べられているか否か判定す
る。該比較論理の出力は、リバウンド分類装置がレコー
ドを不適切に分類したか否かを示す。
分類順序検査装置は、隣接するレコードのキーが等しい
か否かを示す『タイ』ビットも提供する。ユーザーソフ
トウェアは、この『タイ』ビットを利用して、分類加速
装置の容量を越えたキーフィルドに対して分類を行う
か、或いはユーザーが重複するレコードの分類後除去を
行うのを補助する。
か否かを示す『タイ』ビットも提供する。ユーザーソフ
トウェアは、この『タイ』ビットを利用して、分類加速
装置の容量を越えたキーフィルドに対して分類を行う
か、或いはユーザーが重複するレコードの分類後除去を
行うのを補助する。
本発明に従って構成された分類加速装置は、好適な実施
例では、ハードウェア要件を極めて小さくしながら、多
数のレコードの高速で安定した分類を達成する特徴を更
に含んでいる。一つの特徴は、分類加速装置で多数の分
類/併合を行うためのパイプライン制御である。このパ
イプライン制御は、異なるグループからのレコードを混
合せずに、且つ、新しいレコードのグループを該リバウ
ンド分類装置で分類する前に該リバウンド分類装置から
見かけレコードを流すことを必要とせずに、レコードの
グループを分類することを可能にする。
例では、ハードウェア要件を極めて小さくしながら、多
数のレコードの高速で安定した分類を達成する特徴を更
に含んでいる。一つの特徴は、分類加速装置で多数の分
類/併合を行うためのパイプライン制御である。このパ
イプライン制御は、異なるグループからのレコードを混
合せずに、且つ、新しいレコードのグループを該リバウ
ンド分類装置で分類する前に該リバウンド分類装置から
見かけレコードを流すことを必要とせずに、レコードの
グループを分類することを可能にする。
該パイプライン制御は、先のグループの最後のレコード
が第1処理要素によって検査された直後に分類加速装置
が新しいレコードのグループをリバウンド分類装置に押
し込み始めることを可能にする。パイプライン制御は、
リバウンド分類装置と並列の一系統のシフトレジスター
により達成される。新しいレコードのグループがリバウ
ンド分類装置に入る時、新しいレコードの組がリバウン
ド分類装置に入ったことを示す境界値が第1パイプライ
ンシフトレジスターにセットされる。該境界値は、第1
のレコードと共に、処理要素を通過するとき、シフトレ
ジスターの該系列を通してシフトされる。該値は、該処
理要素に対して、該境界値に続くレコードを、他のグル
ープのレコードと比較してはならないことを示す。この
様にして、リバウンド分類装置は完全にレコードが装填
された状態に保たれることが出来、レコードの随意の数
の異なるグループのレコードのローディング及びアンロ
ーディングが重なり合うことが可能となる。
が第1処理要素によって検査された直後に分類加速装置
が新しいレコードのグループをリバウンド分類装置に押
し込み始めることを可能にする。パイプライン制御は、
リバウンド分類装置と並列の一系統のシフトレジスター
により達成される。新しいレコードのグループがリバウ
ンド分類装置に入る時、新しいレコードの組がリバウン
ド分類装置に入ったことを示す境界値が第1パイプライ
ンシフトレジスターにセットされる。該境界値は、第1
のレコードと共に、処理要素を通過するとき、シフトレ
ジスターの該系列を通してシフトされる。該値は、該処
理要素に対して、該境界値に続くレコードを、他のグル
ープのレコードと比較してはならないことを示す。この
様にして、リバウンド分類装置は完全にレコードが装填
された状態に保たれることが出来、レコードの随意の数
の異なるグループのレコードのローディング及びアンロ
ーディングが重なり合うことが可能となる。
分類加速装置の他の特徴は、安定分類の実行に関する。
安定分類は、等しいキーを持ったレコードは、入る際と
同じ相対的順序で分類加速装置から出てゆく様な分類で
ある。安定分類は、等しいキーを持ったレコードの順序
が既に決まっている様なアプリケーションで必要とされ
るものである。安定分類をリバウンド分類装置に組み込
むために、追加のハードウェアが付加され、アルゴリズ
ムが修正されている。
安定分類は、等しいキーを持ったレコードは、入る際と
同じ相対的順序で分類加速装置から出てゆく様な分類で
ある。安定分類は、等しいキーを持ったレコードの順序
が既に決まっている様なアプリケーションで必要とされ
るものである。安定分類をリバウンド分類装置に組み込
むために、追加のハードウェアが付加され、アルゴリズ
ムが修正されている。
安定分類は、レコードの出所であるグループにより、そ
のレコードを識別するビットをセットすることによって
実施される。このグループ指定は、等しいキーを有する
異なるグループからのレコードを、入ってきた順序でリ
バウンド分類装置から出てゆかせる。『順序』ビット
は、等しいキーを持った同じグループからのレコード
を、入ってきた順にリバウンド分類装置から出てゆかせ
る。
のレコードを識別するビットをセットすることによって
実施される。このグループ指定は、等しいキーを有する
異なるグループからのレコードを、入ってきた順序でリ
バウンド分類装置から出てゆかせる。『順序』ビット
は、等しいキーを持った同じグループからのレコード
を、入ってきた順にリバウンド分類装置から出てゆかせ
る。
分類加速装置の他の特徴は、データを格納するのに要す
るメモリーの量のより約10%程度大きい作業空間メモリ
ーを必要とするに過ぎなくする様な併合先読み/メモリ
ー管理構成に関する。この特徴は、メモリーの使用効率
を高めるだけでなく、作業空間メモリーを線型拡張し、
これにより作業空間の上位システム管理を簡単にする。
最適の併合により、データを処理する回数が減り、従っ
て、併合/分類アルゴリズムを実行するのに要する時間
が短くなる。
るメモリーの量のより約10%程度大きい作業空間メモリ
ーを必要とするに過ぎなくする様な併合先読み/メモリ
ー管理構成に関する。この特徴は、メモリーの使用効率
を高めるだけでなく、作業空間メモリーを線型拡張し、
これにより作業空間の上位システム管理を簡単にする。
最適の併合により、データを処理する回数が減り、従っ
て、併合/分類アルゴリズムを実行するのに要する時間
が短くなる。
作業空間記憶装置の割付は、分類制御部によって管理さ
れる。分類制御部は、分類されたデータに充分な記憶装
置が配分されているか否かを判定する。好適な実施例で
は、拡張された併合/分類アルゴリズムが入力フェーズ
及び出力フェーズの使用により分類及び併合の順序づけ
を制御する。
れる。分類制御部は、分類されたデータに充分な記憶装
置が配分されているか否かを判定する。好適な実施例で
は、拡張された併合/分類アルゴリズムが入力フェーズ
及び出力フェーズの使用により分類及び併合の順序づけ
を制御する。
入力フェーズは、分類及び併合から成り、入力ストリン
グを構成する未分類レコードの全てが、レコードのグル
ープを分類することにより又はレコードのグループを併
合することによって処理され終わるまで、続く。全ての
入力レコードが分類又は併合された後、出力フェーズが
始まる。
グを構成する未分類レコードの全てが、レコードのグル
ープを分類することにより又はレコードのグループを併
合することによって処理され終わるまで、続く。全ての
入力レコードが分類又は併合された後、出力フェーズが
始まる。
この時点で、作業空間記憶装置の複数の領域に数個の分
類済みグループ又はストリングがある。出力フェーズ
は、一連の併合と、これに続く、レコードの分類を完了
させる最後の併合とから成る。
類済みグループ又はストリングがある。出力フェーズ
は、一連の併合と、これに続く、レコードの分類を完了
させる最後の併合とから成る。
分類加速装置の併合機能の速度を更に高めるために、分
類加速装置はストリング番号又はタグ抽出先読み特徴を
利用する。本発明のこの特徴は、分類制御部により作ら
れた、与えれたレコードがどの入力ストリングに由来す
るものであるのかを示す情報を利用する。この情報は、
分類制御部が次のレコードをリバウンド分類装置に送る
ことを可能にするために必要である。先に記載したよう
に、適切な併合は、次の入力レコードが最後の出力レコ
ードと同じグループに由来するレコードであることを必
要とする。若しストリング情報が分類制御部に送られる
のが遅過ぎると、リバウンド分類装置は次の入力レコー
ドを待ちながら機能停止する。大概の場合、タグ先読み
は次の分類済みレコードがリバウンド分類装置から出て
ゆく前にタグ情報を分類制御部に提供する。これによ
り、次の入力レコードはリバウンド分類装置の入力で待
機することが出来るので、併合操作に遅延は生じない。
類加速装置はストリング番号又はタグ抽出先読み特徴を
利用する。本発明のこの特徴は、分類制御部により作ら
れた、与えれたレコードがどの入力ストリングに由来す
るものであるのかを示す情報を利用する。この情報は、
分類制御部が次のレコードをリバウンド分類装置に送る
ことを可能にするために必要である。先に記載したよう
に、適切な併合は、次の入力レコードが最後の出力レコ
ードと同じグループに由来するレコードであることを必
要とする。若しストリング情報が分類制御部に送られる
のが遅過ぎると、リバウンド分類装置は次の入力レコー
ドを待ちながら機能停止する。大概の場合、タグ先読み
は次の分類済みレコードがリバウンド分類装置から出て
ゆく前にタグ情報を分類制御部に提供する。これによ
り、次の入力レコードはリバウンド分類装置の入力で待
機することが出来るので、併合操作に遅延は生じない。
タグ先読み論理は、最小のレコードのグループ(上昇分
類の場合)を、それが実際に該分類装置から出力される
前に、早く決定する。これにより、次のレコードが出力
される前に分類加速装置は次の入力レコードへアクセス
を開始することが出来る。この技術を使って、非常に短
いレコードの場合、又は分類判定がレコードに対して非
常に遅くなされる場合を除いて、併合のレコード間遅延
を完全に無くすることが出来る。
類の場合)を、それが実際に該分類装置から出力される
前に、早く決定する。これにより、次のレコードが出力
される前に分類加速装置は次の入力レコードへアクセス
を開始することが出来る。この技術を使って、非常に短
いレコードの場合、又は分類判定がレコードに対して非
常に遅くなされる場合を除いて、併合のレコード間遅延
を完全に無くすることが出来る。
該分類加速装置の一つの付加的特徴は、指標付けを行っ
て、レコード記憶要素として使われる可変長シフトレジ
スターを実現する循環RAMを使用することである。レコ
ードデータが処理要素間を通過する該レコードデータを
保持するためにRAMが使われる。この方法では、色々な
レコードの大きさに対処する様に、1ビット可変長シフ
トレジスターがプログラムされる。該ビットは、該可変
長シフトレジスターを通してシフトされるとき、RAMの
各行を順次に作動可能に、RAMはデータを読み出すか又
は書き込む。よって、この特徴は、極めて少ない量の論
理を使いながら、長さが可変となる様にしてシフトレジ
スターを実現する。この方法は、低速で、作動に多量の
電力を要するデータ用シフトレジスターを使用しない。
て、レコード記憶要素として使われる可変長シフトレジ
スターを実現する循環RAMを使用することである。レコ
ードデータが処理要素間を通過する該レコードデータを
保持するためにRAMが使われる。この方法では、色々な
レコードの大きさに対処する様に、1ビット可変長シフ
トレジスターがプログラムされる。該ビットは、該可変
長シフトレジスターを通してシフトされるとき、RAMの
各行を順次に作動可能に、RAMはデータを読み出すか又
は書き込む。よって、この特徴は、極めて少ない量の論
理を使いながら、長さが可変となる様にしてシフトレジ
スターを実現する。この方法は、低速で、作動に多量の
電力を要するデータ用シフトレジスターを使用しない。
他の特徴及び利点は、添付図面と関連させて以下の詳し
い記述を読むことにより、もっと充分に理解できる。
い記述を読むことにより、もっと充分に理解できる。
(実施例) 参照数字10は、本発明の原理に従って構成された分類加
速装置を示す。分類加速装置10は、アドレス及びデータ
バス13を通じて上位コンピュータ11、上位メモリー12、
及び作業空間メモリー18に接続されており、上位コンピ
ュータ11からコマンドデータを受信して、上位メモリー
12に格納されているレコードを分類し、その分類したレ
コードをメモリー12に格納するようになっている。
速装置を示す。分類加速装置10は、アドレス及びデータ
バス13を通じて上位コンピュータ11、上位メモリー12、
及び作業空間メモリー18に接続されており、上位コンピ
ュータ11からコマンドデータを受信して、上位メモリー
12に格納されているレコードを分類し、その分類したレ
コードをメモリー12に格納するようになっている。
コマンドデータは、例えば、分類されるべきレコードの
一グループのメモリー12におけるスタートアドレス又は
併合されるべきレコードのスタートアドレス、各グルー
プ内のレコードの長さ、各レコード内のキーフィールド
の長さ、所望の分類のモード、グループ内のレコードの
数、及び分類済みレコードを格納するメモリー12内のス
タートアドレスを含む。このコマンドデータの受信後、
分類加速装置10は、上位処理装置とは独立に作動して、
指定されたレコードを高速で分類又は併合し、その分類
されたレコードを上位メモリー12に格納する。上位コン
ピュータは、コマンド信号を分類加速装置10に供給した
後、他の操作を自由に行う。
一グループのメモリー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を含む。
を通じて上位バス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に送られたアドレスを選択すると共に、他の機能も
実行する。
序づけ装置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の制御下で作動す
る。
グループに対して、該レコードのキーの審査を通じて同
時処理操作を実行するように設計されている。これは、
その処理操作が実行される15個の部40-54を含み、この
部の個数は、処理されるグループのレコードの個数より
1だけ少ない。部40-54の各々は、処理要素と、不随の
レコード記憶要素とを含む。リバウンド分類装置18の特
徴は、記憶回路56の使用を通じてレコード記憶要素を実
現することに関し、この回路56は、RAM及び読み書き回
路を含み、RAMインデックス回路58の制御下で作動す
る。
別の特徴はレコードの別々のグループの混合を防止しな
がら遅延を防ぐために、強化されたリバウンド分類装置
18への装填及び排出を制御するパイプライン制御回路60
の設置に関する。レコード制御回路62は、部40-54の処
理要素とパイプライン制御回路60とにタイミング信号を
供給する。
がら遅延を防ぐために、強化されたリバウンド分類装置
18への装填及び排出を制御するパイプライン制御回路60
の設置に関する。レコード制御回路62は、部40-54の処
理要素とパイプライン制御回路60とにタイミング信号を
供給する。
追加の特徴は、ハードウェア要件を小さくし且つ他の利
点を達成しながら多数のレコードの高速分類を達成出来
る態様で分類及び併合の両方を行うための強化リバウン
ド分類装置18の使用に関する。特別の特徴は、後述する
ように、安定した信頼できるレコード分類及び分類済み
レコードの併合を容易にする態様で、処理操作中に個々
のレコードを識別することに関する。
点を達成しながら多数のレコードの高速分類を達成出来
る態様で分類及び併合の両方を行うための強化リバウン
ド分類装置18の使用に関する。特別の特徴は、後述する
ように、安定した信頼できるレコード分類及び分類済み
レコードの併合を容易にする態様で、処理操作中に個々
のレコードを識別することに関する。
以上に記載した分類加速装置の作動時には、コマンドデ
ータが最初にインターフェース部を通じて分類順序づけ
装置34に送られる。分類順序づけ装置34は、入力される
べきレコードの各グループの第1レコードの開始アドレ
ス、該グループのレコードの長さ、各レコードのキーフ
ィールドの長さ、レコードの個数及び開始アドレス、並
びに、分類済みレコードを格納するべき場所に関する他
のデータを含む、対応する制御データを作ってレジスタ
ーアレイ35に格納する。コマンドデータが分類順序づけ
装置34を通じて送られた後、次の動作が始まり、入力部
21はアドレス回路23を使ってレコードデータを上位メモ
リー12から取り出し、次に、入力部21はバイト挿入装置
25を使って、修正されたレコードを作る。修正されたレ
コードの連続的なストリームをリバウンド分類装置18に
送ることが出来、各々の修正されたレコードは或る偶数
個の逐次バイトから或る。
ータが最初にインターフェース部を通じて分類順序づけ
装置34に送られる。分類順序づけ装置34は、入力される
べきレコードの各グループの第1レコードの開始アドレ
ス、該グループのレコードの長さ、各レコードのキーフ
ィールドの長さ、レコードの個数及び開始アドレス、並
びに、分類済みレコードを格納するべき場所に関する他
のデータを含む、対応する制御データを作ってレジスタ
ーアレイ35に格納する。コマンドデータが分類順序づけ
装置34を通じて送られた後、次の動作が始まり、入力部
21はアドレス回路23を使ってレコードデータを上位メモ
リー12から取り出し、次に、入力部21はバイト挿入装置
25を使って、修正されたレコードを作る。修正されたレ
コードの連続的なストリームをリバウンド分類装置18に
送ることが出来、各々の修正されたレコードは或る偶数
個の逐次バイトから或る。
好ましくは、修正されたレコードは、各々、第2図に示
されている形を有し、該分類装置に最初に入る先行の1
個以上のキーバイトKと、これに続くタグバイトT(バ
イト挿入装置25により付加される)と、1個以上のデー
タバイトDとを含む。レコード中に偶数個のバイトを得
ることが必要な場合には後続のパットバイトPが、図示
の様に、バイト挿入装置25により各レコードに付加され
る。
されている形を有し、該分類装置に最初に入る先行の1
個以上のキーバイトKと、これに続くタグバイトT(バ
イト挿入装置25により付加される)と、1個以上のデー
タバイトDとを含む。レコード中に偶数個のバイトを得
ることが必要な場合には後続のパットバイトPが、図示
の様に、バイト挿入装置25により各レコードに付加され
る。
タグバイトTの挿入は、与えられたレコードの出所とし
ての入力ストリングを確実に且つ効率的に識別すること
を可能にし、且つ後述するように迅速な併合操作を容易
にする特徴である。他の特徴によると、後述するよう
に、高度に安定した分類操作を保証するために使われる
『順序』ビットを各レコードが含んでおり、この『順
序』ビットは好ましくはタグバイトに包含される。
ての入力ストリングを確実に且つ効率的に識別すること
を可能にし、且つ後述するように迅速な併合操作を容易
にする特徴である。他の特徴によると、後述するよう
に、高度に安定した分類操作を保証するために使われる
『順序』ビットを各レコードが含んでおり、この『順
序』ビットは好ましくはタグバイトに包含される。
操作の入力フェーズでは、分類操作が行われて16個のレ
コードが図示のリバウンド分類装置18の中へシフトされ
る。一つのグループの最後のレコードがリバウンド分類
装置18内にシフトされると同時に、そのグループの16個
のレコードは、分類された順に該リバウンド分類装置か
ら出始める。この様にして16個のレコードの分類済みス
トリングが形成され、出力部22によって作業空間メモリ
ー16に送り込まれる。
コードが図示のリバウンド分類装置18の中へシフトされ
る。一つのグループの最後のレコードがリバウンド分類
装置18内にシフトされると同時に、そのグループの16個
のレコードは、分類された順に該リバウンド分類装置か
ら出始める。この様にして16個のレコードの分類済みス
トリングが形成され、出力部22によって作業空間メモリ
ー16に送り込まれる。
他の特徴は、動作速度を高めるパイプライン制御回路60
の使用に関する。16個のレコードの各分類済みグループ
がリバウンド分類装置18から出てゆくとき、他の分類動
作が開始されて他の16個のレコードのグループが実際上
同時にリバウンド分類装置18内にシフトされる。パイプ
ライン制御回路60は、この二つのグループのレコードを
混合せずにこの操作を行わせる様に設計されている。
の使用に関する。16個のレコードの各分類済みグループ
がリバウンド分類装置18から出てゆくとき、他の分類動
作が開始されて他の16個のレコードのグループが実際上
同時にリバウンド分類装置18内にシフトされる。パイプ
ライン制御回路60は、この二つのグループのレコードを
混合せずにこの操作を行わせる様に設計されている。
16個のレコードの第2のストリングが分類されて出力部
22によって送られて作業空間メモリー16に格納されてゆ
くとき、16個のレコードの第3のグループがリバウンド
分類装置18内にシフトされてゆき、次に、各々16個の分
類済みレコードから成る16個のストリングが作業空間メ
モリー16に格納されるまで第4及び後続の16個のレコー
ドのグループがシフトされてゆく。後に詳しく説明する
ように、『アップ併合』操作が行われ、この操作によ
り、各々16個のレコードから成る16個の分類済みストリ
ングからレコードが取り出されてリバウンド分類装置18
内にシフトされて、256個の分類済みレコードから成る
単一のストリングが形成され、これが作業空間メモリー
に格納される。最後のレコード又は分類又は併合の直後
に併合を開始することが出来る。
22によって送られて作業空間メモリー16に格納されてゆ
くとき、16個のレコードの第3のグループがリバウンド
分類装置18内にシフトされてゆき、次に、各々16個の分
類済みレコードから成る16個のストリングが作業空間メ
モリー16に格納されるまで第4及び後続の16個のレコー
ドのグループがシフトされてゆく。後に詳しく説明する
ように、『アップ併合』操作が行われ、この操作によ
り、各々16個のレコードから成る16個の分類済みストリ
ングからレコードが取り出されてリバウンド分類装置18
内にシフトされて、256個の分類済みレコードから成る
単一のストリングが形成され、これが作業空間メモリー
に格納される。最後のレコード又は分類又は併合の直後
に併合を開始することが出来る。
256個のレコードの単一のストリングが格納された後、
他の分類操作が行われて、各々16個のレコードから成る
他の16個のストリングが作業空間メモリー16に格納さ
れ、その後に他のアップ併合操作が行われて256個の分
類済みレコードの第2のストリングが形成され格納され
る。各々256個のレコードから成る16個のストリングが
形成され格納された後、更に他のアップ併合操作を行っ
て4096個のレコードから成る単一のストリングを形成し
格納すことが出来る。
他の分類操作が行われて、各々16個のレコードから成る
他の16個のストリングが作業空間メモリー16に格納さ
れ、その後に他のアップ併合操作が行われて256個の分
類済みレコードの第2のストリングが形成され格納され
る。各々256個のレコードから成る16個のストリングが
形成され格納された後、更に他のアップ併合操作を行っ
て4096個のレコードから成る単一のストリングを形成し
格納すことが出来る。
入力ストリングが4096個より多いレコードを有するなら
ば、入力ストリング全体が処理されるまで、追加の分類
及びアップ併合操作が行われる。入力フェーズでは、レ
コードは全て4096個のレコードを包含する数個のストリ
ングに分類されるが、最後のストリングだけは例外で、
入力ストリングの長さに応じて4096個の少ないレコード
を包含することがある。形成されることの出来るストリ
ングの数は、使用可能なメモリーによってのみ限定され
る。
ば、入力ストリング全体が処理されるまで、追加の分類
及びアップ併合操作が行われる。入力フェーズでは、レ
コードは全て4096個のレコードを包含する数個のストリ
ングに分類されるが、最後のストリングだけは例外で、
入力ストリングの長さに応じて4096個の少ないレコード
を包含することがある。形成されることの出来るストリ
ングの数は、使用可能なメモリーによってのみ限定され
る。
入力フェーズの分類及びアップ併合操作が完了すると、
出力フェーズが始まって、必要に応じて併合が行われて
ストリングの数が16以下に減らされ、次に最後の併合が
行われて分類済みレコードが上位メモリー12の、上位コ
ンピュータ11からの最初のコマンドで指定されるアドレ
スから始まるアドレスに直接書き込まれる。更に他の特
徴は、併合されるべきストリングの作業メモリー又は中
間メモリーにおける格納の管理と、格納されているスト
リングを中間メモリーから併合のためのリバウンド分類
装置18に供給する方法とに関する。
出力フェーズが始まって、必要に応じて併合が行われて
ストリングの数が16以下に減らされ、次に最後の併合が
行われて分類済みレコードが上位メモリー12の、上位コ
ンピュータ11からの最初のコマンドで指定されるアドレ
スから始まるアドレスに直接書き込まれる。更に他の特
徴は、併合されるべきストリングの作業メモリー又は中
間メモリーにおける格納の管理と、格納されているスト
リングを中間メモリーから併合のためのリバウンド分類
装置18に供給する方法とに関する。
分類加速装置10は、パリティ及び検査合計の検査を含む
検査操作に関連する特徴も含んでおり、これらの検査
は、処理エラーを検出すると共に、分類加速装置10から
出力される分類済みレコードの保全性を保証しながら最
適な分類及び併合の操作が出来る様に行われる。
検査操作に関連する特徴も含んでおり、これらの検査
は、処理エラーを検出すると共に、分類加速装置10から
出力される分類済みレコードの保全性を保証しながら最
適な分類及び併合の操作が出来る様に行われる。
パイプライン制御を有するリバウンド分類装置(第3図
ないし第5図) 分類加速装置10の心臓部は、第3図に単純化された形で
示されているリバウンド分類装置18である。第4A図及び
第4B図は、該分類装置中のデータの流れの、簡単化され
た例を示す。リバウンド分類装置18の構成は、第5図に
詳しく示されており、分類装置18の個々の回路は他の図
に示されている。
ないし第5図) 分類加速装置10の心臓部は、第3図に単純化された形で
示されているリバウンド分類装置18である。第4A図及び
第4B図は、該分類装置中のデータの流れの、簡単化され
た例を示す。リバウンド分類装置18の構成は、第5図に
詳しく示されており、分類装置18の個々の回路は他の図
に示されている。
分類装置18は、典型的には名前又は番号のASCII表示を
提供するバイトであるレコードのキーに割り当てられた
数値に一致する順にレコードを配列する。該分類装置
は、希望に応じてレコードを上昇又は下降の順に分類す
ることが出来る。本書において動作を記述し、混乱をな
るべく無くするために、レコードキーの比較に言及する
ときには『より大きい』及び『より小さい』という用語
を使用する。『より大きい』キー及び『より小さい』キ
ーに付随する実際のキー値は、行われている分類が上昇
分類である下降分類であるかに依存し、本書における
『より大きい』及び『より小さい』という用語の使用は
発明に対する限定と解されるべきではないことが分か
る。
提供するバイトであるレコードのキーに割り当てられた
数値に一致する順にレコードを配列する。該分類装置
は、希望に応じてレコードを上昇又は下降の順に分類す
ることが出来る。本書において動作を記述し、混乱をな
るべく無くするために、レコードキーの比較に言及する
ときには『より大きい』及び『より小さい』という用語
を使用する。『より大きい』キー及び『より小さい』キ
ーに付随する実際のキー値は、行われている分類が上昇
分類である下降分類であるかに依存し、本書における
『より大きい』及び『より小さい』という用語の使用は
発明に対する限定と解されるべきではないことが分か
る。
第3図を参照すると、分類装置18は、実際にN個のレコ
ードキーを比較することの出来るN−1要素のリバウン
ド分類装置である。Nは図示の実施例では16であり、N
−1個の処理要素はPE0ないしPEN-1と示されていて、第
1図に示されている部40-54に包含されている。
ードキーを比較することの出来るN−1要素のリバウン
ド分類装置である。Nは図示の実施例では16であり、N
−1個の処理要素はPE0ないしPEN-1と示されていて、第
1図に示されている部40-54に包含されている。
キー比較は、一時に1バイトずつ、N−1個の処理要素
の全てで行われるか又は並列に動作する。キーのバイト
の比較は、キーからのバイトが一致しなくなるまで続け
られる。その時、該バイトの符号を除いた二進値に基づ
いて、どのキーがより大きいか判断される。上昇分類で
は、より大きなキーは、より大きな符号無し二進バイト
値を持っているキーである。下降分類では、より大きな
キーは、より小さな符号無し二進バイト値を持っている
キーである。
の全てで行われるか又は並列に動作する。キーのバイト
の比較は、キーからのバイトが一致しなくなるまで続け
られる。その時、該バイトの符号を除いた二進値に基づ
いて、どのキーがより大きいか判断される。上昇分類で
は、より大きなキーは、より大きな符号無し二進バイト
値を持っているキーである。下降分類では、より大きな
キーは、より小さな符号無し二進バイト値を持っている
キーである。
N−1要素リバウンド分類装置は、以下の特性を持った
ブラックボックスと見ることの出来るものである。N−
1個のレコードが装填された後、新しいレコードがこの
箱に投入されると、この新しいレコードと、既に該箱の
中にあるN−1個のレコードとの中の最小のレコードが
該箱から出てくる。
ブラックボックスと見ることの出来るものである。N−
1個のレコードが装填された後、新しいレコードがこの
箱に投入されると、この新しいレコードと、既に該箱の
中にあるN−1個のレコードとの中の最小のレコードが
該箱から出てくる。
第3図に略図示されている様に、リバウンド分類装置
は、各々IERSとして示されている要素間レコード格納部
を介して接続されたN−1個の処理要素から成ってお
り、2個のIERSが各PEに付随している。各PEは各期間に
2個の入力バイトを受け入れて2個の出力バイトを作
る。各IERSは各期間に1バイトを受け入れて1バイトを
作る。各IERSはレコードの半分を保持し、シフトレジス
ターとして作動する。IERSのバイト入力は出力において
R/2期間後に作られるが、ここでRはレコード中のバイ
トの数である。処理要素及び要素間レコード格納部の構
成は、垂直のコラムと見なすことの出来るものであり、
新しいレコードは該カラムの、第3図の頂部左側及び右
側から出入りする。
は、各々IERSとして示されている要素間レコード格納部
を介して接続されたN−1個の処理要素から成ってお
り、2個のIERSが各PEに付随している。各PEは各期間に
2個の入力バイトを受け入れて2個の出力バイトを作
る。各IERSは各期間に1バイトを受け入れて1バイトを
作る。各IERSはレコードの半分を保持し、シフトレジス
ターとして作動する。IERSのバイト入力は出力において
R/2期間後に作られるが、ここでRはレコード中のバイ
トの数である。処理要素及び要素間レコード格納部の構
成は、垂直のコラムと見なすことの出来るものであり、
新しいレコードは該カラムの、第3図の頂部左側及び右
側から出入りする。
IERS要素は、次のようにしてPEに接続されている: (a) 該コラムを下るPEmからの出力バイトは、IERSm
への入力である。
への入力である。
(b) IERSmの出力は、IERSN+N−3への入力である
IERSN−2を除いて、下降するPEm+1への入力である。
リバウンド分類装置への入力は、PE0への入力である。
IERSN−2を除いて、下降するPEm+1への入力である。
リバウンド分類装置への入力は、PE0への入力である。
(c) 該コラムを上昇するPEmからの出力バイトは、
該分類装置の出力であるPE0を除いて、IERSN−1+m−
1への入力である。
該分類装置の出力であるPE0を除いて、IERSN−1+m−
1への入力である。
(d) IERSN−1+m−1の出力は、PEm−1への入力
である。
である。
より大きなキーを持ったレコード(最後のシーケンスで
遅くに分類するもの)は該コラムの底に向かって降下
し、より小さなキー持ったレコード(最後のシーケンス
で早くに分類するもの)は該コラムの頂部へ向かって上
昇する。本発明の加速装置では、比較されるべきレコー
ドのグループは、該コラムに入る新しいレコードが該コ
ラム中に既に在るレコードと混合されるのを防止する
『境界』条件を作ることによって分離される。これによ
り、実際に、グループが該コラムから流し去られ、新し
いグループが装填される。
遅くに分類するもの)は該コラムの底に向かって降下
し、より小さなキー持ったレコード(最後のシーケンス
で早くに分類するもの)は該コラムの頂部へ向かって上
昇する。本発明の加速装置では、比較されるべきレコー
ドのグループは、該コラムに入る新しいレコードが該コ
ラム中に既に在るレコードと混合されるのを防止する
『境界』条件を作ることによって分離される。これによ
り、実際に、グループが該コラムから流し去られ、新し
いグループが装填される。
各PEは、該コラムを下降するレコード及び上昇するレコ
ードの第1バイトが与えられたときに処理を開始する。
若し下降しているレコードが上昇しているレコードより
大きければ、それは該コラムを下降し続け、そして、上
昇しているレコードは該コラムを上昇し続ける。若し下
降しているレコードが上昇しているレコードより小さけ
れば、それは逆に該コラムを上昇させられ、上昇してい
たレコードは逆に該コラムを下降させられる。各IERSは
レコードの半分を内蔵しているだけでなので、偶数番号
のPEは、奇数番号のPEとは半レコードだけ位相がずれて
いる。
ードの第1バイトが与えられたときに処理を開始する。
若し下降しているレコードが上昇しているレコードより
大きければ、それは該コラムを下降し続け、そして、上
昇しているレコードは該コラムを上昇し続ける。若し下
降しているレコードが上昇しているレコードより小さけ
れば、それは逆に該コラムを上昇させられ、上昇してい
たレコードは逆に該コラムを下降させられる。各IERSは
レコードの半分を内蔵しているだけでなので、偶数番号
のPEは、奇数番号のPEとは半レコードだけ位相がずれて
いる。
本発明の加速装置のパイプライン制御は、新しいレコー
ドが与えられた時、キーの終わりが到達した時、及びそ
れらを比較するべきか否か(『境界』条件)を知る様に
PEの順序づけを制御する。
ドが与えられた時、キーの終わりが到達した時、及びそ
れらを比較するべきか否か(『境界』条件)を知る様に
PEの順序づけを制御する。
第4A図及び第4B図において、4個の2バイトレコードの
組を分類すの単純化された3要素リバウンド分類装置が
示されており、図示の加速装置10は僅か4バイトだけを
必要とするものであり、簡単のために、この例では2バ
イトを使われる。図示の単純化されたリバウンド分類装
置への下記の入力シーケンスを考察する。2個の数字が
それぞれレコードである: 85393274 この例では、以下の仮定を用いる: (a) 該キーはレコードの全体である。
組を分類すの単純化された3要素リバウンド分類装置が
示されており、図示の加速装置10は僅か4バイトだけを
必要とするものであり、簡単のために、この例では2バ
イトを使われる。図示の単純化されたリバウンド分類装
置への下記の入力シーケンスを考察する。2個の数字が
それぞれレコードである: 85393274 この例では、以下の仮定を用いる: (a) 該キーはレコードの全体である。
(b) 箱は処理要素を表す。
(c) 箱と箱との間の垂直線は、1個の数字を保持す
る要素間レコード格納部を表す。
る要素間レコード格納部を表す。
(d) 垂直線の隣に示されている数字は、IERSに包含
されているデータの値を表す。xは、『無頓着な人』デ
ータ(“don't care"date)を示す。
されているデータの値を表す。xは、『無頓着な人』デ
ータ(“don't care"date)を示す。
(e) 『<−』という記号は、新しいグループの第1
バイトを示す(『境界』条件)。
バイトを示す(『境界』条件)。
(f) PE状態は、PEの中に示されている『DS』、『P
V』、『・PH』、『EV』、及び『xx』という記号で指示
されている。
V』、『・PH』、『EV』、及び『xx』という記号で指示
されている。
(g) DS=決定状態(垂直に通過) (h) PV=垂直に通過 (i) PH=水平に通過 (j) FV=垂直に押し進める(垂直に通過) (k) xx=頓着しない(don't care)。
図示の状態は、分類装置の動作を理解するのに役立つ。
例えば、PEの初期状態は、データをIERSに装填する『R
V』である。4番目のクロック後に、最低のPE要素が『D
E』(決定)状態に入り、二つの記録の第1の可能な比
較が行われる。
例えば、PEの初期状態は、データをIERSに装填する『R
V』である。4番目のクロック後に、最低のPE要素が『D
E』(決定)状態に入り、二つの記録の第1の可能な比
較が行われる。
14クロック後に最後のデータ値『5』が分類装置の出力
に現れる。よって、該出力ストリームは『32397485』と
なる。
に現れる。よって、該出力ストリームは『32397485』と
なる。
第5図において、前述の処理要素PE0、PE1及びPEN−2
は、部40、41及び54に包含されている。
は、部40、41及び54に包含されている。
部40の処理要素は、2個のマルチプレクサ65及び66、制
御回路67及び比較器67を含む。上左側のUL入力ライン69
は、マルチプレクサ65の1入力とマルチプレクサ66の1
入力とに接続されている。第2のLR入力ライン70はマル
チプレクサ65の第2入力とマルチプレクサ66の第2入力
とに接続されている。マルチプレクサ65及び66の出力
は、それぞれ、下左側のLL出力ライン71及び上右側のUR
出力ライン72に接続されている。マルチプレクサ65及び
66は、比較器68の出力により制御される制御回路67によ
って制御され、比較器68の入力はULライン69及び入力ラ
イン70に接続されている。
御回路67及び比較器67を含む。上左側のUL入力ライン69
は、マルチプレクサ65の1入力とマルチプレクサ66の1
入力とに接続されている。第2のLR入力ライン70はマル
チプレクサ65の第2入力とマルチプレクサ66の第2入力
とに接続されている。マルチプレクサ65及び66の出力
は、それぞれ、下左側のLL出力ライン71及び上右側のUR
出力ライン72に接続されている。マルチプレクサ65及び
66は、比較器68の出力により制御される制御回路67によ
って制御され、比較器68の入力はULライン69及び入力ラ
イン70に接続されている。
処理要素がバイトを垂直に移動させている時には、マル
チプレクサ65及び66は、バイトがULライン69から下方に
LLライン71へ移動し、バイトがLRライン70から上方にUT
ライン72へ移動することとなる様に制御される。バイト
が水平に移動させられる反対の状態では、ULライン69上
のバイト入力はマルチプレクサ66を通じてURライン72へ
送られ、LRライン70上のバイト入力はマルチプレクサ65
を通じて左方にLLライン71へ送られる。ライン69-72
は、バイトの全てのビットを並列に送る複数の信号経路
を提供し、バイトは一つ一つ順次に送られる。
チプレクサ65及び66は、バイトがULライン69から下方に
LLライン71へ移動し、バイトがLRライン70から上方にUT
ライン72へ移動することとなる様に制御される。バイト
が水平に移動させられる反対の状態では、ULライン69上
のバイト入力はマルチプレクサ66を通じてURライン72へ
送られ、LRライン70上のバイト入力はマルチプレクサ65
を通じて左方にLLライン71へ送られる。ライン69-72
は、バイトの全てのビットを並列に送る複数の信号経路
を提供し、バイトは一つ一つ順次に送られる。
部40-54の全ての処理要素は、同じ機能を実行する。各
処理要素が、各期間に以下の情報を受け取る: (a) 第5図のULライン69を通じて加えられる、コラ
ムを下降するレコードの次のバイト。
処理要素が、各期間に以下の情報を受け取る: (a) 第5図のULライン69を通じて加えられる、コラ
ムを下降するレコードの次のバイト。
(b) 第5図のLRライン70を通じて加えられる、コラ
ムを上昇するレコードの次のバイト。
ムを上昇するレコードの次のバイト。
(c) 現在のバイトがレコードの最後のバイトであれ
ば真であり、そうでなければ偽であるブール値。(この
値は第6図においてE/ORECと呼ばれており、これについ
ては後述するが、これはPE制御論理を示す;それは偶数
番号のPEについてはERECと呼ばれ、奇数番号のPEについ
てはORECと呼ばれる。) (d) 現在のバイトがキーに続く第1のバイトであれ
ば真であり、そうでなければ偽であるブール値。(この
値は第6図ではE/OTAGと呼ばれており、偶数番号及び奇
数番号のPEについてETAG及びOTAGと呼ばれる。) (e) 現在のレコードが『垂直に移動させられてい
る』ならば真であり、そうでなければ偽であるブール
値。『垂直に移動』は、コラムを下るしレコードからの
バイトはコラムを下って移動させられ、コラムを上るレ
コードからのバイトはコラムを登って移動させられるこ
とを意味する。(この値は第6図においてFORCEVと呼ば
れている。) (f) 『上昇』分類については真で、『下降』分類に
ついては偽であるブール値。(この値は第6図でASCEND
INGと呼ばれている。) 各処理要素が、以下の内部状態情報を維持する: (a) 現在のレコードのうちのどれが『より大きい』
かということについて判断がなされていなければ真であ
り、そうでなければ偽であるブール値。(第6図のDECI
DING。) (b) 判定がされた後に使用される、バイトが『垂直
に移動させられている』ならば真であり、バイトが『水
平に移動させられている』ならば偽であるブール値。
(第6図のPASSV。) 受信された情報と現在の内部状態情報とに基づいて、各
処理要素は各期間に以下の情報を作る: (a) コラムを下るべき次のバイト。このバイトは第
5図のLLライン71から下降させられる。
ば真であり、そうでなければ偽であるブール値。(この
値は第6図においてE/ORECと呼ばれており、これについ
ては後述するが、これはPE制御論理を示す;それは偶数
番号のPEについてはERECと呼ばれ、奇数番号のPEについ
てはORECと呼ばれる。) (d) 現在のバイトがキーに続く第1のバイトであれ
ば真であり、そうでなければ偽であるブール値。(この
値は第6図ではE/OTAGと呼ばれており、偶数番号及び奇
数番号のPEについてETAG及びOTAGと呼ばれる。) (e) 現在のレコードが『垂直に移動させられてい
る』ならば真であり、そうでなければ偽であるブール
値。『垂直に移動』は、コラムを下るしレコードからの
バイトはコラムを下って移動させられ、コラムを上るレ
コードからのバイトはコラムを登って移動させられるこ
とを意味する。(この値は第6図においてFORCEVと呼ば
れている。) (f) 『上昇』分類については真で、『下降』分類に
ついては偽であるブール値。(この値は第6図でASCEND
INGと呼ばれている。) 各処理要素が、以下の内部状態情報を維持する: (a) 現在のレコードのうちのどれが『より大きい』
かということについて判断がなされていなければ真であ
り、そうでなければ偽であるブール値。(第6図のDECI
DING。) (b) 判定がされた後に使用される、バイトが『垂直
に移動させられている』ならば真であり、バイトが『水
平に移動させられている』ならば偽であるブール値。
(第6図のPASSV。) 受信された情報と現在の内部状態情報とに基づいて、各
処理要素は各期間に以下の情報を作る: (a) コラムを下るべき次のバイト。このバイトは第
5図のLLライン71から下降させられる。
(b) コラムを上るべき次のバイト。このバイトは第
5図のURライン72から上昇させられる。
5図のURライン72から上昇させられる。
(c) 内部状態情報についての新しい値。
処理要素の動作について、上記の情報に関して簡単に説
明する。処理要素が垂直に移動させる様にされているな
らば、下降するレコードの全てのバイトが下方に通過さ
せられ、上昇するレコードのバイトは、下記の判断プロ
セスとは無関係に上方に通過させられる。これは、分類
装置に装填をし、それを空にし、分類されるべきレコー
ドのグループを分離するのに使われる。
明する。処理要素が垂直に移動させる様にされているな
らば、下降するレコードの全てのバイトが下方に通過さ
せられ、上昇するレコードのバイトは、下記の判断プロ
セスとは無関係に上方に通過させられる。これは、分類
装置に装填をし、それを空にし、分類されるべきレコー
ドのグループを分離するのに使われる。
処理要素が垂直に移動させる様にされていなければ、次
の様になる。判断が既に行われていれば、先に行われた
その判断に基づいてバイトは垂直又は水平に移動させら
れ続ける。そうでなければ、現在の入力バイトが比較さ
れる。それらが等しくなければ、この時点で判断が行わ
れる。上昇中のバイトが下降中のバイトより大きけれ
ば、上昇中のバイトは下方に移動させられ、下降中のバ
イトは上方に移動させられる(水平に移動)。そもなけ
れば、上昇中のバイトは上方に移動させられ、下降中の
バイトは下方に移動させられる(垂直に移動)。判断が
される時、処理要素は、各レコードの残りのバイトを同
じ方向に移動させるために、垂直に移動させたか又は水
平に移動させたかを思い出す。
の様になる。判断が既に行われていれば、先に行われた
その判断に基づいてバイトは垂直又は水平に移動させら
れ続ける。そうでなければ、現在の入力バイトが比較さ
れる。それらが等しくなければ、この時点で判断が行わ
れる。上昇中のバイトが下降中のバイトより大きけれ
ば、上昇中のバイトは下方に移動させられ、下降中のバ
イトは上方に移動させられる(水平に移動)。そもなけ
れば、上昇中のバイトは上方に移動させられ、下降中の
バイトは下方に移動させられる(垂直に移動)。判断が
される時、処理要素は、各レコードの残りのバイトを同
じ方向に移動させるために、垂直に移動させたか又は水
平に移動させたかを思い出す。
上昇/下降の入力の状態は、比較における大小の意味を
判断するのに使われる。
判断するのに使われる。
第3図の要素間レコード格納部即ち、IERSは、バイトの
レコードの半分を内蔵する可変長シフトレジスターであ
る。Rの長さのレコードにつていは、期間TにおけるIE
RSへのバイト入力は、期間T+R/2でその出力に作られ
る。これは、該シフトレジスターの長さがR/2でなけれ
ばならないことを意味する。前述したように、ユーザー
レコードは、付加された少なくとも一つのバイト(タグ
バイト『を有し、生じた長さが奇数であれば、パッドバ
イトも付加される。
レコードの半分を内蔵する可変長シフトレジスターであ
る。Rの長さのレコードにつていは、期間TにおけるIE
RSへのバイト入力は、期間T+R/2でその出力に作られ
る。これは、該シフトレジスターの長さがR/2でなけれ
ばならないことを意味する。前述したように、ユーザー
レコードは、付加された少なくとも一つのバイト(タグ
バイト『を有し、生じた長さが奇数であれば、パッドバ
イトも付加される。
第5図に示されている回路において、各シフトレジスタ
ーは、比較器論理への安定なインターフェースを提供す
るラッチと組み合わせて記憶回路56のRAM部を使用する
ことによって実現される。第3図の第1シストレジスタ
ーIERS0は、RAM部74と読み書き回路76とによって実現さ
れており、この回路76は、LL出力ライン71に接続された
書込み入力と、出力ラッチ回路78を通じて次の部41のUL
ライン69′に接続された読み出し出力とを有する。出力
ラッチ回路78は、該シフトレジスターの余分の行を形成
し、キーバイトの比較のために安定した状態を保証す
る。この余分の行のためのラッチと、少なくとも一つの
RAM行とがデータ経路中になければならないので、該シ
フトレジスターの最小サイズは2行である。これによ
り、リバウンド分類装置のための最小レコード長さが4
バイトに設定される。
ーは、比較器論理への安定なインターフェースを提供す
るラッチと組み合わせて記憶回路56のRAM部を使用する
ことによって実現される。第3図の第1シストレジスタ
ーIERS0は、RAM部74と読み書き回路76とによって実現さ
れており、この回路76は、LL出力ライン71に接続された
書込み入力と、出力ラッチ回路78を通じて次の部41のUL
ライン69′に接続された読み出し出力とを有する。出力
ラッチ回路78は、該シフトレジスターの余分の行を形成
し、キーバイトの比較のために安定した状態を保証す
る。この余分の行のためのラッチと、少なくとも一つの
RAM行とがデータ経路中になければならないので、該シ
フトレジスターの最小サイズは2行である。これによ
り、リバウンド分類装置のための最小レコード長さが4
バイトに設定される。
RAMは、最大レコードサイズの半分から1を引いた数に
等しい個数の行と、処理要素の個数の2倍の8倍に等し
い個数のコラムとを有する。現行の実施例では、処理要
素の個数は15であり、各行は2×15×8、即ち、240ビ
ット幅となる。最大レコードサイズは40であるので、
(40/2)−1、即ち、19個の行がある。これで、全体と
してのRAMサイズは4560ビットとなる。
等しい個数の行と、処理要素の個数の2倍の8倍に等し
い個数のコラムとを有する。現行の実施例では、処理要
素の個数は15であり、各行は2×15×8、即ち、240ビ
ット幅となる。最大レコードサイズは40であるので、
(40/2)−1、即ち、19個の行がある。これで、全体と
してのRAMサイズは4560ビットとなる。
RAM部74及び読み書き回路76によってシフトレジスターI
ERS0が構成されているのと同様に、第3図のシフトレジ
スターIERS−1はRAM部80と読み書き回路82とによって
構成されており、この回路82は、部41のUR出力ラインに
接続された書込み入力と、部40の処理要素のラインLRラ
イン70に接続された出力ラッチ回路84を通じて接続され
た読み出し回路とを有する。出力ラッチ回路84は、ラッ
チ回路78と同様に、シフトレジスターの余分の行を形成
する。
ERS0が構成されているのと同様に、第3図のシフトレジ
スターIERS−1はRAM部80と読み書き回路82とによって
構成されており、この回路82は、部41のUR出力ラインに
接続された書込み入力と、部40の処理要素のラインLRラ
イン70に接続された出力ラッチ回路84を通じて接続され
た読み出し回路とを有する。出力ラッチ回路84は、ラッ
チ回路78と同様に、シフトレジスターの余分の行を形成
する。
第5図に示されている部41及び54の処理要素及びシフト
レジスターは、部40のそれらと実質的に同一であり、対
応する要素はダッシュ記号及び二重ダッシュ記号で指示
されている。部41は例外であり、タグ先読み回路100を
含むものとして示されており、第13図ないし第17図との
関連で後述する様にして処理の中断を回避する。分類装
置18のRAM部74及び80及びその他の部41-54の行イネーブ
ルはRAMインデックス回路から駆動され、後述するよう
に、形の異なる二つの回路58及び58′が第7図及び第8
図に示されている。
レジスターは、部40のそれらと実質的に同一であり、対
応する要素はダッシュ記号及び二重ダッシュ記号で指示
されている。部41は例外であり、タグ先読み回路100を
含むものとして示されており、第13図ないし第17図との
関連で後述する様にして処理の中断を回避する。分類装
置18のRAM部74及び80及びその他の部41-54の行イネーブ
ルはRAMインデックス回路から駆動され、後述するよう
に、形の異なる二つの回路58及び58′が第7図及び第8
図に示されている。
分類装置18の部41-54は、境界指示を格納するように構
成された要素を含むパイプライン制御回路60に接続され
ており、この指示は、分類装置18におけるコードのシフ
トと同期して一つの要素から他の要素へシフトされる。
該要素のうちの或るものは、処理要素の制御回路にFORC
EV信号を加えて、或る状態の際に処理要素に垂直方向に
のみシフトを行わせて一グループのレコードの他のグル
ープのレコードとの混合を回避する。
成された要素を含むパイプライン制御回路60に接続され
ており、この指示は、分類装置18におけるコードのシフ
トと同期して一つの要素から他の要素へシフトされる。
該要素のうちの或るものは、処理要素の制御回路にFORC
EV信号を加えて、或る状態の際に処理要素に垂直方向に
のみシフトを行わせて一グループのレコードの他のグル
ープのレコードとの混合を回避する。
FORCEV信号を部40、41及び54に加えるパイプライン要素
は第5図において参照数字91、92及び93で示されてお
り、該要素も境界条件信号をシフトさせる。追加のパイ
プライン要素は境界条件信号のシフトのためだけに使わ
れるが、部54、41及び40についてのパイプライン要素は
それぞれ参照数字94、95及び96で指示されている。次
に、パイプライン要素の動作について、第11図との関連
で詳しく説明する。
は第5図において参照数字91、92及び93で示されてお
り、該要素も境界条件信号をシフトさせる。追加のパイ
プライン要素は境界条件信号のシフトのためだけに使わ
れるが、部54、41及び40についてのパイプライン要素は
それぞれ参照数字94、95及び96で指示されている。次
に、パイプライン要素の動作について、第11図との関連
で詳しく説明する。
処理要素制御論理(第6図) 第6図は、部40の制御回路67の論理回路を示し、同様の
論理回路が制御回路67′及び67″と分類装置18の他の部
の制御回路とに包含されている。前記のFORCEV信号は、
ライン101を通じてORゲート102の一入力に加えられ、こ
のゲートは出力をNEW PASS Vライン103に出力する。OR
ゲート102の第2入力はマルチプレクサ104に接続されて
おり、このマルチプレクサは、ラッチ106の出力に接続
されたライン105上のDECIDING信号によって制御され
る。ラッチ106は、ORゲート108を通じて、ライン109上
のE/OREC信号から、又は3入力を有するANDゲート110の
出力から加えられる信号から、制御される。
論理回路が制御回路67′及び67″と分類装置18の他の部
の制御回路とに包含されている。前記のFORCEV信号は、
ライン101を通じてORゲート102の一入力に加えられ、こ
のゲートは出力をNEW PASS Vライン103に出力する。OR
ゲート102の第2入力はマルチプレクサ104に接続されて
おり、このマルチプレクサは、ラッチ106の出力に接続
されたライン105上のDECIDING信号によって制御され
る。ラッチ106は、ORゲート108を通じて、ライン109上
のE/OREC信号から、又は3入力を有するANDゲート110の
出力から加えられる信号から、制御される。
ANDゲート110の一入力はDECIDINGライン105に接続され
ている。第2入力はライン111を通じて比較回路689の出
力に接続されており、ここで、上左側入力69及び下右側
入力70の信号が等しいときにUL=LR信号が生成される。
該ANDゲートの第3入力は『−E/OTAG』ライン112に接続
されている。
ている。第2入力はライン111を通じて比較回路689の出
力に接続されており、ここで、上左側入力69及び下右側
入力70の信号が等しいときにUL=LR信号が生成される。
該ANDゲートの第3入力は『−E/OTAG』ライン112に接続
されている。
マルチプレクサ104の一入力はPASS Vライン113に接続さ
れており、このラインはラッチ114の出力に接続され、
このラッチにライン103上のNEW PASS V信号が加えられ
る。マルチプレクサ104の第2入力はORゲート116の出力
に接続されており、このゲートの一入力はUL=LRライン
111に接続され、第2入力はマルチプレクサ118の出力に
接続されている。マルチプレクサ118の一入力はライン1
19を通じて、比較器68からのUL>LR信号ラインに接続さ
れている。
れており、このラインはラッチ114の出力に接続され、
このラッチにライン103上のNEW PASS V信号が加えられ
る。マルチプレクサ104の第2入力はORゲート116の出力
に接続されており、このゲートの一入力はUL=LRライン
111に接続され、第2入力はマルチプレクサ118の出力に
接続されている。マルチプレクサ118の一入力はライン1
19を通じて、比較器68からのUL>LR信号ラインに接続さ
れている。
第2入力は、ライン120で比較回路68から加えられるUL/
LR信号に接続されている。マルチプレクサ118はORゲー
ト122の出力から制御され、このゲートは接続された入
力ライン123及び124を有し、これにASCENDING信号及びE
/OTAG信号が加えられる。第6図の制御論理の動作は、P
E要素が行う動作に関する以上の説明から明らかであろ
う。
LR信号に接続されている。マルチプレクサ118はORゲー
ト122の出力から制御され、このゲートは接続された入
力ライン123及び124を有し、これにASCENDING信号及びE
/OTAG信号が加えられる。第6図の制御論理の動作は、P
E要素が行う動作に関する以上の説明から明らかであろ
う。
前記した様に、RAM部74及び84及び分類装置18の他の部4
1-54の行イネーブルはRAMインデックス回路から駆動さ
れるが、形の異なる二つの回路58及び58′が第7図及び
第8図に示されている。
1-54の行イネーブルはRAMインデックス回路から駆動さ
れるが、形の異なる二つの回路58及び58′が第7図及び
第8図に示されている。
RAMインデックス回路(第7図) 第7図のRAMインデックス回路58は、単一のデコーダ131
及びガウンタ132から成る。該カウンタはカウント入力1
33を通じてU/2のカウントを装填され、各カウントで装
填された後、1までカウントダウンし、その後、動作が
反復される。カウンタ132の出力は、デコーダ131及び多
芯出力ライン134を通じて部40のRAM部74及び84と、他の
部41-54の対応するRAM部とに送られる。デコーダ131の
出力は、次の行に進む前に、RAM行イネーブルを、最初
は読み出しに、次に書込みに、駆動する。始動時及びカ
ウンタが1に達した後の初期値(U/2)は、ユーザーの
指定したレコードサイズの低位ビットを除く全てのビッ
トに由来する(2で割る)。ユーザーレコードには少な
くとも1バイト(タグバイト)が付加されており、生じ
た長さが若し奇数であれば、パットバイトも付加される
ことを想起しなければならない。これは、若しユーザー
レコードサイズがUであれば、U/2=(R/2)−1である
ことを意味する。
及びガウンタ132から成る。該カウンタはカウント入力1
33を通じてU/2のカウントを装填され、各カウントで装
填された後、1までカウントダウンし、その後、動作が
反復される。カウンタ132の出力は、デコーダ131及び多
芯出力ライン134を通じて部40のRAM部74及び84と、他の
部41-54の対応するRAM部とに送られる。デコーダ131の
出力は、次の行に進む前に、RAM行イネーブルを、最初
は読み出しに、次に書込みに、駆動する。始動時及びカ
ウンタが1に達した後の初期値(U/2)は、ユーザーの
指定したレコードサイズの低位ビットを除く全てのビッ
トに由来する(2で割る)。ユーザーレコードには少な
くとも1バイト(タグバイト)が付加されており、生じ
た長さが若し奇数であれば、パットバイトも付加される
ことを想起しなければならない。これは、若しユーザー
レコードサイズがUであれば、U/2=(R/2)−1である
ことを意味する。
代替のRAMインデックス回路(第8図) 第8図のRAMインデックス回路58′は、追加の論理を犠
牲にして、アドレス指定論理の最短サイクル時間を短縮
する。回路58′は1ビット可変長シフトレジスター136
から記憶回路56のRAM行イネーブルを駆動するが、この
シフトレジスターは、半レコードの最大長に対応する個
数のステージを有し、出力は多芯ライン134′を通じて
記憶回路56の行イネーブルに接続されている。シフトレ
ジスター136のステージはリング形に構成されている。
該シフトレジスターの長さは、多芯ライン133′を通じ
てデコーダ138に加えられる初期制御データの使用によ
り、レコード長の半分から1を引いた長さとなるように
構成され、この制御データは、上位コンピュータから供
給された制御データからレコード長が決定された後に使
用される。単一のビットが該シフトレジスターリングを
循環して、次の行へ進む前に、最初に読み出しのため
に、次に書込みのために、行イネーブルを提供する。
牲にして、アドレス指定論理の最短サイクル時間を短縮
する。回路58′は1ビット可変長シフトレジスター136
から記憶回路56のRAM行イネーブルを駆動するが、この
シフトレジスターは、半レコードの最大長に対応する個
数のステージを有し、出力は多芯ライン134′を通じて
記憶回路56の行イネーブルに接続されている。シフトレ
ジスター136のステージはリング形に構成されている。
該シフトレジスターの長さは、多芯ライン133′を通じ
てデコーダ138に加えられる初期制御データの使用によ
り、レコード長の半分から1を引いた長さとなるように
構成され、この制御データは、上位コンピュータから供
給された制御データからレコード長が決定された後に使
用される。単一のビットが該シフトレジスターリングを
循環して、次の行へ進む前に、最初に読み出しのため
に、次に書込みのために、行イネーブルを提供する。
リングとしてのシフトレジスター136の動作を達成する
ために、デコーダ138の入力はユーザーレコード長の低
位ビットを除く全てのビットであり、これは分類装置18
へのレコード長入力の半分から1を引いた値である。デ
コーダの出力は0が該デコーダに入力されるときに表明
されるデコーダ出力に該シフトレジスターの出口端部が
接続される様に、該シフトレジスターに接続されてい
る。該シフトレジスターの次のビット(ビット0内にシ
フトするもの)は、1が該デコーダに入力されるときに
表明されるデコーダ出力に接続されている、等々であ
る。
ために、デコーダ138の入力はユーザーレコード長の低
位ビットを除く全てのビットであり、これは分類装置18
へのレコード長入力の半分から1を引いた値である。デ
コーダの出力は0が該デコーダに入力されるときに表明
されるデコーダ出力に該シフトレジスターの出口端部が
接続される様に、該シフトレジスターに接続されてい
る。該シフトレジスターの次のビット(ビット0内にシ
フトするもの)は、1が該デコーダに入力されるときに
表明されるデコーダ出力に接続されている、等々であ
る。
よって、デコーダ138の出力は単一のビットを該シフト
レジスターに装填し、これはNシフト後に該シフトレジ
スターの外にシフトするが、ここでNはレコード長の半
分から1を引いて得られる数である。これは初期化時
と、該ビットがシフトレジスターから出る時とに起こ
り、斯くしてリングを形成する。シフトとシフトとの間
で、使用可能にされた行は最初に読み出され、次に書き
込まれる。
レジスターに装填し、これはNシフト後に該シフトレジ
スターの外にシフトするが、ここでNはレコード長の半
分から1を引いて得られる数である。これは初期化時
と、該ビットがシフトレジスターから出る時とに起こ
り、斯くしてリングを形成する。シフトとシフトとの間
で、使用可能にされた行は最初に読み出され、次に書き
込まれる。
レコード制御回路62(第9図及び第10図) 第9図及び第10図は、レコード制御回路62の諸部分を示
す。第9図に示されている部分62Aは、主としてレコー
ドタイミングに使用され、第10図に示されている部分62
Bは主としてタグタイミングに使用される。これらの部
分は、処理要素及びパイプライン制御のためのタイミン
グ情報を作る。第9図及び第10図のレコード制御回路
は、初期化時に以下の情報を受け取る: (a) ユーザーレコードのサイズの半分、U/2。これ
は、レコードサイズが奇数ならば0に向かって先端から
切られ、第9図のライン141に加えられる。
す。第9図に示されている部分62Aは、主としてレコー
ドタイミングに使用され、第10図に示されている部分62
Bは主としてタグタイミングに使用される。これらの部
分は、処理要素及びパイプライン制御のためのタイミン
グ情報を作る。第9図及び第10図のレコード制御回路
は、初期化時に以下の情報を受け取る: (a) ユーザーレコードのサイズの半分、U/2。これ
は、レコードサイズが奇数ならば0に向かって先端から
切られ、第9図のライン141に加えられる。
(b) キーのサイズ。これは第10図のライン142に加
えられる。
えられる。
第9図及び第10図のレコード制御回路は、次の様に、構
成要素を包含すると共に内部状態条件を維持する: (a) 第9図のレコードバイトカウンタRCTR 143。こ
れはU/2に初期化され、期間毎に、カウンタ値から得ら
れるロード/デクリメント信号によりデクリメントされ
る(初期化時又はRLTR=1の時にロード、その他の時は
デクリメント)。ゼロを通過してデクリメントされる
と、カウンタ143はU/2にリセットされる。
成要素を包含すると共に内部状態条件を維持する: (a) 第9図のレコードバイトカウンタRCTR 143。こ
れはU/2に初期化され、期間毎に、カウンタ値から得ら
れるロード/デクリメント信号によりデクリメントされ
る(初期化時又はRLTR=1の時にロード、その他の時は
デクリメント)。ゼロを通過してデクリメントされる
と、カウンタ143はU/2にリセットされる。
(b) 第10図のタグバイトカウンタTCTR146。これ
は、INITライン149で加えられる信号により制御される
マルチプレクサ148を通じて加えられる信号を通してK
に初期化される。カウンタ146は、期間毎にライン144上
の信号によりデクリメントされる。デクリメントされた
時にカウンタ146が0であれば、該カウンタは、マルチ
プレクサ148を通じてライン141から加えられる信号によ
ってU/2にセットされる。
は、INITライン149で加えられる信号により制御される
マルチプレクサ148を通じて加えられる信号を通してK
に初期化される。カウンタ146は、期間毎にライン144上
の信号によりデクリメントされる。デクリメントされた
時にカウンタ146が0であれば、該カウンタは、マルチ
プレクサ148を通じてライン141から加えられる信号によ
ってU/2にセットされる。
ラッチ回路152の出力で第9図のライン150に生成される
ブール値RCNT。この回路152の入力は排他的OR回路153の
出力に接続されており、この回路153の一入力はカウン
タ143のRCTR=0出力に接続され、第2入力はライン150
に接続されている。値RCNTは、各PEにおいてどの半レコ
ードが進行中であるかを示す。これは、レコードの第1
の半分が偶数PEに入ろうとしており、レコードの第2の
半分が奇数PEに入ろうとしていることを示す偽に初期化
される。これは、レコードバイトカウンタがゼロを通過
してデクリメントされるときに変化する。それが偽であ
れば真となり、真であれば偽となる。
ブール値RCNT。この回路152の入力は排他的OR回路153の
出力に接続されており、この回路153の一入力はカウン
タ143のRCTR=0出力に接続され、第2入力はライン150
に接続されている。値RCNTは、各PEにおいてどの半レコ
ードが進行中であるかを示す。これは、レコードの第1
の半分が偶数PEに入ろうとしており、レコードの第2の
半分が奇数PEに入ろうとしていることを示す偽に初期化
される。これは、レコードバイトカウンタがゼロを通過
してデクリメントされるときに変化する。それが偽であ
れば真となり、真であれば偽となる。
次にタグバイトに会うのが奇数PEであるか偶数PEである
かを示しブール値TCNT。この値は第10図のライン156上
でラッチ回路157の出力で生成される。この回路157は排
他的OR回路158の出力に接続され、該排他的OR回路の一
入力はカウンタ146の出力のTCTR=0ラインに接続さ
れ、第2入力はライン156に接続されている。
かを示しブール値TCNT。この値は第10図のライン156上
でラッチ回路157の出力で生成される。この回路157は排
他的OR回路158の出力に接続され、該排他的OR回路の一
入力はカウンタ146の出力のTCTR=0ラインに接続さ
れ、第2入力はライン156に接続されている。
内部状態情報に基づいて、該レコード制御は以下の出力
を生成する: (a) レコードの最後のバイトが偶数処理要素に与え
られることを示すブール値EREC。この値は、AND回路162
の出力のラッチ回路161に接続されたライン160上に生成
される。こ回路162の入力はRCNTライン150とRCTRカウン
タ143のRCTR=0出力とに接続されている。
を生成する: (a) レコードの最後のバイトが偶数処理要素に与え
られることを示すブール値EREC。この値は、AND回路162
の出力のラッチ回路161に接続されたライン160上に生成
される。こ回路162の入力はRCNTライン150とRCTRカウン
タ143のRCTR=0出力とに接続されている。
(b) レコードの最後のバイトが奇数処理要素に与え
られることを示すブール値OREC。この値は、AND回路166
の出力のラッチ回路165に接続されたライン164上に生成
され、該AND回路の入力はカウンタ143のRCTR=0出力及
び−RCNTライン167に接続されており、このライン167は
インバータ168を通じてRCNTライン150に接続されてい
る。
られることを示すブール値OREC。この値は、AND回路166
の出力のラッチ回路165に接続されたライン164上に生成
され、該AND回路の入力はカウンタ143のRCTR=0出力及
び−RCNTライン167に接続されており、このライン167は
インバータ168を通じてRCNTライン150に接続されてい
る。
(c) レコードの第1バイトが偶数処理要素又は奇数
処理要素に与えられることを示すブール値PCADV。これ
はカウンタ143のRCTR=0出力に接続されたラッチ回路1
72の出力のライン170上に生成される。
処理要素に与えられることを示すブール値PCADV。これ
はカウンタ143のRCTR=0出力に接続されたラッチ回路1
72の出力のライン170上に生成される。
(d) レコードキーに続く第1のバイト、即ち、『タ
グ』バイトが偶数処理要素に与えられることを示すブー
ル値ETAG。これは、入力がTCNTライン156とTCTRカウン
タ146のTCTR=0出力とに接続されているAND回路176の
出力のラッチ回路175に接続されているライン174上に生
成される。
グ』バイトが偶数処理要素に与えられることを示すブー
ル値ETAG。これは、入力がTCNTライン156とTCTRカウン
タ146のTCTR=0出力とに接続されているAND回路176の
出力のラッチ回路175に接続されているライン174上に生
成される。
(e) レコードキーに続く第1のバイトが奇数処理要
素に与えられることを示すブール値OTAG。これは、AND
回路180の出力のラッチ回路179に接続されたライン178
上に生成される。該AND回路の入力はカウンタ146のTCTR
=0出力と−TCNTライン181とに接続されており、この
ライン181はインバータ182を通じてTCNTライン150に接
続されている。
素に与えられることを示すブール値OTAG。これは、AND
回路180の出力のラッチ回路179に接続されたライン178
上に生成される。該AND回路の入力はカウンタ146のTCTR
=0出力と−TCNTライン181とに接続されており、この
ライン181はインバータ182を通じてTCNTライン150に接
続されている。
パイプライン制御回路60(第11図) 非常に重要な特徴は、リバウンド分類装置に装填し、且
つこれを空にすることを可能にすると共に別々のグルー
プのレコードの混合を防止するパイプライン制御回路60
に関する。
つこれを空にすることを可能にすると共に別々のグルー
プのレコードの混合を防止するパイプライン制御回路60
に関する。
回路60のパイプライン要素91-94及び96の回路は第11図
に示されている。パイプライン要素91は、分類装置18の
第1部40の処理要素と連携しており、入力ライン186を
有し、これに、該分類装置への新しいレコードの入力と
同期する関係で信号が加えられる。入力ライン186は、
ラッチ189に出力接続されているマルチプレクサ188の一
入力に接続されており、該ラッチの出力は、マルチプレ
クサ188の第2入力に接続されているライン190に接続さ
れている。
に示されている。パイプライン要素91は、分類装置18の
第1部40の処理要素と連携しており、入力ライン186を
有し、これに、該分類装置への新しいレコードの入力と
同期する関係で信号が加えられる。入力ライン186は、
ラッチ189に出力接続されているマルチプレクサ188の一
入力に接続されており、該ラッチの出力は、マルチプレ
クサ188の第2入力に接続されているライン190に接続さ
れている。
マルチプレクサ194の出力に接続されているラッチ193の
出力のライン192上にFORCEVO信号が生成され、マルチプ
レクサ194の一入力はライン192に接続され、その第2入
力はORゲート196の出力に接続されている。ORゲート196
の入力は、ライン186及び190に、更に次のステージのFO
RCEV1ライン192′に接続されている。
出力のライン192上にFORCEVO信号が生成され、マルチプ
レクサ194の一入力はライン192に接続され、その第2入
力はORゲート196の出力に接続されている。ORゲート196
の入力は、ライン186及び190に、更に次のステージのFO
RCEV1ライン192′に接続されている。
マルチプレクサ188及び194は、第9図のレコード制御回
路162Aからライン170を通じて加えられる信号PCADVによ
り制御される。該分類装置の処理要素と連携する他の全
てのパイプライン要素の回路は、要素91のそれと実質的
に同一である。ライン186が『BNDm−1』から来ること
と、93には『FORCEVm+1』入力が無いこととを除い
て。
路162Aからライン170を通じて加えられる信号PCADVによ
り制御される。該分類装置の処理要素と連携する他の全
てのパイプライン要素の回路は、要素91のそれと実質的
に同一である。ライン186が『BNDm−1』から来ること
と、93には『FORCEVm+1』入力が無いこととを除い
て。
パイプライン要素94及び96の回路も第11図に示されてい
る。要素94は、要素91のマルチプレクサ188及びラッチ1
89に対応するマルチプレクサ198及びラッチ199を有す
る。同様に、要素96は、マルチプレクサ198′及びラッ
チ199′を有し、最後の出力信号NEWSTREAMOUTはライン2
00上に生成される。
る。要素94は、要素91のマルチプレクサ188及びラッチ1
89に対応するマルチプレクサ198及びラッチ199を有す
る。同様に、要素96は、マルチプレクサ198′及びラッ
チ199′を有し、最後の出力信号NEWSTREAMOUTはライン2
00上に生成される。
作動時には、パイプライン制御回路60は各期間中に以下
の情報を受け取る: (a) レコードの第1バイトが偶数処理要素又は奇数
処理要素に与えられることを示す、回路部分62A(第9
図)からのブール値PCADV。
の情報を受け取る: (a) レコードの第1バイトが偶数処理要素又は奇数
処理要素に与えられることを示す、回路部分62A(第9
図)からのブール値PCADV。
(b) ライン186上に加えられるブール値『NEWSTREA
M』。これは、リバウンド分類装置に与えられる現在の
バイトが、新しいグループのレコードの分類を、既にリ
バウンド分類装置内にあるレコードとは別に開始させる
ことを示す。
M』。これは、リバウンド分類装置に与えられる現在の
バイトが、新しいグループのレコードの分類を、既にリ
バウンド分類装置内にあるレコードとは別に開始させる
ことを示す。
パイプライン制御回路60は以下の内部状態情報を維持す
る: (a) 要素91のライン190及び他の要素の該ラインに
対応するラインに生成される各PEについてのブール値
『BNDO』ないし『BNDN−2』。この値は、レコードの第
1バイトが偶数処理要素又は奇数処理要素に最後に与え
られた時以来、レコードグループ同士の間の『境界』が
リバウンド分類装置を『下って』来たことを示す。
る: (a) 要素91のライン190及び他の要素の該ラインに
対応するラインに生成される各PEについてのブール値
『BNDO』ないし『BNDN−2』。この値は、レコードの第
1バイトが偶数処理要素又は奇数処理要素に最後に与え
られた時以来、レコードグループ同士の間の『境界』が
リバウンド分類装置を『下って』来たことを示す。
(b) ブール値『BNDN−1』は、レコードの第1バイ
トが偶数処理要素又は奇数処理要素に最後に与えられた
とき以来、レコードグループ間の境界がIERS『N−2』
からIERS『N+N−3』の中に移動したことを示す。
トが偶数処理要素又は奇数処理要素に最後に与えられた
とき以来、レコードグループ間の境界がIERS『N−2』
からIERS『N+N−3』の中に移動したことを示す。
(c) 処理要素『PEN−2』ないし「PE1』についての
ブール値。これは、第11図に示されている94ないし96に
続く要素により生成される。この各々の値は、レコード
の第1バイトが最後に偶数処理要素又は奇数処理要素に
与えられたとき以来、レコードグループ間の『境界』が
リバウンド分類装置を『昇って』そのPEまで戻ってきた
ことを示す。
ブール値。これは、第11図に示されている94ないし96に
続く要素により生成される。この各々の値は、レコード
の第1バイトが最後に偶数処理要素又は奇数処理要素に
与えられたとき以来、レコードグループ間の『境界』が
リバウンド分類装置を『昇って』そのPEまで戻ってきた
ことを示す。
(d) その処理要素が『垂直に通過させる様にされて
いる』ことを示す、各処理要素についてのブール値(第
11図の『FORCEVO』ないし『FORCEVN−2』)。
いる』ことを示す、各処理要素についてのブール値(第
11図の『FORCEVO』ないし『FORCEVN−2』)。
受け取った情報と、現在の内部状態とに基づいて、パイ
プライン制御は各期間に以下の情報を作る: (a) その処理要素が『垂直に押し進める』べきこを
と示す、各処理要素についてのブール値(『FORCEV0』
ないし『FORCEVN−2』)。
プライン制御は各期間に以下の情報を作る: (a) その処理要素が『垂直に押し進める』べきこを
と示す、各処理要素についてのブール値(『FORCEV0』
ないし『FORCEVN−2』)。
(b) リバウンド分類装置が出力する現在のレコード
バイトが、分類されるレコードの新しいグループの第1
バイトであることを示す。ライン200上のブール値「NEW
STREAMOUT』。これは、異なるグループからのレコード
の比較を防止するために分類順序検査装置により使用さ
れる。
バイトが、分類されるレコードの新しいグループの第1
バイトであることを示す。ライン200上のブール値「NEW
STREAMOUT』。これは、異なるグループからのレコード
の比較を防止するために分類順序検査装置により使用さ
れる。
パイプライン制御は、レコードの第1バイトが偶数処理
要素又は奇数処理要素に与えられる毎に、その内部情報
を更新する(『PCADV』、半レコード毎に)。
要素又は奇数処理要素に与えられる毎に、その内部情報
を更新する(『PCADV』、半レコード毎に)。
『境界』値は、その頂部からレコードと並列にリバウン
ド分類装置に入り、左側を下り、底を横断し、右側を上
る。
ド分類装置に入り、左側を下り、底を横断し、右側を上
る。
PE『N』についての新しい「垂直に押し進める』値は、
下記のいずかが真であればセットされる: 『境界』がPE『N−1』についてセットされているか、
又は、PE0について『境界』がIERSに入ろうとしている
(『NEWSTREAMIN』)。
下記のいずかが真であればセットされる: 『境界』がPE『N−1』についてセットされているか、
又は、PE0について『境界』がIERSに入ろうとしている
(『NEWSTREAMIN』)。
『境界』がPE『N』についてセットされている。
『垂直に押し進める』がPE『N+1』についてセットさ
れている。これは最後のPEには適用されない。
れている。これは最後のPEには適用されない。
この操作は、境界に位置する又は境界より上の全てのPE
を垂直に押し進める。これは、境界の一方の側のレコー
ドと、別の側のレコードとの混合を防止するが、境界の
同じ側のレコードの分類を許す。
を垂直に押し進める。これは、境界の一方の側のレコー
ドと、別の側のレコードとの混合を防止するが、境界の
同じ側のレコードの分類を許す。
分類順序づけ装置34(第1図) 先に指摘したように、内部境界の無い分類装置18は『魔
法の分類箱』と見なすことの出来るものであり、レコー
ドは該箱に押し込まれ、箱の中の全てのレコード(押し
込まれたレコードを含む)のうちの最小のレコードが飛
び出してくる。
法の分類箱』と見なすことの出来るものであり、レコー
ドは該箱に押し込まれ、箱の中の全てのレコード(押し
込まれたレコードを含む)のうちの最小のレコードが飛
び出してくる。
加速装置10の分類及び併合の操作は、分類装置18等のN
−1要素リバウンド分類装置を使って、データの分類済
みのN個のストリングを併合して一つの大きな分類済み
ストリングにするという問題を認め、分析することによ
って良く理解することが出来るものである。以下のアル
ゴリズムを考察する。
−1要素リバウンド分類装置を使って、データの分類済
みのN個のストリングを併合して一つの大きな分類済み
ストリングにするという問題を認め、分析することによ
って良く理解することが出来るものである。以下のアル
ゴリズムを考察する。
1) 分類装置18内に境界を設定して、第11図との関連
で上記した新しい分類操作を開始する。
で上記した新しい分類操作を開始する。
2) 第1のN−1ストリングの第1(最小)レコード
を分類装置18に押し込む。
を分類装置18に押し込む。
3) N番目のストリングの第1(最小)レコードを分
類装置18に押し込む。全ての第1レコードのうちの最小
のレコードが飛び出す;これが、併合されたストリング
のうちの第1(最小)レコードである。
類装置18に押し込む。全ての第1レコードのうちの最小
のレコードが飛び出す;これが、併合されたストリング
のうちの第1(最小)レコードである。
4) 飛び出したレコードの出所となったストリングを
識別し、そのストリングから次のレコードを分類装置18
に押し込む。飛び出すレコードは、入力されたストリン
グのいずれかに残留している最小のレコードであり、従
って併合/分類済みストリングの次のレコードである。
識別し、そのストリングから次のレコードを分類装置18
に押し込む。飛び出すレコードは、入力されたストリン
グのいずれかに残留している最小のレコードであり、従
って併合/分類済みストリングの次のレコードである。
5) 前記ステップを繰り返す。いずれかの入力された
ストリングの最後のレコードが分類装置18から飛び出す
とき、人工的レコード(『実際の』レコードのいずれよ
りも大きい)を、そのストリングの『次の』レコードと
して押し込む。第1の人工的レコードが分類装置18から
飛び出すとき、より小さい(即ち、『実際の』)レコー
ドは分類装置18内に残っていないので、併合は終了す
る。
ストリングの最後のレコードが分類装置18から飛び出す
とき、人工的レコード(『実際の』レコードのいずれよ
りも大きい)を、そのストリングの『次の』レコードと
して押し込む。第1の人工的レコードが分類装置18から
飛び出すとき、より小さい(即ち、『実際の』)レコー
ドは分類装置18内に残っていないので、併合は終了す
る。
このアルゴリズムの下で動作した分類装置18の出力はN
個の入力ストリングの併合である;これは、以下の様に
記すことにより証明することが出来る。
個の入力ストリングの併合である;これは、以下の様に
記すことにより証明することが出来る。
(a) 分類装置18から出力される各レコードは、分類
装置内に現在ある全てのレコードのうちの最小のレコー
ドである。
装置内に現在ある全てのレコードのうちの最小のレコー
ドである。
(b) 出力されるレコードは、同じ入力ストリングの
次のレコードと置換され、これは、該入力ストリングが
分類されるので該出力レコードより小さくはないので、
該分類装置から出力される次のレコードは、該分類装置
から出力される現在のレコードより小さくはない;即
ち、分類装置から出力されるレコードは、分類された順
となっている。
次のレコードと置換され、これは、該入力ストリングが
分類されるので該出力レコードより小さくはないので、
該分類装置から出力される次のレコードは、該分類装置
から出力される現在のレコードより小さくはない;即
ち、分類装置から出力されるレコードは、分類された順
となっている。
(c) 全ての入力ストリングの全てのレコードが結局
は分類装置から出力される。
は分類装置から出力される。
上記のアルゴリズムを使って併合を行うために、分類装
置内の与えられたレコードの出所がどのストリングであ
るかを知ることが望ましい。また、そのストリング内の
次のレコードを発見する方法と、そのストリングに残留
しているレコードがあるか否か判断する方法とを知るこ
とも望ましい。以下の節は、所望の情報を得て使用する
好適な構成を示す。人工的レコードの代わりに、本発明
は全てのストリングが空となり、NEWSTREAMINが表明さ
れるまで、最低の番号の、空でないストリングを使用す
る。
置内の与えられたレコードの出所がどのストリングであ
るかを知ることが望ましい。また、そのストリング内の
次のレコードを発見する方法と、そのストリングに残留
しているレコードがあるか否か判断する方法とを知るこ
とも望ましい。以下の節は、所望の情報を得て使用する
好適な構成を示す。人工的レコードの代わりに、本発明
は全てのストリングが空となり、NEWSTREAMINが表明さ
れるまで、最低の番号の、空でないストリングを使用す
る。
タグ挿入及び除去(第1図及び第2図) 図示の分類加速装置は、入力部21のバイト挿入装置25を
使って、各レコードに、それが分類装置に送り込まれる
際にタグバイトを挿入することにより、分類装置内の与
えられたレコードの出所がどの入力ストリングであるか
を監視し続ける。第2図との関連で前述した様に、キー
フィールドの最後のバイトの直後で且つデータフィール
ドの第1バイトより前の位置にタグバイトを挿入するの
が好ましい。レコードのタグバイトは、この併合操作の
どの入力ストリングが該レコードを内蔵していたかを記
述する指標を含む。8ビットタグバイトは、256個に及
びストリングを併合操作に入力する事を可能にする;実
際、このバイトの1ビットを使って、後述する様に安定
な分類操作を実施し保証して、最大で128個のストリン
グを併合することが出来る。図示の実施例は、分類装置
内の処理要素の数(15)によって、一時に併合出来るス
トリングが16個に限定されていて、ストリング識別のた
めに4ビットを必要とするだけである。
使って、各レコードに、それが分類装置に送り込まれる
際にタグバイトを挿入することにより、分類装置内の与
えられたレコードの出所がどの入力ストリングであるか
を監視し続ける。第2図との関連で前述した様に、キー
フィールドの最後のバイトの直後で且つデータフィール
ドの第1バイトより前の位置にタグバイトを挿入するの
が好ましい。レコードのタグバイトは、この併合操作の
どの入力ストリングが該レコードを内蔵していたかを記
述する指標を含む。8ビットタグバイトは、256個に及
びストリングを併合操作に入力する事を可能にする;実
際、このバイトの1ビットを使って、後述する様に安定
な分類操作を実施し保証して、最大で128個のストリン
グを併合することが出来る。図示の実施例は、分類装置
内の処理要素の数(15)によって、一時に併合出来るス
トリングが16個に限定されていて、ストリング識別のた
めに4ビットを必要とするだけである。
上位メモリーへの転送のため、或いは局所メモリー16へ
の一時的格納のために、完全に分類されたレコードのス
トリングが出力部22によって出力される出力操作におい
て、出力部22のデータパッカー31は、入力部21によって
先に挿入されてあったタグを、レコードから、該レコー
ド分類装置から出力される際に除去するので、タグが記
憶装置中のスペースを占めることはない。後述するよう
に、ユーザーは、最後の併合パスによってレコードがユ
ーザーのバッファーに出力される時にタグをレコード中
に残しておくべきことを随意に指定することが出来る。
の一時的格納のために、完全に分類されたレコードのス
トリングが出力部22によって出力される出力操作におい
て、出力部22のデータパッカー31は、入力部21によって
先に挿入されてあったタグを、レコードから、該レコー
ド分類装置から出力される際に除去するので、タグが記
憶装置中のスペースを占めることはない。後述するよう
に、ユーザーは、最後の併合パスによってレコードがユ
ーザーのバッファーに出力される時にタグをレコード中
に残しておくべきことを随意に指定することが出来る。
レコードが分類装置から出力されるとき、そのレコード
の出所である入力ストリングを判定するためにタグバイ
トが検査される。このストリング番号は分類順序づけ装
置34のストリング選択論理回路39に送り込まれ、分類順
序づけ装置34は、ROM38内のマイクロコードにより制御
され、ストリング選択論理回路39の出力を使用して、分
類装置に入力される次のレコードのアドレスを決定す
る;そのレコードアドレスは、ストリング選択論理回路
39の生成したストリング番号と共に、入力部22に与えら
れて次のレコードの読み出しを開始させる。
の出所である入力ストリングを判定するためにタグバイ
トが検査される。このストリング番号は分類順序づけ装
置34のストリング選択論理回路39に送り込まれ、分類順
序づけ装置34は、ROM38内のマイクロコードにより制御
され、ストリング選択論理回路39の出力を使用して、分
類装置に入力される次のレコードのアドレスを決定す
る;そのレコードアドレスは、ストリング選択論理回路
39の生成したストリング番号と共に、入力部22に与えら
れて次のレコードの読み出しを開始させる。
ストリング選択論理回路39(第12図) 一般に、次の入力レコードを提供するべく選択されるス
トリングは、その指標が現在の出力レコードのタグ中に
あったストリングと同じである。例外は、将来のストリ
ングが使い尽くされたときである。上記のアルゴリズム
で使用される、そのストリングからの次のレコードの代
わりに人工的な大きなレコードを使用する技術は、働き
はするけれども、ぎこちなくて時間を食う;使い尽くさ
れていないストリングを採集して、そのストリングから
レコードを入力するのが遥かに効率的(且つ同じく正
確)であることが分かっている(分類の安全性を守るた
めに、今は、最低の、空でないストリングを選択しなけ
ればならない)。この操作は、ストリング選択論理回路
39により行われる。
トリングは、その指標が現在の出力レコードのタグ中に
あったストリングと同じである。例外は、将来のストリ
ングが使い尽くされたときである。上記のアルゴリズム
で使用される、そのストリングからの次のレコードの代
わりに人工的な大きなレコードを使用する技術は、働き
はするけれども、ぎこちなくて時間を食う;使い尽くさ
れていないストリングを採集して、そのストリングから
レコードを入力するのが遥かに効率的(且つ同じく正
確)であることが分かっている(分類の安全性を守るた
めに、今は、最低の、空でないストリングを選択しなけ
ればならない)。この操作は、ストリング選択論理回路
39により行われる。
ストリング選択論理回路39は、各入力ストリングについ
て1ビットを含む妥当なビットのファイルを使い、且
つ、これから説明する機能を実行する回路を使って作動
する。斯かる回路の一部が第12図に示されており、これ
については、第13図ないし第17図に示されているタグ先
読み論理の動作との関連で後述する。併合操作の開始時
に、入力ストリングのいずれもが使い尽くされていない
ことを示すために、妥当なビットのファイルが全部ゼロ
にセットされる。指定されたストリングが使い尽くされ
ている(即ち、該ビットが1である)か否かを調べるた
めに、出力レコードからのタグは有効ビットのファイル
を指す;そうでなければ、そのストリング番号は分類順
序づけ装置へ出力される。指定されたストリングが使い
尽くされていれば、使い尽くされていない最低番号のス
トリングを発見するために優先順位符号化が有効ビット
のファイルに対して行われて、このストリングの番号が
分類順序づけ装置に送られる。若し全ての入力ストリン
グが使い尽くされていれば、そのことを分類順序づけ装
置に知らせるフラグがセットされる。
て1ビットを含む妥当なビットのファイルを使い、且
つ、これから説明する機能を実行する回路を使って作動
する。斯かる回路の一部が第12図に示されており、これ
については、第13図ないし第17図に示されているタグ先
読み論理の動作との関連で後述する。併合操作の開始時
に、入力ストリングのいずれもが使い尽くされていない
ことを示すために、妥当なビットのファイルが全部ゼロ
にセットされる。指定されたストリングが使い尽くされ
ている(即ち、該ビットが1である)か否かを調べるた
めに、出力レコードからのタグは有効ビットのファイル
を指す;そうでなければ、そのストリング番号は分類順
序づけ装置へ出力される。指定されたストリングが使い
尽くされていれば、使い尽くされていない最低番号のス
トリングを発見するために優先順位符号化が有効ビット
のファイルに対して行われて、このストリングの番号が
分類順序づけ装置に送られる。若し全ての入力ストリン
グが使い尽くされていれば、そのことを分類順序づけ装
置に知らせるフラグがセットされる。
分類順序づけ装置34は併合操作の現在の状態を維持する
ためにレジスターアレイ35にレジスターの二つのファイ
ルを内蔵している;一つのファイルは各ストリングにつ
いての次のレコードアドレスを内蔵し、他のファイルは
各ストリングの最後のレコードアドレスを内蔵する。ス
トリング選択論理からストリング指標を得ると、分類順
序づけ装置はそのストリングについて次のレコードアド
レスを第1のファイルから取り出して、それを入力部21
に送る;これは、そのストリングについての次のレコー
ドアドレスを更新する。ストリング中の最後のレコード
のアドレスが入力部21に送られたとき(次のレコードア
ドレスを第2レジスターファイル中のそのストリングに
ついての最後のレコードアドレスと比較することにより
判定される)、分類順序づけ装置はストリング選択論理
のビットファイル中のそのストリングに対応する有効ビ
ットをセットして、そのストリングが今使い尽くされた
ことを示す。
ためにレジスターアレイ35にレジスターの二つのファイ
ルを内蔵している;一つのファイルは各ストリングにつ
いての次のレコードアドレスを内蔵し、他のファイルは
各ストリングの最後のレコードアドレスを内蔵する。ス
トリング選択論理からストリング指標を得ると、分類順
序づけ装置はそのストリングについて次のレコードアド
レスを第1のファイルから取り出して、それを入力部21
に送る;これは、そのストリングについての次のレコー
ドアドレスを更新する。ストリング中の最後のレコード
のアドレスが入力部21に送られたとき(次のレコードア
ドレスを第2レジスターファイル中のそのストリングに
ついての最後のレコードアドレスと比較することにより
判定される)、分類順序づけ装置はストリング選択論理
のビットファイル中のそのストリングに対応する有効ビ
ットをセットして、そのストリングが今使い尽くされた
ことを示す。
ストリング選択論理回路39は、併合されるべきストリン
グの数が16より少ないときにも使われる。前記のアルゴ
リズムは、ストリングの数が分類装置中の要素の数より
1大きい時にだけ働く。併合されるべきストリングがそ
れより少ないときには、そのストリング数を正しい値と
するために数個の『空白』ストリング(レコードを全く
含んでいない)を該併合に付加しなければならない。ス
トリング選択論理回路39は、『空白』ストリングの一つ
からのレコードを分類装置に最初に装填しようとする試
み(前記アルゴリズムの第1ステップに記載した)によ
って実際に『現在の』のストリングの一つからのレコー
ドが装填されることとなることを保証するのに使われ
る。これは、併合操作の開始時にストリング選択論理回
路39において『空白』ストリングの妥当なビットをゼロ
の代わりに1に初期化することによって実行される。
グの数が16より少ないときにも使われる。前記のアルゴ
リズムは、ストリングの数が分類装置中の要素の数より
1大きい時にだけ働く。併合されるべきストリングがそ
れより少ないときには、そのストリング数を正しい値と
するために数個の『空白』ストリング(レコードを全く
含んでいない)を該併合に付加しなければならない。ス
トリング選択論理回路39は、『空白』ストリングの一つ
からのレコードを分類装置に最初に装填しようとする試
み(前記アルゴリズムの第1ステップに記載した)によ
って実際に『現在の』のストリングの一つからのレコー
ドが装填されることとなることを保証するのに使われ
る。これは、併合操作の開始時にストリング選択論理回
路39において『空白』ストリングの妥当なビットをゼロ
の代わりに1に初期化することによって実行される。
タグ先読み及び付随の論理(第12図ないし第17図) 特殊化されたストリング選択論理及び高速分類順序づけ
装置でも、現在のレコードについてのタグの出力と次の
入力レコードのアドレスの入力プロセッサへの送付との
間に遅れがある。入力部21は、新しいレコードの始めの
バイトを、それらが分類装置に入力され得ることとなる
前に、取り出さなければならない。これが累積してレコ
ードとレコードとの間に顕著な遅れが生じ、これに起因
して入力部21は分類装置を機能停止させてデータ待ちさ
せると共に併合プロセスを減速させる。
装置でも、現在のレコードについてのタグの出力と次の
入力レコードのアドレスの入力プロセッサへの送付との
間に遅れがある。入力部21は、新しいレコードの始めの
バイトを、それらが分類装置に入力され得ることとなる
前に、取り出さなければならない。これが累積してレコ
ードとレコードとの間に顕著な遅れが生じ、これに起因
して入力部21は分類装置を機能停止させてデータ待ちさ
せると共に併合プロセスを減速させる。
この遅れを無くするために、分類加速装置は、最小のレ
コードのタグを、それが実際に分類装置から出力される
前に判定するべくタグ先読み論理を実施する。
コードのタグを、それが実際に分類装置から出力される
前に判定するべくタグ先読み論理を実施する。
タグ先読み論理はストリング選択論理と関連して作用す
るが、ストリング選択論理は、第12図に示されていて、
分類装置18に加えられるべき次のレコードのタグについ
ての三つの可能な値の選択を行うものである。その三つ
の値は、後述する様にして第17図の論路回路によりライ
ン202上に生成される『PE1TAG』と、ライン203に加えら
れる、入力レコードのタグ『ITAG』と、ライン207(上
記した)を通じて状況データが加えられる優先順位エン
コーダ206によりライン204上に生成される、残っている
タグを持った最低番号のストリームのタグと、である。
るが、ストリング選択論理は、第12図に示されていて、
分類装置18に加えられるべき次のレコードのタグについ
ての三つの可能な値の選択を行うものである。その三つ
の値は、後述する様にして第17図の論路回路によりライ
ン202上に生成される『PE1TAG』と、ライン203に加えら
れる、入力レコードのタグ『ITAG』と、ライン207(上
記した)を通じて状況データが加えられる優先順位エン
コーダ206によりライン204上に生成される、残っている
タグを持った最低番号のストリームのタグと、である。
マルチプレクサ208は、ライン209に加えられるPV0制御
信号により操作されて、ITAG信号及びPEITAG信号からWI
NTAG信号をライン21上に生成する。PV0が真であればPE1
TAGが選択され、そうでなければITAGが選択される。ラ
イン210上のWINTAGストリームの状況がストリーム状況
参照部212により検査され、この参照部はライン213上に
出力信号を生成し、この信号は、WINTAG信号及びALTTAG
信号が加えられるマルチプレクサ214に加えられる。WIN
TAGストリームが空でなければ、WINTAGは、マルチプレ
クサ214の出力ライン216上に生成されるNEXTTAGとして
使われる。その他の場合には、空でない最低番号のスト
リームがライン216上のNEXTTAGとして使われる。
信号により操作されて、ITAG信号及びPEITAG信号からWI
NTAG信号をライン21上に生成する。PV0が真であればPE1
TAGが選択され、そうでなければITAGが選択される。ラ
イン210上のWINTAGストリームの状況がストリーム状況
参照部212により検査され、この参照部はライン213上に
出力信号を生成し、この信号は、WINTAG信号及びALTTAG
信号が加えられるマルチプレクサ214に加えられる。WIN
TAGストリームが空でなければ、WINTAGは、マルチプレ
クサ214の出力ライン216上に生成されるNEXTTAGとして
使われる。その他の場合には、空でない最低番号のスト
リームがライン216上のNEXTTAGとして使われる。
タグ先読み論理回路100は、次に列挙する要素を含む、
即ち、ライン202上のPE1TAG信号とライン218上バックア
ップ・タグBTAGとを生成するのに使われる第13図に示さ
れている回路と;PE0が現在のレコードについて判断をし
た時にライン220上にDECISION信号を表明するのに使わ
れる第14図に示されている論理回路と;PE0を励起するレ
コードの妥当性を検査するライン222上のVALTAG信号を
生成するための、第15図に示されている論理回路と;タ
グをBTAGライン218から第15図の回路のPE1TAGライン202
へ進ませるADVTA信号をライン224上に生成する第16図に
示されている論理回路と;PE0から出る現在のレコードの
最後の半分においてタグが発見された時にTAGSEEN信号
をライン226上に生成する第17図に示されている回路
と、を含んでいる。
即ち、ライン202上のPE1TAG信号とライン218上バックア
ップ・タグBTAGとを生成するのに使われる第13図に示さ
れている回路と;PE0が現在のレコードについて判断をし
た時にライン220上にDECISION信号を表明するのに使わ
れる第14図に示されている論理回路と;PE0を励起するレ
コードの妥当性を検査するライン222上のVALTAG信号を
生成するための、第15図に示されている論理回路と;タ
グをBTAGライン218から第15図の回路のPE1TAGライン202
へ進ませるADVTA信号をライン224上に生成する第16図に
示されている論理回路と;PE0から出る現在のレコードの
最後の半分においてタグが発見された時にTAGSEEN信号
をライン226上に生成する第17図に示されている回路
と、を含んでいる。
タグ先読み論理回路の動作に関して、分類装置から出力
されるレコードは常にPE0から来ることを記しておく。P
E0の入力は、分類装置に入力されるレコードと、PE1の
上側の出力により供給されるIERS N−1の出力とであ
る。入力レコードのタグは知られている;PE1内のレコー
ドのタグはPE1内の特別の論理によってタグ選択論路39
に与えられる(第12図及び第13図のライン202上のPE1TA
G)。タグ先読み論理PE0の内部状態を監視し、判断がな
されるのを待つ(第14図のライン220上のDECISION);
判断がなされた時、どのレコードがPE0から出てゆくレ
コードであるかを調べるためにPE0についての『垂直に
通過』状態ビット(第12図のPV0)が検査される。その
時、このレコードのタグ(第12図のWINTAG)がストリン
グ選択論理(第12図)への入力として使われ、これによ
り実際の出力でのレコードの半分に及びジャンプを得
る。この方法を使うことによって、非常に小さいレコー
ドの場合又は『判断(Decision)』がレコードについて
非常に遅くに行われるときを除いて、併合時のレコード
間遅延を完全に無くすることが出来る。
されるレコードは常にPE0から来ることを記しておく。P
E0の入力は、分類装置に入力されるレコードと、PE1の
上側の出力により供給されるIERS N−1の出力とであ
る。入力レコードのタグは知られている;PE1内のレコー
ドのタグはPE1内の特別の論理によってタグ選択論路39
に与えられる(第12図及び第13図のライン202上のPE1TA
G)。タグ先読み論理PE0の内部状態を監視し、判断がな
されるのを待つ(第14図のライン220上のDECISION);
判断がなされた時、どのレコードがPE0から出てゆくレ
コードであるかを調べるためにPE0についての『垂直に
通過』状態ビット(第12図のPV0)が検査される。その
時、このレコードのタグ(第12図のWINTAG)がストリン
グ選択論理(第12図)への入力として使われ、これによ
り実際の出力でのレコードの半分に及びジャンプを得
る。この方法を使うことによって、非常に小さいレコー
ドの場合又は『判断(Decision)』がレコードについて
非常に遅くに行われるときを除いて、併合時のレコード
間遅延を完全に無くすることが出来る。
第13図の論理回路はマルチプレクサ228を包含し、この
マルチプレクサは、第16図の回路からのライン224上のA
DVTAG信号の反転によって操作され、その一入力はラッ
チ回路229に接続されており、これは出力ライン202に接
続されている。マルチプレクサ228の第2入力は、第10
図のレコード制御回路62Bからのライン178上のOTAG信号
により操作されるマルチプレクサ230の出力に接続され
ている。
マルチプレクサは、第16図の回路からのライン224上のA
DVTAG信号の反転によって操作され、その一入力はラッ
チ回路229に接続されており、これは出力ライン202に接
続されている。マルチプレクサ228の第2入力は、第10
図のレコード制御回路62Bからのライン178上のOTAG信号
により操作されるマルチプレクサ230の出力に接続され
ている。
マルチプレクサ230の一入力はライン231のUR1に接続さ
れ、その第2入力はライン218のBTAGに接続されてい
る。ライン218は、ライン178から制御されると共にその
入力ライン218及び231に接続されている、マルチプレク
サ234から駆動されるラッチ232の出力に接続されてい
る。
れ、その第2入力はライン218のBTAGに接続されてい
る。ライン218は、ライン178から制御されると共にその
入力ライン218及び231に接続されている、マルチプレク
サ234から駆動されるラッチ232の出力に接続されてい
る。
PE1から出るレコードについてのタグ(第13図のライン2
02上のPE1TAG)は、次の様にして抽出される:前進しな
いタグであれば(−ADVTAG)、PE1TAGの先の値がラッチ
される。ライン224上の前進するタグ(−ADVTAG)が真
であり、タグPE1から出てゆこうとしているならば(ラ
イン178上のOTAG)そのタグがライン231のUR1を通じて
選択される。タイミングが前進中でタグがPE1から出て
ゆかないならば、バックアップ・タグ(ライン218上のB
TAG)が選択され、該バックアップ・タグは、タグがPE1
から出てゆく時に回路232によってラッチされる(OTA
G)。
02上のPE1TAG)は、次の様にして抽出される:前進しな
いタグであれば(−ADVTAG)、PE1TAGの先の値がラッチ
される。ライン224上の前進するタグ(−ADVTAG)が真
であり、タグPE1から出てゆこうとしているならば(ラ
イン178上のOTAG)そのタグがライン231のUR1を通じて
選択される。タイミングが前進中でタグがPE1から出て
ゆかないならば、バックアップ・タグ(ライン218上のB
TAG)が選択され、該バックアップ・タグは、タグがPE1
から出てゆく時に回路232によってラッチされる(OTA
G)。
第14図を参照すると、ライン220上のDECISION信号はAND
ゲート236により生成され、このゲートの一入力はDECEN
Bライン237に接続され第2入力はAND回路238の出力に接
続されており、この回路238の入力は、−DECIDING0ライ
ン239と、第15図の回路からのVALTAGライン220とに接続
されている。
ゲート236により生成され、このゲートの一入力はDECEN
Bライン237に接続され第2入力はAND回路238の出力に接
続されており、この回路238の入力は、−DECIDING0ライ
ン239と、第15図の回路からのVALTAGライン220とに接続
されている。
第15図を参照すると、ライン220上のVALTAG信号は、3
個のANDゲート243、244及び245に接続された入力を有す
るOR回路242の出力に接続されたラッチ240の出力で生成
される。ゲート243、244及び245の入力は、ライン220及
び226と、第9図のERECライン160反転から得られる−ER
ECライン246と、前記した様に第9図及び第10図のレコ
ード制御回路から得られる他の信号とに接続されてい
る。
個のANDゲート243、244及び245に接続された入力を有す
るOR回路242の出力に接続されたラッチ240の出力で生成
される。ゲート243、244及び245の入力は、ライン220及
び226と、第9図のERECライン160反転から得られる−ER
ECライン246と、前記した様に第9図及び第10図のレコ
ード制御回路から得られる他の信号とに接続されてい
る。
ライン220上のVALTAG信号は、PE1から出るレコードにつ
いてのタグ(PE1TAG)がPE0から出るレコードについて
のタグであれば、そのタグの妥当性を検査する。VALTAG
はレコードの最後のバイトがPE0から出る時に撤回され
る(−EREC及びVALTAG)。若しタグがレコードの最初の
半分の中にあれば、レコードがPE0に入り始める時にVAL
TAGが表明される(EREC及びTAGSEEN)。タグがレコード
の第2の半分の中にあれば、該タグがPE1を出た直後にV
ALTAGが表明される(TCTR=0及びTCNT及び−RCNT)。
いてのタグ(PE1TAG)がPE0から出るレコードについて
のタグであれば、そのタグの妥当性を検査する。VALTAG
はレコードの最後のバイトがPE0から出る時に撤回され
る(−EREC及びVALTAG)。若しタグがレコードの最初の
半分の中にあれば、レコードがPE0に入り始める時にVAL
TAGが表明される(EREC及びTAGSEEN)。タグがレコード
の第2の半分の中にあれば、該タグがPE1を出た直後にV
ALTAGが表明される(TCTR=0及びTCNT及び−RCNT)。
第16図の回路に関して、出力ライン224はラッチ250に接
続されており、これは、二つのANDゲート253及び254に
接続された入力を有するORゲート252の出力に接続され
ており、ANDゲート253の入力はライン160及び226に接続
され、ANDゲート254の入力は第9図及び第10図の回路か
らのライン146、156及び167に接続されている。
続されており、これは、二つのANDゲート253及び254に
接続された入力を有するORゲート252の出力に接続され
ており、ANDゲート253の入力はライン160及び226に接続
され、ANDゲート254の入力は第9図及び第10図の回路か
らのライン146、156及び167に接続されている。
タグは、ADVTAGによりBTAGからPE1TAGへ進められる。そ
のタグがレコードの最初の半分の中にあれば、PE0に与
えられるレコードの第1バイト時にADVTAGが表明される
(EREC及びTAGSEEN)。タグがレコードの第2の半分の
中にあれば、ADVTAGは、該タグがPE1から出る時に表明
される(TCTR=0及びTCNT及び−RCNT)。
のタグがレコードの最初の半分の中にあれば、PE0に与
えられるレコードの第1バイト時にADVTAGが表明される
(EREC及びTAGSEEN)。タグがレコードの第2の半分の
中にあれば、ADVTAGは、該タグがPE1から出る時に表明
される(TCTR=0及びTCNT及び−RCNT)。
第17図は、PE0から出る現在のレコードの最後の半分の
時にタグが見られたか否か監視し続ける論理を示す。こ
の論理は、一入力が−ERECライン246に接続されているA
NDゲート258の出力に接続されている。ゲート258の第2
入力はORゲート259の出力に接続されており、該ORゲー
トの一入力はライン226に接続され第2入力はANDゲート
260に接続されており、該ANDゲートの入力は第9図及び
第10図のレコード制御回路からのライン150及び156に接
続されている。ライン226上のTAGSEENは、レコードの最
後のバイトがPE0から出るときに撤回される(−ERE
C)。TAGEENは、レコードの最初の半分の際にタグPE1か
ら出るときに表明される(TCTR=0及びTCNT及びRCN
T)。
時にタグが見られたか否か監視し続ける論理を示す。こ
の論理は、一入力が−ERECライン246に接続されているA
NDゲート258の出力に接続されている。ゲート258の第2
入力はORゲート259の出力に接続されており、該ORゲー
トの一入力はライン226に接続され第2入力はANDゲート
260に接続されており、該ANDゲートの入力は第9図及び
第10図のレコード制御回路からのライン150及び156に接
続されている。ライン226上のTAGSEENは、レコードの最
後のバイトがPE0から出るときに撤回される(−ERE
C)。TAGEENは、レコードの最初の半分の際にタグPE1か
ら出るときに表明される(TCTR=0及びTCNT及びRCN
T)。
分類順序づけ装置34(第1図及び第18図ないし第22図) 分類加速装置の他の区域は、処理されるべきデータスト
リングを操作するが、分類順序づけ装置は外部メモリー
アドレスを計算し、分類加速装置の全体を制御する。
リングを操作するが、分類順序づけ装置は外部メモリー
アドレスを計算し、分類加速装置の全体を制御する。
分類加速装置の図示の好適な実施例は、図示の16路強化
リバウンド分類装置18を使用するが、以下の部は、開示
した分類装置18のそれと同等の機能特性を有するN路分
類装置の使用に一般化されている。
リバウンド分類装置18を使用するが、以下の部は、開示
した分類装置18のそれと同等の機能特性を有するN路分
類装置の使用に一般化されている。
前述した様に、分類順序づけ装置34は、レジスターアレ
イ36及びフラグレジスター37を含む制御プロセッサを有
する。レジスターアレイ36は好ましくは4個のバンクを
成す64個の32ビット・レジスターであり、フラグレジス
ターは32ビット・レジスターである。制御プロセッサは
ALU37も包含するが、これは好ましくは32ビットALUであ
る。実用的実施例では、この構成は1個のレジスターの
読み出し、ALU操作の実行、及び同レジスターへの一つ
の133nsクロックでの書込みを行うことが出来る。
イ36及びフラグレジスター37を含む制御プロセッサを有
する。レジスターアレイ36は好ましくは4個のバンクを
成す64個の32ビット・レジスターであり、フラグレジス
ターは32ビット・レジスターである。制御プロセッサは
ALU37も包含するが、これは好ましくは32ビットALUであ
る。実用的実施例では、この構成は1個のレジスターの
読み出し、ALU操作の実行、及び同レジスターへの一つ
の133nsクロックでの書込みを行うことが出来る。
レジスターアレイは二つの目的に役立つ。上位プロセッ
サは、これらのレジスターを初期化することによって分
類加速装置へ制御情報を伝え、制御プロセッサは、その
マイクロコード化されたプログラムの変数として、それ
らを使用する。アドレス、カウント、及び状況情報は該
アレイ中に維持される。該アレイは各々16個のレジスタ
ーから成る4個のバンクとして組織されている。各バン
クを変数で指標付けすることが出来、併合操作からのタ
グをストリング指標から、取り出されるべき次のレコー
ドを指すアドレスに速やかに変換することを可能にす
る。
サは、これらのレジスターを初期化することによって分
類加速装置へ制御情報を伝え、制御プロセッサは、その
マイクロコード化されたプログラムの変数として、それ
らを使用する。アドレス、カウント、及び状況情報は該
アレイ中に維持される。該アレイは各々16個のレジスタ
ーから成る4個のバンクとして組織されている。各バン
クを変数で指標付けすることが出来、併合操作からのタ
グをストリング指標から、取り出されるべき次のレコー
ドを指すアドレスに速やかに変換することを可能にす
る。
制御プロセッサ用のマイクロプログラムは、例えば各々
60ビットから成る512個のマイクロワードから成るアレ
イを成してROM38に格納され、各マイクロワードはALUオ
ペランドのソース、実行されるべきALU操作、ALU操作の
宛先、及び実行されるべき次のマイクロワードの記憶場
所を制御するフィールドに分割される。マイクロワード
中の追加のフィールドは、色々な宛先へのデータの書込
みを可能にすると共にマイクロプログラム実行の流れを
制御し、マイクロコード・サブルーチンが支援されるこ
とが出来る。本発明は、以下に詳しく説明すると共に第
18図ないし第22図に部分的に示した分類操作を行うため
に特定の形の制御プロセッサの使用に限定されるもので
はない。第18図は、分類順序づけ装置の動作の理解に重
要な中間記憶装置の構成を示し、第19図ないし第22図は
分類の安定性を得るのに重要な分類順序づけ装置の変形
例を示す。
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領域R0は4個のレコードを格納し、第2領
域R1は16個のレコードの4個のストリングを格納する。
即ち、それはN×N個のレコードを格納する。第3の領
域R2は、その1/4だけ示されているが、64個のレコード
の4個のストリングを、即ち、N×N×N個のレコード
を格納する。
ズの領域に組織された中間記憶装置を必要とする。最小
の領域は、中間記憶区域の底に位置し、N個のレコード
から成るN個に及ぶストリングを保持するのに使われ
る。第2の領域は、第1の領域の端に位置し、N×N個
のレコードから成るN個のストリングを保持するのに使
われる。各々の領域は、その前の領域よりもN倍大き
い。第18図は、Nが図示の実施例の場合のように16では
なくて4である場合に使用される組織の例を示す。この
例では、第1領域R0は4個のレコードを格納し、第2領
域R1は16個のレコードの4個のストリングを格納する。
即ち、それはN×N個のレコードを格納する。第3の領
域R2は、その1/4だけ示されているが、64個のレコード
の4個のストリングを、即ち、N×N×N個のレコード
を格納する。
Nが16である図示の実施例では、第1領域R0は16個のレ
コードの16個のストリング(256レコード)を格納し、
第2領域R1は4096個のレコードを格納し、第3レコード
R2は65、536個のレコードを格納する。後の領域は、そ
の前の領域のレコードの数の16倍を包含する。使用可能
なメモリーに応じて、随意の数の追加の領域を設けるこ
とが出来る。
コードの16個のストリング(256レコード)を格納し、
第2領域R1は4096個のレコードを格納し、第3レコード
R2は65、536個のレコードを格納する。後の領域は、そ
の前の領域のレコードの数の16倍を包含する。使用可能
なメモリーに応じて、随意の数の追加の領域を設けるこ
とが出来る。
中間記憶装置の場所と大きさとは、操作初期化時にレジ
スターアレイにベースアドレス及びエンドアドレスを装
填することによってプログラムされる。操作のために充
分な記憶装置が割り当てられれば、制御プロセッサは該
操作を保留して上位プロセッサに割り込む。該エンドア
ドレスを増大させることにより、該記憶装置を動的に拡
張することが出来る。
スターアレイにベースアドレス及びエンドアドレスを装
填することによってプログラムされる。操作のために充
分な記憶装置が割り当てられれば、制御プロセッサは該
操作を保留して上位プロセッサに割り込む。該エンドア
ドレスを増大させることにより、該記憶装置を動的に拡
張することが出来る。
拡張された併合・分類アルゴリズム 図示の実施例では、ROM38に格納されるマクロプログラ
ムに、拡張された併合・分類アルゴリズムが埋め込まれ
るが、該アルゴリズムを実現するために同等の手段を使
用することも出来る。該アルゴリズムは、強化されたリ
バウンド分類装置のN路併合能力を利用して、制限の無
い個数のレコードを並べ変える。該アルゴリズムは、入
力フェーズ及び出力フェーズと呼ばれる二つのフェーズ
から成る。後述する様に、これらのフェーズを構成する
分類及び併合の操作の順序は、分類の安定性、メモリー
の効率、及び動作のために重要である。
ムに、拡張された併合・分類アルゴリズムが埋め込まれ
るが、該アルゴリズムを実現するために同等の手段を使
用することも出来る。該アルゴリズムは、強化されたリ
バウンド分類装置のN路併合能力を利用して、制限の無
い個数のレコードを並べ変える。該アルゴリズムは、入
力フェーズ及び出力フェーズと呼ばれる二つのフェーズ
から成る。後述する様に、これらのフェーズを構成する
分類及び併合の操作の順序は、分類の安定性、メモリー
の効率、及び動作のために重要である。
入力フェーズ 入力フェーズは、分類及び併合から成り、実際上、入力
ストリングを構成する未分類レコードの全てが処理され
るまでである。各分類操作によりN個の未処理レコード
が操作され、中間記憶装置の領域0にN個のレコードの
分類済みストリングが作られる。各併合操作により、満
杯となった領域のN個の分類済みストリングが処理さ
れ、入力ストリングの各々よりN倍大きな次の領域に単
一の分類済みストリングが作られる。
ストリングを構成する未分類レコードの全てが処理され
るまでである。各分類操作によりN個の未処理レコード
が操作され、中間記憶装置の領域0にN個のレコードの
分類済みストリングが作られる。各併合操作により、満
杯となった領域のN個の分類済みストリングが処理さ
れ、入力ストリングの各々よりN倍大きな次の領域に単
一の分類済みストリングが作られる。
入力フェーズは、入力ストリングの始めのN個のレコー
ドを分類してN個のレコードの一つのストリングを領域
0に作ることから始まる。この後、入力ストリングの次
のN個のレコードから分類されて、N個のレコードの第
2のストリングとなる。このプロセスは、N個のレコー
ドのN個のストリングが領域0に生じるまで続き、その
時点で分類は中止され、該ストリングは併合されて、領
域1のN×N個のレコードの単一のストリングとなる。
ドを分類してN個のレコードの一つのストリングを領域
0に作ることから始まる。この後、入力ストリングの次
のN個のレコードから分類されて、N個のレコードの第
2のストリングとなる。このプロセスは、N個のレコー
ドのN個のストリングが領域0に生じるまで続き、その
時点で分類は中止され、該ストリングは併合されて、領
域1のN×N個のレコードの単一のストリングとなる。
この併合が終わると、入力フェーズは入力ストリングの
分類を再開する。結局、N個のレコードのN個の新しい
ストリングが領域0に作られ、分類が中止され、それら
が併合されて領域1のN×N個の第2のストリングとな
る。このプロセスは、領域1にN×Nの長さのストリン
グがN個出来るまで続き、その時点で、それらは併合さ
れて、領域2のN×N×N個のレコードの単一のストリ
ングとなる。領域の数は、使用可能な中間記憶装置の量
によって制限される。
分類を再開する。結局、N個のレコードのN個の新しい
ストリングが領域0に作られ、分類が中止され、それら
が併合されて領域1のN×N個の第2のストリングとな
る。このプロセスは、領域1にN×Nの長さのストリン
グがN個出来るまで続き、その時点で、それらは併合さ
れて、領域2のN×N×N個のレコードの単一のストリ
ングとなる。領域の数は、使用可能な中間記憶装置の量
によって制限される。
入力フェーズは、入力ストリングの全体が処理されるま
で、可能な時には併合を行いながら、継続する。入力ス
トリング中のレコードの数は、操作が初期化される時に
レジスターアレイにプログラムされる。コマンドレジス
ターには数個のオプション・ビットがあり、その一つ
は、入力ストリングが分類されるべきレコードの全てを
包含しているか否かを示す。このビット(ENDビット)
がセットされていなければ、制御プロセッサは、出力フ
ェーズが始まる前に上位処理装置に割り込み、上位処理
装置が同じ分類操作で他の入力ストリングを包含するこ
とを可能にする。レコードカウントレジスターは、入力
ストリングが処理されるに従って継続的にデクリメント
される。
で、可能な時には併合を行いながら、継続する。入力ス
トリング中のレコードの数は、操作が初期化される時に
レジスターアレイにプログラムされる。コマンドレジス
ターには数個のオプション・ビットがあり、その一つ
は、入力ストリングが分類されるべきレコードの全てを
包含しているか否かを示す。このビット(ENDビット)
がセットされていなければ、制御プロセッサは、出力フ
ェーズが始まる前に上位処理装置に割り込み、上位処理
装置が同じ分類操作で他の入力ストリングを包含するこ
とを可能にする。レコードカウントレジスターは、入力
ストリングが処理されるに従って継続的にデクリメント
される。
出力フェーズ 入力フェーズの終了時には、複数の領域内に数個のスト
リングがある。出力フェーズは、この数をN以下に減ら
す一連の併合操作と、直接に宛先アドレスへの最後の併
合とから成る。
リングがある。出力フェーズは、この数をN以下に減ら
す一連の併合操作と、直接に宛先アドレスへの最後の併
合とから成る。
出力フェーズの開始時には、各領域にN−1個の完全な
長さのストリングがあると共に、領域0には不完全な長
さのストリングがある。この不完全な長さのストリング
は、分類されているレコードの総数モジュールNから成
り(0であることもあり得る)これは、レコードの総数
が必ずしもNの倍数ではないから存在するものである。
分類を安定させるために、最高の領域から最低の領域へ
と優先順位が割り当てられる。一つの領域の中では、優
先順位は最低のストリングから最高のストリングへの順
である。これは、ストリングが作られた順と一致する。
長さのストリングがあると共に、領域0には不完全な長
さのストリングがある。この不完全な長さのストリング
は、分類されているレコードの総数モジュールNから成
り(0であることもあり得る)これは、レコードの総数
が必ずしもNの倍数ではないから存在するものである。
分類を安定させるために、最高の領域から最低の領域へ
と優先順位が割り当てられる。一つの領域の中では、優
先順位は最低のストリングから最高のストリングへの順
である。これは、ストリングが作られた順と一致する。
出力フェーズは、非常に効率的で信頼できる態様で進行
する。最低の空でない領域から併合が行われてゆき、こ
の併合は、関係するストリングの総数がN以下であると
いう制限の範囲内で、なるべく多数の領域を含む。この
併合により、該併合に含まれなかった空でない最初の領
域に新しい不完全なストリングが作られる。
する。最低の空でない領域から併合が行われてゆき、こ
の併合は、関係するストリングの総数がN以下であると
いう制限の範囲内で、なるべく多数の領域を含む。この
併合により、該併合に含まれなかった空でない最初の領
域に新しい不完全なストリングが作られる。
これらの複数領域併合は、上から2番目の領域に達する
まで続く。この時点で、一番上の領域と2番目に高い領
域との両方が含まれていれば、それらは、宛先の記憶場
所に書き込まれる分類操作の最後の併合に参加する。最
高の領域が包含され得なければ、2番目に高い領域は参
加を禁じられ、出力は、2番目に高いレベルの部分的併
合をつくり出す。
まで続く。この時点で、一番上の領域と2番目に高い領
域との両方が含まれていれば、それらは、宛先の記憶場
所に書き込まれる分類操作の最後の併合に参加する。最
高の領域が包含され得なければ、2番目に高い領域は参
加を禁じられ、出力は、2番目に高いレベルの部分的併
合をつくり出す。
後の場合は、動作最適化を表す。最後の二つの領域のス
トリングの大きさは分類操作全体のサイズに関して重要
であるので、これらのストリングの取扱は、2番目に高
い領域から、ちょうど充分なだけのストリングを最高の
領域の不完全なストリングに併合して、正確にN個のス
トリングを残すことによって、最小限度にされる。これ
は『最善の』併合と呼ばれる。その時、N個のストリン
グが最後に併合に参加する。
トリングの大きさは分類操作全体のサイズに関して重要
であるので、これらのストリングの取扱は、2番目に高
い領域から、ちょうど充分なだけのストリングを最高の
領域の不完全なストリングに併合して、正確にN個のス
トリングを残すことによって、最小限度にされる。これ
は『最善の』併合と呼ばれる。その時、N個のストリン
グが最後に併合に参加する。
分類操作の全段階を通じて、指標付けを可能にするため
に、各領域のストリング総数がレジスターアレイの一つ
のバンクに維持される。不完全なストリングの長さは、
該アレイ内の他のレジスターに維持される。他のストリ
ングの長さは、それらの領域の番号から分かる。
に、各領域のストリング総数がレジスターアレイの一つ
のバンクに維持される。不完全なストリングの長さは、
該アレイ内の他のレジスターに維持される。他のストリ
ングの長さは、それらの領域の番号から分かる。
不完全なストリングの長さを維持するレジスターは1個
だけしかないので、不完全なストリングは常時1個だけ
存在できる。出力フェーズは全ての併合に不完全なスト
リングを含み、これらの併合の各々が、より大きな不完
全なストリングをより高い領域につくり出す。不完全な
ストリングの長さのためのレジスターは、新しい不完全
なストリングのサイズを反映するように継続的に更新さ
れる。不完全なストリングも『最善の』併合に参加す
る。
だけしかないので、不完全なストリングは常時1個だけ
存在できる。出力フェーズは全ての併合に不完全なスト
リングを含み、これらの併合の各々が、より大きな不完
全なストリングをより高い領域につくり出す。不完全な
ストリングの長さのためのレジスターは、新しい不完全
なストリングのサイズを反映するように継続的に更新さ
れる。不完全なストリングも『最善の』併合に参加す
る。
中間記憶装置の管理 中間記憶装置の構成は、第18図との関係で上記されてい
る。この節は、分類操作の入力フェーズで制御プロセッ
サにより実行される簿記について詳しく説明するもので
ある。
る。この節は、分類操作の入力フェーズで制御プロセッ
サにより実行される簿記について詳しく説明するもので
ある。
制御プロセッサは、該操作のために充分な記憶装置が割
り当てられているか否か判断しなければならない。動作
をなるべく悪化させずに、この判断を行うために、レジ
スターアレイ35内の2個のレジスターを使って、最高の
活動状態領域の番号と最高の活動状態アドレスとを維持
する。拡張された併合・分類アルゴリズムの中の各分類
又は併合の開始時に、現在の領域が最高の活動状態領域
と比較される。若しそれが最高の活動状態領域引く1よ
り小さければ、その分類又は併合は正常に続く;そうで
なければ、制御プロセッサは、新しいストリングを最高
領域に作りかけており、進むのに充分な記憶装置が割り
当てられているか否か確かめなければならない。
り当てられているか否か判断しなければならない。動作
をなるべく悪化させずに、この判断を行うために、レジ
スターアレイ35内の2個のレジスターを使って、最高の
活動状態領域の番号と最高の活動状態アドレスとを維持
する。拡張された併合・分類アルゴリズムの中の各分類
又は併合の開始時に、現在の領域が最高の活動状態領域
と比較される。若しそれが最高の活動状態領域引く1よ
り小さければ、その分類又は併合は正常に続く;そうで
なければ、制御プロセッサは、新しいストリングを最高
領域に作りかけており、進むのに充分な記憶装置が割り
当てられているか否か確かめなければならない。
この確認は、最高活動状態アドレスレジスターを使っ
て、他の完全なストリングのための余地が次の領域にあ
るか否か判断することから始まる。若しあれば、拡張併
合・分類は正常に進行する;若し無ければ、制限プロセ
ッサは、現在の領域から別個のストリングが次の領域の
不完全なストリングに嵌まり込むか判定し、その情報を
使って、それらのストリングが併合されたならば何個の
追加レコードを処理できるか判定する。若しこの数が入
力ストリングに残っているレコードの数より少なけれ
ば、制御プロセッサは上位プロセッサに割り込んで、操
作を完了するためにもっと多量の記憶装置が割り当てら
れなければならないことを指摘する。
て、他の完全なストリングのための余地が次の領域にあ
るか否か判断することから始まる。若しあれば、拡張併
合・分類は正常に進行する;若し無ければ、制限プロセ
ッサは、現在の領域から別個のストリングが次の領域の
不完全なストリングに嵌まり込むか判定し、その情報を
使って、それらのストリングが併合されたならば何個の
追加レコードを処理できるか判定する。若しこの数が入
力ストリングに残っているレコードの数より少なけれ
ば、制御プロセッサは上位プロセッサに割り込んで、操
作を完了するためにもっと多量の記憶装置が割り当てら
れなければならないことを指摘する。
許容可能な追加のレコードの数が、残っているレコード
の数より多ければ、追加の記憶装置無しで操作を完了す
ることを出来る。コマンドレジスターにENDビットがセ
ットされると、このレベルに残っているストリングの数
と、将来の入力から形成されるこのレベルの追加のスト
リングの数と、次のレベルのストリングの数との和が等
しくNとなる様に、制御プロセッサはこのレベルからち
ょうど充分なストリングを併合する。『最善の』併合が
行われたことを出力フェーズに対して指摘するフラグが
セットされ、この特別の不完全なストリングの長さがレ
ジスターアレイ内のレジスターに保存される。このレジ
スターは、出力フェーズが使用する不完全なストリング
の長さのためのレジスターと同じではない。
の数より多ければ、追加の記憶装置無しで操作を完了す
ることを出来る。コマンドレジスターにENDビットがセ
ットされると、このレベルに残っているストリングの数
と、将来の入力から形成されるこのレベルの追加のスト
リングの数と、次のレベルのストリングの数との和が等
しくNとなる様に、制御プロセッサはこのレベルからち
ょうど充分なストリングを併合する。『最善の』併合が
行われたことを出力フェーズに対して指摘するフラグが
セットされ、この特別の不完全なストリングの長さがレ
ジスターアレイ内のレジスターに保存される。このレジ
スターは、出力フェーズが使用する不完全なストリング
の長さのためのレジスターと同じではない。
ENDビットがセットされなければ、コマンドレジスター
内の追加のオプション・ビット(LOCKビット)が検査さ
れる。このLOCKビットがセットされていれば、制御プロ
セッサは、なるべく多数のストリングを次のレベルの特
別の不完全なストリングに併合し、併合フラグを設置
し、特別の不完全なストリングの長さを保存し、レベル
0のストリングを作り続ける。LOCKビットがセットされ
ていなければ、上位プロセッサは割り込まれて、ENDビ
ットをセットし、LOCKビットをセットし、又は記憶装置
エンドアドレスを増大させることを許される。
内の追加のオプション・ビット(LOCKビット)が検査さ
れる。このLOCKビットがセットされていれば、制御プロ
セッサは、なるべく多数のストリングを次のレベルの特
別の不完全なストリングに併合し、併合フラグを設置
し、特別の不完全なストリングの長さを保存し、レベル
0のストリングを作り続ける。LOCKビットがセットされ
ていなければ、上位プロセッサは割り込まれて、ENDビ
ットをセットし、LOCKビットをセットし、又は記憶装置
エンドアドレスを増大させることを許される。
『最善の』の併合は、拡張併合・分類の動作が最適化す
ることを保証する。制御プロセッサは操作中のレコード
の総数を知らず、上位プロセッサが中間記憶装置のサイ
ズを固定する許可を与えているのて『短縮』併合が起こ
る。一旦固定されると、記憶装置アドレスの終端を増大
させることは違法となる。この併合は、与えられた量の
記憶装置で分類することの出来るレコードの数を最適化
する。
ることを保証する。制御プロセッサは操作中のレコード
の総数を知らず、上位プロセッサが中間記憶装置のサイ
ズを固定する許可を与えているのて『短縮』併合が起こ
る。一旦固定されると、記憶装置アドレスの終端を増大
させることは違法となる。この併合は、与えられた量の
記憶装置で分類することの出来るレコードの数を最適化
する。
分類制御 前述の入力フェーズの分類プロセスは、分類加速装置
が、入力ストリングからN個の未整理レコードを読み込
み、それらを分類し、その結果を中間記憶装置の領域0
中の新しいストリング中に置くことを必要とする。
が、入力ストリングからN個の未整理レコードを読み込
み、それらを分類し、その結果を中間記憶装置の領域0
中の新しいストリング中に置くことを必要とする。
好ましくは、分類制御は、マイクロコード中の単一ルー
プの中に存する。最初に、入力ストリングが使い尽くさ
れたか否か調べるためにレコードカウントレジスターが
検査される。使い尽くされていれば、制御は出力フェー
ズに移転する。より多数の入力レコードがあれば、レジ
スターアレイ内のソースアドレスが入力プロセッサに渡
される。このレジスターは、操作が初期化された時に入
力ストリングのアドレスが装填されたレジスターであ
り、この時にレコード当たりのバイトの数だけインクリ
メントされる。該アレイ内の他のカウントレジスターは
1だけインクリメントされ、カウントがNに達するまで
分類ループは継続する。
プの中に存する。最初に、入力ストリングが使い尽くさ
れたか否か調べるためにレコードカウントレジスターが
検査される。使い尽くされていれば、制御は出力フェー
ズに移転する。より多数の入力レコードがあれば、レジ
スターアレイ内のソースアドレスが入力プロセッサに渡
される。このレジスターは、操作が初期化された時に入
力ストリングのアドレスが装填されたレジスターであ
り、この時にレコード当たりのバイトの数だけインクリ
メントされる。該アレイ内の他のカウントレジスターは
1だけインクリメントされ、カウントがNに達するまで
分類ループは継続する。
併合制御 純粋にマイクロコードで取り扱われるのが好ましい分類
制御とは異なって、併合制御用のマイクロコードは、前
述の併合アルゴリズムによりストリング選択回路39で加
速されるのが好ましい。ストリング選択論理について前
述した。分類順序づけ装置は入力プロセッサが各レコー
ドに挿入するタグの供給も行う。
制御とは異なって、併合制御用のマイクロコードは、前
述の併合アルゴリズムによりストリング選択回路39で加
速されるのが好ましい。ストリング選択論理について前
述した。分類順序づけ装置は入力プロセッサが各レコー
ドに挿入するタグの供給も行う。
分類安定性 『安定な』分類は、同じキーを持ったレコードが、入っ
たときと同じ相対的順序で該分類からでるような分類で
ある。設計を単純なままに保ち、追加の記憶装置及び時
間要件を小さくするために、N路併合アルゴリズムで既
に必要とされたタグバイトを使用して分類安定性を保証
する。この特徴は、総レコードサイズを割合に小さく保
つと共に、分類順序づけ装置又はリバウンド分類装置の
大幅な変更な必要としない。
たときと同じ相対的順序で該分類からでるような分類で
ある。設計を単純なままに保ち、追加の記憶装置及び時
間要件を小さくするために、N路併合アルゴリズムで既
に必要とされたタグバイトを使用して分類安定性を保証
する。この特徴は、総レコードサイズを割合に小さく保
つと共に、分類順序づけ装置又はリバウンド分類装置の
大幅な変更な必要としない。
この所定の順序が変更されないことを保証するために、
特別のハードウェア及びアルゴリズムを使用する特別の
特徴が分類加速装置10に含まれている。
特別のハードウェア及びアルゴリズムを使用する特別の
特徴が分類加速装置10に含まれている。
前記した様に、キーバイトに続いて、残りのデータバイ
トの前にタグバイトが入力レコードストリングに挿入さ
れる。タグバイトの高位4ビットは、レコードの出所と
なったストリングの番号(併合について)、又はゼロ
(分類について)にセットされる。
トの前にタグバイトが入力レコードストリングに挿入さ
れる。タグバイトの高位4ビットは、レコードの出所と
なったストリングの番号(併合について)、又はゼロ
(分類について)にセットされる。
タグバイトは常に処理要素において『上昇』順に比較さ
れる。タグバイトをキーの前に、しかし残りのデータの
前に置くことにより、処理要素は、残りの非キーバイト
が与えられる前に、それらのバイトをどの経路に通すか
決定することが出来る。ストリング番号は、等しいキー
を持った異なるストリングからのレコードを、それが入
って来た順にリバウンド分類装置から出て行かせる。
『順序』ビットは、等しいキーを持った同じストリング
からのレコードを、それらが入って来た順にリバウンド
分類装置から出て行かせる。
れる。タグバイトをキーの前に、しかし残りのデータの
前に置くことにより、処理要素は、残りの非キーバイト
が与えられる前に、それらのバイトをどの経路に通すか
決定することが出来る。ストリング番号は、等しいキー
を持った異なるストリングからのレコードを、それが入
って来た順にリバウンド分類装置から出て行かせる。
『順序』ビットは、等しいキーを持った同じストリング
からのレコードを、それらが入って来た順にリバウンド
分類装置から出て行かせる。
分類順序づけ装置強化 与えられた併合のために、一緒に分類プロセスに入った
レコードのストリングが選択される。即ち、選択される
或るレコードの前に、しかし、選択される他のレコード
の後に分類プロセスに入って選択されないレコードは無
い(それらは、可能性としては、この併合に属すること
があり得る)。
レコードのストリングが選択される。即ち、選択される
或るレコードの前に、しかし、選択される他のレコード
の後に分類プロセスに入って選択されないレコードは無
い(それらは、可能性としては、この併合に属すること
があり得る)。
各ストリングに対して独自の番号が選択されるが、それ
は、そのストリング中のレコードが分類プロセスに入っ
た、同じ併合内の他のストリングに対しての相対順位を
示す。ストリングの各レコードは、タグバイトの高位ビ
ットに挿入されたストリング番号を持っている。異なる
ストリングからの2個のレコードの順序が、それらのタ
グバイトが比較されるときに解明されていなければ、そ
れらが入ってきたのと同じ順序で併合から出て行くこと
をストリング番号が保証する。
は、そのストリング中のレコードが分類プロセスに入っ
た、同じ併合内の他のストリングに対しての相対順位を
示す。ストリングの各レコードは、タグバイトの高位ビ
ットに挿入されたストリング番号を持っている。異なる
ストリングからの2個のレコードの順序が、それらのタ
グバイトが比較されるときに解明されていなければ、そ
れらが入ってきたのと同じ順序で併合から出て行くこと
をストリング番号が保証する。
分類済みストリングが作業空間の領域に書き込まれてゆ
くとき、それらは、その領域の使用可能な最低の行に書
き込まれる。領域が満杯になると、その次に高い領域の
使用可能な最低の行に併合されてゆく。これから分かる
ように、部分的併合(後述する)が無い場合には、最高
の領域は分類に最初に入ったストリングを包含し、2番
目に高い領域は2番目に入ったストリングを包含する、
等々である。領域内では、最低の行は、最初に分類に入
ったストリングを包含し、次の行は2番目に入ったスト
リングを包含する、等々である。
くとき、それらは、その領域の使用可能な最低の行に書
き込まれる。領域が満杯になると、その次に高い領域の
使用可能な最低の行に併合されてゆく。これから分かる
ように、部分的併合(後述する)が無い場合には、最高
の領域は分類に最初に入ったストリングを包含し、2番
目に高い領域は2番目に入ったストリングを包含する、
等々である。領域内では、最低の行は、最初に分類に入
ったストリングを包含し、次の行は2番目に入ったスト
リングを包含する、等々である。
下記の記述においては、0から始まるストリング番号が
順に割り当てられる。別様に指定されない限りは、行の
グループ内ではストリング番号は最低の行から最高の行
へと順に割り当てられる。第19図に示されている様に、
『S』の下のコラム内のストリング番号0ないし15は順
に並んでおり、ストリング15は最高のアドレスHAにあ
り、ストリング0は最低のアドレスLAにある。
順に割り当てられる。別様に指定されない限りは、行の
グループ内ではストリング番号は最低の行から最高の行
へと順に割り当てられる。第19図に示されている様に、
『S』の下のコラム内のストリング番号0ないし15は順
に並んでおり、ストリング15は最高のアドレスHAにあ
り、ストリング0は最低のアドレスLAにある。
併合に参加するストリングにストリング番号を割り当て
る異なる場合が4種類ある: 1) 或る領域が満杯で、次に高い領域への完全併合が
行われる時、ストリング番号はグループとして16個の行
に割り当てられる(第19図に示されている様にして)。
る異なる場合が4種類ある: 1) 或る領域が満杯で、次に高い領域への完全併合が
行われる時、ストリング番号はグループとして16個の行
に割り当てられる(第19図に示されている様にして)。
2) 作業空間の量が限られているために部分的併合が
行われるときには、2番目に高い領域の、全てではない
行が最高領域に併合される。この場合、ストリング番号
は、グループとして、最高領域の最後の行に収まる2番
目に高い領域の最高番号の行のうちのなるべく多くの行
に割り当てられる。第20図の例では、Nは最高領域の番
号である。
行われるときには、2番目に高い領域の、全てではない
行が最高領域に併合される。この場合、ストリング番号
は、グループとして、最高領域の最後の行に収まる2番
目に高い領域の最高番号の行のうちのなるべく多くの行
に割り当てられる。第20図の例では、Nは最高領域の番
号である。
3) (全ての入力データが作業空間メモリー内に置か
れた後)最後の併合が行われるとき、部分的併合が起こ
っていなければ、ストリング番号はグループとして最高
領域内の全ての行に割り当てられ、その後、空でない全
ての領域が割り当てられるまで、2番目に高い領域内の
全ての行に割り当てられる、等々である。この状態は第
21図に示されており、ここで最後の併合はFMで指示され
ている。
れた後)最後の併合が行われるとき、部分的併合が起こ
っていなければ、ストリング番号はグループとして最高
領域内の全ての行に割り当てられ、その後、空でない全
ての領域が割り当てられるまで、2番目に高い領域内の
全ての行に割り当てられる、等々である。この状態は第
21図に示されており、ここで最後の併合はFMで指示され
ている。
4) 最後の併合が行われる時、部分的併合が起こって
いなければ、手順はもっと複雑である。以下のことが指
摘されなければならない: (a) 1回だけ、部分的併合が行われる。
いなければ、手順はもっと複雑である。以下のことが指
摘されなければならない: (a) 1回だけ、部分的併合が行われる。
(c) 常に、2番目に高い領域から最高領域へであ
る。
る。
(c) それ以上の、最高領域への併合は行われない
(それは満杯となっている)。
(それは満杯となっている)。
次の手順が行われる。最初に、ストリング番号が、グル
ープとして、最高領域の、最後の行を除いた全ての行へ
割り当てられる。その後、それらは、グループとして、
部分的併合の直後に残っていた2番目に高い領域内の行
に割り当てられる。次に、最高領域の最後の行にストリ
ング番号が割り当てられる。その後、2番目に高い領域
内の、割り当てされずに残っている行にグループとして
割り当てが行われる。最後に、残っている空でない領域
にグループとして領域の下降順に割当が行われる。
ープとして、最高領域の、最後の行を除いた全ての行へ
割り当てられる。その後、それらは、グループとして、
部分的併合の直後に残っていた2番目に高い領域内の行
に割り当てられる。次に、最高領域の最後の行にストリ
ング番号が割り当てられる。その後、2番目に高い領域
内の、割り当てされずに残っている行にグループとして
割り当てが行われる。最後に、残っている空でない領域
にグループとして領域の下降順に割当が行われる。
部分的併合後の最善の併合のためのストリング番号割当
を示す第22図において、データは以下の様に表されてい
る: pppppp=部分的併合の結果。
を示す第22図において、データは以下の様に表されてい
る: pppppp=部分的併合の結果。
aaaaaa=その部分的併合後に2番目に高い領域に 付加された行。
bbbbbb=その部分的併合の直後に2番目に高い領域 に残っている行。
++++++=他の満杯の行。
リバウンド分類装置強化 分類装置に入る各レコードのタグバイトの最下位ビット
(『順位』ビットと呼ばれる)は1にセットされる。
(『順位』ビットと呼ばれる)は1にセットされる。
順位ビットは、同じストリング番号を持ったレコードの
順位を保存するために使われる。順位ビットは次のよう
に取り扱われる(それは1にセットされたリバウンド分
類装置に入ることを想起): (a) 処理要素が垂直に通過させることを決定し、或
いは既に垂直に通過させつつあるならば: 1) 『下方に』通過させられるタグバイト(下って来
たタグバイト)の順位ビットは1にセットされる。
順位を保存するために使われる。順位ビットは次のよう
に取り扱われる(それは1にセットされたリバウンド分
類装置に入ることを想起): (a) 処理要素が垂直に通過させることを決定し、或
いは既に垂直に通過させつつあるならば: 1) 『下方に』通過させられるタグバイト(下って来
たタグバイト)の順位ビットは1にセットされる。
2) 『上方に』通過させられるタグバイト(昇って来
たタグバイト)の順位ビットは変更されない。
たタグバイト)の順位ビットは変更されない。
(b) 処理要素が水平に通過させることを決定し、或
いは既に水平に通過させつつあるならば: 1) 『下方に』通過させられるタグバイト(昇って来
たタグバイト)の順位ビットは0にセットされる。
いは既に水平に通過させつつあるならば: 1) 『下方に』通過させられるタグバイト(昇って来
たタグバイト)の順位ビットは0にセットされる。
2) 『上方に』通過させられるタグバイト(下ってき
たタグバイト)の順位ビットは1にセットされる。
たタグバイト)の順位ビットは1にセットされる。
(c) IERS『N−2』からIERS『N−2+N−1』へ
渡されるタグバイトの順位ビットは1にセットされる。
渡されるタグバイトの順位ビットは1にセットされる。
この方法の安定性は例によって示すことが出来、その例
では、2個の重複するレコードがあるとする。この説明
のために、重複するレコードは、完全に等しいキー及び
等しいタグを持ったレコードであると仮定する。
では、2個の重複するレコードがあるとする。この説明
のために、重複するレコードは、完全に等しいキー及び
等しいタグを持ったレコードであると仮定する。
第1レコードはERSに入り、第2レコードがERSに入るま
で他のレコードと混じっている。第2レコードと会うた
めに、第1レコードは上を向いて、その順位ビットを1
にセットされなければならない。ERSは分類されている
ので、第2レコードは真っ直ぐに下方に進んで第1レコ
ードと出会い、その順位ビットをセットされたままに保
つ。この二つのレコードは正確に等しく、順位ビットを
含み、よって垂直に移動し続ける。追加の重複レコード
が無ければ、この重複レコードは、より大きなレコード
を通過し続け、或いは上のレコードは下方に向きを変え
(これは、その順位ビットをクリアする)、上がってく
る次の重複レコードと出会う(このレコードの順位ビッ
トは、まだセットされたままである)。これにより、該
重複レコードは、より大きなレコードが通り越すか、他
の重複レコードが入るか、又はERSが流されるまでは、E
RSが現在の位置を保つ。
で他のレコードと混じっている。第2レコードと会うた
めに、第1レコードは上を向いて、その順位ビットを1
にセットされなければならない。ERSは分類されている
ので、第2レコードは真っ直ぐに下方に進んで第1レコ
ードと出会い、その順位ビットをセットされたままに保
つ。この二つのレコードは正確に等しく、順位ビットを
含み、よって垂直に移動し続ける。追加の重複レコード
が無ければ、この重複レコードは、より大きなレコード
を通過し続け、或いは上のレコードは下方に向きを変え
(これは、その順位ビットをクリアする)、上がってく
る次の重複レコードと出会う(このレコードの順位ビッ
トは、まだセットされたままである)。これにより、該
重複レコードは、より大きなレコードが通り越すか、他
の重複レコードが入るか、又はERSが流されるまでは、E
RSが現在の位置を保つ。
今、示す必要があるのは、重複レコードの、出てゆくグ
ループに入る新しいレコードは該グループの底に落下す
ることである。新しいレコードは、重複レコードの出て
ゆくグループの各レコードと出会うとき、その新しいレ
コードは下降中であり旧レコードは上昇中である。上昇
するレコードは常にその順位ビットがセットされる。垂
直に通過させられる下降するレコードの順位ビットも同
じく常にセットされる。これは、新しいレコードは、該
グループの底に達するまで該コラムを下って垂直に移動
し続けることを意味する。
ループに入る新しいレコードは該グループの底に落下す
ることである。新しいレコードは、重複レコードの出て
ゆくグループの各レコードと出会うとき、その新しいレ
コードは下降中であり旧レコードは上昇中である。上昇
するレコードは常にその順位ビットがセットされる。垂
直に通過させられる下降するレコードの順位ビットも同
じく常にセットされる。これは、新しいレコードは、該
グループの底に達するまで該コラムを下って垂直に移動
し続けることを意味する。
叙上から、垂直に通過する時に順位ビットを変更せず、
そのままにしておく様に規則を変更することが出来ると
結論することが出来る。これにより、下方に向けられた
レコードは、若し下り続けるのであれば、その順位ビッ
トを0にセットされたままに保つことが許されるが、下
方に向けられたレコードは、その下にあるものが全てそ
れより大きいので、決して下降し続けない。これによ
り、PE内の論理が単純化される。
そのままにしておく様に規則を変更することが出来ると
結論することが出来る。これにより、下方に向けられた
レコードは、若し下り続けるのであれば、その順位ビッ
トを0にセットされたままに保つことが許されるが、下
方に向けられたレコードは、その下にあるものが全てそ
れより大きいので、決して下降し続けない。これによ
り、PE内の論理が単純化される。
順位ビットの、指摘した使用によって、位置を変更する
ことのあるレコードは、それらの初期順位を保存させら
れる。
ことのあるレコードは、それらの初期順位を保存させら
れる。
データ保全性特徴 外部ハードウェアとの協働により、分類加速装置を通過
するデータは、データが該装置に入った点から、出てゆ
くまで、変造に関して検査される。また、レコードを分
類又は併合する時には、分類加速装置の正しい動作と、
併合のための入力レコードの正しい整理とを確実にする
ために、出力レコードの順位が検査される。
するデータは、データが該装置に入った点から、出てゆ
くまで、変造に関して検査される。また、レコードを分
類又は併合する時には、分類加速装置の正しい動作と、
併合のための入力レコードの正しい整理とを確実にする
ために、出力レコードの順位が検査される。
エラー検出コード パリティ 分類装置外のデータ経路が、バイトパリティの使用によ
り検査される。バイトパリティは、8ビットのデータを
9ビット値で表す方式である。余分のビットは、データ
の出所で計算されたパリティ値を担っている。該データ
からパリティ値を計算し直し、その新しく計算された値
をパリティビットと比較することによって、パリティ検
査が行われる。等しくないことは、該データ中のエラー
を指摘するものである。
り検査される。バイトパリティは、8ビットのデータを
9ビット値で表す方式である。余分のビットは、データ
の出所で計算されたパリティ値を担っている。該データ
からパリティ値を計算し直し、その新しく計算された値
をパリティビットと比較することによって、パリティ検
査が行われる。等しくないことは、該データ中のエラー
を指摘するものである。
分類加速装置10には、上位システムからデータ及びパリ
ティが供給される。データが入るとき、該パリティは好
ましくは検査をされる。この時点で検出されたエラー
は、システムパリティエラーとして分類され、その様な
ものとして報告される。
ティが供給される。データが入るとき、該パリティは好
ましくは検査をされる。この時点で検出されたエラー
は、システムパリティエラーとして分類され、その様な
ものとして報告される。
システムバスインターフェースからのデータ経路のパリ
ティ保護は、リバウンド分類装置まで続く。データがリ
バウンド分類装置に入るとき、データパリティが再び検
査され、エラーは内部データエラーとして報告される。
ティ保護は、リバウンド分類装置まで続く。データがリ
バウンド分類装置に入るとき、データパリティが再び検
査され、エラーは内部データエラーとして報告される。
出力時に、リバウンド分類装置はパリティを持ったデー
タを生成する。このデータがシステムバスインタフェー
スに達したとき、そのパリティが検査され、不一致は内
部パリティエラーとして報告される。パリティ値は、シ
ステムバスインターフェースで再生されて、該データと
共に上位システムに渡され、これにより該上位システム
は上記の様にデータパリティを検査することが出来るこ
ととなる(分類順序づけ装置からのデータのためのパリ
ティを提供するためにパリティがシステムバスインター
フェースで再生される)。
タを生成する。このデータがシステムバスインタフェー
スに達したとき、そのパリティが検査され、不一致は内
部パリティエラーとして報告される。パリティ値は、シ
ステムバスインターフェースで再生されて、該データと
共に上位システムに渡され、これにより該上位システム
は上記の様にデータパリティを検査することが出来るこ
ととなる(分類順序づけ装置からのデータのためのパリ
ティを提供するためにパリティがシステムバスインター
フェースで再生される)。
検査合計計算(第23図) 分類加速装置内で、2レベル検査合計方式を使ってデー
タ保全性が保証される。検査合計保護は、多数のバイト
に渡って検査合計を検査するエラー検出方法である。検
査合計は、後に、該検査合計を計算し直して、それを先
に計算されてあった検査合計と比較することにより、検
査される。検査合計は以下の公式により計算される: i=0ないしnについては、検査合計=f (検査合計、データ〔i〕) 各レコードが分類装置に入るとき、レコードの検査合計
が計算される。この検査合計についての関数(f)は、
第23図との関係で後述するPARブロックを使い、データ
バイトのパリティを使用して、モジュール256でデータ
バイトに加算されるものとして該検査合計又は該検査合
計のビット反転形を選択する。『ビット反転』操作はバ
イトに対して行われ、これにより、該バイト内の最上位
ビットと最下位ビットとが交換され、上から2番目のビ
ットと下から2番目のビットとが交換される、等々であ
り、結局、前記てのビットが異なる位置を持つこととな
る。
タ保全性が保証される。検査合計保護は、多数のバイト
に渡って検査合計を検査するエラー検出方法である。検
査合計は、後に、該検査合計を計算し直して、それを先
に計算されてあった検査合計と比較することにより、検
査される。検査合計は以下の公式により計算される: i=0ないしnについては、検査合計=f (検査合計、データ〔i〕) 各レコードが分類装置に入るとき、レコードの検査合計
が計算される。この検査合計についての関数(f)は、
第23図との関係で後述するPARブロックを使い、データ
バイトのパリティを使用して、モジュール256でデータ
バイトに加算されるものとして該検査合計又は該検査合
計のビット反転形を選択する。『ビット反転』操作はバ
イトに対して行われ、これにより、該バイト内の最上位
ビットと最下位ビットとが交換され、上から2番目のビ
ットと下から2番目のビットとが交換される、等々であ
り、結局、前記てのビットが異なる位置を持つこととな
る。
これらのレコード検査合計が互いにモジュール256加算
されて、レコードのグループについての検査合計とな
る。
されて、レコードのグループについての検査合計とな
る。
分類装置を出るレコードは、同様に計算された検査合計
を有する。分類装置がレコードのグループを処理して、
残りのレコードが流し去られた後、入力検査合計及び出
力検査合計が比較される。
を有する。分類装置がレコードのグループを処理して、
残りのレコードが流し去られた後、入力検査合計及び出
力検査合計が比較される。
レコード検査合計のこの単純加算は、結合的性質を持っ
た関数をつくり出す:即ち、レコード検査合計を合計す
る順序は、その結果として得られる検査合計には影響を
与えない。このことは、該分類装置の主な機能がレコー
ドの並べ直しであるので、重要である。
た関数をつくり出す:即ち、レコード検査合計を合計す
る順序は、その結果として得られる検査合計には影響を
与えない。このことは、該分類装置の主な機能がレコー
ドの並べ直しであるので、重要である。
レコード検査合計の計算は結合的ではない。
二つのレコードのバイトnがそれらのバイト間で交換さ
れれば、その二つのレコードの検査合計の和は異なるこ
とになる。
れれば、その二つのレコードの検査合計の和は異なるこ
とになる。
交換されたバイトの例は、次のとおりである: この検査合計を求める方式は、分類装置18で2種類のエ
ラーについて検査を行うことが出来る:即ち、データ経
路での単ビット故障(記憶要素故障を含む)と、レコー
ド間の不適切に制御されたバイト交換(PE制御不良)。
ラーについて検査を行うことが出来る:即ち、データ経
路での単ビット故障(記憶要素故障を含む)と、レコー
ド間の不適切に制御されたバイト交換(PE制御不良)。
検査合計操作は第23図の論理回路を使って実現される
が、これはEDCNEQ信号をライン270上に生成し、このラ
インは、二つの部の出力を比較するNEQ比較回路272の出
力に接続される。第23図に示されている上側の部は、加
算回路274の接続された出力ラッチ273を含み、この加算
回路274の一入力は該ラッチ273の出力に接続されてい
る。
が、これはEDCNEQ信号をライン270上に生成し、このラ
インは、二つの部の出力を比較するNEQ比較回路272の出
力に接続される。第23図に示されている上側の部は、加
算回路274の接続された出力ラッチ273を含み、この加算
回路274の一入力は該ラッチ273の出力に接続されてい
る。
加算回路274の他方の入力は、一入力がERECライン160に
接続されているAND回路275の出力に接続されている。AN
D回路275の他方の入力は、加算回路278の出力に接続さ
れているラッチ276の出力に接続されている。加算回路2
78の一出力はマルチプレクサ280の出力に接続されてお
り、該マルチプレクサの一入力はラッチ276の出力に接
続され第2入力はREVERSE BITSブロック281に接続され
ている。ブロック281は、前述の、バイトのビット反転
を行う。
接続されているAND回路275の出力に接続されている。AN
D回路275の他方の入力は、加算回路278の出力に接続さ
れているラッチ276の出力に接続されている。加算回路2
78の一出力はマルチプレクサ280の出力に接続されてお
り、該マルチプレクサの一入力はラッチ276の出力に接
続され第2入力はREVERSE BITSブロック281に接続され
ている。ブロック281は、前述の、バイトのビット反転
を行う。
マルチプレクサ280はPARブロック282により制御され、
その入力はIBYTEライン283(リバウンド分類装置に入る
バイト)に接続されており、IBYTEは加算器278の第2入
力にも接続されている。該論理の2番目に低い部は1番
低いのと実質的に同一であり、対応する要素はダッシュ
記号付番号で示されている。差異は、ライン283′がOBY
TEライン(リバウンド分類装置から出るバイト)である
のに対して、ライン283はIBYTEラインであることであ
る。
その入力はIBYTEライン283(リバウンド分類装置に入る
バイト)に接続されており、IBYTEは加算器278の第2入
力にも接続されている。該論理の2番目に低い部は1番
低いのと実質的に同一であり、対応する要素はダッシュ
記号付番号で示されている。差異は、ライン283′がOBY
TEライン(リバウンド分類装置から出るバイト)である
のに対して、ライン283はIBYTEラインであることであ
る。
分類順序検査装置(第24図ないし第28図) レコードが分類装置から出るとき、該レコードは、一つ
のレコードを保持する特別の記憶要素に入る。この記憶
要素はシフトレジスターの様に振る舞い、該記憶要素の
入力及び出力を検査する比較論理が、分類装置から出る
レコードが正しく整理されていることを確認するのを可
能にする。該比較論理は、出力を除いて、分類装置に使
用されている処理要素と同様である。該比較論理の出力
は、レコードの減少(『下降』分類について増大)シー
ケンスが検出されたことを示す信号である(分類順序エ
ラー)。
のレコードを保持する特別の記憶要素に入る。この記憶
要素はシフトレジスターの様に振る舞い、該記憶要素の
入力及び出力を検査する比較論理が、分類装置から出る
レコードが正しく整理されていることを確認するのを可
能にする。該比較論理は、出力を除いて、分類装置に使
用されている処理要素と同様である。該比較論理の出力
は、レコードの減少(『下降』分類について増大)シー
ケンスが検出されたことを示す信号である(分類順序エ
ラー)。
分類順序検査装置は、出力ストリング中のレコードが次
のレコードと同じキーを持っていることを示す『タイ』
ビットを提供するのにも使われる。この『タイ』ビット
は、リバウンド分類装置からの出力上のタグバイトの最
下位ビットである。ユーザーソフトウェアは、この『タ
イ』ビットを利用して、後続の節で説明するように加速
装置10の容量を越えるキーフィールドに対して分類を行
い、或いは重複レコードの分類後の処理を補助すること
が出来る。分類加速装置は、普通は、レコードを出力す
る前に該レコードからタグバイトを取り除くが、ユーザ
ーが希望する場合にはタグバイトをレコードに残したま
まにしておく様に分類加速装置に指令することも出来
る。
のレコードと同じキーを持っていることを示す『タイ』
ビットを提供するのにも使われる。この『タイ』ビット
は、リバウンド分類装置からの出力上のタグバイトの最
下位ビットである。ユーザーソフトウェアは、この『タ
イ』ビットを利用して、後続の節で説明するように加速
装置10の容量を越えるキーフィールドに対して分類を行
い、或いは重複レコードの分類後の処理を補助すること
が出来る。分類加速装置は、普通は、レコードを出力す
る前に該レコードからタグバイトを取り除くが、ユーザ
ーが希望する場合にはタグバイトをレコードに残したま
まにしておく様に分類加速装置に指令することも出来
る。
分類順序検査操作は、第24図ないし第28図に示されてい
る論理回路により実施される。第27図に示されている回
路は出力ライン286を包含し、このライン上に前述のSRT
ERR信号が生成される。ライン286は、−RESETライン290
に接続された一入力を有するANDゲート289の出力に接続
されたラッチ288の出力に接続されている。ANDゲート28
9の他方の入力は、ORゲート282の他方の入力に接続され
ており、このORゲートの一入力はライン286に接続され
第2入力はANDゲート294に接続されている。ANDゲート2
94は、CHKING信号及びEQUAL信号をそれぞれ受信するラ
イン295及び297に接続された入力を有する。ANDゲート2
94への第3入力はマルチプレクサに接続されている。該
マルチプレクサの一入力は『A<B』であり、他方は
『A>B』である。該マルチプレクサは、ASCENDING及
びETAGを入力とするORゲートにより制御される。
る論理回路により実施される。第27図に示されている回
路は出力ライン286を包含し、このライン上に前述のSRT
ERR信号が生成される。ライン286は、−RESETライン290
に接続された一入力を有するANDゲート289の出力に接続
されたラッチ288の出力に接続されている。ANDゲート28
9の他方の入力は、ORゲート282の他方の入力に接続され
ており、このORゲートの一入力はライン286に接続され
第2入力はANDゲート294に接続されている。ANDゲート2
94は、CHKING信号及びEQUAL信号をそれぞれ受信するラ
イン295及び297に接続された入力を有する。ANDゲート2
94への第3入力はマルチプレクサに接続されている。該
マルチプレクサの一入力は『A<B』であり、他方は
『A>B』である。該マルチプレクサは、ASCENDING及
びETAGを入力とするORゲートにより制御される。
該分類順序検査装置の回路は、更に、第24図、第25図、
第26図及び第28図に示されている論理回路を含む。第24
図おおいて、比較回路298が設けられており、この回路
は、前述のB<A信号をライン296上に生成し、且つ、
A=B信号及びA<B信号をライン299及び300上に生成
する。比較回路298の一入力はUR0ライン302に直結さ
れ、比較回路298の他方の入力はカスケード接続された
2個のIERS要素303及び304を通じてライン302に接続さ
れている。これらは、一つのレコードブロックを保持す
る前述の特別の記憶要素を形成する。
第26図及び第28図に示されている論理回路を含む。第24
図おおいて、比較回路298が設けられており、この回路
は、前述のB<A信号をライン296上に生成し、且つ、
A=B信号及びA<B信号をライン299及び300上に生成
する。比較回路298の一入力はUR0ライン302に直結さ
れ、比較回路298の他方の入力はカスケード接続された
2個のIERS要素303及び304を通じてライン302に接続さ
れている。これらは、一つのレコードブロックを保持す
る前述の特別の記憶要素を形成する。
第25図において、ライン295上のCHKING信号はラッチ306
により生成され、該ラッチはANDゲート308の出力に接続
されており、このゲートの一入力にはライン309上の−N
EWSTREAMOUT信号が加えられるが、この−NEWSTREAMOUT
信号は、第11図に示されているパイプライン回路の生成
するNEWSTREAMOUT信号の逆である。ゲート308の第2入
力はORゲート310の出力に接続されており、このORゲー
トの一入力はERECライン160に接続され第2入力はライ
ン295に接続されている。
により生成され、該ラッチはANDゲート308の出力に接続
されており、このゲートの一入力にはライン309上の−N
EWSTREAMOUT信号が加えられるが、この−NEWSTREAMOUT
信号は、第11図に示されているパイプライン回路の生成
するNEWSTREAMOUT信号の逆である。ゲート308の第2入
力はORゲート310の出力に接続されており、このORゲー
トの一入力はERECライン160に接続され第2入力はライ
ン295に接続されている。
第26図において、ライン297上のEQUAL信号は、ORゲート
314の出力に接続されたラッチ312の出力に生成され、こ
のORゲートの一入力はERECライン160に接続され第2入
力はANDゲート316の出力に接続されている。ANDゲート3
16の一入力はA=Bライン299(第24図)に接続され、
他方はライン297に接続されている。
314の出力に接続されたラッチ312の出力に生成され、こ
のORゲートの一入力はERECライン160に接続され第2入
力はANDゲート316の出力に接続されている。ANDゲート3
16の一入力はA=Bライン299(第24図)に接続され、
他方はライン297に接続されている。
第28図は、ライン318上に生成されるTIED信号を生成す
るのに使われる回路を示し、このライン318はANDゲート
320の出力に接続されたラッチ回路319の出力に接続され
ており、このANDゲートは、CHKINGライン295、第10図の
回路からのETAGライン174及びEQUALライン297に接続さ
れた入力を有する。
るのに使われる回路を示し、このライン318はANDゲート
320の出力に接続されたラッチ回路319の出力に接続され
ており、このANDゲートは、CHKINGライン295、第10図の
回路からのETAGライン174及びEQUALライン297に接続さ
れた入力を有する。
分類加速装置の容量を越えること 加速装置10は、使用可能な作業空間メモリーがユーザー
のファイル中のレコードを分類するのに充分でないとき
にも使うことの出来るものである。非常にありふれた2
種類の場合に対処するアルゴリズムが設けられる。第1
の場合は、レコードの総数を分類するのに充分な作業空
間メモリーが使用できない時である。第2の場合は、レ
コード及び/又はキーの長さが分類加速装置の許容する
最大長さを上回るときである。
のファイル中のレコードを分類するのに充分でないとき
にも使うことの出来るものである。非常にありふれた2
種類の場合に対処するアルゴリズムが設けられる。第1
の場合は、レコードの総数を分類するのに充分な作業空
間メモリーが使用できない時である。第2の場合は、レ
コード及び/又はキーの長さが分類加速装置の許容する
最大長さを上回るときである。
使用可能な作業空間メモリーを越えること ユーザーレコードを分類するのに充分な作業空間メモリ
ーを使用できないときには、ユーザーは、『外部併合』
と呼ばれるものを使用することが出来る。これは単に、
分類操作を完了するのに要する各併合パスの入力及び出
力のためにレコード記憶装置をユーザーが管理しなけれ
ばならないことを意味する。
ーを使用できないときには、ユーザーは、『外部併合』
と呼ばれるものを使用することが出来る。これは単に、
分類操作を完了するのに要する各併合パスの入力及び出
力のためにレコード記憶装置をユーザーが管理しなけれ
ばならないことを意味する。
始めに、ユーザーは、分類加速装置10を使用して、使用
可能な作業空間メモリーに収まる、なるべく多数のレコ
ードを分類する。この数を計算する必要はない。分類加
速装置が満杯になったことを示す指示が出されるまで、
単にレコードが分類加速装置に送られる。レコードのこ
れらの分類済みストリングは、その後、ユーザーが使用
することの出来る記憶装置内に置かれる(これらは、例
えばディスクに書き込まれてもよい)。全てのレコード
が分類され終わったとき、即ち、16個の分類済みストリ
ングが作られたとき、ユーザーは、分類加速装置10を合
併装置として使用して、その分類済みストリングを併合
する。これは、バッファー付き入力及び出力で行うこと
が出来、従って、分類加速装置が非常に僅かなメモリー
を使用できればよい。この併合から得られる分類済みス
トリングを再び記憶装置内に置くことが出来る。このア
ルゴリズムを繰り返し使うことが出来、これは追加のレ
コード記憶装置の利用可能性によってのみ限定される。
可能な作業空間メモリーに収まる、なるべく多数のレコ
ードを分類する。この数を計算する必要はない。分類加
速装置が満杯になったことを示す指示が出されるまで、
単にレコードが分類加速装置に送られる。レコードのこ
れらの分類済みストリングは、その後、ユーザーが使用
することの出来る記憶装置内に置かれる(これらは、例
えばディスクに書き込まれてもよい)。全てのレコード
が分類され終わったとき、即ち、16個の分類済みストリ
ングが作られたとき、ユーザーは、分類加速装置10を合
併装置として使用して、その分類済みストリングを併合
する。これは、バッファー付き入力及び出力で行うこと
が出来、従って、分類加速装置が非常に僅かなメモリー
を使用できればよい。この併合から得られる分類済みス
トリングを再び記憶装置内に置くことが出来る。このア
ルゴリズムを繰り返し使うことが出来、これは追加のレ
コード記憶装置の利用可能性によってのみ限定される。
最大レコード長を越えること レコード長が、分類加速装置が許容する最大長を越える
場合が2種類ある。
場合が2種類ある。
第1の、最も単純な場合は、レコード全体が大き過ぎる
が、キーと、元のレコードへのポインタとの合計が収ま
るときである。この場合、元のキーと、これに続く、元
のレコードを指すポインタを包含するバイトとから成る
新しいレコードが分類加速装置に入力される。分類が完
了したとき、ユーザーは、単に、該ポインタを使って元
のレコードの内容へアクセスして、その分類済みレコー
ドを処理する。
が、キーと、元のレコードへのポインタとの合計が収ま
るときである。この場合、元のキーと、これに続く、元
のレコードを指すポインタを包含するバイトとから成る
新しいレコードが分類加速装置に入力される。分類が完
了したとき、ユーザーは、単に、該ポインタを使って元
のレコードの内容へアクセスして、その分類済みレコー
ドを処理する。
第2の場合は、レコードが大き過ぎて、キーと、元のレ
コードを指すポインタとの合計が収まらない時に起こ
る。この場合、ユーザーは新しいレコードを再び入力す
るが、この時にはユーザーは、収まるだけの、なるべく
多数のキーバイトだけを入力し、ポインタのための余地
を端部に残しておく。これらの、先端を切ったキーでの
分類時には、ユーザー『タイ』ビットを検査できるよう
にタグバイトが出力されるべき旨の要求が好ましい。
コードを指すポインタとの合計が収まらない時に起こ
る。この場合、ユーザーは新しいレコードを再び入力す
るが、この時にはユーザーは、収まるだけの、なるべく
多数のキーバイトだけを入力し、ポインタのための余地
を端部に残しておく。これらの、先端を切ったキーでの
分類時には、ユーザー『タイ』ビットを検査できるよう
にタグバイトが出力されるべき旨の要求が好ましい。
多くの場合、この様にして与えられる先端を切られたキ
ーは、レコードの分類された順序を判断するのに充分な
程度に独特である。重複する、先を切られたキーを持っ
たレコードのグループの位置を突き止めるには、『タ
イ』ビットを検査するだけでよい。このレコードのグル
ープは、そのとき、元のレコードからの残りのキーバイ
トのうちの、収まるだけの数のキーバイトを新しいキー
として使うことによって、更に分類することが出来る。
重複するキーが報告されなくなるか、又は全てのキーバ
イトが処理され終わるまで、重複する先を切られたキー
を持ったレコードの全てのグループに対して、このプロ
セスを反復することが出来る。
ーは、レコードの分類された順序を判断するのに充分な
程度に独特である。重複する、先を切られたキーを持っ
たレコードのグループの位置を突き止めるには、『タ
イ』ビットを検査するだけでよい。このレコードのグル
ープは、そのとき、元のレコードからの残りのキーバイ
トのうちの、収まるだけの数のキーバイトを新しいキー
として使うことによって、更に分類することが出来る。
重複するキーが報告されなくなるか、又は全てのキーバ
イトが処理され終わるまで、重複する先を切られたキー
を持ったレコードの全てのグループに対して、このプロ
セスを反復することが出来る。
このプロセスは、より大きな最大レコード長を持った分
類加速装置を使うよりも早く作用する可能性があること
を指摘しなければならない。その理由は、分類加速装置
の速度がR*N*LOG16(N)に比例し、ここでRは分
類加速装置に与えられるレコードの長さであり、Nはレ
コードの個数である。より小さなRの値(最大のRによ
り制限される)を例えば、レコードの最初のパス分類
は、より高速となる。後続のパスがあるならば、そのパ
スは、同様に、遥かに小さなNの値を使って重複を解明
するであろうが、これは遥かに高速であろう。
類加速装置を使うよりも早く作用する可能性があること
を指摘しなければならない。その理由は、分類加速装置
の速度が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図の加
速装置のレコード制御回路の他の部分を示す。 第11図は、第1図及び第5図に示されているパイプライ
ン制御回路の詳細を示す。 第12図は、第1図の加速装置の分類順序づけ装置のスト
リング選択論理回路のタグ選択回路を示す。 第13図ないし第17図は、第1図の加速装置のタグ先読み
論理回路のいろいろな部分を示す。 第18図は、第1図の分類加速装置の使用する中間記憶装
置の組織の例を示す。 第19図ないし第22図は、最適の併合操作を得るために使
用されるストリング番号割り当てを示す。 第23図は、第1図の強化されたリバウンド分類装置のイ
ンターフェースの検査合計論理回路を示す。 第24図ないし第27図は、第1図の強化されたリバウンド
分類装置のインターフェースの分類順序検査装置の論理
回路の部分を示す。 第28図は、連続する二つのレコードが同じキーを有する
ことを示す信号を生成するために使われる、分類順序検
査装置の論理回路の追加の部分を示す。
ブロック図であり、上位コンピュータ及び上位メモリー
に接続されて示されている。 第2図は、該加速装置の強化されたリバウンド分類装置
に送られる、入力レコードから作られたレコードの形式
を示す。 第3図は、本発明の加速装置のリバウンド分類加速装置
を単純化した一般的形で示すと共に、これに付随する記
憶回路及びパイプライン回路を示す略図である。 第4A図及び第4B図は、第3図に示されている分類装置等
の分類装置を通るデータの流れの単純化した例を示す。 第5図は、第1図の分類加速装置に使用された、強化さ
れたリバウンド分類装置及びこれに付随する記憶回路の
構成を詳しく示す略図である。 第6図は、第5図に示されているリバウンド分類装置の
処理要素の制御回路の論理回路を示す。 第7図は、第1図及び第5図に示されている記憶回路と
共に使用することの出来るRAMインデックス回路の一つ
の形を示す。 第8図は、第1図及び第5図に示されている記憶回路と
共に使用することの出来るRAMインデックス回路の他の
形を示す。 第9図は、レコードタイミング信号を供給する、第1図
の加速装置のレコード制御回路の一部を示す。 第10図は、タグタイミング信号を供給する、第1図の加
速装置のレコード制御回路の他の部分を示す。 第11図は、第1図及び第5図に示されているパイプライ
ン制御回路の詳細を示す。 第12図は、第1図の加速装置の分類順序づけ装置のスト
リング選択論理回路のタグ選択回路を示す。 第13図ないし第17図は、第1図の加速装置のタグ先読み
論理回路のいろいろな部分を示す。 第18図は、第1図の分類加速装置の使用する中間記憶装
置の組織の例を示す。 第19図ないし第22図は、最適の併合操作を得るために使
用されるストリング番号割り当てを示す。 第23図は、第1図の強化されたリバウンド分類装置のイ
ンターフェースの検査合計論理回路を示す。 第24図ないし第27図は、第1図の強化されたリバウンド
分類装置のインターフェースの分類順序検査装置の論理
回路の部分を示す。 第28図は、連続する二つのレコードが同じキーを有する
ことを示す信号を生成するために使われる、分類順序検
査装置の論理回路の追加の部分を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブライアン チャールズ イーデム アメリカ合衆国 カリフォルニア州 95130 サン ホセ ティベラン ウェイ 5042 (72)発明者 リチャード ペーラム ヘリウェル アメリカ合衆国 コロラド州 80908 コ ロラド スプリングス シュープ ロード 4425 (72)発明者 ジョン トーマス ジョンストン アメリカ合衆国 カリフォルニア州 95128 サン ホセ ティートゥリー コ ート 742 (72)発明者 リチャード フランクリン ラリー アメリカ合衆国 コロラド州 80919 コ ロラド スプリングス サミット ポイン ト コート 1650
Claims (15)
- 【請求項1】未整理の入力レコードのグループを入力と
して受け取り、分類された順序で出力レコードの対応す
るグループを出力として生成する分類手段を含むデータ
保全システムであって、前記システムは、所定の関数に
従って各入出力レコードのバイトについてバイト値を生
成する入出力バイト値生成手段と、入力レコード検査合
計値を生成するために各入力レコードの前記バイト値を
合計する入力バイト値合計手段と、結果として得られる
入力検査合計を作り出すために入力レコードのグループ
について前記入力レコード検査合計値を加算する入力レ
コード検査合計加算手段と、出力レコード検査合計値を
生成するために各出力レコードの前記バイト値を合計す
る出力バイト値合計手段と、結果として得られる出力検
査合計を作り出すために出力レコードのグループについ
て前記出力レコード検査合計値を加算する出力レコード
検査合計加算手段と、前記結果として得られる出力検査
合計を対応する入力レコード検査合計の前記結果として
得られる入力検査合計値と比較すると共に、前記入出力
検査合計の差異に応じてエラー信号を生成する比較手段
とを備えており、前記所定の関数は、前記結果として得
られる入出力検査合計が、レコード間のバイトの交換を
含むエラーに応じて異なるが前記入出力検査合計値の合
計の順序とは無関係であるような結合的性質を有するこ
とを特徴とするデータ保全システム。 - 【請求項2】信号ビットは、前記入力レコードバイトの
各データ部分と関連しており、前記バイト値生成手段
は、前記信号ビットの値の関数として前記バイト値を決
定する手段を含んでいることを特徴とする請求項1に記
載のデータ保全システム。 - 【請求項3】前記バイト値生成手段は、バイトデータ部
分のビットを交換するビット反転手段を含むことを特徴
とする請求項2に記載のデータ保全システム。 - 【請求項4】前記信号ビットは、パリティビットであ
り、前記システムは、入出力レコードのバイトのパリテ
ィを検査する手段を更に含んでいることを特徴とする請
求項2に記載のデータ保全システム。 - 【請求項5】未整理の入力レコードのグループを入力と
して受け取り、分類された順序で出力レコードの対応す
るグループを出力として生成するように構成されたソー
ターの動作の保全を検査する方法であって、所定の関数
に従って各入出力レコードのバイトについてバイト値を
決定し、入出力レコード検査合計値を作り出すために各
入力レコード及び各出力レコードの前記バイト値を加算
し、結果として得られる入力検査合計を作り出すために
入力レコードのグループについて入力レコード検査合計
値を加算し、結果として得られる出力検査合計を作り出
すために入力レコードの前記グループに対応する出力レ
コードのグループについて出力レコード検査合計値を加
算し、そして前記レコードでエラーの発生を検査するた
めに前記結果として得られる入出力レコード検査合計を
比較する段階を具備することを特徴とする方法。 - 【請求項6】前記入力レコードバイトの各データ部分に
関連する信号ビットを検査し、前記信号ビットの値の関
数として前記バイト値を決定する段階を含むことを特徴
とする請求項5に記載の方法。 - 【請求項7】前記信号ビットの値に従ってバイトデータ
部分のビットを交換する段階を含むことを特徴とする請
求項6に記載の方法。 - 【請求項8】前記信号ビットは、パリティビットであ
り、前記方法は、入出力レコードのバイトのパリティを
検査する段階を更に含んでいることを特徴とする請求項
6に記載の方法。 - 【請求項9】レコードソーターから出力された分類され
たレコードのグループを検査する方法であって、前記レ
コードソーターは未整理の入力レコードのグループを入
力として受け取り、分類された順序で出力レコードの対
応するグループを出力として生成し、前記方法は、分類
されたレコードの前記グループから出力レコードを記憶
し、分類されたレコードの前記グループから次の出力レ
コードを受け取り、前記記憶された出力レコードと前記
次の出力レコードが分類された順序であるかどうかを決
定するために前記記憶された出力レコードを前記次の出
力レコードと比較し、上記出力レコードの分類された順
序を示す信号を生成し、分類されたレコードの前記グル
ープで全てのレコードが比較されるまで前記比較段階を
繰り返す段階を具備することを特徴とする方法。 - 【請求項10】レコードソーターから出力された分類さ
れたレコードのグループを検査する方法であって、前記
レコードソーターは未整理の入力レコードのグループを
入力として受け取り、分類された順序で出力レコードの
対応するグループを出力として生成し、前記方法は、
(a)前記ソーターから出力された第1レコードを受け
取り、記憶し、(b)前記ソーターからその後出力され
た第2レコードを受け取り、(c)前記記憶された第1
レコードと前記第2レコードを比較し、(d)前記記憶
された第1レコードが前記第2レコードより大きいとき
に第1出力信号を生成し、(e)前記記憶された第1レ
コードが前記第2レコードより小さいときに第2出力信
号を生成し、(f)前記記憶された第1レコードが前記
第2レコードに等しいときに第3出力信号を生成し、
(g)分類されたレコードの前記グループの全レコード
が比較されるまで上記段階(a)から(f)を繰り返す
段階を具備することを特徴とする方法。 - 【請求項11】レコードソーターから出力された分類さ
れたレコードのグループを検査する請求項10に記載され
た方法は、(h)出力レコードの前記グループでレコー
ドが後続するレコードと同じキーを有することを示す前
記第3出力信号に応じて、接続された出力信号を生成す
る段階を更に含んでいることを特徴とする。 - 【請求項12】レコードソーターから出力された分類さ
れたレコードのグループを検査する請求項11に記載され
た方法は、(i)比較されるレコードが出力レコードの
異なるグループからであるときに検査信号を生成し、そ
して(j)前記検査信号に応じて出力された前記接続さ
れた信号を阻止する段階を具備することを特徴とする方
法。 - 【請求項13】未整理の入力レコードのグループを入力
として受け取り、分類された順序で出力レコードの対応
するグループを出力として生成するリバウンドソーター
から出力レコードのグループの分類された順序を検査す
る分類順序検査装置であって、前記ソーター手段から出
力された第1レコードを受け取り記憶する記憶手段と、
前記記憶手段から前記第1レコードを受け取り、前記ソ
ーター手段からその後出力された第2レコードを受け取
って、前記記憶された第1レコードと前記第2レコード
を比較する比較論理手段とを備えており、前記比較論理
手段は、前記記憶された第1レコードが前記第2レコー
ドより大きいときに第1出力信号を、前記記憶された第
1レコードが前記第2レコードより小さいときに第2出
力信号を、そして前記記憶された第1レコードが前記第
2レコードと等しいときに第3出力信号を生成すること
を特徴とする分類順序検査装置。 - 【請求項14】出力レコードの前記グループが後続する
レコードと同じキーを有することを示す接続された出力
信号を供給するために前記比較論理手段からの前記第3
出力信号に応答する接続信号手段を更に備えていること
を特徴とする請求項13に記載される分類順序検査装置。 - 【請求項15】比較されたレコードが出力レコードの異
なるグループからであることを示す検査信号を供給する
検査信号手段を更に備えており、前記接続信号手段が前
記接続された出力信号を阻止するために前記検査信号に
応答することを特徴とする請求項14に記載される分類順
序検査装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US374349 | 1973-06-28 | ||
US07/374,349 US5111465A (en) | 1989-06-30 | 1989-06-30 | Data integrity features for a sort accelerator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03129427A JPH03129427A (ja) | 1991-06-03 |
JPH0776909B2 true JPH0776909B2 (ja) | 1995-08-16 |
Family
ID=23476409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2172504A Expired - Lifetime JPH0776909B2 (ja) | 1989-06-30 | 1990-06-29 | 分類加速装置のデータ保全性特徴 |
Country Status (2)
Country | Link |
---|---|
US (2) | US5111465A (ja) |
JP (1) | JPH0776909B2 (ja) |
Families Citing this family (18)
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 |
US5111465A (en) * | 1989-06-30 | 1992-05-05 | Digital Equipment Corporation | Data integrity features for a sort accelerator |
JPH0776906B2 (ja) * | 1989-06-30 | 1995-08-16 | ディジタル イクイプメント コーポレーション | 分類加速装置のための速度及びメモリー制御 |
DE3931924A1 (de) * | 1989-09-25 | 1991-04-04 | Standard Elektrik Lorenz Ag | Steuerung der zeitlichen zuordnung von datenverarbeitungsleistung einer rechenanlage |
US5283893A (en) * | 1990-04-24 | 1994-02-01 | Rolm Company | Method for sorting objects in a sequentially addressed array |
JP3152466B2 (ja) * | 1991-04-04 | 2001-04-03 | 三菱電機株式会社 | ソーティング装置およびソーティング方法 |
US5471632A (en) * | 1992-01-10 | 1995-11-28 | Digital Equipment Corporation | System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred |
JPH06242957A (ja) * | 1993-02-16 | 1994-09-02 | Fujitsu Ltd | プログラム実行制御装置 |
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 |
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US5675591A (en) * | 1995-08-31 | 1997-10-07 | Motorola, Inc. | Reverse checksum method for telecommunication systems |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US6269374B1 (en) | 1998-05-26 | 2001-07-31 | International Business Machines Corporation | Method and apparatus for updating checksums of data structures |
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 |
KR100782807B1 (ko) * | 2003-02-11 | 2007-12-06 | 삼성전자주식회사 | 첵섬 기입 방법 및 그에 따른 첵섬 확인 장치 |
US7298769B2 (en) * | 2005-05-30 | 2007-11-20 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor laser |
US7102544B1 (en) * | 2005-05-31 | 2006-09-05 | Altera Corporation | Method and system for improving memory interface data integrity in PLDs |
US20120259869A1 (en) * | 2011-04-07 | 2012-10-11 | Infosys Technologies, Ltd. | System and method for implementing a window sorting mechanism |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61129427A (ja) * | 1984-11-27 | 1986-06-17 | Mitsubishi Motors Corp | 燃料供給装置 |
JPS6316337A (ja) * | 1986-07-08 | 1988-01-23 | I O Data Kiki:Kk | マイクロコンピュータにおけるチェックサム回路 |
JPS63284638A (ja) * | 1987-05-18 | 1988-11-21 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ整列装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2919854A (en) * | 1954-12-06 | 1960-01-05 | Hughes Aircraft Co | Electronic modulo error detecting system |
NL226872A (ja) * | 1958-04-16 | |||
US3685024A (en) * | 1970-11-02 | 1972-08-15 | Singer Co | Two stage sorting system using two-line sorting switches |
US3717250A (en) * | 1971-08-02 | 1973-02-20 | Ambrite Computer Rents Inc | Color coded computer 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 |
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 |
US4090249A (en) * | 1976-11-26 | 1978-05-16 | International Business Machines Corporation | Apparatus for sorting records in overlap relation with record loading and extraction |
US4209845A (en) * | 1977-01-25 | 1980-06-24 | International Business Machines Corporation | File qualifying and sorting system |
US4295206A (en) * | 1979-06-06 | 1981-10-13 | Ncr Canada Ltd.-Ncr Canada Ltee | Document sorting method |
US4303989A (en) * | 1979-07-17 | 1981-12-01 | The Singer Company | Digital data sorter external to a computer |
US4410960A (en) * | 1980-02-05 | 1983-10-18 | Nippon Electric Co., Ltd. | Sorting circuit for three or more inputs |
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 |
US4817036A (en) * | 1985-03-15 | 1989-03-28 | Brigham Young University | Computer system and method for data base indexing and information retrieval |
US4656633A (en) * | 1985-03-15 | 1987-04-07 | Dolby Laboratories Licensing Corporation | Error concealment system |
US4691319A (en) * | 1985-06-18 | 1987-09-01 | Bella Bose | Method and system for detecting a predetermined number of unidirectional errors |
JPS64616A (en) * | 1987-06-23 | 1989-01-05 | Furukawa Electric Co Ltd:The | Manufacture of ceramic superconducting wire material |
JPH01234975A (ja) * | 1988-03-11 | 1989-09-20 | Internatl Business Mach Corp <Ibm> | 日本語文章分割装置 |
US5111465A (en) * | 1989-06-30 | 1992-05-05 | Digital Equipment Corporation | Data integrity features for a sort accelerator |
-
1989
- 1989-06-30 US US07/374,349 patent/US5111465A/en not_active Expired - Lifetime
-
1990
- 1990-06-29 JP JP2172504A patent/JPH0776909B2/ja not_active Expired - Lifetime
-
1993
- 1993-03-01 US US08/024,795 patent/US5319651A/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61129427A (ja) * | 1984-11-27 | 1986-06-17 | Mitsubishi Motors Corp | 燃料供給装置 |
JPS6316337A (ja) * | 1986-07-08 | 1988-01-23 | I O Data Kiki:Kk | マイクロコンピュータにおけるチェックサム回路 |
JPS63284638A (ja) * | 1987-05-18 | 1988-11-21 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ整列装置 |
Also Published As
Publication number | Publication date |
---|---|
US5319651A (en) | 1994-06-07 |
US5111465A (en) | 1992-05-05 |
JPH03129427A (ja) | 1991-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0776906B2 (ja) | 分類加速装置のための速度及びメモリー制御 | |
JPH0776909B2 (ja) | 分類加速装置のデータ保全性特徴 | |
JPH0776910B2 (ja) | リバウンド分類装置を併合装置として使用する分類加速装置 | |
US5349659A (en) | Hierarchical ordering of logical elements in the canonical mapping of net lists | |
US6473885B1 (en) | Digital circuit layout techniques using circuit decomposition and pin swapping | |
CN103999035B (zh) | 用于状态机中的数据分析的方法及*** | |
US5185886A (en) | Multiple record group rebound sorter | |
JPH04247571A (ja) | データベースレコード処理装置 | |
US6360352B2 (en) | Digital circuit layout techniques | |
CN104603742A (zh) | 用于状态机引擎的结果产生 | |
JPH0776908B2 (ja) | 分類加速装置の安定分類 | |
JPS6142031A (ja) | ソ−ト処理装置 | |
US5126965A (en) | Conditional-sum carry structure compiler | |
JPH0776907B2 (ja) | 分類加速装置の制御 | |
Maurer | Scheduling blocks of hierarchical compiled simulation of combinational circuits | |
Katz | Optimizing bit-time computer simulation | |
JPH10134084A (ja) | データ処理装置 | |
JP2930087B2 (ja) | 論理設計支援システム | |
JPH0317780A (ja) | 記号列検索方法および装置 | |
JP2925160B2 (ja) | 論理合成方式 | |
Ravikumar et al. | SCOAP‐based Testability Analysis from Hierarchical Netlists | |
Das et al. | A regularity-driven fast gridless detailed router for high frequency datapath designs | |
Siddiqui | Implementation of a General Purpose Sorter on FPGA | |
JAMES III | THE TREE-STRUCTURED DISTRIBUTED LOGIC MEMORY: A CELLULAR PARALLEL PROCESSOR FOR A REAL-TIME TELEPHONE SWITCHING SYSTEM | |
JPH01241677A (ja) | 回路変換方式 |