(57)【特許請求の範囲】
【請求項１】
書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含むメモリ装置であって、
前記レート制御手段は、
データ量に関連して高いレベルと低いレベルの少なくとも２つの異なるレベルに設定されたしきい値を与えるためのしきい値保持手段と、
前記データ量指示信号と前記しきい値とを比較する比較手段と、
前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御信号発生手段と、
前記しきい値保持手段により与えられ、前記比較手段により比較が行われるしきい値を、前記しきい値選択信号に応じて変更する手段と
を含み、
前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与え、
前記ステート・マシンは、受け取った前記状態遷移信号に応じて状態を、
（１）初期状態
（２）前記低いレベルに設定されたしきい値を超え、かつ、前記高いレベルに設定されるしきい値を超えていない状態
（３）前記高いレベルに設定されたしきい値を超えた状態
（４）前記低いレベルに設定されたしきい値を下まわった状態
のいずれかに遷移させ、
さらに、該遷移した状態に対応したしきい値選択信号を発生するゲート手段とを備える
メモリ装置。
【請求項２】
前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含む
請求項１に記載のメモリ装置。
【請求項３】
前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる
請求項１または２のいずれか１項に記載のメモリ装置。
【請求項４】
前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しない
請求項１〜３のいずれか１項に記載のメモリ装置。
【請求項５】
前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、かつ前記メモリ装置は、ファーストイン・ファーストアウト方式で駆動されるメモリである
請求項１〜４のいずれか１項に記載のメモリ装置。
【請求項６】
メモリ装置においてデータ保持量を制御するための制御方式であって、該制御方式は、
データ量に関連して高いレベルと低いレベルの少なくとも２つの異なるレベルに設定されたしきい値を与えるためのしきい値を保持させるステップと、
前記メモリ装置に保持されたデータ量に関連したデータ量指示信号を生成するステップと、
前記データ量指示信号と、前記しきい値とを比較手段によって比較するステップと、
前記比較手段の出力に関連して少なくともデータ書込みレートを制御するための前記レート制御信号およびしきい値選択信号を発生させるレート制御信号発生ステップと、
前記しきい値保持手段により与えられ、前記比較ステップにおいて比較が行われるしきい値を、前記しきい値選択信号応じて変更するステップと
を含み、
前記レート制御信号発生ステップは、前記比較手段の出力に対応して前記レート制御信号を発生させるステップと、前記レート制御信号と同期した状態遷移信号を与えることによってステート・マシンの状態を、
（１）初期状態
（２）前記低いレベルに設定されたしきい値を超え、かつ、前記高いレベルに設定されるしきい値を超えていない状態
（３）前記高いレベルに設定されたしきい値を超えた状態
（４）前記低いレベルに設定されたしきい値を下まわった状態
のいずれかに遷移させるステップと、
該遷移した状態に対応したしきい値選択信号を発生するステップと
を含むメモリ装置の制御方式。
【請求項７】
前記レート制御信号発生ステップは、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成するステップとを含む
請求項６に記載の制御方式。
【請求項８】
前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させるステップを含む
請求項６または７のいずれか１項に記載の制御方式。
【請求項９】
前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生させないステップを含む
請求項６〜８のいずれか１項に記載の制御方式。
【請求項１０】
前記レート制御信号発生ステップは、データ書込レートを制御するための割込み信号またはレジスタ・フラグを発生させるステップを含み、前記メモリ装置を、ファーストイン・ファーストアウト方式で動作させるステップを含む
請求項６〜９のいずれか１項に記載の制御方式。
【請求項１１】
書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含む先入れ・先出しメモリ装置を含む半導体装置であって、
前記レート制御手段は、
データ量に関連して高いレベルと低いレベルの少なくとも２つの異なるレベルに設定されたしきい値を与えるためのしきい値保持手段と、
前記データ量指示信号と、前記しきい値とを比較する比較手段と、
前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御信号発生手段と、
前記しきい値保持手段により与えられるしきい値を、前記しきい値選択信号に応じて変更する手段と
を含み、
前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与え、
前記ステート・マシンは、受け取った前記状態遷移信号に応じて状態を、
（１）初期状態
（２）前記低いレベルに設定されたしきい値を超え、かつ、前記高いレベルに設定されるしきい値を超えていない状態
（３）前記高いレベルに設定されたしきい値を超えた状態
（４）前記低いレベルに設定されたしきい値を下まわった状態
のいずれかに遷移させ、
さらに、該遷移した状態に対応したしきい値選択信号を発生するゲート手段とを備える
半導体装置。
【請求項１２】
前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されたしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含む
請求項１１に記載の半導体装置。
【請求項１３】
前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる
請求項１１または１２のいずれか１項に記載の半導体装置。
【請求項１４】
前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しない
請求項１１〜１３のいずれか１項に記載の半導体装置。
【請求項１５】
前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、前記メモリ装置は、ファーストイン・ファーストアウト方式で動作される
請求項１１〜１４のいずれか１項に記載の半導体装置。
【請求項１６】
請求項１〜５のいずれか１項に記載のメモリ装置を含んで構成される情報処理装置。
【請求項１７】
請求項１１〜１５のいずれか１項に記載の半導体装置を含んで構成される情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファーストイン・ファーストアウト型のメモリいわゆるＦＩＦＯメモリに関し、より詳細には所定のしきい値の範囲でデータ保有量が変動する際に発生する中央処理装置（ＣＰＵ）に対する割込みを低減させることにより、ＦＩＦＯメモリを介するデータ転送の効率化を可能とする、メモリ装置、該メモリ装置の制御方法および半導体装置、並びに情報処理装置に関する。
【０００２】
【従来の技術】
ＦＩＦＯメモリを利用したデータ転送システムは、これまで広く知られており、データの書込み速度が読出し速度を上回っている場合には、充分な容量のメモリを使用する制御方式が知られている。この制御方式では、ＦＩＦＯメモリ容量の約半分の値にしきい値を設定して、ＦＩＦＯメモリ内のデータ量が減少したら次のデータの書込みを始めることにより、ＦＩＦＯメモリ内のデータ量が制御されている。
【０００３】
図１１には、上述した従来のＦＩＦＯメモリにおけるデータ量の変動の状態を示す。図１１においては、縦軸にデータ量を示し、横軸に書込み・読出しに関連する時間を用いて、ＦＩＦＯメモリ内におけるデータ量の時間的な変化が示されている。また、図中、Ｔｈが設定されたしきい値であり、ＩＮＴＲで示されたポイントにおいてＣＰＵに対して割込みがかけられ、データ量の制御が実行される。図１１（ａ）は、読出しを中断することが不可能なシステムにおいて、書込みレートが読出しレートよりも著しく速い場合（書込みレート＞＞読出しレート）におけるデータ量の変化を示す。
【０００４】
図１１（ａ）に示されるように読出しが進行すると、しきい値以上に蓄積されていたデータが減少して行き、しきい値を下回る。しきい値と交差するポイントにおいて、ＣＰＵに対して割込みが行われ、書込み動作が開始され、データ量がしきい値を超えて増加することになる。ＦＩＦＯメモリが満たされると、ＣＰＵに対して割込みをかけるといった適切な方法により書込みが停止されるなど、データ書込みレートの制御が行われ、蓄積されたデータが読出されて、ＦＩＦＯメモリ内のデータ量が減少して行く。上述した書込み・読出しサイクルが繰り返されることで、上述したメモリ内におけるデータ量の制御が繰り返されることになる。
【０００５】
図１１（ｂ）は、書込みレートが、読出しレートよりもある程度速い（書込み＞読出し）場合のデータ量の変化を示した図である。図１１（ａ）において説明したように読出しが進行するとデータ量が減少して行き、しきい値を下回ると割込み信号ＩＮＴＲが生成され、ＣＰＵに対して割込みが実行される。その後、書込み動作が開始され、再びデータが蓄積されて行く。この場合には、書込みレートが読出しレートに対してある程度大きい場合なので、ＦＩＦＯメモリ内のデータ量の増加レートは、図１１（ａ）に示す場合よりも小さくなっているのが示されている。
【０００６】
図１１（ｃ）は、書込みレートと読出しレートとがほぼ同等な場合の従来例を示している。この場合には、一度データ量が減少すると、しきい値付近において図１１（ｂ）で示されるよりもさらにゆっくりとデータ量が増加することが示されている。
【０００７】
図１２は、読出しと、書込みとが連続して交互に実行することが可能なシステムにおけるＦＩＦＯメモリ内のデータ量を示した図である。図１２に示されるように、書込みと読出しとが交互に行われる場合には、ＦＩＦＯメモリ内のデータ量は、交互に繰り返される書込み動作および読出し動作に応じて、周期的にしきい値Ｔｈを往復するようデータが増減する。
【０００８】
ＦＩＦＯメモリを使用するシステムは、平均的には書込みと、読出しとが、書込みレート＞読出しレートの条件で交互に実行されることを前提とする。またＦＩＦＯメモリは、書込み側と、読出し側との非同期データ転送における不都合を緩衝することである。このため、読出しと書込みとが双方とも速く、データの書込みレートと読出しレートとが互いに同程度のレートで実行される高速システムにおいては、図１３に示されるようにデータ量の増減が頻繁に発生し、割込みが頻繁に発生することになる。
【０００９】
このため、上述したデータの書込み・読出しが同時並行的に実行される高速システムにおいては、頻繁にしきい値の横断が発生することとなる。したがって、図１３に示されるような状況での書込み動作および読出し動作は、ＣＰＵに対する割込みを頻繁に発生させることとなり、データの転送を必要とするシステムにおいて、ＦＩＦＯメモリを介したデータ転送効率が低下し、ひいてはシステム・パフォーマンスが低下するという不都合があった。
【００１０】
上述した不都合を解決するべくこれまで検討が行われており、例えば特開平６−１１０６５３号公報においては、設定可能なしきい値を設定し、このしきい値によりメモリ容量を判定するシステムおよび制御方法が開示されている。しかしながら、特開平６−１１０６５３号公報に記載されたシステムは、処理判断に要する時間が必要とされる。このため、ＦＩＦＯメモリのデータ転送において書込みと読出しとが同時並行的に実行され、データ量が図１３に示されるように比較的短い周期で発生する場合には、高速のデータの増減に対応することができないという不都合があった。
【００１１】
さらに、特開平１１−６５８１７号公報においては、同時並行的に実行される読出しおよび書込みに対応するべく、書込みポートおよび読出しポートを監視するシステムが提案されている。特開平１１−６５８１７号公報において提案されたシステムは、書込み量または読出し量が一定量になったときに割込みを発生させる制御方式を使用するものである。しかしながら、特開平１１−６５８１７号公報において開示された制御方式においてもデータがしきい値付近を頻繁に往復する場合には、ＣＰＵへの割込みが頻繁に発生してしまうことになり、高速のデータ転送を可能とし、システム・パーフォマンスをより高めるという点では充分なものではなかった。
【００１２】
【発明が解決しようとする課題】
本発明は、従来の上述した課題を解決し、ＦＩＦＯメモリ内のデータ量を厳密に知ることを必要とせず、また書込みポートまたは読出しポートに対して監視手段を設けること無しに、ＣＰＵの割込みを減少させることでＦＩＦＯメモリを使用するデータ転送効率を向上させるものである。本発明はさらに、ＣＰＵに対して頻繁に割込みを実行させることによるシステム・パーフォマンスを低下させることのないＦＩＦＯメモリ、ＦＩＦＯメモリの制御方式、および半導体装置、並びに情報処理装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、ＦＩＦＯメモリを介したデータ転送において、データの書込み動作と読出し動作とが実行されて、しきい値を横断してデータが増減することに対応して発生するＣＰＵへの割込みを、データ量がしきい値を通過して増減する際の履歴を用いて制御することにより、データ転送効率を向上させるものである。本発明により達成されるデータ転送効率の向上により、ＦＩＦＯメモリを介したデータ転送に基づくシステム・パフォーマンスの低下を防止し、ひいてはシステム・パフォーマンスを向上することを可能とする。
【００１４】
本発明の上述した課題は、本発明のメモリ装置、該メモリ装置の制御方式および半導体装置、並びに情報処理装置を提供することにより解決される。
【００１５】
すなわち、本発明によれば、書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含むメモリ装置であって、
前記レート制御手段は、
データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、
前記データ量指示信号と前記しきい値とを比較する比較手段と、
前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、
前記しきい値保持手段により与えられ、前記選択手段により比較が行われるしきい値を、前記しきい値選択信号に応じて変更する手段と
を含むメモリ装置が提供できる。
【００１６】
本発明のメモリ装置においては、前記しきい値は、前記データ量に関連して少なくとも２つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値を選択信号を生成させる手段を含むことができる。また、本発明のメモリ装置においては、前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与えることができる。
【００１７】
本発明のメモリ装置においては、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる。本発明のメモリ装置においては、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しないことが望ましい。本発明のメモリ装置においては、前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、かつ前記メモリ装置は、ファーストイン・ファーストアウト方式で駆動されるメモリであるとされることが好ましい。
【００１８】
また、本発明によれば、メモリ装置においてデータ保持量を制御するための制御方式であって、該制御方式は、
データ量に関連する複数のしきい値を与えるためのしきい値を保持させるステップと、
前記メモリ装置に保持されたデータ量に関連したデータ量指示信号を生成するステップと、
前記データ量指示信号と、前記しきい値とを比較するステップと、
前記比較手段の出力に関連して少なくともデータ書込みレートを制御するための前記レート制御信号およびしきい値選択信号を発生させるステップと、
前記しきい値保持手段により与えられ、前記比較ステップにおいて比較が行われるしきい値を、前記しきい値選択信号応じて変更するステップと
を含むメモリ装置の制御方式が提供される。
【００１９】
本発明の制御方式においては、前記しきい値は、前記データ量に関連して少なくとも２つの異なるレベルに設定され、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成するステップを含むことが好ましい。本発明の制御方式においては、前記レート制御信号発生ステップは、前記比較ステップに対応して前記レート制御信号を発生させるステップと、前記レート制御信号と同期した状態遷移信号を与えるステップとを含むことができる。
【００２０】
本発明の制御方式においては、前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させるステップを含むことができる。本発明の制御方式においては、前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生させないステップを含むことができる。本発明の制御方式においては、前記レート制御信号発生ステップは、データ書込レートを制御するための割込み信号またはレジスタ・フラグを発生させるステップを含み、前記メモリ装置を、ファーストイン・ファーストアウト方式で動作させるステップを含むことができる。
【００２１】
さらに、本発明によれば、書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含む先入れ・先出しメモリ装置を含む半導体装置であって、
前記レート制御手段は、
データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、
前記データ量指示信号と、前記しきい値とを比較する比較手段と、
前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、
前記しきい値保持手段により与えられるしきい値を、前記しきい値選択信号に応じて変更する手段と
を含む半導体装置が提供される。
【００２２】
本発明の半導体装置は、前記しきい値は、前記データ量に関連して少なくとも２つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されたしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含むことができる。本発明の半導体装置は、前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与えることが好ましい。
【００２３】
本発明の半導体装置は、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させることができる。本発明の半導体装置は、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しないことが好ましい。本発明の半導体装置は、前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、前記メモリ装置は、ファーストイン・ファーストアウト方式で動作されることが好ましい。また、本発明によれば、上述したメモリ装置または半導体装置を含んで構成される情報処理装置が提供される。
【００２４】
【発明の実施の形態】
以下、本発明を図面に示した特定の実施の形態をもって説明するが、本発明は、後述する特定の実施の形態に制限されるものではない。
【００２５】
図１は、本発明のＦＩＦＯメモリの構成を示した概略図である。図１に示した本発明の特定の実施の形態においては、メモリ装置がＦＩＦＯメモリとして構成されるものとして説明する。図１に示されたＦＩＦＯメモリは、データ書込みを要求する図示しない装置と、データをファーストイン・ファーストアウト方式において書込み・読出しを行わせるための調停手段として使用される、リード・アドレス・ポインタ１０およびライト・アドレス・ポインタ１２と、書込まれたデータを保持するための記憶手段として使用されるＲＡＭ１４とを含んで構成されている。
【００２６】
また、図１に示されたＦＩＦＯメモリは、ＲＡＭ１４に蓄積されたデータ量を指示するためのデータ量指示手段として使用されるディップスティック１６を含んで構成されているのが示されている。書込みの行われるデータは、リード・アドレス・ポインタ１０により指定されるキューに対応してＲＡＭ１４へと記憶され、また、ライト・アドレス・ポインタ１２により指定されるキューに対応してＲＡＭ１４からの読出しが行われる構成とされている。
【００２７】
ディップスティック１６は、ＲＡＭ１４内のデータ量を指示するものであり、書込み指令があると、ディップスティック１６内に含まれるカウンタが１カウントの加算を行い、読出し指令があると、カウンタから１カウントの減算を行うことにより、ＲＡＭ１４内に蓄積されたデータの量を指示することができるようにされている。ディップスティック１６の出力は、リード・アドレス・ポインタ１０およびライト・アドレス・ポインタ１２に戻され、ディップスティック１６内のデータ量に関連して書込み動作および読出し動作を制御する構成とされている。
【００２８】
ディップスティック１６の出力Ｄｏは、本発明のＦＩＦＯメモリの制御方式を実施するための要素を含んで構成されたレート制御手段へと送られている。図１を使用して本発明において説明する特定の実施の形態においては上述したレート制御手段は、ＣＰＵに対する割込み信号を発生するための割込み制御部１８として実装されている。しかしながら、本発明においてレジスタを介して書込み・読出し動作を実行させる実施の形態も採用することができ、この場合には、レート制御手段は、適切にレジスタに対して割込みを行うことを可能とするレジスタ・フラグを発生させることもできる。
【００２９】
ディップスティック１６の出力Ｄｏは、割込み制御部１８へと入力されて、ＲＡＭ１４内に蓄積されたデータ量に関連して、本発明のＦＩＦＯメモリの制御方式を実行する。
【００３０】
図１に示された割込み制御部１８は、本発明の実施の形態においては、データ量との関連で生成されたレート制御信号として使用される割込み信号ＩＮＴＲを与え、ＣＰＵに対して適切なレートで割込みを可能とする構成とされている。本発明においては、割込み制御部１８からの出力を直接ＣＰＵに入力することもできる。また、本発明においては、上述したレジスタ・フラグを発生させるというように、適切な手段に対して割込み制御部１８からの割込み信号ＩＮＴＲを入力させ、この入力対応して適切な信号を発生させる構成を採用することもできる。
【００３１】
また、本発明は、図１に示した割込み制御部１８と同等の機能を与える要素を含んで構成される限り、図１に示すように調停手段と、記憶手段と、レート制御手段といった各制御要素を一体として含む半導体ユニットとして構成することもできる。また、本発明においては、上述した制御を行うための各要素を、それぞれ本発明の制御方式を実行させるように、プリント配線板といった配線要素上に実装するなど、いかなる構成として実装することができる。
【００３２】
図２（ａ）は、本発明のメモリ装置の制御方式を実行する図１に概略的に示した割込み制御部１８の詳細構成を示した図である。図２（ａ）に示された本発明の割込み制御を実行する割込み制御部１８は、ディップスティック１６の出力Ｄｏが入力される比較手段２０として用いられるコンパレータと、コンパレータといった比較手段２０の出力を受け取って、レート制御信号として用いられる割込み信号ＩＮＴＲを発生する割込み発生手段２２とを含んで構成されている。
【００３３】
本発明においては、少なくとも２つのしきい値をＦＩＦＯメモリ内のデータ量に関連して使用することが好ましい。本発明において用いるしきい値として、具体的には、しきい値ＴＬＨと、しきい値ＴＨＬとを含む２つのしきい値を使用する実施の形態について、以下に詳細な説明を行う。本発明において使用されるしきい値の数には特に制限はないが、少なくとも２つのしきい値レベルが設定されていれば、本発明の原理に従う制御方式を実行することができる。
【００３４】
上述した２つのしきい値の相対的な関係について説明すると、上述した２つのしきい値のうち、しきい値ＴＨＬは、ＲＡＭ１４内におけるデータ量がしきい値ＴＬＨよりも小さい値として設定される。しきい値ＴＬＨは、しきい値ＴＨＬよりも大きく、ＲＡＭ１４のデータ容量の上限よりも小さい値の間で適宜設定することができる値から選択することができる。また、しきい値ＴＨＬは、上述したしきい値ＴＬＨとの関係を満足する範囲内で任意に設定することができる値から選択することができる。なお、図２（ｂ）には、ＦＩＦＯメモリのデータ容量に関連して設定される上述した２つのしきい値ＴＬＨおよびＴＨＬの概略的な関係を示す。
【００３５】
再度図２（ａ）の構成について説明すると、図２（ａ）に示されるように、しきい値ＴＬＨおよびしきい値ＴＨＬは、それぞれレジスタ２４およびレジスタ２６により設定されている。これらのしきい値ＴＬＨ、ＴＨＬは、マルチプレクサ２８を介して比較手段２０へと入力されて、比較手段２０によりディップスティック１６の出力Ｄｏと比較が行われる。また、図２（ａ）に示されるように、マルチプレクサ２８には、割込み発生手段２２により発生される割込み信号ＩＮＴＲに関連して発生されるしきい値選択信号ＳＥＬＴが入力されている。このしきい値選択信号ＳＥＬＴは、しきい値ＴＬＨまたはしきい値ＴＨＬを選択して、比較手段２０に入力するために使用される。
【００３６】
図３は、図２において説明した割込み発生手段２２の構成要素を示した概略図である。比較手段２０の出力は、エッジ検出部３０に入力され、比較手段２０からの信号のエッジを検出すると、割込み信号ＩＮＴＲを発生する構成とされている。また、状態遷移信号ＴＲＳは、割込み信号ＩＮＴＲと同期して生成される。この状態遷移信号ＴＲＳは、ステート・マシン３２へと入力され、ステート・マシン３２の状態を遷移させる。ステート・マシン３２は、状態遷移信号ＴＲＳの入力に対応して、比較手段２０に入力されたしきい値ＴＬＨまたはしきい値ＴＨＬといったしきい値に関連して、比較手段２０へと入力されるべき新たなしきい値ＴＬＨ、またはＴＨＬといったしきい値を選択させるためのしきい値選択信号ＳＥＬＴを発生させる。しきい値選択信号ＳＥＬＴは、図３に示されるように信号線Ａおよび信号線Ｂで示されるラインにより与えられる信号として与えられている。
【００３７】
図４は、図３に示したエッジ検出部の詳細な構成を示した図である。比較手段２０からの出力は、第１のフリップフロップ素子３４に入力され、クロック信号ＣＬＫと同期される。次いで、第１のフリップフロップ素子３４の出力は、第２のフリップフロップ３６へと入力される。第１のフリップフロップ素子３４の出力と第２のフリップフロップ素子３６の出力をインバータにより反転させた出力とは、ＡＮＤゲート３８へと入力され、比較手段２０の出力のエッジに対応して割込み信号ＩＮＴＲおよび状態遷移信号ＴＲＳを発生させる。図４では、状態遷移信号ＴＲＳは、割込み信号ＩＮＴＲから直接分岐されているのが示されているが、本発明においては、割込み信号ＩＮＴＲと同期して状態遷移信号ＴＲＳが与えられる構成であれば、いかなる構成でも用いることができる。
【００３８】
図５は、図３に示したステート・マシン３２の実施の形態の詳細構成を示した図である。本発明において使用される図５に示したステート・マシンは、複数のＯＲゲートと、複数のＮＡＮＤゲートと、同期を行うための複数のフリップフロップ素子とを含んで構成されている。図５に示したステート・マシンは、図４に示したエッジ検出部３０からの状態遷移信号ＴＲＳを受け取ってその状態を遷移させ、出力Ａおよび出力Ｂをしきい値ＴＬＨ、またはしきい値ＴＨＬを選択する信号として生成する。表１には、図５に示したステート・マシン３２の出力Ａおよび出力Ｂの信号の状態と、しきい値ＴＬＨおよびしきい値ＴＨＬに関連するデータ量との関連を示す。
【００３９】
【表１】
0003790697.tif 000002
【００４０】
上記表中、数値「１」は、真を示し、数値「０」は、偽を表す。本発明において説明する特定の実施の形態においては、「真」は、Ｈ（ハイ）、「偽」は、Ｌ（ロー）に対応するが、上述した制御を行うことができる限り、いかなる回路構成をもって表１に相当する判断を実行させることもできる。図５に示したステート・マシン３２の出力は、上述したように本発明のＦＩＦＯメモリに含まれるマルチプレクサ２８へと入力され、マルチプレクサ２８は、ディップスティック１６からの出力Ｄｏの比較とされるしきい値ＴＬＨ、またはしきい値ＴＨＬを選択し、比較手段２０へと入力させている。
【００４１】
図６には、ステート・マシン３２からマルチプレクサ２８への接続の実施の形態を示す。ステート・マシン３２からの出力Ａおよび出力Ｂは、ＡＮＤゲート４０を介してマルチプレクサ２８へと入力されている。また、マルチプレクサ２８には、レジスタ２４およびレジスタ２６からのしきい値ＴＬＨ、しきい値ＴＨＬに相当するデータが入力されていて、マルチプレクサ２８のｓｅｌｅｃｔ端子への入力に応じて、しきい値ＴＬＨ、ＴＨＬを選択する。表２には、ステート・マシン３２の出力Ａ、出力Ｂの状態と、ｓｅｌｅｃｔ端子への入力信号の状態と、比較手段２０へと入力されるしきい値の種別をまとめて示す。
【００４２】
【表２】
0003790697.tif 000003
表２中に示された「０」、「１」の数の意味は、表１において説明したと同様である。
【００４３】
図７は、上述した出力に対応して、ＦＩＦＯメモリにおけるデータ量の変化状態を説明した図である。図７においては、表２にしたがって制御されるＦＩＦＯメモリ内のデータ量を、それぞれのデータ量に対応する状態を符号１〜８と対応させて示されている。図７に示されるように、ＦＩＦＯメモリ内にデータが蓄積されていない状態１を、本発明においては初期状態とし、データの書込みが進行するにつれ状態２へとデータ量が増加して行く。
【００４４】
さらに、データが書込まれてデータ量が、しきい値ＴＬＨに等しくなった状態が、状態３として示されている。この状態３となった時点で、比較手段２０に入力されるしきい値は、ステート・マシン３２により発生されるしきい値選択信号に基づいてＴＬＨからＴＨＬへと変更される。この段階で、ＣＰＵに対してデータ書込みレートを減少させるか、または中断させ、それに対応したリソースを他に振り分けるなどの処理を実行させ、ＦＩＦＯメモリ内のデータ量を減少させる。
【００４５】
しかしながら、しきい値ＴＬＨを超えた後もシステム設定に応じた分だけＦＩＦＯメモリに対してさらにデータの書込みが行われることになるので、データ量がしきい値ＴＬＨを超え、状態４で示されるデータ量となり、ＦＩＦＯメモリのデータ容量の上限へと接近して行く。
【００４６】
その後データ量は、順次減少して行き、状態５で示されるデータ蓄積状態となる。さらにその後、データ量は、しきい値ＴＨＬに等しくなるまで減少を続ける。この状態が、状態６で示されている。この時点で、比較手段２０は、しきい値ＴＨＬと、ディップスティック１６からの出力信号Ｄｏとを比較して、比較手段２０の出力を、割込み制御部１８へと信号を送出する。この信号を受け取った割込み制御部１８においては、エッジ検出部３０が信号のエッジを検出し、割込み信号ＩＮＴＲを発生させて、ＣＰＵに対して割込みを実行する。
【００４７】
同様に、エッジ検出部３０では、割込み信号と同期した状態遷移信号ＴＲＳを生成し、この状態遷移信号ＴＲＳは、ステート・マシン３２へと入力され、比較手段２により使用されるしきい値をしきい値ＴＬＨに変更する。割込み信号ＩＮＴＲが生成されると、図７に示される状態１から連続するＦＩＦＯメモリ制御においては、ＣＰＵに対して割込みが実行され、例えば他のタスクよりも優先的にデータの書込みを実行させるか、またはバス調停回路などがシステムに含まれる場合には、データ書込みの順位を高めることによりデータ書込みレートを増加させることにより再度データ量を増加させるように制御が行われる。
【００４８】
上述したように、状態６において割込み信号ＩＮＴＲが発生された後、割込みを受けたＣＰＵは、適宜システム条件などに応じてデータの書込みレートを増加させることとなる。図７に示した特定の実施の形態においては、割込みを受けてから、データ書込みレートが増加するまでの時間の間にＦＩＦＯメモリ内のデータ量が状態８で示される初期状態までデータ量が減少する場合もことが示されている。
【００４９】
しかしながら、本発明においては、しきい値ＴＨＬを下回ってからいったん状態８で示される初期状態までデータ量を減少させることが必要とされるものではなく、割込み信号ＩＮＴＲがデータ書込みレートの増加に迅速に反映される場合には、状態７で示される状態までデータ量が減少した後、状態３〜状態７で示されるデータ量の状態でＦＩＦＯメモリにおけるデータ量を制御することができる。
【００５０】
また、本発明においては、表２で示されるようにデータ量がしきいＴＨＬに等しくなると同時に、比較手段２０に入力されるしきい値がＴＬＨへと切り替えられるため、次の書込みサイクルにおいて、例えば状態７から状態３へとデータ量がしきい値ＴＨＬを超える場合であっても比較手段２０は出力を生成しない。このため、次の書込み動作が開始されてしきい値ＴＨＬを超えてデータ量が増加する場合でも、少なくとも一度しきい値ＴＬＨを超えなければ、データ量がしきい値ＴＨＬを横断して増加しても割込み信号ＩＮＴＲは生成されない。すなわち、本発明においては、しきい値ＴＨＬで示されるデータ量付近でデータ量が増減した場合であっても、特に効率的にＣＰＵへの割込みが行われるレートを低減させることができ、システム・パフォーマンスが向上できることとなる。
【００５１】
図８には、上述したＦＩＦＯメモリ制御方式を実行させる際のステート・マシン３２の状態遷移図を示す。図８に示した状態遷移図は、状態ＡがＦＩＦＯメモリの初期状態であり、しきい値ＴＬＨが比較手段２０へと出力される状態である。また、状態Ｂが、データ量が一度しきい値ＴＬＨを超えて、しきい値ＴＨＬを比較手段２０へと出力する状態である。また、図８に示される状態Ｃが、データ量が減少、すなわち上から下へとしきい値ＴＨＬを横切って、割込み信号ＩＮＴＲが生成され、再びしきい値ＴＬＨが比較手段２０へと出力される状態に対応する。
【００５２】
図８に示した状態遷移図にしたがって本発明のＦＩＦＯメモリの制御方式を説明すると、まずＦＩＦＯメモリにデータが蓄積されていない初期状態からデータが書込まれるにつれ、ステート・マシン３２は状態Ａに留まる。この状態では、比較手段２０は、しきい値ＴＬＨを使用してディップスティック１６の出力Ｄｏと比較を行っている。
【００５３】
データ量が一度しきい値ＴＬＨを超えると、ステート・マシン３２が状態Ｂに遷移し、これに関連して、比較手段２０がディップスティック１６の出力Ｄｏとの比較に使用するしきい値がしきい値ＴＬＨからしきい値ＴＨＬへと切り換えられる。しきい値ＴＬＨをデータ量が超えた時点で、割込み信号ＩＮＴＲを発生させるといった適切な手段により、ＣＰＵに対してＦＩＦＯメモリ内のデータ量を減少させるように読出し・書込みレートを制御する。この上述した状態変化が、図８の矢線５で示した状態変化である。
【００５４】
また、ＦＩＦＯメモリ内のデータ量がさらに減少を続け、しきい値ＴＨＬを下まわると、しきい値ＴＨＬをデータ量が通過する際に割込み信号ＩＮＴＲが発生される。この割込み信号ＩＮＴＲは、ステート・マシン３２の状態をＣ状態へと遷移させ、さらにステート・マシン３２は、しきい値選択信号を発生させ、選択手段２０が比較のために使用するしきい値を、しきい値ＴＨＬからしきい値ＴＬＨへと変更する。
【００５５】
ステート・マシン３２の状態は、再びデータ量が矢線６で示した方向に沿ってしきい値ＴＬＨに達するまで保持され、しきい値ＴＬＨを超えた時点で再度状態Ｂへと遷移することになる。本発明において例えば図７で示した状態２から状態７までのデータ量の変化は、図８における矢線５と矢線６とで示されるＢ状態とＣ状態との間の状態遷移で示されることになる。
【００５６】
図８において、データ書込みが終了するか、またはデータ書込みレートがデータ読出しレートよりも著しく小さくなる場合には、ステート・マシン３２は、比較手段２０に入力されるしきい値をＴＬＨに保持したまま、矢線８で示されるように状態Ｃから状態Ａへと遷移して、図７において説明したＦＩＦＯメモリにおけるデータ量制御方式が終了する。
【００５７】
図９は、上述した本発明の一連の制御をフローチャートとして示した図である。図９に示されるように、本発明のＦＩＦＯ制御方式は、ステップＳ１から開始し、ステップＳ２において、しきい値がＴＬＨへと設定される。次いでステップＳ３においてデータ書込み・データ読出し動作が適宜に実行され、ＦＩＦＯメモリ内のデータ量が増加して行く。
【００５８】
ステップＳ４においては、ディップスティック１６の出力Ｄｏと、しきい値ＴＬＨとの比較が行われ、Ｄｏ＝ＴＬＨとなった場合（Ｙ）には、ステップＳ５に示されるように、しきい値Ｔｈ＝ＴＨＬとして設定する。また、それ以外の場合（Ｎ）には、ステップＳ３へと分岐し、さらに、データ書込み・データ読出しを実行させ、ディップスティック１６により指示されるデータ量が、ＴＬＨに等しくなったか否かの判断を繰り返す。上述した制御方式を用いることにより、一度しきい値ＴＬＨを超えなければ、予め設定されたしきい値ＴＬＨが保存されることになり、ＴＨＬにおけるＣＰＵへの割込み頻度を減少させることが可能となる。
【００５９】
ステップＳ５でしきい値ＴＨＬに設定した後、ステップＳ６においてデータ書込みレートを制御して、ＦＩＦＯメモリ内におけるデータ量を減少させ、データ量がＴＨＬとなった時点でステップＳ７に示されるように割込み信号ＩＮＴＲを発生させる。ステップＳ７の割込み信号ＩＮＴＲの発生と関連してしきい値ＴｈをＴＬＨへと再度設定し、データ書込みレートを制御してデータ量を増加させて行き、再度ステップＳ３〜ステップＳ８を繰り返して書込み・読出し動作を繰り返すことにより、データ転送速度を損なうことなく、ＦＩＦＯメモリ内のデータ量を制御することが可能となる。
【００６０】
図１０は、本発明のメモリ装置を含んで構成された情報処理装置の概略を示した概略図である。図１０に示された情報処理装置は、パーソナル・コンピュータ、ワークステーションなどとして構成することができ、中央処理装置（ＣＰＵ）４２と、このＣＰＵ４２に対してデータの書込み・読出しを実行するための本発明によるＦＩＦＯメモリ４４と、入出力装置４６、４８と、ＣＰＵ４２が必要とする他のデータを記憶させるためのメモリ５０とを含んで構成することができる。ＣＰＵ４２と、ＦＩＦＯメモリ４４と、入出力装置４６、４８といった要素は、バス・ライン５２を通じて相互接続されていて、必要に応じてデータ伝送を行う構成とされている。
【００６１】
図１０に示された情報処理装置においては、ＦＩＦＯメモリ４４には、入出力装置４６からデータの書込みがなされており、入出力装置４８がデータの読出しを行っている。図１０に示されたＦＩＦＯメモリ装置４４は、本発明の制御を実行するための割込み制御部１８が含まれていて、図８および図９示した制御を実行する構成とされている。このため、図１０に示した情報処理装置においては、書込みレートおよび読出しレートが近く、高速にデータ転送が行われる場合でも、ＣＰＵ４２に対して頻繁に割り込みが発生せず、ＦＩＦＯメモリ装置４４を介したデータ伝送効率が向上されている。また、図１０に示したＦＩＦＯメモリ４４は、プリント配線板といった配線要素上に各要素を配置して構成することもできるし、必要とされる各要素をマイクロリソグラフィーにより１チップに集積させた半導体装置として実装することができる。
【００６２】
これまで、本発明を図面に示した特定の実施の形態に基づいて説明を行ってきたが、本発明は、ＦＩＦＯメモリに対する書込み・読出しが同時に行われるシステムばかりではなく、ＦＩＦＯメモリに対する書込み・読出しが交互に実行されるシステムにおいても共に有効である。また、本発明のＦＩＦＯメモリは、マイクロリソグラフィー技術を使用して、上述した各要素が集積された半導体装置として実装することもできるし、上述した各要素それぞれを例えば、モジュールとしてプリント配線板上に実装することにより構成することもできる。また、本発明においては、上述した半導体装置またはモジュールを搭載した記憶装置として、ＣＰＵを含む情報処理装置の、例えばプリンタ用メモリ装置などに適用することができる。
【００６３】
上述したように、本発明は、ＦＩＦＯメモリにおいてデータの転送を制御するＣＰＵに対する割込み、またはレジスタ・フラグの生成される頻度を低下させ、情報処理システムのデータ転送の効率を向上させることを可能とする、ＦＩＦＯメモリ、ＦＩＦＯメモリの制御方式、および半導体装置を提供することができる。
【００６４】
また、本発明のＦＩＦＯメモリは、データ転送の効率を向上させることを通じて、ＣＰＵを含む情報処理システムのシステム・パフォーマンスを向上させることを可能とする。
【図面の簡単な説明】
【図１】  本発明のＦＩＦＯメモリの構成を示した概略図。
【図２】  本発明において割込み制御を実行する割込み制御部の構成およびＦＩＦＯメモリのデータ量に関連して設定されるしきい値を示した図。
【図３】  図２に示した割込み発生手段の構成要素を示した概略図。
【図４】  図３に示したエッジ検出部の詳細な構成を示した図。
【図５】  図３に示したステート・マシンの実施の形態の詳細構成を示した図。
【図６】  ステート・マシンからマルチプレクサへの接続の実施の形態を示した図。
【図７】  表２にしたがって制御されるＦＩＦＯメモリ内のデータ量を、それぞれのデータ量に対応する状態を符号１〜８と対応させて示した図。
【図８】  ＦＩＦＯメモリ制御方式を実行させる際のステート・マシンの状態遷移図。
【図９】  本発明の一連の制御をフローチャートとして示した図。
【図１０】本発明の情報処理装置の概略図。
【図１１】  従来のＦＩＦＯメモリにおけるデータ量の変動の状態を示した図。
【図１２】  従来のＦＩＦＯメモリにおけるデータ量の変動の状態を示した図。
【図１３】  従来のＦＩＦＯメモリにおけるデータ量の変動の状態を示した図。
【符号の説明】
１０…リード・アドレス・ポインタ
１２…ライト・アドレス・ポインタ
１４…ＲＡＭ
１６…ディップスティック
１８…割込み制御部
２０…比較手段
２２…割込み発生手段
２４…レジスタ
２６…レジスタ
２８…マルチプレクサ
３０…エッジ検出部
３２…ステート・マシン
３４…フリップフロップ素子
３６…フリップフロップ素子
３８…ＡＮＤゲート
４０…ＡＮＤゲート
４２…中央処理装置（ＣＰＵ）
４４…ＦＩＦＯメモリ
４６，４８…入出力（Ｉ／Ｏ）装置
５０…メモリ
５２…バス・ライン
【図１】
0003790697.tif 000004
【図２】
0003790697.tif 000005
【図３】
0003790697.tif 000006
【図４】
0003790697.tif 000007
【図５】
0003790697.tif 000008
【図６】
0003790697.tif 000009
【図７】
0003790697.tif 000010
【図８】
0003790697.tif 000011
【図９】
0003790697.tif 000012
【図１０】
0003790697.tif 000013
【図１１】
0003790697.tif 000014
【図１２】
0003790697.tif 000015
【図１３】
0003790697.tif 000016