JPS6113341A - 情報分類装置 - Google Patents

情報分類装置

Info

Publication number
JPS6113341A
JPS6113341A JP60136752A JP13675285A JPS6113341A JP S6113341 A JPS6113341 A JP S6113341A JP 60136752 A JP60136752 A JP 60136752A JP 13675285 A JP13675285 A JP 13675285A JP S6113341 A JPS6113341 A JP S6113341A
Authority
JP
Japan
Prior art keywords
information
data
address
stored
classification
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.)
Pending
Application number
JP60136752A
Other languages
English (en)
Inventor
モウシヤ・セガル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPS6113341A publication Critical patent/JPS6113341A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data

Abstract

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

Description

【発明の詳細な説明】 この発明は分類装置に関するものである。より具体的に
は、この発明は情報を分類された順序のシーケンシャル
なアドレスでストアすることによって情報を分類するこ
とができ、かつそのストアされたシーケンシャルな順序
を維持することができる分類装置に関係する。
背景技術 情報の分類はデータ処理の重要な応用である。
データ処理システムの実行時間の約25%は分類に関係
付けられ得る。
従来のデータの分類またはデータキーはソフトウェア技
術を用いて行なわれる。分類されていない情報をシステ
ムメモリ内にス1−アしてそのようなデータについて分
類を行なうことは知られているが、通常その分類されて
いないデータはディスクのような2次的な記憶装置内ヘ
スドアされる。
挿入または削除されるべぎデータあるいは順序付けまた
は指標付けされるべきデータはシステムメモリ内に置か
れ、記憶媒体中の情報は挿入または削除の適切な点を見
つけるためにサーチされる。
次に、データ全体が再順序付けされ、または指標ファイ
ルが訂正される。シーケンシャルなファイルのために、
完全に新しいファイルが次に形成されてストアされ、新
しく加えられた資料を含む(または、場合によって、削
除された資料を含まない)。この代わりに、ランダムア
クセスファイルについては、論理的に近接する記録はそ
れらのポインタまたはリンクを変えるためにシステムメ
モリ内へ運ばれなければならず、次に記憶媒体中へ書き
戻されなければならない。
いずれかのタイプのファイルと最も一般的な分類技術に
おいて、書込記録の過剰の量のみならず各挿入または削
除のために記録を読出すのにあまりに多くの時間がかか
り、これは特にシーケンシャルなファイルにおいて著し
い。
任意のタイプの分類において、時間の成るインクリメン
トは挿入または削除されるべきデータを入力するのに費
され、そのような情報は端末装置またはディスクのよう
な2次的な記憶装置から入れられる。さらに、この時間
は通常CPU内におけるコマンドの実行時間に比べて非
常に遅い。なぜならば、たとえばディスク記憶装置にお
けるヘッドの動きのようなある種の機械的な動作が通常
伴なうからである。
分類を利用する応用または有効なハードウェアの分類装
置から利益を得ることができる応用は、DBMS (デ
ータベース管理システム)と非DBMSの応用に分ける
ことができる。DBMS応用は通常は多くの項目を取扱
い、かなり多量のディスクアクセスを伴なう。
ディスクアクセスに関係する遅れは今日のディスク技術
においても長いものであるが、従来のソフトウェア技術
で多くの項目を分類することはさらに時間を消費するこ
とであり、数分から数時間にわたる。
ディスク技術は改善されて速くなりつつあるので、分類
のような長い動作における処理の遅れの問題はさらに重
要となる。
非08MS応用は通常はデータのより少ないテーブルを
取扱い、より少ないディスクアクセスを伴なう。多くの
オペレーティングシステムの関連する動作はこのカテゴ
リーにある。通常は、これらの応用はデータの分類また
はサーチを行なうために多くのシステムメモリのアクセ
スを伴ない、それは結局時間の消耗とより遅い全体的な
動作となる。
さらに、もしく挿入のために)続くすべてのデータを1
アドレスだけブツシュダウンするかまたは(削除のため
に)続くすべてのデータを1アドレスだけポツプアップ
することによって入来データが適当な分類されたシーケ
ンスでストアされている情報を有するストレージバッフ
ァ内へ挿入(またはそこから削除)され得るならば、分
類時間は著しく減少されよう。
最後に、もし適当な挿入または削除のアドレスを見つけ
るようにストレージバッファ内におけるバイ太リサーチ
のような速いサーチを可能にするだめにストレージとコ
ントロールの順序付けがハードウェアと組合わされ得る
ならば、分類とサーチの時間はまたさらに減少されよう
分類のい(っかのハードウェアの実現が先行技術におい
て試みられてきた。たとえば、A rlllstr。
ngの米国特許第4.131.947号は、記録キーの
ベアを比較することによって記録を分類するメモリセル
とメモリレジスタのシリーズを用いる分類ハードウェア
を開示している。A rmstrongの米国特許第3
.399.383号は、昇順容量を有するメモリのシリ
ーズを用いる分類システムを述べている。入来する記録
はメモリ内に既にストアされている記録と比較される。
B arsamianの米国特許第3.713.107
号は分類プロセッサシステムを開示しており、それによ
れば、サーチメモリは記録キーでロードされ、次にそれ
は(昇順に関して)最も低いキーそして次に低いキーを
見つけるためにサーチされる。各低いキーが見つけられ
るとき、それは連続的にストリングリストにストアされ
る。
しかし、これらの分類ハードウェアのいずれも、挿入ま
たは削除を可能にするために既にストアされているデー
タをシフトすることと組合された速いサーチを用いるこ
とによって適当な記述項をサーチする実施例にアプロー
チすることはなかった。
11へ11 したがって、本発明の目的はデータを分類してストアす
ることができる分類装置を提供することである。
本発明のもう1つの目的は、データを分類してその分類
されたデータをシーケンシャルなアドレス順序でストア
することができる分類装置を提供することである。
本発明のさらにもう1つの目的は、データを分類して、
先にシーケンシャルにストアされているデータをサーチ
することによってその分類されたデータをシーケンシャ
ルなアドレス順序でストアすることができる分類装置を
提供することである。
本発明のさらにもう1つの目的は、データを分類して、
先にシーケンシャルにストアされているデータをサーチ
することによってその分類されたデータをシーケンシャ
ルなアドレス順序でストアし、データのシーケンシャル
なアドレスストレージを維持しながらデータを挿入また
は削除することができる分類装置を提供することである
本発明のさらにもう1つの目的は、データを分類して、
先にシーケンシャルにストアされているデータをサーチ
することによってその分類されたデータをシーケンシャ
ルなアドレス順序でストアし、そして分類された順序に
ある装置内のシーケンシャルなストレージを維持するた
めに、サーチされたデータを付加または削除するように
すべての続くデータをシフトさせることができる分類装
置を提供することである。
本発明によれば、分類装置はその装置によって受取られ
た情報を分類してその分類された情報をシーケンシャル
なアドレス内に分類された順序でストアすることができ
、その分類装置はシーケンシャルなアドレス内に分類さ
れた順序で情報をストアするための記憶手段と、そのシ
ーケンシャルにストアされた情報をサーチしてそれを入
来する情報と比較するためのサーチ手段と、その入来情
報に続くすべてのストアされている情報をシーケンスで
動かす手段とを備え、その入来情報の挿入と削除を可能
にするとともにストアされているアドレスシーケンスと
分類された順序でその分類された情報を維持する。
ましい実施例の。
ここで第1図を参照して、本発明の分類装置は全体とし
て18で示されている。分類装置18はCPLlloに
接続されており、分類されるべぎデータは端末装置12
またはディスク記憶ユニット14のような外部入力また
は外部記憶ソースからそのCPUを介して分類装置18
へ送られる。記録、または記録キーおよびその記録がシ
ステムメモリ内のどこに存在するかのポインタが、CP
U10によって分類装置18へ送られる。もし記録また
は記録キーが最初の記述項であれば、それは最も下のア
ドレスにストアされ、これは以後にさらに詳細に説明さ
れる。しかし、もし分類!9118が既に記述項を含ん
でいるならば、分類装置18はそのメモリセル内に既に
ストアされている記録またはキーをサーチする。正しい
アドレスが探されるとき、すべての続く記述項はメモリ
内で充分なアドレスの数だけシーケンシャルにシフトさ
れて、事情に応じて新しい記述項の挿入または現在の記
述項の削除のいずれかを可能にする。そのシフトはシフ
トレジスタにおけるシフトと同様に1クロック期間に行
なわれる。
すなわち、分類装置は読出動作を実行して、次に記述項
の記録または記録キーの長さに等しいアドレスの数だけ
すべての続く記録またはキーをシーケンシャルにシフト
することによる記述項の挿入または削除を含む書込機能
が続く。
ここで第2図を参照して、分類装置18の好ましい実施
例がより詳細に示されている。図示された実施例におい
て、分類装置18は1またはそれ以上の分類デバイス2
0がその上に装着された回路ボード26を備えている。
次に、分類デバイス20は制御ロジックユニット22と
1またはそれ以上のメモリユニット24を備えている。
図示された実施例において、データの各バイトまたはワ
ードのための8ビツトに対応して8つのメモリユニット
24が示されている。8つのメモリユニット24の各々
は、第3図において一部が示されているように、32行
のアドレスラインと32列のアドレスラインによってア
クセスされる1024のストレージビットセルのアレイ
を備え、1024の8ビツトバイトまたはワードのスト
レージである全ストレージを提供する。8つのメモリア
レイが図示され刃いるが、もし必要ならば、各データワ
ードまたはバイトのセルにおけるビットの数を拡大する
ために、付加的なメモリアレイを用いてもよい。
第4図と第5図に最もよく見られるように、各分類デバ
イス20は、分類装M18の分類メモリ容量の垂直拡張
を可能にするために、分類デバイス20のシリーズを1
つに接続することを可能にする入力と出力のビンが設け
られている。分類デバイス20の各々は他の分類デバイ
スが同じ記録キーをサーチしているのと同じときに記録
または記録キーを独立にサーチすることができ、したが
ってその装置の速度は付加的な分類デバイスの存在によ
って必ずしも遅らされはしない。
上述のような各分類デバイス20は独立に動作すること
ができ、すなわちそれぞれの分類デバイスとして機能す
るために必要なすべてのビンが与えられている。第4図
に示されているように、すべてのシステムトランザクシ
ョンのために、8ラインの両方向トリステートデータバ
スDo−D7が用いられる。そのバス上の高レベルは1
に対応し、低レベルはOに対応する。DOは最小桁ビッ
トであり、D7は最上桁ビットである。分類デバイス2
0の制御ロジックは、それがこれらのデータビン上にデ
ータをドライブしていないときに、これらのデータビン
をトリステートにする。制御ロジック22がアドレスポ
インタとしてのデータを解釈するとき、それは2バイト
を組合わせることによって形成される10ビツトを含み
、それが通常のデータであるときは8ビツトのみが用い
られる。
通常は、分類デバイスは分類するためにデータバイトを
受取り、アドレスは内部的に参照されない。しかし、使
用者が分類デバイスの内部メモリアレイ中の予め決めら
れた特定のアドレスをアクセスすることができるように
、分類デバイスは内部アドレスポインタレジスタを含ん
でいる。それは、最初に″ロードアドレスポインダ′コ
マンドを開始して、そのアドレスポインタを含む2つの
データバイトを送ることによってアクセスされ得る。
テイブのときに低レベルである2つの出力ビンであって
、それらは分類デバイスデータバス90をCPUデータ
バスから分離する分離トランシーバ装置96を制御する
。これは、1以上の分類デバイスが用いられるときに必
要とされる。なぜならば、それらの分類デバイスは分類
のためのデータを交換するためにデータバス90を用い
るからである。そして、外部トランシーバ96は第1の
分類デバイスからくるこれらのビンから制御される。
これは第5図に示されている。
CSビン32は、アクティブのときに低レベルである入
力を有するチップ選択ビンである。このビンは、低レベ
ルのときに、分類デバイスからの読出またはそこへの書
込を実行するために外部CPLIを能動化するのに必要
な動作を行なうよう制御ロジックを能動化する。
WEビン34は入力ビンであって、それは予め決められ
たアドレスポインタでデータを書込むときに低レベルで
ある。分類デバイス20をアクセスして任意の機能を開
始するために、その要求される機能は制御1oシック2
2に存在する内部コマンドレジスタ内へまずロードされ
なければならない。それは、求められるコマンドバイト
がデータバス上にあるときにWEを低レベルにパルスす
ることによって、C/Dピンが高レベル(コマンド)の
ときに書込まれる。
C/Dビン36は、アクティブのときにハイレベルであ
るコマンド/データビンである。このビンは、データが
コマンドレジスタへ送られるべきときにそのデータをコ
マンドとして解釈し、またはデータが分類デバイス20
のメモリバンク24内へ書込まれるときにそのデータを
通常のデータとして解釈する。
REビン38は、予め決められたアドレスポインタから
データを読出してそれをデータバス上に書込むときに低
レベルである入力ビンである。
CLビン40はクロック入力ビンであって、それは基本
タイミングクロックを分類デバイス20へ与えてその連
続的なブッシング/ポツピング動作を助け、一方、Vc
cパワーピン60は分類デバイスへ+5ボルトのパワー
を与える。
ステータスビン42は出力ビンであり、それはアクティ
ブのときに高レベルであって、分類が終了したときをC
PUへ知らせるために用いられる。
rNl−CNTRLビン44とlN2−CNTRLビン
46は、アクティブのときに低レベルである入力制御ビ
ンである。INI−CNTRLビン44は低レベルのと
きに分類デバイス20ヘプッシュ動作を開始するよう知
らせる。lN2−CNTRLビン46が低レベルにされ
るとき、それは分類デバイスにポツプ動作を開始するよ
う知らせる。いずれのビンもCSビンを無視する。各ビ
ンは分類の間に互いに関連した分類制御データをも含む
OU T −B LJ S Yビン50は、分類デバイ
ス20がブッシングまたはポツピングの動作中であるこ
とを垂直チェインにおける前の分類デバイスへ知らせる
。I N−BUSYビン52は入力ビンであり、それは
高レベルにされるときに垂直チェインにおける次の分類
デバイスがブッシングまたはポツピングの動作の最中で
あることを分類デバイス20へ知らせる。
0UT1−CNTRLビン56と0UT2−CNTR,
Lビン58は出力制御ビンであって、それらは低レベル
ステートにおいてアクティブである。
0LIT1−CNTRLビン56は、それが低レベルに
されるときに、垂直チェインにおける次の分類デバイス
に対してそれが垂直ブツシュを実行すべきことを知らせ
る。0UT2−CNTRLビン58は、それが低レベル
にされるときに、垂直チェインにおける次の分類デバイ
スに対してそれが垂直ポツプを実行すべきことを知らせ
る。いずれのビンも次の分類デバイスにおけるC8を無
視する。分類の間にも、各ビンは互いに関連する分類制
御データを含む。
複数の分類デバイス20を用いるとき、最後の分類デバ
イスは特にブッシングまたはポツピングの動作、の間に
それが最後であるという事実を認識しなければならない
。これは、最後の分類デバイスのIN−BUSYピン3
2をプルアップレジスタへ接続することによってなされ
る。パワーアップのとき、すべての分類デバイス20は
それらの0UT−BUSYピン50上に低レベルを生じ
る。
そして、I N−BUSYビン52上に高レベルを得る
分類デバイスは、それが最後の分類デバイスであること
を知る。最初の分類デバイスも、特に読出またはサーチ
の動作に関してそれが最初の分類デバイスであることを
知らせる適当な信号が与えられければならない。これは
、その最初の分類デバイスのI N 1−CNTRLビ
ン44へ接続されたプルアップレジスタを用いることに
よってなされる。パワーアップのとき、すべての分類デ
バイスはそれらの0LIT1−CNTRLビン56上に
低レベルを生じ、そして最初の分類デバイスのみがパワ
ーアップのときにそのlN1−CNTRLビン44上に
高レベルを得る。
ここで注目すべきことは、大きなファイルの分類とスト
アを可能にするために分類装置18のメモリ容量を拡張
するように付加的な分類デバイスが加えられ得るが、非
常に大きなファイルは扱いにくくまたは高価であるので
その分類装置は必ずしも分類されるべきファイルと同じ
大きさである必要がないことである。そのような場合、
分類されるべきファイルを最初に複数の塊または区分に
分割してそれらが分類装置18内へ入力され得るソフト
ウェア分類を用いることが都合よかろう。
たとえば、もし分類装置18が合計の記録のための最大
ストレージ容量を有するならば、20にの記録キーを含
むファイルは゛迅速分類″のようなソフトウェア分類を
用いて各5にの4つの部分に分割することができる。そ
して、そのファイルの4つの部分の各々は分類装置18
によって独立に分類されてCPUを介して外部ストレー
ジ内へ戻され、そしてファイルの次の部分または塊が分
類されるためにCPUによって分類装置18へ送られる
第6図において、分類デバイス20の1つのセグメント
は、制御ロジックおよびパイナリサーチャの部分22と
数バイトのセルを含むことが示されている。各バイトの
セルは8ビツトを含み、その各々は異なったメモリアレ
イ24に属している。
分類装置の挿入/削除または書込の機能は、バイトセル
O以外の各バイトセルとデコーダ68の間で接続された
ORゲート70を備えることによって容易になされる。
ORゲート70は、デコーダ68に接続された第1の入
カフ2と、先行するバイトセルのORゲートの出力へ接
続された第2の入カフ4とを有している。ORゲート7
0の出カフ6は、デコーダ68を介してアドレスされて
いる特定のバイトセルに関する書込機能へ接続されてい
る。すなわち、挿入または削除のための正しいアドレス
は後でより詳細に述べられるように読出またはサーチの
ステップにおいて見つけられ、このアドレスのためのO
Rゲート70はデコーダを介して能動化され、そして出
力はそれ自身のバイトセルへ接続されるのみならず続く
すべてのバイトセルのためのORゲートの入力の1つへ
も接続される。そして、これはより高いアドレスにある
すべてのバイトセルが単一の能動化信号によって書込モ
ード内へ能動化される結果となる。分類デバイス20は
トランザクションゲート80,82、および84のシリ
ーズとラッチ86をも備えており、それぞれ読出および
書込の動作と1つのバイトセルからもう1つのセルへの
データのシフトにおけるデータの流れを制御する。すな
わち、続くすべてのバイトセルはシフトレジスタとして
働(ことができ、後でさらに詳しく述べられるように、
すべてのデータを同時にブッシングおよびポツピングの
動作に移す。
第7図は単一のバイトセル100において用いられ得る
典型的な内部構造を示している。セル100はデータバ
ス116によって主従ユニット120へ接続されたマル
チプレクサ102を備えている。内部データバス110
はデータバス112を介してデータをマルチプレクサ1
02内へ供給する。伝送ゲート104は、前のバイトセ
ルデータパスコ06から内部データバス110へのデー
タの流れを制御する。第3のデータバス108はハくメ
モリセルからマルチプレクサ102へ接続されている。
そして、主従ユニット120は情報を先のメモリセルへ
転送するためにデータバス118を有している。
第6図と第7図は機能を説明するのに最もよい8ビツト
バイトセルに基づく編成を示しているが、それは多くの
マルチプレクサを含むのでIC装置としての実施は適当
でない。第2図のような8ビツトセルアレイの編成がよ
り適切である。なぜならば、そのようなアレイの各々は
、各バイト中の成るビット位置に対応するすべてのビッ
トを含むからである。ブッシング/ポツピングは隣接′
するバイトにおける対応するビット間で行なわれるので
、この編成はマルチプレクサを必要としない。
第8図はそのような1つのアレイ中の1つのビットセル
120′を示しており、それは第7図に示された主従ユ
ニット120中の1つのビットに対応し得る。第3図は
2アレイ中の2行のビットセルの一部を示している。そ
の図面における各セル中の括弧内にしめされているよう
に、各ビットセルを規定する添字は、それぞれ行9列、
およびビット番号である。
これらの8つのアレイはそれぞれ1024ピツトを有し
ており、それらは通常のスタティックメモリにおけるよ
うな通常の読出/書込動作のために32行のラインと3
2列のラインによってアクセスされ得る。しかし、ブッ
シング/ポツピングを能動化するために、もう少しの制
御ラインと予備のORゲートが、以下に説明されるよう
に、各々のビットセルのために与えられなければならな
い。
第7図の各基本ビットセルは実際には2つのスタティッ
クメモリセル、主メモリセル122と従セルユニット1
24.およびORゲート126を備え、そのORゲート
はセルへのアクセスを能動化することができる2つの信
号をORする。それら2つの信号は、それぞれ(読出/
書込のための通常のスタティックメモリ装置としてセル
がアクセスされるときの)特定の行ライン信号と、ブッ
シング/ポツピング動作のためにセルがアクセスされる
ときに第6図のORゲートの出力に対応するデコーダ信
号である。
また、シフト動作を能動化するために、セルからセルへ
垂直に走りかつデコーダ68から列ライン64によって
制御されるDデータライン142とDデータライン14
4は、シフトの間に遮断されなければならない。これは
各ビットに関して2つのゲート132と134を必要と
する。それぞれDライン142とDライン144を遮断
する第8図の制御ライン40は、後で説明される制御ラ
イン136と138のみならず制御ロジック22からき
ていることに注目されたい。一方、行ライン66と列ラ
イン64はアドレスデコーダ68からくる。Dライン1
42とnライン144は、通常のメモリセルにおけるよ
うに、列ラインによって内部データバスから分離される
ブツシュ動作の間、主メモリセル122内にストアされ
たデータは半クロツクパルスでその従メモリセル24ヘ
シフトされ、そして次の半クロツクパルスで次に高いア
ドレスの主メモリセルにシフトされる。これは制御ロジ
ック22によって制御される制御ライン136と138
(第7図)によってなされる。制御ライン136はまず
主メモリから従メモリへの移動を能動化する。次に、制
御ライン138は従メモリから次の主メモリへの移動を
能動化する。
逆に゛ポツプ動作の間に、主メモリセル122内にスト
アされているデータは半クロツクパルスで次の低いアド
レスの従セルにシフトされ、そして次の半クロツクパル
スでその主セルにシフトされる。これは、まず制御ライ
ン138を活性化し、次に制御ライン136を活性化す
ることによってなされる。主従セルのこの利用は、成る
特定のアドレスの後のすべてのデータを1クロツクパル
スで1アドレスだけシフトすることを可能にする。
前述のように、分類デバイス20の各々は制御ロジック
ユニット22を含んでいる。制御ユニット22はパイナ
リサーチャを含み、それは第10図のフローチャートに
示されたバイナリサーチを実行するように設計された単
純な算術ユニット(ALU)とPLAを含み得る。
このバイナリサーチは、新しい記録または記録キーの挿
入または削除のための正しいアドレスを見つけるために
読出動作のシリーズを含む。最初の続出はファイルの中
央、すなわち中央の記録についてなされ、新しいデータ
がこの記憶場所の前または後ろで挿入されるべきかまた
は削除されるべきかを判断する。次の続出のために、最
初の読出において選択された半分のファイルの中央が読
出され、正しいアドレスが探し当てられるまでストアさ
れているデータは半分に分は続けられる。
バイナリサーチの間、制御ロジック22は、内部データ
ライン110とそして制御ロジック22内への伝送ゲー
ト104を能動化して読出すために、メモリアレイをア
クセスする。
サーチを始める前に、各分類デバイス20は最初の記録
または記録キーの始めのアドレス(低い境界)とストア
されている最後の記録の終わりのアドレス(高い境界)
をストアすることが必要である。各記録または記録キー
の長さとポインタもストアされなければならない(ここ
で(k +El )として言及され、kは記録キーにお
けるバイトの数に等しく、pはポインタバイトにおける
バイトの数に等しい)。このポインタはどこに記録が存
在するかをシステムメモリに指し示す。その特定の分類
デバイス内にストアされている記録(または記録キー)
の数Mも記録される。
好ましくは、1つの記録キーとポインタ(k+p)の長
さに等しい量のストレージも、各メモリユニット24の
高い端部の脇にセットされて、入来する記録キーとポイ
ンタの一時的なストレージを可能にする。
最初に入れられた記録またはキーは最初の分類デバイス
の最も下の使用可能なアドレス、すなわち先行する続出
またはサーチの機能を伴なわない書込機能に置かれる。
記入または削除を成功するために、各分類デバイスの境
界アドレス内にストアされている中央の記録の場所が最
初に確められる。もしストアされている記録の数が偶数
であれば、そのストアされているデータの第2の半分内
の最初の記録の最初のバイトのアドレスは、最後の記録
中の最後のバイトのアドレスマイナス最初の記録の最初
のバイトのアドレスプラス1の半分であり、たとえば(
39−0+1 )/2=20である。この量は第10図
の70−チV−トにおいてNで示されている。
中央の記録の開始アドレスを決定した後に、そのバイト
は制御ロジックとパイナリサーチャ22の一部を形成す
る8ビツトコンパレータを用いて最上桁バイトで開始す
る現在の記録でチェックされる。その比較はハイが得ら
れたときに停止され、通常それは始めの数バイトがチェ
ックされた後である。もし現在の記録が中央の記録より
高ければ、最初に用いられた低いアドレス境界と置換え
られた中央の記録の低いアドレスで繰返される。もし現
在の記録が中央の記録より低ければ、中央の記録の最初
のバイトのアドレスマイナス1は高いアドレス境界とな
り、ストアされている記録の最初の半分はその中央の記
録の低いアドレスを見つけるために分割される。これ+
* rLOOz  (M)1 回繰返されるかまたは正
しいアドレスが見つけられるまで繰返される。「LO(
12(M)1 は、Mがストアされている記録の全数に
等しい正しいアドレスを見つけるために必要とされるサ
ーチの最大数である。
記録の数が奇数のとき、その量はまず整数分割を用いて
LQ= (k +p ) /2」として計算される。N
も前のように計算される。中央の記録の開始アドレスは
N−Qであり、たとえば10バイトの5記録の各々に関
してN= (49−0+1 )/2=25.0=5.お
よびN−Q=20である。
フローチャートにおける残りのステップは、最初のスト
アされている記録の前、最後にストアされている記録の
後、または中央の記録の直前あるいは直後における現在
の記録の場所を取扱う。
1以上の分類デバイス20が用いられるとき、サーチは
各分類デバイスにおいて同時に実行される。そして、前
述のように、サーチされているキーが(a )分類デバ
イス内に位置しているか否か、(b)その特定の分類デ
バイス内の最後のキーより大きいか否か、ま1=は(C
)その分類デバイス内の最初のキーより小さいか否かを
I N 1−CONTROLピン44.1N2−CON
TROLビン46,0UT1−CONTROLピン56
.および0UT2−CONTROLビン58を介して互
いに知らせる。1つの分類デバイスが前の分類デバイス
によって信号が与えられ、アドレスが前の分類デバイス
中の最後のアドレスより高く、そしてキーが最初のアド
レスにおけるキーより低いことを分類デバイスが見つけ
たとき、新しい記録キーはその分類デバイスの低いアド
レス内に挿入されなければならず、かつすべてのつづく
キーはブツシュアップされなければならない。
現在の記録の挿入または削除、すなわち読出またはサー
チの機能のためのアドレスの決定に続いて、続くすべて
のデータ(、に+ll)アドレスをブツシュアップする
ことによって記録を挿入するが、または続くすべてのデ
ータ(k +p )アドレスをポツプダウンすることに
よって記録を削除するために書込機能が開始される。
もし新しい記録が挿入されるべきであれば、第6図に示
されているように、出カフ6またはORゲート70へ接
続されているブツシュライン130は、サーチで探し出
されたアドレス以下のすべてのバイトセルのために能動
化される。能動化されたブツシュライン130を有する
セルの各々は、それらの主メモリセル122の内容をそ
れらの従メモリセル124内ヘクロツクする。これは、
第8図の制御ライン136と等価な第6図の制御バス9
6中の適当な制御ラインを活性化することによって制御
ロジック22によってなされる。半クロツク後に、制御
ライン138を活性化することによって、従セルはその
内容を次のより高いセルアドレスの主セルへ転送する。
これは記録キーとポインタにおけるバイトの数(k +
l) )に等しい数のクロックサイクルだけ続く。
記録キーとポインタのすべてがサーチされたアドレス以
上のアドレスにシフトアップされた後に、新しい記録キ
ーとポインタ1よ書込動作において挿入される。これを
達成するために、制御ロジック22は現在の記録の最初
のバイトを読出してそれを制御ロジック2内ヘスドアし
、そしてこのバイトが挿入されるべきメモリアレイ中の
第1のバイトアドレスへそのバイトを内部データバス1
10を介して送る。(k −II )バイトの残りの部
分に関して、それらをメモリアレイの高い端部にあるそ
れらの一時的な場所からそれらが挿入されるべき場所へ
転送するために、同様なプロセスが行なわれる。
すなわち、記録キーとポインタは分類装置18において
ハードウェアのシーケンシャルな順序のみならず論理的
に分類された順序に留まる。
もしサーチされた記録キーが分類されたファイル、すな
わち分類装置18中の分類された記録から削除されるべ
きであるならば、ブツシュライン130は探し出された
アドレス以上のアドレスを有するてべのセルのために再
び能動化される。この時間制御ロジック22は、各セル
のためのマルチプレクサ102の入力108aを能動化
する。
能動化されたブツシュライン130を有するすべてのセ
ルは、次のより高い主セルからそれらの従セル内へ入力
をクロックする。半クロツク後に、入力108aは不能
化されて、従セルはそのデータをその主セル内へ転送す
る。このシーケンスは、分類装置18から削除される記
録キーとポインタ中のバイトの数(k+p)だけ繰返さ
れる。
バイナリサーチ動作の間になされる読出/書込は、制御
ロジック22によって内部的に行なわれる。もし外部C
PUが分類デバイス中の特定のアドレスに関して続出/
書込を実行する必要があるならば、以下のことが起こる
まずバイトセル100からワードの読出を可能にするた
めに、内部データバス110は伝送ゲート82と84を
能動化して伝送ゲート80を不能化することによって外
部データバス90へ接続される。次のバイトセル中の伝
送ゲート104も、バイトセル100からデータバス1
10内へのデータの流れを可能にするために能動化され
なければならない。
第2に、書込を達成するために、伝送ゲート80と84
およびラッチ86を能動化することによって、制御ロジ
ック22は内部データバス110が外部データバス90
の内容を得るようにさせる。
1以上の分類デバイスがカスケードで用いられて分類機
能が実行されるとき、それらの分類デバイスは満されて
、その最初の分類デバイスからシーケンシャルに始まる
分類に参加する。すなわち、分類されるべき記録はまず
最初の分類デバイス内に挿入されて、最初の分類デバイ
スが満されるまでその最初の分類デバイスのみが分類を
実行する。
最初の分類デバイスが満されて新しい記録が加えられる
べきとき、最初の分類デバイスは次の分類デバイスへの
ブツシュを開始し、これは次の分類デバイスに対してそ
れが分類に参加し始めなければならないことを0UT1
−CNTRLビン56を介して知らせる。次に、最初の
2つの分類デバイスは、第2の分類デバイスが満される
まで分類を実行し、その後の分類デバイス内へのブツシ
ュを開始し、以後同様である。
もし1以上の分類デバイスがカスケードで用いられるな
らば、それらはカスケードで互いにブツシュ/ポツプを
実行するためにデータバス9oを共用する。これは以後
にさらに説明され、第9図のタイミング図において図解
されている。
ブツシュが行なわれるとき、それは最後とみなされた分
類デバイスにおいて開始する。最後とみなされた分類デ
バイスはssy  0LJTを活性化する。これは、そ
の前の分類デバイスに対してその最後のバイトを内部的
に読出し、かつそれをデータバスへ送るように信号で知
らせる。次の2っのクロック期間は、バス上のデータを
読出すために用いられる第1のクロック期間で、最後の
分類デバイスにおけるブツシュを実行するために用いら
れる。最後の分類デバイスがブツシュする間、その前の
分類デバイスはそれ自身の前の分類デバイスへBSY 
 OUTをセットして、1クロック期間後にデータバイ
トを得ることを期待する。そして、第9図かられかるよ
うに、分類デバイスはカスケードでブツシュし、各分類
デバイスはそれがBSY  0LITを発した1クロッ
ク期間後に挿入のためのデータバイトを受取ることを期
待する。
同様な議論はカスケード化されたポツプにも適用され、
各分類デバイスのみがまずその最も下のアドレスに存在
するデータバイトをデータバスへ送り、そして残留する
バイトをポツプする。
すなわち、本発明は、分類されてシーケンシャルな順序
でストアされる記録のサーチと挿入または削除を提供す
る。本発明によれば、単なる論理的シーケンスというよ
りも分類装置18のメモリバッファ中のシーケンシャル
なハードウェアアドレス内の分類されたデータのこのス
トレージと;ハードウェア内へのバイナリサーチのアル
ゴリズムの結合と;さらにバイトあたり単一のポツプま
たはブツシュの動作においてシーケンシャルにストアさ
れたすべてのデータを成る与えられたアドレスを越えて
移動させる能力は、従来のシフトウェアドライブされる
分類より速い大きさの順序の分類の結果となる。
【図面の簡単な説明】
第1図は本発明の装置へまたはそこからのデータの流れ
を示す概略図である。 第2図は本発明の装置の主要部分の概略的な配列である
。 第3図は2つのメモリアレイの一部の上面概略図である
。 第4図は1つの分類デバイスのビン配列の概略図である
。 第5図は数個の分類デバイスの相互結合の概略図である
。 第6図は分類デバイスの1つの機能的ブロック図であり
、数個のバイトセルを示している。 第7図は第6図の1つのバイトセルの概略的なブロック
図である。 第8図は第3図のピットセルの拡大上面図であり、1つ
のごットセルの主部分と逆部分を示している。 第9図は数個の分類デバイスがカスケードに用いられる
ときの種々の機能のタイミングを示すグラフである。 第10図は本発明のサーチング部分のステップを示すフ
ローチャートである。 図において、10はCPLI、12は端末装置、14は
記憶ユニット、18は分類装置、2oは分類デバイス、
22は制御ロジックユニット、24はメモリユニットを
示す。

Claims (22)

    【特許請求の範囲】
  1. (1)受取った情報を分類して、その分類された情報を
    分類された順序でシーケンシャルなアドレスにストアす
    ることができる分類装置であって、前記分類装置は、 (a)分類された情報を分類された順序で シーケンシャルなアドレスにストアするための記憶手段
    と、 (b)前記シーケンシャルにストアされて いる情報をサーチしてそれを入来する情報と比較するた
    めのサーチ手段と、 (c)前記入来情報の挿入または削除を可 能にするために、シーケンスにある前記入来情報に続く
    すべてのストアされている情報をシーケンスで移動させ
    るとともに前記ストアされている情報をストアされてい
    るアドレスシーケンスと分類されている順序で維持する
    ための制御手段とを備えたことを特徴とする情報分類装
    置。
  2. (2)前記記憶手段はシーケンスシャルなアドレスを有
    するメモリセルのシリーズを含む1またはそれ以上のメ
    モリアレイを備えていることを特徴とする特許請求の範
    囲第1項記載の情報分類装置。
  3. (3)前記記憶手段は各々がメモリセルのブロックを有
    する1またはそれ以上の記憶装置を備え、前記制御手段
    は前記メモリセルの1またはそれ以上のブロックをシー
    ケンスシャルな順序にある分類された情報で満すことを
    特徴とする特許請求の範囲第2項記載の情報分類装置。
  4. (4)前記制御手段は、前記メモリセルの最も下のアド
    レスから始まるシーケンスシャルな順序で、前記メモリ
    セルを分類された情報で満すことを特徴とする特許請求
    の範囲第3項記載の情報分類装置。
  5. (5)前記メモリセルは1以上のデバイス内に配置され
    ており、1つのデバイスは任意の他のデバイス内のメモ
    リセルの充足の前に前記制御手段によつてシーケンシャ
    ルに満されることを特徴とする特許請求の範囲第4項記
    載の情報分類装置。
  6. (6)前記サーチ手段はバイナリサーチャを備え、それ
    は情報の挿入または削除のために前記メモリアレイ中の
    正しいアドレスを決定するために前記シーケンシャルに
    ストアされている分類情報をサーチし、前記情報を分類
    された順序でシーケンシャルな記憶に維持することを特
    徴とする特許請求の範囲第2項記載の情報分類装置。
  7. (7)前記制御手段は、シーケンシャルにストアされて
    いるすべての情報を、前記正しいアドレスを越えて、削
    除または挿入されるべき情報の長さに等しいアドレスの
    数だけ動かして情報の挿入または削除を可能にするとと
    もに、前記分類された情報を前記メモリアレイ内に分類
    されてシーケンシャルにストアされている順序で維持す
    ることを特徴とする特許請求の範囲第6項記載の情報分
    類装置。
  8. (8)分類された順序でシーケンシャルに情報をストア
    することができ、かつ分類された順序の任意の点で情報
    を挿入または削除することができる分類と記憶の装置で
    あつて、前記装置は、(a)分類されたシーケンシャル
    な順序で 情報を前記記憶装置内にストアする手段と、(b)情報
    の挿入または削除のためのアド レスを見つけるために前記分類されてストアされた情報
    をサーチする手段と、 (c)シーケンシャルな順序にある情報の 挿入または削除を可能にするために、ブロックとしてス
    トアされている情報の少なくとも一部をシーケンシャル
    に動かす手段を備え、 それによって、その情報の挿入または削除の後に、前記
    情報は分類されたシーケンシャルな順序で前記記憶装置
    内に維持されることを特徴とする分類と記憶の装置。
  9. (9)受取った情報を分類してシーケンシャルにストア
    することができる分類装置は互いに接続された複数の分
    類デバイスを備え、前記分類デバイスの各々は、 (a)シーケンシャルに情報をストアする ための記憶手段と、 (b)ストアされている情報をサーチして それを入来情報と比較するためのサーチ手段と、(c)
    前記入来情報に続くすべてのストア されている情報をシーケンシャルに動かし、それによつ
    て前記ストアされている情報で分類された順序で維持す
    るための制御手段とを備えたことを特徴とする情報分類
    装置。
  10. (10)前記分類デバイスの各々は1またはそれ以上の
    メモリアレイを有する記憶デバイスを含むことを特徴と
    する特許請求の範囲第9項記載の情報分類装置。
  11. (11)前記記憶デバイスは前記メモリアレイ内にスト
    アされたデータバイト中の各ビットのために1メモリア
    レイを含んでいることを特徴とする特許請求の範囲第1
    0項記載の情報分類装置。
  12. (12)前記メモリアレイの各々は複数のメモリセルを
    含んでおり、前記メモリセルの各々は主メモリセルと従
    メモリセルを含むことを特徴とる特許請求の範囲第11
    項記載の情報分類装置。
  13. (13)入力された記録または記録キーのアドレスをサ
    ーチするために各分類デバイス内にサーチ手段が設けら
    れていることを特徴とする特許請求の範囲第12項記載
    の情報分類装置。
  14. (14)前記サーチ手段はバイナリサーチ手段を備えて
    いることを特徴とする特許請求の範囲第13項記載の情
    報分類装置。
  15. (15)前記メモリセルの各々は能動化手段と関係付け
    られており、前記能動化手段は、前記サーチ手段がアド
    レスを探し出した後に、その探し出されたアドレスが前
    記能動化手段に関係付けられたセルのアドレスより高く
    なければ活性化され、それによって、その探し出された
    アドレスと同じ高さのアドレスを有するすべてのセルが
    能動化されて、データはそのようなすべてのセルにシフ
    トインされて隣のアドレスへ移され得ることを特徴とす
    る特許請求の範囲第13項記載の情報分類装置。
  16. (16)前記データは、まず前記データを主セルから隣
    の従セルへ移動させ、次に前記従セルから次の隣の主セ
    ルへ移動させることによって、前記能動化されたセル内
    へシフトインされることを特徴とする特許請求の範囲第
    15項記載の情報分類装置。
  17. (17)能動化されたセルの主セルから隣の従セルへの
    データの同時の移動と、次に隣接する主セルへの同時の
    移動を能動化するためにクロックパルスが与えられ、そ
    れによって、探し出されたデータに続くストアされてい
    るすべてのデータが迅速にシフトされるとともに、前記
    シーケンシャルにストアされた順序を維持することを特
    徴とする特許請求の範囲第16項記載の情報分類装置。
  18. (18)情報を分類する方法であって、前記方法は、 (a)既知の長さの記録または記録キーを 含む入来情報を分類装置へ通し、 (b)前記入来情報の挿入または削除のた めの開始アドレスを決定するために、分類装置内のメモ
    リセル中に既にストアされているデータと前記入来デー
    タを比較し、 (c)前記開始アドレスより高いアドレス を有する前記ストアされたデータのすべてを、前記入来
    データの長さに等しいアドレスの数だけシーケンシャル
    に動かして、前記入来データの挿入または削除を可能に
    するとともに、前記ストアされている情報を前記分類装
    置内の前記メモリセル中のシーケンシャルなアドレス内
    に分類された順序で維持することを特徴とする情報を分
    類する方法。
  19. (19)前記分類されてストアされている情報内に挿入
    されるべき入来データは、より高いアドレスを有するす
    べてのデータが前記入来データの挿入を可能にするため
    に十分なアドレスの数だけ上にシフトされた後に、前記
    開始アドレスで始まる前記メモリセル内へ書込まれるこ
    とを特徴とする特許請求の範囲第18項記載の情報を分
    類する方法。
  20. (20)前記入来データをストアされているデータと比
    較するステップは、前記分類装置内に含まれたバイナリ
    サーチャを用いて行なわれることを特徴とする特許請求
    の範囲第18項記載の方法。
  21. (21)前記比較するステップは少なくとも前記開始ア
    ドレスと同じ高さのアドレスを有するすべてのセルを能
    動化することを含み、それによつて、続くアドレス内に
    ストアされているデータがシーケンシャルに動かされ得
    ることを特徴とする特許請求の範囲第18項記載のデー
    タを分類する方法。
  22. (22)前記メモリセルの各々は主セルと従セルを含み
    、前記開始アドレスで開始する前記すべてのストアされ
    ているデータのシーケンシャルな移動は、主セルからそ
    のようなすべてのデータを動かして隣の従セルにストア
    する第1のステップと前記従セルからそのようなデータ
    のすべてを次の隣の主セルへ動かす第2のステップを含
    み、それによつて、そのようなすべてのデータの移動が
    迅速化されるとともに分類された順序とシーケンシャル
    なアドレスを維持することを特徴とする特許請求の範囲
    第21項記載の方法。
JP60136752A 1984-06-21 1985-06-20 情報分類装置 Pending JPS6113341A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62325384A 1984-06-21 1984-06-21
US623253 1984-06-21

Publications (1)

Publication Number Publication Date
JPS6113341A true JPS6113341A (ja) 1986-01-21

Family

ID=24497367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60136752A Pending JPS6113341A (ja) 1984-06-21 1985-06-20 情報分類装置

Country Status (2)

Country Link
EP (1) EP0166577A3 (ja)
JP (1) JPS6113341A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731737A (en) * 1986-05-07 1988-03-15 Advanced Micro Devices, Inc. High speed intelligent distributed control memory system
US5596686A (en) 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
SE9701874D0 (sv) * 1997-05-21 1997-05-21 Ferenc Belik AdressjusterbartRAM-minne (eller shiftminne)
US6525737B1 (en) 1998-08-20 2003-02-25 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
US9298311B2 (en) 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3427596A (en) * 1967-03-07 1969-02-11 North American Rockwell System for processing data into an organized sequence of computer words
US3493939A (en) * 1967-04-10 1970-02-03 Us Army Priority sequencing device
JPS5981734A (ja) * 1982-10-30 1984-05-11 Shimadzu Corp デ−タ序列装置
JPS5981735A (ja) * 1982-10-30 1984-05-11 Shimadzu Corp 情報並べ換え装置

Also Published As

Publication number Publication date
EP0166577A2 (en) 1986-01-02
EP0166577A3 (en) 1987-10-14

Similar Documents

Publication Publication Date Title
US5423015A (en) Memory structure and method for shuffling a stack of data utilizing buffer memory locations
KR100230767B1 (ko) 동적 메모리의 데이타저장 및 검색방법과 그 장치
US4008460A (en) Circuit for implementing a modified LRU replacement algorithm for a cache
TWI445010B (zh) 菊鍊串接裝置
US5117495A (en) Method of sorting data records
US5072422A (en) Content-addressed memory system with word cells having select and match bits
US3848235A (en) Scan and read control apparatus for a disk storage drive in a computer system
US5247665A (en) Data base processing apparatus using relational operation processing
US3275991A (en) Memory system
CA1069217A (en) Multistage sorter with concurrent access to interstage buffer memories
JPH0746507B2 (ja) 二重ポート読出し/書込みメモリー
US4755936A (en) Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US5319651A (en) Data integrity features for a sort accelerator
US4796222A (en) Memory structure for nonsequential storage of block bytes in multi-bit chips
US3234524A (en) Push-down memory
JPS62272343A (ja) 高速分散制御メモリシステムおよびその方法
JPS6113341A (ja) 情報分類装置
JPH0666050B2 (ja) ソート処理方法
EP0321493A4 (en) A content-addressable memory system
US4305138A (en) Stack memory device
JPS6127771B2 (ja)
US7130983B1 (en) System and method for reference count regeneration
Zeidler et al. On the Development of Dedicated Hardware for Searching
JPH01297724A (ja) 学習型文字列検索装置と同装置の制御方式
AU627520B2 (en) Memory structure