米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 I/Oコントローラ
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平10−91394
公開日 平成10年(1998)4月10日
出願番号 特願平8−241972
出願日 平成8年(1996)9月12日
代理人 【弁理士】
【氏名又は名称】京本 直樹 (外2名)
発明者 川上 拓也
要約 目的


構成
特許請求の範囲
【請求項1】I/Oデバイスからの入力データを保持する入力バッファと、前記I/Oデバイスへの出力データを保持する出力バッファと、前記入力バッファおよび前記出力バッファに格納されたデータ数がスレッショルド値を越えるとCPUに対して割り込みを発生する割り込み回路と、前記スレッショルド値を前記データ数に応じて自動的に増減するレイテンシ監視回路とを有することを特徴とするI/Oコントローラ。
【請求項2】(a)I/Oデバイスへの入力データを保持する入力FIFOバッファと、(b)前記I/Oデバイスからの出力データを保持する出力FIFOバッファと、(c)前記入力FIFOバッファおよび前記出力FIFOバッファに格納されているデータ数とスレッショルド値とを比較するスレッショルド検出回路と、(d)前記スレッショルド検出回路の出力により割り込み信号を発生する割り込み回路と、(e)前記割り込み信号が発生してから割り込み処理により前記入力FIFOバッファ、前記出力FIFOバッファがアクセスされるまでの間のデータ数の変化量を監視することによりシステムバスの負荷を測定し、前記スレッショルド検出回路で検出するスレッショルド値を増減させ、割り込みを発生するタイミングを自動的に最適なタイミングに調整するレイテンシ監視回路と、を持つことを特徴とするI/Oコントローラ。
【請求項3】前記レイテンシ監視回路が、システムバスの負荷が高い場合には、スレッショルドの値を小さくし、前記システムバスの負荷が低い場合にはスレッショルドの値を大きくすることにより、負荷に応じて最適なタイミングで割り込みを発生する機能を持つことを特徴とする請求項2記載のI/Oコントローラ。
【請求項4】前記入力バッファに格納されている入力データ数が第1のスレッショルド値にあらかじめ定められた第1の数値を加えた値より小である場合に前記第1のスレッショルド値を増加させ、前記入力データ数が前記第1のスレッショルド値にあらかじめ定められた第2の数値を加えた値より大である場合に前記第1のスレッショルド値を減少させ、前記出力バッファに格納されている出力データ数が前記出力バッファのバッファ数から第2のスレッショルド値およびあらかじめ定められた第3の数値を減じた値より大である場合に前記第2のスレッショルド値を増加させ、前記出力データ数が前記バッファ数から第2のスレッショルド値およびあらかじめ定められた第4の数値を減じた値より小である場合に前記第2のスレッショルド値を減少させる機能を持つことを特徴とする請求項2記載のI/Oコントローラ。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、I/Oコントローラに関し、特に、CPUに対して割り込みを発生するI/Oコントローラに関する。
【0002】
【従来の技術】周辺装置とのデータの入出力を行う従来のI/Oコントローラでは、データを一時的にためておくバッファを持ち、バッファ内のデータがあるスレッショルドを超えたときにCPUに対して割り込みを通知し、CPUはバッファのデータを引き取ったり、バッファにデータを供給する処理を行っている。たとえば、「特開平04−270441号公報」記載の技術ではスレッショルド値は固定値か、ソフトウェアによりあらかじめ設定された値が用いられている。
【0003】
【発明が解決しようとする課題】上述した従来のI/Oコントローラでは、割り込みを通知するタイミングを決定するスレッショルドはあらかじめソフトウェアによりプログラムされた値を用いているため、スレッショルドが大きすぎると、システムの負荷が高い場合などに割り込み処理が間に合わずに、バッファがオーバーフローしたり、データの供給が間に合わずにアンダーフローなどのエラーを起こすという問題がある。また、スレッショルドを小さくしすぎると、割り込みが頻繁に発生して割り込み処理のためのタスクスイッチ等のオーバーヘッドによりシステムの処理能力が低下してしまうという問題がある。
【0004】
【課題を解決するための手段】本発明の第1のI/Oコントローラは、I/Oデバイスからの入力データを保持する入力バッファと、前記I/Oデバイスへの出力データを保持する出力バッファと、前記入力バッファおよび前記出力バッファに格納されたデータ数がスレッショルド値を越えるとCPUに対して割り込みを発生する割り込み回路と、前記スレッショルド値を前記データ数に応じて自動的に増減するレイテンシ監視回路とを備える。
【0005】本発明の第2のI/Oコントローラは、(a)I/Oデバイスへの入力データを保持する入力FIFOバッファと、(b)前記I/Oデバイスからの出力データを保持する出力FIFOバッファと、(c)前記入力FIFOバッファおよび前記出力FIFOバッファに格納されているデータ数とスレッショルド値とを比較するスレッショルド検出回路と、(d)前記スレッショルド検出回路の出力により割り込み信号を発生する割り込み回路と、(e)前記割り込み信号が発生してから割り込み処理により前記入力FIFOバッファ、前記出力FIFOバッファがアクセスされるまでの間のデータ数の変化量を監視することによりシステムバスの負荷を測定し、前記スレッショルド検出回路で検出するスレッショルド値を増減させ、割り込みを発生するタイミングを自動的に最適なタイミングに調整するレイテンシ監視回路と、を持つ。
【0006】本発明の第3のI/Oコントローラは、前記第2のI/Oコントローラであって、前記レイテンシ監視回路が、システムバスの負荷が高い場合には、スレッショルドの値を小さくし、前記システムバスの負荷が低い場合にはスレッショルドの値を大きくすることにより、負荷に応じて最適なタイミングで割り込みを発生する機能を持つ。
【0007】本発明の第4のI/Oコントローラは、前記第2のI/Oコントローラであって、前記入力バッファに格納されている入力データ数が第1のスレッショルド値にあらかじめ定められた第1の数値を加えた値より小である場合に前記第1のスレッショルド値を増加させ、前記入力データ数が前記第1のスレッショルド値にあらかじめ定められた第2の数値を加えた値より大である場合に前記第1のスレッショルド値を減少させ、前記出力バッファに格納されている出力データ数が前記出力バッファのバッファ数から第2のスレッショルド値およびあらかじめ定められた第3の数値を減じた値より大である場合に前記第2のスレッショルド値を増加させ、前記出力データ数が前記バッファ数から第2のスレッショルド値およびあらかじめ定められた第4の数値を減じた値より小である場合に前記第2のスレッショルド値を減少させる機能を持つ。
【0008】
【発明の実施の形態】図1は本発明のI/Oコントローラの構成を示すブロック図である。図1を参照すると、本発明のI/Oコントローラは、I/Oデバイス6からシステムバス11を介してCPU10に転送される入力データを保持する入力FIFOバッファ3と、システムバス11を介してCPU10からI/Oデバイス6へ転送される出力データを保持する出力FIFOバッファ4と、入力FIFOバッファ3または出力FIFOバッファ4内のデータ数がスレッショルド値を越えたこととを検出するスレッショルド検出回路2と、スレッショルド検出回路2の出力により割り込み信号を発生する割り込み回路5と、割り込み回路5により割り込みを発生してから、割り込み処理により入力FIFOバッファ3および出力FIFOバッファ4のデータが処理されるまでの間の格納されているデータ数の変化量を監視するレイテンシ監視回路1から構成される。
【0009】レイテンシ監視回路1の出力によりスレッショルド検出回路2で検出するスレッショルド値を変化させ、システムの負荷に応じて最適のスレッショルド値となるように調整される。
【0010】I/Oデバイス6からデータをリードする場合、I/Oデバイス6からの入力データは入力FIFOバッファ3に保持される。通常、I/Oデバイス6から入力FIFOバッファ3への転送速度より、入力バッファ3からCPU10へのデータの引き取りの速度の方が早いため、ある程度までデータがたまった時点でCPU10に対して割り込み信号で通知する。
【0011】このとき、どの程度データがたまった時に割り込みを通知するかはスレッショルド検出回路2に設定されたスレッショルド値によって決定される。
【0012】I/Oデバイス6へのライト時も同様にI/Oデバイス6へのデータは出力FIFOに一時的に保持され、I/Oデバイス6へと出力される。通常、出力FIFOバッファ4からI/Oデバイス6への転送速度よりCPU10から出力FIFOバッファ4へのデータ供給の速度の方が早いため、FIFOバッファ4は一時的に一杯の状態になり、I/Oデバイス6へデータが出力されていき、FIFOバッファ5に残っているデータがスレッショルド値を下回った時点でCPU10に対して割り込み信号で通知する。
【0013】スレッショルドに達して割り込み信号を発生してから、FIFOバッファのデータが処理されるまでの間にリードの場合はFIFOバッファにどのくらいのデータがたまったか、ライトの場合にはどれくらいデータが吐き出されたかをレイテンシ監視回路1で監視し、その値が小さい場合にはスレッショルド値を増加し、大きい場合にはスレッショルド値を減少する。ただし、急激な負荷の変化に備えて、スレッショルド値は所定の範囲内での増減にとどめる。
【0014】次に、本発明の動作について図面を参照して説明する。入力FIFOバッファ3、出力FIFOバッファ4の段数が両方とも32段、スレッショルドの初期値が16、下限値が5、上限値が27の場合について説明する。まず、I/Oデバイス6からのリードの場合について説明する。図2は、本発明のI/Oデバイス6からのリード動作を示すフローチャートである。
【0015】I/Oデバイス6からのリードデータは入力FIFOバッファ3にたまっていき(図2R1)、スレッショルド検出回路2によって、入力FIFO内のデータ数が16に達したことが検出されると(図2R2)、割り込み回路5により割り込み信号が発生し、CPU10に通知される(図2R3)。割り込みを受けたCPU10が、割り込み処理で入力FIFOバッファ3のデータを引き取りにくる(図2R4)までの間に入力FIFOバッファ3にさらにいくつのデータが到着するかをレイテンシ監視回路1で監視する。レイテンシ監視回路1で検出された値「データ数−スレッショルド値」が2(図2R5)未満だった場合には、スレッショルド値が27未満(図2R6)であれば、システムの負荷は低いと判断し、スレッショルド値を1増加する(図2R7)。レイテンシ監視回路1で検出された値「データ数−スレッショルド値」が4(図2R8)より大であった場合には、スレッショルド値が5(図2R9)より大であれば、システムの負荷が高いと判断し、スレッショルド値を1減少させる(図2R10)。それ以外の場合にはスレッショルド値はシステムの負荷に対して適当であると判断し、スレッショルド値はそのままとする。
【0016】システムの負荷が低い場合、スレッショルド値は最終的には上限値の27となり、割り込み通知の間隔は長くなり、割り込み処理にかかるオーバーヘッドを最小とすることができる。システムの負荷が高い場合、スレッショルド値は最終的には下限値の5となり割り込み通知の間隔は短くなるが、入力FIFOバッファ3がオーバーフローするまでの時間的な余裕は大きくなり、エラーの発生を抑えることができる。
【0017】次にI/Oデバイス6へのライトの場合について説明する。図3は、本発明のI/Oデバイス6へのライト動作を示すフローチャートである。まず、CPU10はI/Oデバイス6に出力するデータをI/Oコントローラの出力FIFOバッファ4にFIFOが一杯になるまでライトを行う(図3W1)。I/Oコントローラは出力FIFOバッファ4のデータをI/Oデバイス6に順次出力し、スレッショルド検出回路2によって、「データ数<32−スレッショルド値」であることが検出されると(図3W2)、割り込み回路5によって割り込み信号を発生し、CPU10に通知する(図3W3)。割り込みを受けたCPU10は、再び出力するデータを出力FIFOバッファ4が一杯になるまでライトを行う(図3W4)が、それまでの間に出力FIFOバッファ4からさらにいくつのデータがI/Oデバイス6に送られたかをレイテンシ監視回路1で監視する。
【0018】レイテンシ監視回路1で検出された値「32−スレッショルド値−データ数」が2(図3W5)未満だった場合には、システムの負荷は低いと判断し、スレッショルド値が27未満(図3W6)であれば、出力のスレッショルド値を1増加する(図3W7)。レイテンシ監視回路1で検出された値「32−スレッショルド値−データ数」が4(図3W8)より大であった場合には、スレッショルド値が5(図3W9)以上であれば、システムの負荷が高いと判断し、出力のスレッショルド値を1減少させる(図3W10)。それ以外の場合にはスレッショルド値はシステムの負荷に対して適当であると判断し、スレッショルド値はそのままとする。
【0019】システムの負荷が低い場合、スレッショルド値は最終的には上限値の27となり、割り込み通知の間隔は長くなり、割り込み処理にかかるオーバーヘッドを最小とすることができる。システムの負荷が高い場合、スレッショルド値は最終的には下限値の5となり割り込み通知の間隔は短くなるが、出力FIFOバッファ4がアンダーフローするまでの時間的な余裕は大きくなり、エラーの発生を抑えることができる。
【0020】
【発明の効果】上述したように、本発明により、システムの負荷の変動があっても、自動的に割り込みを通知するタイミングを最適な値にすることができ、割り込み処理にかかるオーバーヘッド最小に保ちながら、バッファのオーバーフロー、アンダーフローのエラーの発生を防ぐことが可能となる。また、システムの構成が変わり、負荷が変動した場合でも、ソフトウェア、ハードウェアを変更することなく、最適なタイミングでの割り込み信号の発生が可能となる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013