(57)【特許請求の範囲】
【請求項１】
各段が該段に入力されるデータワードを記憶する複数の段を有する記憶手段；第１の入力ポート手段の各々が前記段の１つから出力された複数のデータワードの次の順編成データワードを受信する複数の入力ポート手段；各々が前記記憶手段の連続する段対間に挿入され、かつ指令データワードの内容に応答して、（ａ）前記段対の前段の出力と、（ｂ）第２データバス入力の中の選択した一方から受信されたデータワードを前記段対の次段に提供する選択手段；及び前記記憶手段の前記段の最後の段に記憶された前記データワードを記憶装置から送信する出力ポート手段であって、前記出力ポート手段により出力された前記データワードが有効であるか有効でないかを特定する対応ステータスフラグを前記記憶装置から送信する前記出力ポート手段；からなることを特徴とする内容アドレス先入れ／先出しデ−タ記憶装置。
【請求項２】
さらに、各々が前記段の最後の段以外の選択された１つの段からのデ−タワ−ドを前記記憶装置から送信する少なくとも１つの追加出力ポ−ト手段からなることを特徴とする請求項１記載の記憶装置。
【請求項３】
前記選択手段の各々は、入力の１つが前記対の連携した段の最初の１つに記憶されたデ−タワ−ドを受信する複数入力の選択したそれぞれを、出力の１つが前記段対の残りの１つにデ−タワ−ドを提供する複数出力の連携する選択した１つに接続させる動作をすることを特徴とする請求項２記載の記憶装置。
【請求項４】
選択した１つの入力と選択した１つの出力とからなる各入力／出力対の接続が、前記指令デ−タワ−ドの内容に応答して制御されることを特徴とする請求項３項記載の記憶装置。
【請求項５】
前記指令デ−タワ−ドが、前記記憶装置外のソ−スから提供されることを特徴とする請求項４項記載の記憶装置。
【請求項６】
前記選択手段の各々は、入力の１つが前記対の連携した段の最初の１つに記憶されたデ−タワ−ドを受信する複数入力の選択した１つを、前記段対の残りの１つにデ−タワ−ドを提供する出力に接続させる動作をすることを特徴とする請求項１記載の記憶装置。
【請求項７】
前記選択した入力の前記出力への接続が、前記指令デ−タワ−ドの内容に応答して制御されることを特徴とする請求項６記載の記憶装置。
【請求項８】
前記指令デ−タワ−ドが、前記記憶装置外のソ−スから提供されることを特徴とする請求項７項記載の記憶装置。
【請求項９】
前記記憶装置の任意の段の内容が、前記指令デ−タワ−ドに応答して無効に効果的にセットできることを特徴とする請求項１項記載の記憶装置。
【発明の詳細な説明】
【０００１】
【産業の利用分野】
本発明は、デ−タ記憶装置、特に、先入れ／先出し待ち行列（キュ−）（ＣＡＭＦＩＦＯ）タイプの新規の内容アドレス記憶装置に関する。ＣＡＭＦとも呼ばれるこのデ−タ記憶装置の構造は、ソフトウェア又はハ−ドウェアに実施できるし、コンピュ−タグラフィック、さらに一般的には、キュ−上にデ−タの読取り−修正−書取りプロセスを必要とする実時間コンピュ−タ・アプリケ−ション（例えば、ネットワ−キング、電気通信等）に用途を有する。
【０００２】
【従来の技術】
デ−タ処理マシンから来るデ−タを以後のマシン部に必要になるまで、一時的に記憶することは周知である；一般に、一時的記憶入力に受信されたデ−タの第１の項目は、出力で使用可能にされたものである。この先入れ／先出し、又はＦＩＦＯの一時記憶の形態は、種々のクロック速度でデ−タをインタ−フェイスしなければならない場合、従って、以後の処理装置がクロックのみよりむしろレディ時のみに次のデ−タ項目を要求するように作られている場合に、特に魅力がある。従って、受信プロセスがデ−タの準備ができていないときには、送信プロセスは送信可のデ−タを待って記憶しなければならない。その２つのプロセス間のデ−タ伝送は、受信可のときに再開する。その送信プロセスが送信デ−タをもたない場合、受信プロセスはデ−タが利用できるまで待たなければならない。
【０００３】
図１Ａに示すように、多分このタイプの一時的記憶装置の第１の形態は、入力１０Ｉに入るデ−タ項目を容易にするように相互に接続されたＮ個のステ−ジ１０ａ〜１０ｎを有し、少なくとも１つのシフト信号に応答してそれらの項目がレジスタ出力１０ｏに同一オーダで現れるまで一連のステ−ジをシフトするシフトレジスタ１０であった。勿論、当業者は直ちに、かかる単純なＦＩＦＯでは多くの問題が生じることを認識するであろう、例えば、少なくとも２つの別々のクロック信号が必要である、即ち、入力１０ｘ−１における入力クロックＣＬＫ０がシフトしてニュ−デ−タ・ビットを記憶し次にステ−ジ入力に提供する、その記憶された前のデ−タが入力１０ｘ−２で出力クロックＣＬＫ１の操作によってそのステ−ジからクリヤ−された後、記憶されたデ−タビットをステ−ジの出力にシフトさせる。この形のＦＩＦＯは、同期型と言われ、全てのデ−タが同時にシフトされる（かかる動作をしばしば必要ない）。
【０００４】
図１Ｂに示す従来のＦＩＦＯは、シフトレジスタ−ＦＩＦＯ１０の問題点の多くを解決した；Ｎ個のデ−タワ−ドレジスタ１４ａ〜１４ｎのスタックは全て、共通のＦＩＦＯ入力ポ−ト１４Ｉで入ってくるデ−タワ−ドを受信するのみならず、その入力１４Ｓｗ（Ｓはステ−ジ数がＡ〜Ｎである）における書込み信号によって使用可能レジスタ１４はそのデ−タワ−ドを受けて記憶する。書込み信号は、入力１５−１ａにおける書込み可能ＷＲ- ＥＮ信号に応答して、全てのＮカウントを周期的にカウントする書込みカウンタ手段１５−１のＮ出力１５−１０の相互に排他的の１つに提供される。従って、新しいデ−タワ−ドがユニットに記憶される速度は、入力１５−１ａにおける脈動信号の速度に左右される；そのカウントはリセット入力１５−１ｂの操作によって予め設定した状態（例えば、０）にリセットできる。Ｎレジスタ１４ａ〜１４ｎの全てが、共通のＦＩＦＯ出力ポ−ト１４ｏに接続された出力を有するが、その入力１４Ｓにおいて読取り信号によって使用可能になったステ−ジのみが後続の使用にその記憶されたデ−タワ−ドを出力する。読取り信号は、入力１５−２ａにおける別の読取り可能ＲＤ- ＥＮ信号に応答して、全てのＮカウントを周期的にカウントする読取りカウンタ手段１５−２のＮ出力１５−２０の相互に排他的の１つに提供される。従って、記憶されたデ−タワ−ドがユニゥットから出力される速度は、入力１５−２ａにおける脈動信号の速度に左右される；こののカウントも独立のリセット入力１５−２ｂの操作によって予め設定した状態（例えば、０）にリセットできる。入力１５−１ａにおける書込み可能ＷＲ- ＥＮ信号が入力１５−２ａにおけるＲＤ- ＥＮ信号と異なる場合には、ＦＩＦＯは異なる場合に異なる周波数でのデ−タワ−ドを入力及び出力することができる。当業者は、ＦＩＦＯ１２はレジスタ１０の問題点のいくつかを解決できるが、ＦＩＦＯ１２でのオ−バ−フロ−、アンダ−フロ−等の問題が依然としてある。
【０００５】
別の従来技術のＦＩＦＯ２０（図１Ｃ）は、これらの問題の殆んどを解決する。ＦＩＦＯ２０において、多デ−タワ−ド記憶手段２２は、入力２０ｃにおける書込みクロックｗｒ−ｃｌｋ信号及び入力２０ｄにおける書込み可能ｗｒ−ｅｎ信号の両方の存在に応答してＦＩＦＯ入力ポ−ト２０ａに入力の新しいデ−タワ−ドを記憶する；その対の信号はそのカウントを第１カウンタ手段２４−１に進める、そのカウントは（２つの最上位のアドレスビット（ＭＳＢｓ１＆２）に作用する第１の排他的−ＯＲゲ−ト２６−１を介して）バスＡを介して記憶手段２２のｗｒ−ａｄｄｒ入力へ接続される。一対のタイプＤ−フリップ−フロップからなる第１同期装置２８−１は、第１カウンタ手段２４−１の出力デ−タを受信する。その記憶手段２２に記憶されるデ−タワ−ドは、入力２０ｅにおける読取りクロックｒｄ−ｃｌｋ信号及び入力２０ｆにおける読取り可能ｒｄ−ｅｎ信号に応答して周期的に提供される別のカウンタ手段２４−２の出力バスから周期的読取りアドレスｒｄ−ａｄｄｒ信号の存在に応答して、それぞれ手段の出力２０ｂへ与えられる。第２のカウンタ出力バスは、別の同期手段にも接続される。第１の比較器手段３０−１は、第１の同期装置出力及び第２の同期装置出力を受けて、記憶装置が空であるかどうかを決めて、それに対応して適当な信号を出力２０ｇに与える。第２の比較器手段３０−２並びにゲ−ト論理手段３２は第２の同期装置出力及び第１のカウンタ手段出力に作用してＦＩＦＯ記憶手段２２がいっぱいであるか否か；ＦＩＦＯ記憶手段がいっぱいであるときに出力２０ｈが使用可能かどうか、従ってそれ以上のデ−タ入力を中断するか否かを決める。
【０００６】
【発明が解決しようとする課題】
以上記載した記憶装置は有用であるが、全て何等かの形態の欠点がある。図１Ｂの同期ＦＩＦＯも、従来の課題の多くを解決しているが、依然としてワ−ドのキュ−を記憶しながら、一時的に記憶したデ−タワ−ドの内容をアクセス及び／又は変えることができない（これらの特徴はしばしば必要である）。従って、我々は、記憶装置に先入れ、先出しの基本操作を変えることなく、記憶されたデ−タワ−ドの内容をアドレス、アクセス及び変える又は除去できるＦＩＦＯを提供することが必要である。従って、本発明の目的は、新規のＣＡＭＦＩＦＯ構造及びかかる内容アドレス記憶装置の新規操作方法を提供して、前記の利点を実現することである。
【０００７】
【課題を解決するための手段】
本発明により、２つのプロセス間のデ−タに読取り−修正−書込みバッファを提供するために使用される内容アドレス記憶先入れ、先出し手段（ＣＡＭ−ＦＩＦＯ）は、キュ−（待ち行列）上のデ−タに質問して、そのデ−タ及びＣＡＭ−ＦＩＦＯに外的に導入される他の実時間に基づいたデ−タを送る決定で、そのデ−タが受信プロセスへなお送るべきか否かを決めるために使用される内容アドレス記憶装置（ＣＡＭ）；デ−タ記憶用ＦＩＦＯ手段（レジスタ、記憶装置又はソフトウェアにおけるデ−タ構造で実行可能）；及びそのＦＩＦＯに記憶／ＦＩＦＯから読取られるデ−タの書込み／読取りアドレスを提供するカウント手段を含む。
【０００８】
望ましい実施態様の１つにおいて、ＦＩＦＯはデ−タ及びフラグ情報を記憶する。書込み−アドレス（ｗｒ−ａｄｄｒ）は、入ってくるＦＩＦＯ内のデ−タワ−ドをＦＩＦＯに書込むのに使用されて、書込み可能ｗｒ−ｅｎ信号が高にセットされるときに増分される（書込みポインタが進む）。読取りアドレス（ｒｄ−ａｄｄｒ）は、配列におけるどの位置がＦＩＦＯ出力デ−タの出力ポ−トに読出されるかを決める。そのｒｄ−ａｄｄｒアドレスは、読取り可能ｒｄ−ｅｎ信号が高いにセットされるとき増分される。一組のフラグ内デ−タの各フラグデ−タワ−ドはそのデ−タの状態がＦＩＦＯに書込まれていることを示す。これらのフラグは、フラグがキュ−に入った後に他の実時間デ−タに基づいて修正できる。ＦＩＦＯの出力におけるこれらフラグの状態は、デ−タがそもそも受信プロセスに送れるかどうか又は出力フラグが状態を変えるまでそのデ−タを保持しなければならないか否かを決める。
【０００９】
ＣＡＭ構造は、比較器及びマルチプレクサを使用して実現できる。この点で、内容アドレスは、記憶装置に記憶された内容の一部が読取り操作中に、どのデ−タがアクセスされるかを決めるために使用されることを意味する。アドレスと作用するこのデ−タはタグと呼ばれる。ＣＡＭは、レジスタ配列におけるデ−タ位置の全てに記憶されたタグデ−タと比較されるＣａｍＲｅａｄＡｄｄｒ信号の許可を介して読取ることができる。整合が生じると、Ｈｉｔフラグが高にセットされ、そのデ−タは、ＣａｍＲｅａｄＡｄｄｒに整合したタグを記憶する配列における第１の位置から別のマルチプレクサを介してＣａｍＤａｔａ出力ポ−トへ出力される。そのＣａｍＤａｔａは、キュ−のデ−タがまだ主出力ポ−トに送るべきか否かを決めるテストをするために送信プロセスによって使用される。その送信プロセスは、キュ−におけるデ−タワ−ド又は状態フラグワ−ドを修正するためにＦｌａｇＣｔｒｌデ−タを変えなければならない。ＨｉｔＦＩＦＯ場所に記憶されたフラグ及び／又はデ−タワ−ドは、受信されたＦｌａｇＣｔｒｌデ−タワ−ド及び記憶されたＦＩＦＯデ−タの内容に基づいて修正される。
【００１０】
本発明の目的は、添付図面を参照して、以下に記載する望ましい１つの実施態様を読むことによって、当業者には明白となるであろう。
【００１１】
【実施例】
最初に図２Ａを参照すると、本発明のＣＡＭＦＩＦＯは、収納手段４０（例えば、買物かご）に類似し、いくつかのデ−タワ−ド４２（例えば、項目又は品目Ａ、Ｂ、Ｃ及びＤ）が前のソ−ス／プロセスから逐次入っており、現在はオ−ダした品目ＡＢＣＤのキュ−として時間ｔ0 である。アクションが採られないと、収納された品目は、周知のように、最終の時間において始まるＡＢＣＤの順に後続の受け入れ状態／プロセスに逐次出力される（例えば、チェックアウトカウンタで買物カ−トから取り出される）。
【００１２】
本発明の特徴の１つに従って、時間ｔ1 において、デ−タワ−ド４２がＦＩＦＯ記憶メモリに配置され、外部からの第１の要求を受信でき、メモリの内容がその要求内容に整合（一致）するかを探索し、その要求が特定の記憶項目に整合したならば、その項目はそのキュ−における場所を失うことなく動作（変更又は削除）させることができる。従って、類似する買物カ−トにおいて、時間ｔ1 で要求が買物客の子供によって行なわれて、朝食のセリアル食品（品目Ｂ）が別のセリアル食品（品目Ｂ´）に変えられる；一旦品目Ｂの適当な場所が確定されたら、品目Ｂ´の占めるスペ−スは残るが、交換要求に対応して、（Ｂの削除及びメモリに類似する買物カ−ト外から新しい品目Ｂ´と交換によって）そのスペ−ス内容がＢからＢ´に変わる。時間ｔ1 におけるＦＩＦＯカ−トの注文内容が今度はＡＢ´ＣＤとなる。
【００１３】
次の時間ｔ2 において、別の場所４４に収納された品目（パッケエ−ジＣ）内容の削除という新しい外部要求が入り；その場所を探して対応する品目Ｃを見つけて、その品目を除去し、空の場所４４を残す。ＦＩＦＯカ−ト４０は、時間ｔ2 においてオ−ダ内容ＡＢ´−Ｄを有することになる、下線のスペ−ス−は、外来デ−タワ−ドが存在し、その内容は最終ユ−ザには実体がないというものである。
【００１４】
後の時間ｔ3 において、削除されたデ−タワ−ドＣが前に占めた場所に新しいデ−タワ−ド（品目Ｅ）を配置するという第３の外来要求を受ける；品目Ｅは買物カ−ト・キュ−に配置される（それは今オ−ダされたＡＢ´ＥＤである）。
【００１５】
他の変更及び除去は、特定の品目／デ−タワ−ドがキュ−から出されるまで行うことができる。従って、品目ＡをＡ´に変えるという最終の要求を命令できる、それは時間ｔf において（即ち、レジ係りが品目Ａの購入直前に、新しい品目Ａ´に交換するという命令である）；デ−タワ−ドＡ´は後続のプロセスに実際に出力されるものである、そしてそのキュ−は次のデ−タワ−ド（Ｂ´）を出力する準備のために進み、続いてデ−タワ−ドＥ、次にＤ、等に進む。
【００１６】
図２Ｂに、ＣＡＭＦＩＦＯの１つの汎用形態４５をブロック略図で示す。ソ−スプロセスからのデ−タワ−ドは、第１デ−タ入力ポ−ト４５ａを介して入り、最初にそれぞれ第１記憶手段４７ａに記憶される、その記憶手段は複数Ｎ個のかかる記憶手段４７の１つであって、最後の記憶ステ−ジ４７ｎはその出力を第１デ−タ出力ポ−ト４５ｂに供給する。各デ−タワ−ドは、図示しないが当業者には容易に識別できるクロック等の信号に応答して、逐次ステ−ジ４７ａ〜４７ｎを通過移動するにつれて、汎用制御、又は保持／変換デ−タ入力ポ−ト４５ｃによって制御され、第１（Ｎ−１）ステ−ジの各々の後に配置されるスイッチング手段４９によって決定プロセスが提供される（即ち、ｉ番目の手段４９ｉ（ａ＝１ｆｉｆｍ＝ｎ−１）がｉ番目の記憶手段４７ｉの出力と次のｊ−番目＝ｉ番目＋１のステ−ジの記憶手段４７ｊ入力の間に配置される）。各手段４９は、複数のデ−タ経路入力（例えば、前の記憶ステ−ジの出力に接続された第１入力Ｉ１及び第２デ−タバス入力４５ｄから共通バスに接続された第２入力Ｉ２）を有する、そして複数のデ−タ経路出力（例えば、次の記憶ステ−ジの入力に接続された第１出力Ｏ１及び第２デ−タバス出力ポ−ト４５ｅに接続された第２出力Ｏ２）を有することができる、選択可能Ｘ入力Ｉｘの選択可能Ｙ出力Ｏｙへの接続はＣＸ制御点に提供され、制御ポ−ト４５ｃバスから受信されるデ−タワ−ドによって制御される。
【００１７】
操作において、ＣＡＭＦＩＦＯ４５は、ある時間において共同するステ−ジ４７の１つに記憶された一連のデ−タワ−ドの各々を有し；最初に入力され今は最終（記憶Ｎ）のステ−ジ４７ｎに記憶されているたデ−タワ−ドがポ−ト４５ｂに出力されるものと考える。この時点で、全てのステ−ジ４７ａ〜４７ｍの内容は現在記憶、保持されていて；ＫＥＥＰの指令が外部決定手段（図示せず）によってポ−ト４５ｃに供給される。スイッチ手段４９（それは汎用マルチプレクサ、等である）は、無変更指令を受けて、主入力Ｉ１は主出力Ｏ１に接続される。各ステ−ジの内容は、今は無変更で次の順次ステ−ジに移動させることができる。しかしながら、入力ポ−ト４５ｃに提供されたデ−タワ−ドが変更指令を含む、並びに内容を変更する特定のステ−ジの指令、特定のデ−タワ−ドを見つける及び変更する、又は類似の選択条件を含む場合には、少なくとも１つのステ−ジの内容はその指令に応答して変更できる。典型的に、ポ−ト４５ｃにおける指令は、次のレジスタデ−タのシフトが生じるときに蓄積された内容が変更という１つのステ−ジ（例えば、ステ−ジＩ）を選択するのに十分なデ−タを含む；その指令に応答して、ステ−ジＩと共同したスイッチ手段４９ｉは変更の入力を受け、主出力Ｏｌを第２デ−タ入力ポ−ト４５ｄに接続した補助入力Ｉ２に再接続させるので、入力４５ｄに提供された新しいデ−タは、ステ−ジ４７ｉからちょうど転送されたふるいデ−タワ−ドの代わりに後続のｊ番目のステ−ジ４７ｊに記憶される。都合良く、そのｉ番目のステ−ジのデ−タワ−ドは主入力Ｉｌに現れ、補助出力Ｏ２、従って補助出力ポ−ト４５ｅに接続されて、今記憶されたｉ番目のステ−ジのデ−タワ−ドをポ−ト４５ｅから出す。従って、各ステ−ジの内容は置換できる；そのステ−ジのデ−タワ−ドに状態フラグが含まれるならば、それは変更して内容（例えば、ステ−ジの内容が無効又は“心配無用”のデ−タと考えられるならば、“無視”のフラグのようなフラグデ−タの使用を含む）の状態を示すことができる。
【００１８】
図３を参照すると、我々の現在望ましいＣＡＭＦＩＦＯ５０は、並列デ−タのＤ＋Ｔビットに対してＴ−ビット・タグのデ−タワ−ドと共にＤ−ビットＦＩＦＯＩＮデ−タを受信するＦＩＦＯ主デ−タワ−ド入力ポ−ト５０ａ；並列デ−タのＦビットを受信するＦｌａｇデ−タワ−ド入力ポ−ト５０ｂ；新デ−タワ−ド（入力５０ａに現れる）が記憶を要求することを示す外部信号を受信する書込み可能ｗｒ−ｅｎ信号入力５０ｃ；記憶されたデ−タワ−ド（デ−タのＤ＋Ｔ＋Ｆ＝Ｍビットの少なくともいくつかが、読取りカウンタがｒｄ−ｅｎ信号パルスによってセットされる次番号の記憶ステ−ジに現在記憶されいる）を主又はＦＩＦＯデ−タ出力ポ−ト５０ｅを介して出力すべきであるということを示す外部信号を受信する読取り可能ｒｄ−ｅｎ信号入力５０ｄ；リセットＲＳＴ信号入力５０ｆ；及び別のＭ−ビットデ−タワ−ドを提供する補助、又はＣＡＭデ−タ出力ポ−ト５０ｇを有する。ＨＩＴ出力５０ｈは以下に説明するように利用される論理信号を提供し；Ｔ−ビット入力ポ−ト５０ｉはＣＡＭ−Ｒｅａｄ−Ａｄｄｒ（ＣＲＡ）デ−タワ−ドを受信する；そして別のＣ−ビット入力ポ−ト５０ｊはフラグ制御デ−タワ−ドを受信する。
【００１９】
書込み−アドレスカウンタ手段５２−１及び読取り−アドレスはそれぞれ、入力５２−１ｃと５２−２ｃのそれぞれにおいて入力５０ｆリセット信号を受信し、それによって予選択初カウントにリセットされる；その後、各カウンタのカウントは、入力５０ｃに接続されたカウンタ入力５２−１ａにおけるｗｒ−ｅｎ信号又は入力５０ｄに接続されたカウンタ入力５２−２ａにおけるｒｄ−ｅｎ信号の関連する１つの受信に応答して独立に増分される。各カウンタ５２はＮ状態（ＮはＣＡＦＩＦＯの深さである）を通してカウントする；都合良く、２進カウンタとデコ−ダが使用される、従ってＮ＝２ｗ（式中のＷは整数（例えば、Ｗ＝５の場合は、Ｎ＝３２）であり、出力ライン５２−１ｂ及び５２−２ｂ、及び入力５４−１ａ及び５４−２ａの数でもある。
【００２０】
ＦＩＦＯ記憶手段５６はＣＡＭ手段５７と共に動作する。ＦＩＦＯ手段５６はデ−タワ−ドレジスタ手段５８のＮステ−ジ５８ａ〜５８ｎを使用する；ＣＡＭ手段５７はフラグレジスタ手段５９のＮステ−ジ５９ａ〜５９ｎを使用する。ステ−ジ５８の各々は、ｗｒ−ｅｎ−ｉ信号にに応答して入力５０ａから受信したＦＩＦＯデ−タ及びＴａｇデ−タを記憶するために、深さがＤ＋Ｔビットでデ−タバス５０Ａに接続されたデ−タＤＡＴＡＩＮ入力を有する。同様に、ステ−ジ５９の各々は、深さがＦビットでデ−タバス５０Ｂに接続されたフラグＦＩＮ入力を有して、入力５０ｂを受信したＦＬＡＧＳデ−タを記憶するために動作する。入力５０ａにおけるＦＩＦＯデ−タ及び入力５０ｂにおけるフラグデ−タは、書込み可能バス５０Ｃから、ｉ番目ステ−ジｗｒ−ｅｎ−ｉへの入力における使用可能論理信号の受信に応答して、デ−タステ−ジ５８ｉ及び関連フラグステ−ジ５９ｉに同時に入る；ｗｒ−ｅｎ−ｉはデコ−ダ手段５４−１の出力５４−１ｂの関連ｉ番目の１つで発信する。ステ−ジ５８の各ｉ番目の１つはデ−タＤＡＴＡＯＵＴ出力Ｏｕｔｊを有し、各々はそのステ−ジＤにデ−タビット（Ｄｊ）及びＴタグビット（Ｔｊ）を含む。第１のＮ−入力マルチプレクサ手段６０−１は出力５０ｅに結合した出力６０−１ａを有し、そこに読取り制御入力６０−１ｃに提供されるＷ−ビット制御ワ−ドの制御下で関連入力６０−１ｂからＦＩＦＯ＋ＦＬＡＧデ−タ・セットＳｊが現れる；各デ−タラインセットＳｊのＭビットは、ＦＩＦＯ出力ＯＵＴｊデ−タライン（Ｄｊ＋Ｔｊビット）及びｊ番目フラッグレジスタステ−ジ５９ｊの出力ビットＦｊデ−タラインを含む。同様に、第２のＮ−入力マルチプレクサ手段６０−２は出力５０ｇに結合した出力６０−２ａを有し、そこに、読取り制御入力６０−２ｃに提供されるＷ´−ビット制御ワ−ドの制御下で関連入力６０−２ｂからデ−タ・セットＳｊが現れる。主入力５０ａ及び補助入力５０ｂはそれぞれ図２ＢのＣＡＭＦの第１及び第２デ−タ入力４５ａ及び４５ｄに類似するが、主出力５０ｅ及び補助入力５０ｇはそれぞれ第１及び第２出力４５ｂ及び４５ｅに類似することがわかる。
【００２１】
ＣＡＭＤＡＴＡ出力の選択は、Ｎビットエンコーダ手段６２の入力６２ｂでＮ個の異なる信号Ａ０〜Ａ（Ｎ−１）を受信するＮビットエンコーダ手段６２の出力６２ａのＷ´データによって制御される。論理信号Ａｊの各々もＮ−入力ＯＲゲ−ト手段６４に提供される、そしてそれは、いずれか１つのラインが使用可能の場合に出力５０ｈにＨＩＴ信号を提供する。各ラインＡｊの論理状態は関連の２−入力ＡＮＤゲ−ト６６ａ〜６６ｎによって決定される；各ゲ−ト６６ｊの１つの入力は同等の論理手段６８ａ〜６８ｎの関連する１つ６８ｊの同等出力に接続され、他のゲ−ト入力は、関連ＯＵＴｊデ−タラインからデ−タ確認信号ＤＶｊへ接続される。各同等論理手段６８ｊは、ＦＩＦＯステ−ジのＯＵＴｊ出力からタグＴｊビットを受ける第１Ａ入力、及び入力５０ｉからＣＲＡデ−タワ−ドのＴビットを受ける第２Ｂ入力を有する。１つの論理手段のＡ＝Ｂ出力はＡ入力のＴライン上の厳密なデ−タシ−ケンスがＢ入力のＴライン上で重複する場合のみ使用可能にされる、それは選択したｊ番目のＦＩＦＯステ−ジのタグ内容が入力５０ｉに提供されたＣＡＭ読取りアドレス（ＣＲＡ）と同一であることを示す。ＣＡＭＦＩＦＯ５０は内容指定可能タグに対して一度に１つのアドレスを受信できるのみであり、少なくとも１つのアドレス指定ステ−ジはＣＲＡワ−ドを全て均等手段６８のＢ入力にセットすることがわかる；ともかく一致するタグ内容がある場合には、１つの手段６８のみがＡ＝Ｂ出力論理−高使用を可能を有する（逆に、ＣＲＡビットがどのステ−ジにも現在見られないタグ内容を要求するので、一致するものが無い場合には、全ての手段６８の出力は使用不能にされる、又は論理−低であり、全てのゲ−ト６６が使用不能出力を有するのでＨＩＴ出力はない）。
【００２２】
複数（７０ａ〜７０ｎ）のフラッグ優先エンコ−ダ７０のｊ番目７０ｊは、デコーダ手段５４−２の出力５４−２ｂからのステ−ジｊ読取り可能データ及びデ−タＤビット、タグＴビット及びフラグＦビットを含む出力デ−タセットＯＵＴｊを受信する。エンコ−ダ７０は、個々のステ−ジ０〜（Ｎ−１）の内容がＣＡＭ手段５７のｊ番目のステ−ジに伝送できるＦビットの新ＦｌａｇＳｅｔデ−タを介して変更されるか、又は元々入力されたように維持されるかを決めるために使用される。フラグビットの状態がデ−タを出力するのに必要な状態を満たすならば、デ−タの最初のＤビットとフラグデ−タのＦビットの両方が、読取りポインタがそのステ−ジの内容を読出すようにセットされるとき、主ポ−ト５０ｅにおいて出力される。フラグ状態が非出力状態に変更されると、同じステ−ジのデ−タレジスタ及びフラグレジスタのデ−タはポ−ト５０ｅに保持されてＦＩＦＯステ−ジ５８ｊのデ−タは一般に、コンパニオン・フラグデ−タが無視条件を示すので、次のプロセスによって無視される。
【００２３】
ＣＡＭＦ５０において、消去することなく、ＦＩＦＯ部５６に含まれたデ−タは、出力ポ−ト５０ｅを介して送られるデ−タを出力デ−タ流から除去せよと状態フラグが示すと、後続の受信プロセスによって無視される。この決定は、受信プロセスによって使用されなくても、手段５６に記憶された全てのデ−タが出力され；デ−タの大部分が無効と指示されても処理能力が低下するので、ＦＩＦＯ出力ポ−ト５０ｅを通過する各組のデ−タに行うことができる。
【００２４】
ＣＡＭＦの処理能力を増すために、キュ−におけるデ−タの多くが無効になる時、そのデ−タは出力デ−タ流から消去又は除去する必要がある。デ−タの除去は、ある形態のレジスタ移動、又は最も簡単な方法において、出力５２−２ｂにおいて読取りポインタカウントに全ての無効デ−タを通過させることによって達成できる；この動作は不必要な全てのデ−タの出力デ−タ流を消去して、送信プロセスを可能な最高速度で動作させることができる−これが消去でのＣＡＭＦである。
【００２５】
以上、本発明を現在望ましい実施態様について説明したが、多くの変更態様及び変化が当業者には明白となるであろう。したがって、本発明は、添付した請求項の範囲のみによって限定されるのが我々の意図であって、ここに記載説明した詳細又は手段によって限定されるものではない。
【図面の簡単な説明】
【図１】Ａ 本発明の由来の理解に有用である従来技術の先入れ、先出し記憶装置の略ブロック図である。
Ｂ 本発明に先導する従来技術による別のＦＩＦＯ記憶装置の略ブロック図である。
Ｃ 本発明に先導する従来技術による別のＦＩＦＯ記憶装置の略ブロック図である。
【図２】Ａ 本発明の好適な操作を記載する類似物の図解説明であって、その操作の特徴の理解に有用である。
Ｂ 本発明によって実現される操作の基本ＣＡＭＦＦＩＦＯ形態の略ブロック図である。
【図３】本発明による現在望ましいＣＡＭＦＩＦＯの略ブロック図である。
【符号の説明】
１０ シフトレジスタ
１２ 従来のＦＩＦＯ
１４ ステ−ジ
１５−１ 書込みカウンタ手段
２０ 従来のＦＩＦＯ開口
２２ デ−タワ−ド記憶手段
２４ カウンタ手段
２６ ＯＲゲ−ト
２８ 同期手段
３０ 比較器手段
３２ ゲ−ト論理手段
４０ 記憶手段
４２ デ−タワ−ド
４５ ＣＡＦＭＩＦＯ
４７ 記憶手段
４９ スイッチ手段
５０ ＣＡＭＦＩＦＯ
５２−１ 書込みアドレスカウンタ手段
５２−２ 読取りアドレスカウンタ手段
５６ ＦＩＦＯ記憶手段
５７ ＣＡＭ手段
６０−１ Ｎ−入力マルチプレクサ手段
６２ Ｎ−ビットエンコ−ダ手段
６４ Ｎ−入力ＯＲゲ−ト手段
６８ 論理手段
７０ エンコ−ダ
【図２】
0004519213.tif 000002
【図３】
0004519213.tif 000003
【図１】
0004519213.tif 000004