トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 メモリ装置、該メモリ装置の制御方式、および半導体装置、並びに情報処理装置
【発明者】 【氏名】池田 崇
【住所又は居所】神奈川県大和市下鶴間1623番地14 日本アイ・ビー・エム株式会社 大和事業所内

【要約】 【課題】CPUに対して頻繁に割込みを実行させることによるシステム・パーフォマンスを低下させることのないFIFOメモリ、FIFOメモリの制御方式、および半導体装置、並びに情報処理装置を提供する。

【解決手段】本発明のメモリ装置は、レート制御手段18を含んで構成されており、レート制御手段18は、データ量に関連する複数のしきい値TLHまたはTHLを与えるためのしきい値保持手段24、26と、データ量指示信号Doとしきい値TLHまたはTHLとを比較する比較手段20と、しきい値保持手段24、26により与えられ、選択手段20により比較が行われるしきい値を、しきい値選択信号に応じて変更する手段28と、比較手段20の出力に関連してレート制御信号INTRおよびしきい値選択信号SELTを発生させるためのレート制御手信号発生手段22とを含んで構成されている。
【特許請求の範囲】
【請求項1】 書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含むメモリ装置であって、前記レート制御手段は、データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、前記データ量指示信号と前記しきい値とを比較する比較手段と、前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、前記しきい値保持手段により与えられ、前記選択手段により比較が行われるしきい値を、前記しきい値選択信号に応じて変更する手段とを含むメモリ装置。
【請求項2】 前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含む請求項1に記載のメモリ装置。
【請求項3】 前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与える請求項1または2に記載のメモリ装置。
【請求項4】 前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる請求項1〜3のいずれか1項に記載のメモリ装置。
【請求項5】 前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しない請求項1〜4のいずれか1項に記載のメモリ装置。
【請求項6】 前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、かつ前記メモリ装置は、ファーストイン・ファーストアウト方式で駆動されるメモリである請求項1〜5のいずれか1項に記載のメモリ装置。
【請求項7】 メモリ装置においてデータ保持量を制御するための制御方式であって、該制御方式は、データ量に関連する複数のしきい値を与えるためのしきい値を保持させるステップと、前記メモリ装置に保持されたデータ量に関連したデータ量指示信号を生成するステップと、前記データ量指示信号と、前記しきい値とを比較するステップと、前記比較手段の出力に関連して少なくともデータ書込みレートを制御するための前記レート制御信号およびしきい値選択信号を発生させるステップと、前記しきい値保持手段により与えられ、前記比較ステップにおいて比較が行われるしきい値を、前記しきい値選択信号応じて変更するステップとを含むメモリ装置の制御方式。
【請求項8】 前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成するステップとを含む請求項7に記載の制御方式。
【請求項9】 前記レート制御信号発生ステップは、前記比較ステップに対応して前記レート制御信号を発生させるステップと、前記レート制御信号と同期した状態遷移信号を与えるステップとを含む請求項7または8に記載の制御方式。
【請求項10】 前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させるステップを含む請求項8〜9のいずれか1項に記載の制御方式。
【請求項11】 前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生させないステップを含む請求項7〜10のいずれか1項に記載の制御方式。
【請求項12】 前記レート制御信号発生ステップは、データ書込レートを制御するための割込み信号またはレジスタ・フラグを発生させるステップを含み、前記メモリ装置を、ファーストイン・ファーストアウト方式で動作させるステップを含む請求項7〜11のいずれか1項に記載の制御方式。
【請求項13】 書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含む先入れ・先出しメモリ装置を含む半導体装置であって、前記レート制御手段は、データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、前記データ量指示信号と、前記しきい値とを比較する比較手段と、前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、前記しきい値保持手段により与えられるしきい値を、前記しきい値選択信号に応じて変更する手段とを含む半導体装置。
【請求項14】 前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されたしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含む請求項13に記載の半導体装置。
【請求項15】 前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与える請求項13または14に記載の半導体装置。
【請求項16】 前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる請求項13〜15のいずれか1項に記載の半導体装置。
【請求項17】 前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しない請求項13〜16のいずれか1項に記載の半導体装置。
【請求項18】 前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、前記メモリ装置は、ファーストイン・ファーストアウト方式で動作される請求項13〜17のいずれか1項に記載の半導体装置。
【請求項19】 請求項1〜6のいずれか1項に記載のメモリ装置を含んで構成される情報処理装置。
【請求項20】 請求項13〜18のいずれか1項に記載の半導体装置を含んで構成される情報処理装置。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、ファーストイン・ファーストアウト型のメモリいわゆるFIFOメモリに関し、より詳細には所定のしきい値の範囲でデータ保有量が変動する際に発生する中央処理装置(CPU)に対する割込みを低減させることにより、FIFOメモリを介するデータ転送の効率化を可能とする、メモリ装置、該メモリ装置の制御方法および半導体装置、並びに情報処理装置に関する。
【0002】
【従来の技術】FIFOメモリを利用したデータ転送システムは、これまで広く知られており、データの書込み速度が読出し速度を上回っている場合には、充分な容量のメモリを使用する制御方式が知られている。この制御方式では、FIFOメモリ容量の約半分の値にしきい値を設定して、FIFOメモリ内のデータ量が減少したら次のデータの書込みを始めることにより、FIFOメモリ内のデータ量が制御されている。
【0003】図11には、上述した従来のFIFOメモリにおけるデータ量の変動の状態を示す。図11においては、縦軸にデータ量を示し、横軸に書込み・読出しに関連する時間を用いて、FIFOメモリ内におけるデータ量の時間的な変化が示されている。また、図中、Thが設定されたしきい値であり、INTRで示されたポイントにおいてCPUに対して割込みがかけられ、データ量の制御が実行される。図11(a)は、読出しを中断することが不可能なシステムにおいて、書込みレートが読出しレートよりも著しく速い場合(書込みレート>>読出しレート)におけるデータ量の変化を示す。
【0004】図11(a)に示されるように読出しが進行すると、しきい値以上に蓄積されていたデータが減少して行き、しきい値を下回る。しきい値と交差するポイントにおいて、CPUに対して割込みが行われ、書込み動作が開始され、データ量がしきい値を超えて増加することになる。FIFOメモリが満たされると、CPUに対して割込みをかけるといった適切な方法により書込みが停止されるなど、データ書込みレートの制御が行われ、蓄積されたデータが読出されて、FIFOメモリ内のデータ量が減少して行く。上述した書込み・読出しサイクルが繰り返されることで、上述したメモリ内におけるデータ量の制御が繰り返されることになる。
【0005】図11(b)は、書込みレートが、読出しレートよりもある程度速い(書込み>読出し)場合のデータ量の変化を示した図である。図11(a)において説明したように読出しが進行するとデータ量が減少して行き、しきい値を下回ると割込み信号INTRが生成され、CPUに対して割込みが実行される。その後、書込み動作が開始され、再びデータが蓄積されて行く。この場合には、書込みレートが読出しレートに対してある程度大きい場合なので、FIFOメモリ内のデータ量の増加レートは、図11(a)に示す場合よりも小さくなっているのが示されている。
【0006】図11(c)は、書込みレートと読出しレートとがほぼ同等な場合の従来例を示している。この場合には、一度データ量が減少すると、しきい値付近において図11(b)で示されるよりもさらにゆっくりとデータ量が増加することが示されている。
【0007】図12は、読出しと、書込みとが連続して交互に実行することが可能なシステムにおけるFIFOメモリ内のデータ量を示した図である。図12に示されるように、書込みと読出しとが交互に行われる場合には、FIFOメモリ内のデータ量は、交互に繰り返される書込み動作および読出し動作に応じて、周期的にしきい値Thを往復するようデータが増減する。
【0008】FIFOメモリを使用するシステムは、平均的には書込みと、読出しとが、書込みレート>読出しレートの条件で交互に実行されることを前提とする。またFIFOメモリは、書込み側と、読出し側との非同期データ転送における不都合を緩衝することである。このため、読出しと書込みとが双方とも速く、データの書込みレートと読出しレートとが互いに同程度のレートで実行される高速システムにおいては、図13に示されるようにデータ量の増減が頻繁に発生し、割込みが頻繁に発生することになる。
【0009】このため、上述したデータの書込み・読出しが同時並行的に実行される高速システムにおいては、頻繁にしきい値の横断が発生することとなる。したがって、図13に示されるような状況での書込み動作および読出し動作は、CPUに対する割込みを頻繁に発生させることとなり、データの転送を必要とするシステムにおいて、FIFOメモリを介したデータ転送効率が低下し、ひいてはシステム・パフォーマンスが低下するという不都合があった。
【0010】上述した不都合を解決するべくこれまで検討が行われており、例えば特開平6−110653号公報においては、設定可能なしきい値を設定し、このしきい値によりメモリ容量を判定するシステムおよび制御方法が開示されている。しかしながら、特開平6−110653号公報に記載されたシステムは、処理判断に要する時間が必要とされる。このため、FIFOメモリのデータ転送において書込みと読出しとが同時並行的に実行され、データ量が図13に示されるように比較的短い周期で発生する場合には、高速のデータの増減に対応することができないという不都合があった。
【0011】さらに、特開平11−65817号公報においては、同時並行的に実行される読出しおよび書込みに対応するべく、書込みポートおよび読出しポートを監視するシステムが提案されている。特開平11−65817号公報において提案されたシステムは、書込み量または読出し量が一定量になったときに割込みを発生させる制御方式を使用するものである。しかしながら、特開平11−65817号公報において開示された制御方式においてもデータがしきい値付近を頻繁に往復する場合には、CPUへの割込みが頻繁に発生してしまうことになり、高速のデータ転送を可能とし、システム・パーフォマンスをより高めるという点では充分なものではなかった。
【0012】
【発明が解決しようとする課題】本発明は、従来の上述した課題を解決し、FIFOメモリ内のデータ量を厳密に知ることを必要とせず、また書込みポートまたは読出しポートに対して監視手段を設けること無しに、CPUの割込みを減少させることでFIFOメモリを使用するデータ転送効率を向上させるものである。本発明はさらに、CPUに対して頻繁に割込みを実行させることによるシステム・パーフォマンスを低下させることのないFIFOメモリ、FIFOメモリの制御方式、および半導体装置、並びに情報処理装置を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明は、FIFOメモリを介したデータ転送において、データの書込み動作と読出し動作とが実行されて、しきい値を横断してデータが増減することに対応して発生するCPUへの割込みを、データ量がしきい値を通過して増減する際の履歴を用いて制御することにより、データ転送効率を向上させるものである。本発明により達成されるデータ転送効率の向上により、FIFOメモリを介したデータ転送に基づくシステム・パフォーマンスの低下を防止し、ひいてはシステム・パフォーマンスを向上することを可能とする。
【0014】本発明の上述した課題は、本発明のメモリ装置、該メモリ装置の制御方式および半導体装置、並びに情報処理装置を提供することにより解決される。
【0015】すなわち、本発明によれば、書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含むメモリ装置であって、前記レート制御手段は、データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、前記データ量指示信号と前記しきい値とを比較する比較手段と、前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、前記しきい値保持手段により与えられ、前記選択手段により比較が行われるしきい値を、前記しきい値選択信号に応じて変更する手段とを含むメモリ装置が提供できる。
【0016】本発明のメモリ装置においては、前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値を選択信号を生成させる手段を含むことができる。また、本発明のメモリ装置においては、前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与えることができる。
【0017】本発明のメモリ装置においては、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させる。本発明のメモリ装置においては、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しないことが望ましい。本発明のメモリ装置においては、前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、かつ前記メモリ装置は、ファーストイン・ファーストアウト方式で駆動されるメモリであるとされることが好ましい。
【0018】また、本発明によれば、メモリ装置においてデータ保持量を制御するための制御方式であって、該制御方式は、データ量に関連する複数のしきい値を与えるためのしきい値を保持させるステップと、前記メモリ装置に保持されたデータ量に関連したデータ量指示信号を生成するステップと、前記データ量指示信号と、前記しきい値とを比較するステップと、前記比較手段の出力に関連して少なくともデータ書込みレートを制御するための前記レート制御信号およびしきい値選択信号を発生させるステップと、前記しきい値保持手段により与えられ、前記比較ステップにおいて比較が行われるしきい値を、前記しきい値選択信号応じて変更するステップとを含むメモリ装置の制御方式が提供される。
【0019】本発明の制御方式においては、前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記データ量に関連して高いレベルに設定されるしきい値を超えたことにより前記しきい値選択信号を生成するステップを含むことが好ましい。本発明の制御方式においては、前記レート制御信号発生ステップは、前記比較ステップに対応して前記レート制御信号を発生させるステップと、前記レート制御信号と同期した状態遷移信号を与えるステップとを含むことができる。
【0020】本発明の制御方式においては、前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させるステップを含むことができる。本発明の制御方式においては、前記レート制御信号発生ステップは、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生させないステップを含むことができる。本発明の制御方式においては、前記レート制御信号発生ステップは、データ書込レートを制御するための割込み信号またはレジスタ・フラグを発生させるステップを含み、前記メモリ装置を、ファーストイン・ファーストアウト方式で動作させるステップを含むことができる。
【0021】さらに、本発明によれば、書込まれたデータを保持するための記憶手段と、データ書込み・データ読出しを制御する調停手段と、前記記憶手段に保持されたデータ量に関連した値を生成するデータ量指示手段と、前記データ量指示手段により生成されたデータ量指示信号を受け取って、少なくともデータ書込みレートを制御するために使用するレート制御信号を発生するレート制御手段とを含む先入れ・先出しメモリ装置を含む半導体装置であって、前記レート制御手段は、データ量に関連する複数のしきい値を与えるためのしきい値保持手段と、前記データ量指示信号と、前記しきい値とを比較する比較手段と、前記比較手段の出力に関連して前記レート制御信号およびしきい値選択信号を発生させるためのレート制御手信号発生手段と、前記しきい値保持手段により与えられるしきい値を、前記しきい値選択信号に応じて変更する手段とを含む半導体装置が提供される。
【0022】本発明の半導体装置は、前記しきい値は、前記データ量に関連して少なくとも2つの異なるレベルに設定され、前記レート制御信号発生手段は、前記データ量に関連して高いレベルに設定されたしきい値を超えたことにより前記しきい値選択信号を生成させる手段を含むことができる。本発明の半導体装置は、前記レート制御信号発生手段は、エッジ検出部と、ステート・マシンとを含み、前記エッジ検出部は、前記比較手段からの出力を受け取って前記レート制御信号を発生させると共に、前記ステート・マシンに対して前記レート制御信号と同期した状態遷移信号を与えることが好ましい。
【0023】本発明の半導体装置は、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を通過した後、低いレベルに設定されたしきい値を通過したことにより、前記しきい値選択信号を発生させることができる。本発明の半導体装置は、前記レート制御信号発生手段は、前記高いレベルに設定されたしきい値を超えるまでは、前記データ量が前記低いレベルに設定されたしきい値となった場合でも前記しきい値選択信号を発生しないことが好ましい。本発明の半導体装置は、前記レート制御信号は、データ書込レートを制御するための割込み信号またはレジスタ・フラグであり、前記メモリ装置は、ファーストイン・ファーストアウト方式で動作されることが好ましい。また、本発明によれば、上述したメモリ装置または半導体装置を含んで構成される情報処理装置が提供される。
【0024】
【発明の実施の形態】以下、本発明を図面に示した特定の実施の形態をもって説明するが、本発明は、後述する特定の実施の形態に制限されるものではない。
【0025】図1は、本発明のFIFOメモリの構成を示した概略図である。図1に示した本発明の特定の実施の形態においては、メモリ装置がFIFOメモリとして構成されるものとして説明する。図1に示されたFIFOメモリは、データ書込みを要求する図示しない装置と、データをファーストイン・ファーストアウト方式において書込み・読出しを行わせるための調停手段として使用される、リード・アドレス・ポインタ10およびライト・アドレス・ポインタ12と、書込まれたデータを保持するための記憶手段として使用されるRAM14とを含んで構成されている。
【0026】また、図1に示されたFIFOメモリは、RAM14に蓄積されたデータ量を指示するためのデータ量指示手段として使用されるディップスティック16を含んで構成されているのが示されている。書込みの行われるデータは、リード・アドレス・ポインタ10により指定されるキューに対応してRAM14へと記憶され、また、ライト・アドレス・ポインタ12により指定されるキューに対応してRAM14からの読出しが行われる構成とされている。
【0027】ディップスティック16は、RAM14内のデータ量を指示するものであり、書込み指令があると、ディップスティック16内に含まれるカウンタが1カウントの加算を行い、読出し指令があると、カウンタから1カウントの減算を行うことにより、RAM14内に蓄積されたデータの量を指示することができるようにされている。ディップスティック16の出力は、リード・アドレス・ポインタ10およびライト・アドレス・ポインタ12に戻され、ディップスティック16内のデータ量に関連して書込み動作および読出し動作を制御する構成とされている。
【0028】ディップスティック16の出力Doは、本発明のFIFOメモリの制御方式を実施するための要素を含んで構成されたレート制御手段へと送られている。図1を使用して本発明において説明する特定の実施の形態においては上述したレート制御手段は、CPUに対する割込み信号を発生するための割込み制御部18として実装されている。しかしながら、本発明においてレジスタを介して書込み・読出し動作を実行させる実施の形態も採用することができ、この場合には、レート制御手段は、適切にレジスタに対して割込みを行うことを可能とするレジスタ・フラグを発生させることもできる。
【0029】ディップスティック16の出力Doは、割込み制御部18へと入力されて、RAM14内に蓄積されたデータ量に関連して、本発明のFIFOメモリの制御方式を実行する。
【0030】図1に示された割込み制御部18は、本発明の実施の形態においては、データ量との関連で生成されたレート制御信号として使用される割込み信号INTRを与え、CPUに対して適切なレートで割込みを可能とする構成とされている。本発明においては、割込み制御部18からの出力を直接CPUに入力することもできる。また、本発明においては、上述したレジスタ・フラグを発生させるというように、適切な手段に対して割込み制御部18からの割込み信号INTRを入力させ、この入力対応して適切な信号を発生させる構成を採用することもできる。
【0031】また、本発明は、図1に示した割込み制御部18と同等の機能を与える要素を含んで構成される限り、図1に示すように調停手段と、記憶手段と、レート制御手段といった各制御要素を一体として含む半導体ユニットとして構成することもできる。また、本発明においては、上述した制御を行うための各要素を、それぞれ本発明の制御方式を実行させるように、プリント配線板といった配線要素上に実装するなど、いかなる構成として実装することができる。
【0032】図2(a)は、本発明のメモリ装置の制御方式を実行する図1に概略的に示した割込み制御部18の詳細構成を示した図である。図2(a)に示された本発明の割込み制御を実行する割込み制御部18は、ディップスティック16の出力Doが入力される比較手段20として用いられるコンパレータと、コンパレータといった比較手段20の出力を受け取って、レート制御信号として用いられる割込み信号INTRを発生する割込み発生手段22とを含んで構成されている。
【0033】本発明においては、少なくとも2つのしきい値をFIFOメモリ内のデータ量に関連して使用することが好ましい。本発明において用いるしきい値として、具体的には、しきい値TLHと、しきい値THLとを含む2つのしきい値を使用する実施の形態について、以下に詳細な説明を行う。本発明において使用されるしきい値の数には特に制限はないが、少なくとも2つのしきい値レベルが設定されていれば、本発明の原理に従う制御方式を実行することができる。
【0034】上述した2つのしきい値の相対的な関係について説明すると、上述した2つのしきい値のうち、しきい値THLは、RAM14内におけるデータ量がしきい値TLHよりも小さい値として設定される。しきい値TLHは、しきい値THLよりも大きく、RAM14のデータ容量の上限よりも小さい値の間で適宜設定することができる値から選択することができる。また、しきい値THLは、上述したしきい値TLHとの関係を満足する範囲内で任意に設定することができる値から選択することができる。なお、図2(b)には、FIFOメモリのデータ容量に関連して設定される上述した2つのしきい値TLHおよびTHLの概略的な関係を示す。
【0035】再度図2(a)の構成について説明すると、図2(a)に示されるように、しきい値TLHおよびしきい値THLは、それぞれレジスタ24およびレジスタ26により設定されている。これらのしきい値TLH、THLは、マルチプレクサ28を介して比較手段20へと入力されて、比較手段20によりディップスティック16の出力Doと比較が行われる。また、図2(a)に示されるように、マルチプレクサ28には、割込み発生手段22により発生される割込み信号INTRに関連して発生されるしきい値選択信号SELTが入力されている。このしきい値選択信号SELTは、しきい値TLHまたはしきい値THLを選択して、比較手段20に入力するために使用される。
【0036】図3は、図2において説明した割込み発生手段22の構成要素を示した概略図である。比較手段20の出力は、エッジ検出部30に入力され、比較手段20からの信号のエッジを検出すると、割込み信号INTRを発生する構成とされている。また、状態遷移信号TRSは、割込み信号INTRと同期して生成される。この状態遷移信号TRSは、ステート・マシン32へと入力され、ステート・マシン32の状態を遷移させる。ステート・マシン32は、状態遷移信号TRSの入力に対応して、比較手段20に入力されたしきい値TLHまたはしきい値THLといったしきい値に関連して、比較手段20へと入力されるべき新たなしきい値TLH、またはTHLといったしきい値を選択させるためのしきい値選択信号SELTを発生させる。しきい値選択信号SELTは、図3に示されるように信号線Aおよび信号線Bで示されるラインにより与えられる信号として与えられている。
【0037】図4は、図3に示したエッジ検出部の詳細な構成を示した図である。比較手段20からの出力は、第1のフリップフロップ素子34に入力され、クロック信号CLKと同期される。次いで、第1のフリップフロップ素子34の出力は、第2のフリップフロップ36へと入力される。第1のフリップフロップ素子34の出力と第2のフリップフロップ素子36の出力をインバータにより反転させた出力とは、ANDゲート38へと入力され、比較手段20の出力のエッジに対応して割込み信号INTRおよび状態遷移信号TRSを発生させる。図4では、状態遷移信号TRSは、割込み信号INTRから直接分岐されているのが示されているが、本発明においては、割込み信号INTRと同期して状態遷移信号TRSが与えられる構成であれば、いかなる構成でも用いることができる。
【0038】図5は、図3に示したステート・マシン32の実施の形態の詳細構成を示した図である。本発明において使用される図5に示したステート・マシンは、複数のORゲートと、複数のNANDゲートと、同期を行うための複数のフリップフロップ素子とを含んで構成されている。図5に示したステート・マシンは、図4に示したエッジ検出部30からの状態遷移信号TRSを受け取ってその状態を遷移させ、出力Aおよび出力Bをしきい値TLH、またはしきい値THLを選択する信号として生成する。表1には、図5に示したステート・マシン32の出力Aおよび出力Bの信号の状態と、しきい値TLHおよびしきい値THLに関連するデータ量との関連を示す。
【0039】
【表1】

【0040】上記表中、数値「1」は、真を示し、数値「0」は、偽を表す。本発明において説明する特定の実施の形態においては、「真」は、H(ハイ)、「偽」は、L(ロー)に対応するが、上述した制御を行うことができる限り、いかなる回路構成をもって表1に相当する判断を実行させることもできる。図5に示したステート・マシン32の出力は、上述したように本発明のFIFOメモリに含まれるマルチプレクサ28へと入力され、マルチプレクサ28は、ディップスティック16からの出力Doの比較とされるしきい値TLH、またはしきい値THLを選択し、比較手段20へと入力させている。
【0041】図6には、ステート・マシン32からマルチプレクサ28への接続の実施の形態を示す。ステート・マシン32からの出力Aおよび出力Bは、ANDゲート40を介してマルチプレクサ28へと入力されている。また、マルチプレクサ28には、レジスタ24およびレジスタ26からのしきい値TLH、しきい値THLに相当するデータが入力されていて、マルチプレクサ28のselect端子への入力に応じて、しきい値TLH、THLを選択する。表2には、ステート・マシン32の出力A、出力Bの状態と、select端子への入力信号の状態と、比較手段20へと入力されるしきい値の種別をまとめて示す。
【0042】
【表2】

表2中に示された「0」、「1」の数の意味は、表1において説明したと同様である。
【0043】図7は、上述した出力に対応して、FIFOメモリにおけるデータ量の変化状態を説明した図である。図7においては、表2にしたがって制御されるFIFOメモリ内のデータ量を、それぞれのデータ量に対応する状態を符号1〜8と対応させて示されている。図7に示されるように、FIFOメモリ内にデータが蓄積されていない状態1を、本発明においては初期状態とし、データの書込みが進行するにつれ状態2へとデータ量が増加して行く。
【0044】さらに、データが書込まれてデータ量が、しきい値TLHに等しくなった状態が、状態3として示されている。この状態3となった時点で、比較手段20に入力されるしきい値は、ステート・マシン32により発生されるしきい値選択信号に基づいてTLHからTHLへと変更される。この段階で、CPUに対してデータ書込みレートを減少させるか、または中断させ、それに対応したリソースを他に振り分けるなどの処理を実行させ、FIFOメモリ内のデータ量を減少させる。
【0045】しかしながら、しきい値TLHを超えた後もシステム設定に応じた分だけFIFOメモリに対してさらにデータの書込みが行われることになるので、データ量がしきい値TLHを超え、状態4で示されるデータ量となり、FIFOメモリのデータ容量の上限へと接近して行く。
【0046】その後データ量は、順次減少して行き、状態5で示されるデータ蓄積状態となる。さらにその後、データ量は、しきい値THLに等しくなるまで減少を続ける。この状態が、状態6で示されている。この時点で、比較手段20は、しきい値THLと、ディップスティック16からの出力信号Doとを比較して、比較手段20の出力を、割込み制御部18へと信号を送出する。この信号を受け取った割込み制御部18においては、エッジ検出部30が信号のエッジを検出し、割込み信号INTRを発生させて、CPUに対して割込みを実行する。
【0047】同様に、エッジ検出部30では、割込み信号と同期した状態遷移信号TRSを生成し、この状態遷移信号TRSは、ステート・マシン32へと入力され、比較手段2により使用されるしきい値をしきい値TLHに変更する。割込み信号INTRが生成されると、図7に示される状態1から連続するFIFOメモリ制御においては、CPUに対して割込みが実行され、例えば他のタスクよりも優先的にデータの書込みを実行させるか、またはバス調停回路などがシステムに含まれる場合には、データ書込みの順位を高めることによりデータ書込みレートを増加させることにより再度データ量を増加させるように制御が行われる。
【0048】上述したように、状態6において割込み信号INTRが発生された後、割込みを受けたCPUは、適宜システム条件などに応じてデータの書込みレートを増加させることとなる。図7に示した特定の実施の形態においては、割込みを受けてから、データ書込みレートが増加するまでの時間の間にFIFOメモリ内のデータ量が状態8で示される初期状態までデータ量が減少する場合もことが示されている。
【0049】しかしながら、本発明においては、しきい値THLを下回ってからいったん状態8で示される初期状態までデータ量を減少させることが必要とされるものではなく、割込み信号INTRがデータ書込みレートの増加に迅速に反映される場合には、状態7で示される状態までデータ量が減少した後、状態3〜状態7で示されるデータ量の状態でFIFOメモリにおけるデータ量を制御することができる。
【0050】また、本発明においては、表2で示されるようにデータ量がしきいTHLに等しくなると同時に、比較手段20に入力されるしきい値がTLHへと切り替えられるため、次の書込みサイクルにおいて、例えば状態7から状態3へとデータ量がしきい値THLを超える場合であっても比較手段20は出力を生成しない。このため、次の書込み動作が開始されてしきい値THLを超えてデータ量が増加する場合でも、少なくとも一度しきい値TLHを超えなければ、データ量がしきい値THLを横断して増加しても割込み信号INTRは生成されない。すなわち、本発明においては、しきい値THLで示されるデータ量付近でデータ量が増減した場合であっても、特に効率的にCPUへの割込みが行われるレートを低減させることができ、システム・パフォーマンスが向上できることとなる。
【0051】図8には、上述したFIFOメモリ制御方式を実行させる際のステート・マシン32の状態遷移図を示す。図8に示した状態遷移図は、状態AがFIFOメモリの初期状態であり、しきい値TLHが比較手段20へと出力される状態である。また、状態Bが、データ量が一度しきい値TLHを超えて、しきい値THLを比較手段20へと出力する状態である。また、図8に示される状態Cが、データ量が減少、すなわち上から下へとしきい値THLを横切って、割込み信号INTRが生成され、再びしきい値TLHが比較手段20へと出力される状態に対応する。
【0052】図8に示した状態遷移図にしたがって本発明のFIFOメモリの制御方式を説明すると、まずFIFOメモリにデータが蓄積されていない初期状態からデータが書込まれるにつれ、ステート・マシン32は状態Aに留まる。この状態では、比較手段20は、しきい値TLHを使用してディップスティック16の出力Doと比較を行っている。
【0053】データ量が一度しきい値TLHを超えると、ステート・マシン32が状態Bに遷移し、これに関連して、比較手段20がディップスティック16の出力Doとの比較に使用するしきい値がしきい値TLHからしきい値THLへと切り換えられる。しきい値TLHをデータ量が超えた時点で、割込み信号INTRを発生させるといった適切な手段により、CPUに対してFIFOメモリ内のデータ量を減少させるように読出し・書込みレートを制御する。この上述した状態変化が、図8の矢線5で示した状態変化である。
【0054】また、FIFOメモリ内のデータ量がさらに減少を続け、しきい値THLを下まわると、しきい値THLをデータ量が通過する際に割込み信号INTRが発生される。この割込み信号INTRは、ステート・マシン32の状態をC状態へと遷移させ、さらにステート・マシン32は、しきい値選択信号を発生させ、選択手段20が比較のために使用するしきい値を、しきい値THLからしきい値TLHへと変更する。
【0055】ステート・マシン32の状態は、再びデータ量が矢線6で示した方向に沿ってしきい値TLHに達するまで保持され、しきい値TLHを超えた時点で再度状態Bへと遷移することになる。本発明において例えば図7で示した状態2から状態7までのデータ量の変化は、図8における矢線5と矢線6とで示されるB状態とC状態との間の状態遷移で示されることになる。
【0056】図8において、データ書込みが終了するか、またはデータ書込みレートがデータ読出しレートよりも著しく小さくなる場合には、ステート・マシン32は、比較手段20に入力されるしきい値をTLHに保持したまま、矢線8で示されるように状態Cから状態Aへと遷移して、図7において説明したFIFOメモリにおけるデータ量制御方式が終了する。
【0057】図9は、上述した本発明の一連の制御をフローチャートとして示した図である。図9に示されるように、本発明のFIFO制御方式は、ステップS1から開始し、ステップS2において、しきい値がTLHへと設定される。次いでステップS3においてデータ書込み・データ読出し動作が適宜に実行され、FIFOメモリ内のデータ量が増加して行く。
【0058】ステップS4においては、ディップスティック16の出力Doと、しきい値TLHとの比較が行われ、Do=TLHとなった場合(Y)には、ステップS5に示されるように、しきい値Th=THLとして設定する。また、それ以外の場合(N)には、ステップS3へと分岐し、さらに、データ書込み・データ読出しを実行させ、ディップスティック16により指示されるデータ量が、TLHに等しくなったか否かの判断を繰り返す。上述した制御方式を用いることにより、一度しきい値TLHを超えなければ、予め設定されたしきい値TLHが保存されることになり、THLにおけるCPUへの割込み頻度を減少させることが可能となる。
【0059】ステップS5でしきい値THLに設定した後、ステップS6においてデータ書込みレートを制御して、FIFOメモリ内におけるデータ量を減少させ、データ量がTHLとなった時点でステップS7に示されるように割込み信号INTRを発生させる。ステップS7の割込み信号INTRの発生と関連してしきい値ThをTLHへと再度設定し、データ書込みレートを制御してデータ量を増加させて行き、再度ステップS3〜ステップS8を繰り返して書込み・読出し動作を繰り返すことにより、データ転送速度を損なうことなく、FIFOメモリ内のデータ量を制御することが可能となる。
【0060】図10は、本発明のメモリ装置を含んで構成された情報処理装置の概略を示した概略図である。図10に示された情報処理装置は、パーソナル・コンピュータ、ワークステーションなどとして構成することができ、中央処理装置(CPU)42と、このCPU42に対してデータの書込み・読出しを実行するための本発明によるFIFOメモリ44と、入出力装置46、48と、CPU42が必要とする他のデータを記憶させるためのメモリ50とを含んで構成することができる。CPU42と、FIFOメモリ44と、入出力装置46、48といった要素は、バス・ライン52を通じて相互接続されていて、必要に応じてデータ伝送を行う構成とされている。
【0061】図10に示された情報処理装置においては、FIFOメモリ44には、入出力装置46からデータの書込みがなされており、入出力装置48がデータの読出しを行っている。図10に示されたFIFOメモリ装置44は、本発明の制御を実行するための割込み制御部18が含まれていて、図8および図9示した制御を実行する構成とされている。このため、図10に示した情報処理装置においては、書込みレートおよび読出しレートが近く、高速にデータ転送が行われる場合でも、CPU42に対して頻繁に割り込みが発生せず、FIFOメモリ装置44を介したデータ伝送効率が向上されている。また、図10に示したFIFOメモリ44は、プリント配線板といった配線要素上に各要素を配置して構成することもできるし、必要とされる各要素をマイクロリソグラフィーにより1チップに集積させた半導体装置として実装することができる。
【0062】これまで、本発明を図面に示した特定の実施の形態に基づいて説明を行ってきたが、本発明は、FIFOメモリに対する書込み・読出しが同時に行われるシステムばかりではなく、FIFOメモリに対する書込み・読出しが交互に実行されるシステムにおいても共に有効である。また、本発明のFIFOメモリは、マイクロリソグラフィー技術を使用して、上述した各要素が集積された半導体装置として実装することもできるし、上述した各要素それぞれを例えば、モジュールとしてプリント配線板上に実装することにより構成することもできる。また、本発明においては、上述した半導体装置またはモジュールを搭載した記憶装置として、CPUを含む情報処理装置の、例えばプリンタ用メモリ装置などに適用することができる。
【0063】上述したように、本発明は、FIFOメモリにおいてデータの転送を制御するCPUに対する割込み、またはレジスタ・フラグの生成される頻度を低下させ、情報処理システムのデータ転送の効率を向上させることを可能とする、FIFOメモリ、FIFOメモリの制御方式、および半導体装置を提供することができる。
【0064】また、本発明のFIFOメモリは、データ転送の効率を向上させることを通じて、CPUを含む情報処理システムのシステム・パフォーマンスを向上させることを可能とする。
【出願人】 【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【住所又は居所】アメリカ合衆国10504、ニューヨーク州 アーモンク ニュー オーチャード ロード
【出願日】 平成13年10月19日(2001.10.19)
【代理人】 【識別番号】100086243
【弁理士】
【氏名又は名称】坂口 博 (外2名)
【公開番号】 特開2003−140882(P2003−140882A)
【公開日】 平成15年5月16日(2003.5.16)
【出願番号】 特願2001−321573(P2001−321573)