(57)【特許請求の範囲】
【請求項１】
優先情報をそれぞれに付加した複数の情報データそれぞれから得られる少なくとも情報データを記憶するための記憶手段と、
前記各情報データに付加された優先情報それぞれを入力された順に記憶するために接続された複数の優先情報記憶手段と、
前記各優先情報記憶手段それぞれに対応して設けられ、前記各優先情報記憶手段に記憶されている優先情報に対応する情報データが記憶された前記記憶手段の記憶領域を示すアドレス情報を記憶するための複数のアドレス情報記憶手段と、
優先情報が入力された順に前記各優先情報記憶手段を検索して、特定の優先情報を記憶している前記優先情報記憶手段に対応する前記アドレス情報記憶手段に記憶されたアドレス情報を読み出し、このアドレス情報によって示された前記記憶手段の記憶領域に記憶されている少なくとも情報データを読み出すように制御すると共に、前記読み出された少なくとも情報データに対応する前記優先情報記憶手段及びアドレス情報記憶手段より以降に記憶されている前記優先情報記憶手段及びアドレス情報記憶手段の内容を順次次の前記優先情報記憶手段及びアドレス情報記憶手段にシフトさせた結果、空状態となった前記優先情報記憶手段及びアドレス情報記憶手段のアドレス情報記憶手段に前記読み出されたアドレス情報を記憶するように制御する制御手段と、
から構成されたことを特徴とするバッファ装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、優先制御情報に基づき、情報データの蓄積制御を行うバッファ装置に関する。
【０００２】
【従来の技術】
優先機能付きバッファは、バッファに蓄積されるデータの中に、優先情報を含み、バッファに蓄積されているデータの中から、この優先情報をもとにデータを読みだす装置である。同じ優先情報を持つデータは、論理的に１つのＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）バッファとして振る舞う。すなわち、バッファに蓄積されているデータの中で、出力を指定された優先情報の値を持つデータの最も古く入力されたデータが出力される。
【０００３】
このような優先制御機能付きバッファ装置の例に、先に出願されている特開平３―１５９４３７がある。
この装置は、データ入力をするデータ入力バス及びデータを出力する出力バスとの間に複数のデータ蓄積ブロックをリニアアレイ状に配置して設け、前記データ入力バスから前記複数のデータ蓄積ブロックのうち空きのブロックへデータを入力する手段と、データ出力に伴いデータ出力されたデータ蓄積ブロックを各データ蓄積ブロック間に備えたデータシフトチャンネルを介して予め定めた配列方向に詰めていくデータシフト手段と、入力データに付属された優先順位及び前記データ蓄積ブロックの配列性向に伴い優先順に従って選択されたデータ蓄積ブロックにつき順次データ出力していくデータ出力手段とを設けたことを特徴とする優先制御機能付きバッファ装置である。
【０００４】
この装置の動作の概略を図１２を用いて説明する。データは、データ入力手段によって、データ蓄積ブロックに詰めて記憶される。このように、詰めて記憶されたデータの中から、出力しようとする優先情報と一致する最も古く入力されたデータを出力する。出力された領域は、空き領域となり、それ以降に入力されたデータがシフトされて詰められる。このとき、データがすべてシフトされるため、消費電力が増大するという問題点があった。
【０００５】
【発明が解決しようとする課題】
上述したように、従来のバッファ装置では、情報データを出力する際に出力された情報データ以降に入力された情報データがすべてシフトされるため、消費電力が増大するという問題があった。
本発明は、上記した課題を解決する目的でなされ、上方データを出力する際に消費される電力を低減させようとするものである。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は優先情報をそれぞれに付加した複数の情報データそれぞれから得られる少なくとも情報データを記憶するための記憶手段と、各情報データに付加された優先情報はそれぞれを入力された順に記憶するために接続された複数の優先情報記憶手段と、各優先情報記憶手段それぞれに対応して設けられ、各優先情報記憶手段に記憶されている優先情報に対応する情報データが記憶された記憶手段の記憶領域を示すアドレス情報を記憶するための複数のアドレス情報記憶手段と、優先情報が入力された順に各優先情報記憶手段を検索して、特定の優先情報を記憶している優先情報記憶手段に対応するアドレス情報記憶手段に記憶されたアドレス情報を読み出し、このアドレス情報によって示させた記憶手段の記憶領域に記憶されている少なくとも情報データを読み出すように制御すると共に、読みだされた少なくとも情報データに対応する優先情報記憶手段及びアドレス情報記憶手段より以降に記憶されている優先情報記憶手段及びアドレス情報記憶手段の内容を順次次の優先情報記憶手段及びアドレス情報記憶手段にシフトされた結果、空状態となった優先情報手段及びアドレス情報記憶手段のアドレス情報記憶手段に読み出されたアドレス情報を記憶するように制御する制御手段とから構成したことを特徴とするものである。
【０００７】
【作用】
本発明によれば各アドレス情報記憶手段をシフトレジスタのような構成にして順次接続させ各アドレス情報記憶手段に記憶されているアドレス情報に基づいて情報データを出力させるので従来のような情報データ自体をシフトさせる動作が不用となるので、その際の消費電力を低減させることが可能となる。
【０００８】
【実施例】
以下図面を参照して本発明の一実施例を説明する。本発明のバッファ装置の一構成を図１に示す。バッファ装置５は、入力されてきたセル付加されている優先情報を抽出するための優先情報抽出装置１と、セルの情報データを記憶するための情報データ記憶装置２と、この抽出された優先情報を記憶すると共に、この優先情報に対応するセルが記憶された情報データ記憶装置２の記憶領域を示すアドレスを管理するアドレス管理装置３と、これらの装置を制御する制御装置４とで構成されている。アドレス管理装置３は、情報データ記憶装置２の書き込みアドレス、読み出しアドレスを生成する装置である。情報データを情報データ記憶装置２に書き込む時は、アドレス管理装置３は、優先情報管理装置１から送られて優先情報を記憶すると共に、情報データを書き込むアドレスを情報データ記憶装置２に転送する。情報データを読み出す時は、アドレス管理装置３は読み出す情報データの優先情報から、該当する情報データの中で最も古い情報データの記憶されているアドレスを検索し、これを情報データ記憶装置２に伝送する。情報データ記憶装置２は、情報データを記憶する装置である。情報データを書き込むときは、情報データ記憶装置２は、優先情報抽出装置１から送られてきた情報データをアドレス管理装置３から送られてきたアドレスに書き込みを行う。情報データを読み出すときは、情報データ記憶装置２は、アドレス管理装置３から送られてきたアドレスの情報データを読み出し、外部に出力する。
【０００９】
アドレス管理装置３の構成を図２に示す。アドレス管理装置３は、優先情報レジスタ６−１〜６−Ｎとアドレスポインタレジスタ８−１〜８−Ｎとカラム制御装置７−１〜７−Ｎで構成されるアドレス管理ユニット９−１〜９−Ｎを直列に接続した装置である。アドレス管理装置３において、アドレス管理ユニット９−１〜９−Ｎの位置は情報データの到着順序を意味する。図２に示された例では、下方にあるもの程、古い情報データであることを意味している。つまり、優先情報レジスタ６−１〜６−Ｎ及びアドレスポインタレジスタ８−１〜８−Ｎが下方に向かってシフトしていくように接続されているので、下方にある程古い情報であることを意味している。優先情報レジスタ６−１〜６−Ｎは、優先情報抽出装置１から伝送された優先情報を記憶するレジスタである。アドレスポインタレジスタ８−１〜８−Ｎは、情報データの記憶されているアドレスを記憶するレジスタである。アドレスポインタレジスタ８−１〜８−Ｎのそれぞれは、初期状態は情報データ記憶装置２のアドレスに１対１に対応するように初期化されている。例えば情報データの記憶されるアドレスが０〜Ｎ−１であった場合、アドレスポインタレジスタ８−１〜８−Ｎの値は、それぞれ０〜Ｎ−１に初期化されている。カラム制御装置７−１〜７−Ｎは、制御装置４から伝送される制御情報をもとに、優先情報レジスタ６−１〜６−Ｎ及びアドレスポインタレジスタ８−１〜８−Ｎの書き込み及び出力の制御を行うための装置である。次に、アドレス管理装置３の動作について説明する。情報データ記憶装置２は、０，１，２，…Ｎ−１という線形のアドレス空間を持つと仮定する。ここで、Ｎは、情報データ記憶装置２に記憶できる情報データの個数である。また、アドレス管理装置３が図３のように初期化されていると仮定する。図３中で、“−”は、内容が不定であることを意味する。初期状態では、情報データ及び優先情報は、不定であるのですべてに“−”が記述されている。図３の例では、アドレスポインタの値は、下方から順番に０，１，２…Ｎ−１というように順序よく記憶されている。初期値は、情報データ記憶装置２のアドレスとアドレスポインタの値が、１対１に対応していれば順序関係は、どんなものでもよい。次に、書き込みアドレスを出力するときの動作について説明する。一例として、初期状態から優先情報としてＡという値を持つａというデータが入力され、優先情報としてＢという値を持つｂというデータが入力され、その後、優先情報としてＡという値を持つｃというデータが入力された場合の動作を説明する。まず、優先情報としてＡという値を持つａというデータが入力されたときの動作を説明する。アドレス管理装置３には、優先情報抽出装置１からＡという優先情報が伝送される。アドレス管理装置３に送られた優先情報は、優先情報レジスタの下方から詰めて書き込まれる。初期状態では優先情報が１つも書き込まれていないので、入力された優先情報は、最下方に記憶される。書き込まれたカラムのアドレスポインタの値が、データの書き込みアドレスになる。したがってデータａは、アドレス０に記憶される。優先情報及びデータが書き込まれた後の状態を図４（ａ）に示す。
【００１０】
次に、優先情報としてＢという値を持つｂというデータが入力されたときの動作を説明する。アドレス管理装置３には、Ｂという値が伝送され、優先情報が記憶されていない空いているカラムの最下方に記憶される。この場合、アドレス管理装置３には、既に１つの優先情報が書き込まれているので下から２カラム目の優先情報レジスタにＢという値が書き込まれる。Ｂというデータは、このカラムのアドレスポインタレジスタの値が示すアドレス、つまり、アドレス１に書き込まれる。優先情報及びデータが書き込まれた後の状態を図４（ｂ）に示す。
【００１１】
次に、優先情報としてＡという値を持つｃというデータが入力されたときの動作を説明する。アドレス管理装置３には、Ａという値が伝送され、優先情報が記憶されていない空いているユニットの最下方に記憶される。アドレス管理装置３には、既に２つの優先情報が書き込まれているので、下から３ユニットの優先情報レジスタにＡという値が書き込まれる。ｃというデータは、このユニットのアドレスポインタレジスタの値が示すアドレス、つまり、アドレス２に書き込まれる。優先情報及びデータが書き込まれた後の状態を図４（ｃ）に示す。
【００１２】
次に、読み出しアドレスを出力するときの動作を説明する。一例として、図４（ｃ）の状態から優先情報としてＢという値を持つデータを出力し、次に、優先情報としてＡという値を持つデータを出力し、その後、優先情報としてＡという値を持つデータを出力する場合の動作を説明する。図４（ｃ）の状態は、優先情報Ａでデータａのデータが最下方に優先情報Ｂでデータが下から２番目に、優先情報Ａでデータｃが下から３番目に書き込まれている状態である。データ出力の時は、同じ優先情報を持つデータで、最も古いデータが出力される。アドレス管理装置３内では、古い優先情報は、図中の下方に記憶されている。まず、優先情報Ｂのデータを出力する場合の動作について説明する。優先情報Ｂのデータを出力するときは、記憶されているデータの中でＢの情報を持つものは、アドレス管理装置３の下から２番目のユニットに記憶されているデータである。従って、アドレス管理装置３は、情報データ記憶装置２に対し、下から２番目のアドレスポインタの値１を伝送する。情報データ記憶装置２は、送られてきたアドレスに記憶されているデータｂを出力する。アドレス管理装置３では、出力されたデータに対応する優先情報は消去され、消去された優先情報より新しい優先情報が詰めれる。アドレスポインタは、優先情報と同様に出力されたアドレスポインタ以降のアドレスポインタの値が詰められ、最上部には、消去出力されたアドレスポインタの値が入力される。従って、優先情報Ｂのデータを出力した後では、アドレス管理３の内容は、図５（ａ）のように下から２番目にあった１という値が最上部のカラムに入力され、下から３番目にあった３という値が下から２番目のカラムに、下から４番目にあった４という値が下から３番目のカラムにというように順次変更される。
【００１３】
次に、優先情報Ａのデータを出力する場合の動作について説明する。優先情報Ｂのデータを出力したので、アドレス管理部３及び情報データ記憶部２の内容は、図５（ａ）のようになっている。つまり、最下部に優先情報Ａ（対応するデータはａ）が蓄積されており、下から２番目に優先情報Ａ（対応するデータは、ｃ）が蓄積されている。この状態から優先情報Ａを持つデータを出力するときは、下方より上方に優先情報がＡであるカラムを検索する。この場合、優先情報がＡであるユニットは、最下ユニットと下から２番目のユニットであるが、より下方の優先情報つまり、より古い優先情報選択されるので、最下方のユニットが選択される。アドレス管理装置３から情報データ記憶装置２に対し、最下部のユニットのアドレスポインタの値すなわち０が伝送される。情報データ記憶装置２では、アドレス０に記憶されているデータａが出力される。優先情報は、出力したデータに対応したユニットの内容が消去され、そのユニットより上方にある優先情報が詰められる。アドレスポインタは、対応するユニット以降の内容が詰められ、対応するユニットの内容は、最上部に記憶される。従って、優先情報Ａのデータを出力した後でそれぞれの内容は、図５（ｂ）のように変更される。次に、優先情報Ａのデータを出力する場合の動作について説明する。アドレス管理部３及び情報データ記憶部２の内容は、図５（ｂ）のようになっている。この状態から優先情報Ａを持つデータを出力するときは、下方により上方に優先情報がＡであるユニットを検索する。この場合、最下部に優先情報Ａのユニットがあり、このユニットが選択される。アドレス管理装置３から情報データ記憶装置２に対し、最下部のユニットのアドレスポインタの値すなわち２が伝送される。情報データ記憶装置２では、アドレス２に記憶されているデータｃが出力される。優先情報は、出力したデータに対応したユニットの内容が消去され、そのユニットより上方にある優先情報が詰められる。アドレスポインタは、対応するユニット以降の内容が詰められ、対応するユニットの内容は最上部に記憶される。したがって、優先情報Ａのデータを出力した後でそれぞれの内容は、図５（ｃ）のように変更される。  次に、優先情報レジスタの構成について説明する。優先情報レジスタの構成を図６に示す。各優先情報レジスタ６−１，…６−Ｎは、図７に示されるＭ個分の優先情報レジスタユニット６ａ，…６ｍを並べたものである。優先情報の種類をＮｐとすると、優先情報を識別するために必要な情報は、Ｎｐ＋１である。ここで、１は、データの有無を識別するためである。従って、優先情報レジスタのレジスタ長は、ｌｏｇ２  （Ｎｐ＋１）ビット以上必要である。優先情報をエンコードし、ｌｏｇ２  （Ｎｐ＋１）ビットした場合の例を以下に示す。この場合、図中の６Ｍの値は、ｌｏｇ２  （Ｎｐ＋１）である。例えば、優先情報の種類が、Ａ，Ｂ，Ｃの３種類であった場合について説明する。この場合優先情報がＡであること、優先情報がＢであること、優先情報がＣであること、データが存在することの４つを識別するために、２ビット必要になる。エンコーディングの方法は、例えば、Ａ：０１，Ｂ：１０，Ｃ：１１，データの有無：００の���うにエンコーディングする。このようにデータの有無を識別するのに全ビット０を割り当てると、データの有無を検出する回路が簡単になるという利点がある。この場合、データの有無を検出するために論理和回路を用いればよい。また、優先情報をエンコーディングせずに、Ｎｐ＋１ビットのレジスタを用いる方法もある。この場合図６中のＭは、Ｎｐ＋１である。例えば、優先情報の種類が、Ａ，Ｂ，Ｃの３種類であった場合、４ビットのレジスタを用いる。この方法の場合Ａを識別するために１ビット、Ｂを識別するために１ビット、Ｃを識別するために１ビット、データの有無を識別するために１ビットを使用する。左から１番目のビットに、左から２番目のビットにＢ、左から３番目のビットにＣ、一番右のビットにデータの有無を割り当て、それらが記憶されているときに１を割り当て、それらが記憶されていないときに０を割り当てた場合、優先情報がＡであることを示すビットパターンは、１００１、優先情報がＢであることを示すビットパターンは０１０１、優先情報がＣであることを示すビットパターンは００１１、データが無いことを示すビットパターンは、００００となる。この方法の場合、データがある場合は、必ずどこかの左から３ビットまでに１であるビットがあるので、データの有無を示すビットを省略することが可能である。データの有無を示すビットを省略した場合、図６中のＭの値は、Ｎｐである。データの有無の検出は、各ビットの論理和を計算することで得られる。論理和が１の場合は、データが存在し、０の場合は存在しないことが検出できる。データの有無を示すビットを用いた場合、データの有無を検出するための回路が不要になり、また、検出のための処理時間を省くことができるという利点がある。データの有無を示すビットを用いなかった場合は、データの有無を示すためのレジスタが不要になり、ハード規模を小さくすることができるという利点がある。また、優先情報をエンコードした場合、優先情報を記憶するレジスタ長を短くできるという利点がある。優先情報をエンコードしなかった場合は、１つのデータに対し複数の優先情報を割り当てることができるという利点がある。優先情報レジスタユニットは、図７に示されるように、セレクタ１０とフィリップフロップ１１で構成されている。セレクタ１０は、カラム制御装置からの指示に従って、入力バスカらの信号と隣接する優先情報レジスタからの信号の切り替えを行う。フリップフロップ１１は、カラム制御装置からの指示に従って、セレクタによって切り替えられた信号を記憶する。データ入力のときは、セレクタは、入力バスからの信号を出力するように指示される。また、フリップフロップの書き込み信号は、自ユニットより以前（図２において下方）の優先情報レジスタにデータが書き込まれて、自ユニットに書き込まれていないときに書き込み許可が出される。データ出力のときは、セレクタは隣接するユニット（図２において上方のユニット）の優先情報レジスタからの信号を出力するように指示される。フリップフロップの書き込み信号は、自ユニットより以前（図２において下方）のユニットまたはユニットが検出されたときに書き込み許可が出される。
【００１４】
次に、アドレスポインタレジスタの構成について、説明する。アドレスポインタレジスタの構成を図８に示す。アドレスポインタレジスタは、図９に示されるＬ個分の各アドレスポインタレジスタユニット８ａ，…８ｌを並べたものである。情報データ記憶装置２のアドレス空間の大きさをＮとするとＬの値は、ｌｏｇ２  Ｎである。アドレスポインタレジスタユニット８ａ，…８ｌはアドレスの値を記憶するフリップフロップ１２と、アドレスの値をアドレスポインタ出力バスへ出力する制御を行うトラステートバッファ１３で構成される。フリップフロップ１２への書き込み及びトランステートバッファ１３の出力制御は、カラム制御装置によって行われる。フリップフロップ１２への書き込みは、データ出力時に、自ユニット以前（自ユニットを含む）のユニット検索されたときに行われる。トライステートバッファ１３の出力許可は、データ入力時及びデータ出力時に、自カラムが検索されたときに行われる。
【００１５】
次に、各カラム制御装置７−１，…７−Ｎの構成を図１０に示す。各カラム制御装置７−１，…７−Ｎは、優先制御レジスタの優先情報と出力優先情報との比較を行う比較器１４と、自ユニットに対応するアドレスにデータが記憶されているかどうかを判定する有無判定器１５と、比較器１４、有無判定器１５、制御バス及び近隣ユニットから伝送される情報から優先制御レジスタとアドレスポインタレジスタの制御情報と隣接ユニットへの情報を生成する演算装置１６とで構成されている。有無判定器１５は、優先情報に前述したようなコーディングを用いれば、論理和回路で実現できる。ここで、演算回路の動作を説明する。データ入力時は、自ユニット以前のユニットに対応するアドレスにデータが記憶されていて、自ユニットに対応するアドレスにデータが記憶されていなかった場合、入力バスから優先情報レジスタに優先情報を書き込み、アドレスポインタレジスタの値をアドレスポインタ出力バスに出力する。データ出力時は、出力する優先情報の値と、優先情報レジスタに記憶されている優先情報の値を比較し、一致した場合で、且つ自ユニット以前に検出されていないときにアドレスポインタレジスタに記憶されている値をアドレスポインタ出力バスに出力する。また、自ユニット以前（自ユニットを含む）に検出された場合は、アドレスポインタレジスタ及び優先情報レジスタ及び優先情報レジスタのシフト動作を行う。これらの動作を実現するためのカラム制御装置の詳細な構成の例を図１１に示す。図中においてＰＲＷＥは、優先情報レジスタの書き込み許可信号、ＰＲＳＬは、優先情報レジスタの入力切り替え信号、ＰＲＯは、優先情報レジスタの値、ＡＰＷＥは、アドレスポインタレジスタの書き込み許可信号、ＡＰＯＥは、アドレスポインタレジスタの出力許可信号、ＰＲＩは、出力する優先情報の値、ＯＭは、出力モードであることを示す信号、ＩＭは入力モードであることを示す信号、ＥＸＩは、下方のカラムに対応するアドレスにデータが記憶されていることを示す信号、ＥＸＯは、自ユニットに対応するアドレスにデータが記憶されていることを示す信号、ＦＤＩ、は自ユニットより前に出力する優先情報が検出されたことを示す信号、ＦＤＤは、自ユニット以前に出力する優先情報が検出されたことを示す信号、ＥＱは、自ユニットの優先情報と出力する優先情報が一致したことを示す信号である。
【００１６】
【発明の効果】
以上詳述したきたように、本発明を用いれば、情報データ全てをシフトさせずに、優先情報に基づいて、情報データの制御を実現でき、情報データをシフトするために消費される消費電力を大幅に削減することが可能となる。
【図面の簡単な説明】
【図１】実施例を示す図。
【図２】アドレス管理装置の構成を示す図。
【図３】動作の例（初期状態）を示す図。
【図４】動作の例（書き込み）を示す図。
【図５】動作の例（読みだし）を示す図。
【図６】優先情報レジスタの構成を示す図。
【図７】優先情報レジスタユニットの構成を示す図。
【図８】アドレスポインタレジスタの構成を示す図。
【図９】アドレスポインタレジスタユニットの構成を示す図。
【図１０】カラム制御装置の構成を示す図。
【図１１】カラム制御装置の構成を示す図。
【図１２】従来例を示す図。
【符号の説明】
１…優先情報抽出装置
２…情報データ記憶装置
３…アドレス管理装置
【図１】
0003565906.tif 000002
【図２】
0003565906.tif 000003
【図３】
0003565906.tif 000004
【図４】
0003565906.tif 000005
【図５】
0003565906.tif 000006
【図６】
0003565906.tif 000007
【図７】
0003565906.tif 000008
【図８】
0003565906.tif 000009
【図９】
0003565906.tif 000010
【図１０】
0003565906.tif 000011
【図１１】
0003565906.tif 000012
【図１２】
0003565906.tif 000013