JPH1091394A - I/oコントローラ - Google Patents

I/oコントローラ

Info

Publication number
JPH1091394A
JPH1091394A JP24197296A JP24197296A JPH1091394A JP H1091394 A JPH1091394 A JP H1091394A JP 24197296 A JP24197296 A JP 24197296A JP 24197296 A JP24197296 A JP 24197296A JP H1091394 A JPH1091394 A JP H1091394A
Authority
JP
Japan
Prior art keywords
threshold value
data
output
buffer
interrupt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP24197296A
Other languages
English (en)
Other versions
JP2910694B2 (ja
Inventor
Takuya Kawakami
拓也 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP24197296A priority Critical patent/JP2910694B2/ja
Publication of JPH1091394A publication Critical patent/JPH1091394A/ja
Application granted granted Critical
Publication of JP2910694B2 publication Critical patent/JP2910694B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 負荷が変動した場合でも、ソフトウェア、ハ
ードウェアを変更することなく、最適なタイミングでの
割り込み信号の発生が可能とする。 【解決手段】 CPU10に転送される入力データを保
持する入力FIFOバッファ3と、I/Oデバイス6へ
転送される出力データを保持する出力FIFOバッファ
4と、入力FIFOバッファ3または出力FIFOバッ
ファ4内のデータ数がスレッショルド値を越えたことと
を検出するスレッショルド検出回路2と、スレッショル
ド検出回路2の出力により割り込み信号を発生する割り
込み回路5と、割り込み回路5により割り込みを発生し
てから、割り込み処理により入力FIFOバッファ3お
よび出力FIFOバッファ4のデータが処理されるまで
の間の格納されているデータ数の変化量を監視するレイ
テンシ監視回路1から構成される。

Description

【発明の詳細な説明】
【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デバイスへの入力データを保持する入力F
IFOバッファと、(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からの入力データは入力FIF
Oバッファ3に保持される。通常、I/Oデバイス6か
ら入力FIFOバッファ3への転送速度より、入力バッ
ファ3からCPU10へのデータの引き取りの速度の方
が早いため、ある程度までデータがたまった時点でCP
U10に対して割り込み信号で通知する。
【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に達したことが検出されると(図2R
2)、割り込み回路5により割り込み信号が発生し、C
PU10に通知される(図2R3)。割り込みを受けた
CPU10が、割り込み処理で入力FIFOバッファ3
のデータを引き取りにくる(図2R4)までの間に入力
FIFOバッファ3にさらにいくつのデータが到着する
かをレイテンシ監視回路1で監視する。レイテンシ監視
回路1で検出された値「データ数−スレッショルド値」
が2(図2R5)未満だった場合には、スレッショルド
値が27未満(図2R6)であれば、システムの負荷は
低いと判断し、スレッショルド値を1増加する(図2R
7)。レイテンシ監視回路1で検出された値「データ数
−スレッショルド値」が4(図2R8)より大であった
場合には、スレッショルド値が5(図2R9)より大で
あれば、システムの負荷が高いと判断し、スレッショル
ド値を1減少させる(図2R10)。それ以外の場合に
はスレッショルド値はシステムの負荷に対して適当であ
ると判断し、スレッショルド値はそのままとする。
【0016】システムの負荷が低い場合、スレッショル
ド値は最終的には上限値の27となり、割り込み通知の
間隔は長くなり、割り込み処理にかかるオーバーヘッド
を最小とすることができる。システムの負荷が高い場
合、スレッショルド値は最終的には下限値の5となり割
り込み通知の間隔は短くなるが、入力FIFOバッファ
3がオーバーフローするまでの時間的な余裕は大きくな
り、エラーの発生を抑えることができる。
【0017】次にI/Oデバイス6へのライトの場合に
ついて説明する。図3は、本発明のI/Oデバイス6へ
のライト動作を示すフローチャートである。まず、CP
U10はI/Oデバイス6に出力するデータをI/Oコ
ントローラの出力FIFOバッファ4にFIFOが一杯
になるまでライトを行う(図3W1)。I/Oコントロ
ーラは出力FIFOバッファ4のデータをI/Oデバイ
ス6に順次出力し、スレッショルド検出回路2によっ
て、「データ数<32−スレッショルド値」であること
が検出されると(図3W2)、割り込み回路5によって
割り込み信号を発生し、CPU10に通知する(図3W
3)。割り込みを受けたCPU10は、再び出力するデ
ータを出力FIFOバッファ4が一杯になるまでライト
を行う(図3W4)が、それまでの間に出力FIFOバ
ッファ4からさらにいくつのデータがI/Oデバイス6
に送られたかをレイテンシ監視回路1で監視する。
【0018】レイテンシ監視回路1で検出された値「3
2−スレッショルド値−データ数」が2(図3W5)未
満だった場合には、システムの負荷は低いと判断し、ス
レッショルド値が27未満(図3W6)であれば、出力
のスレッショルド値を1増加する(図3W7)。レイテ
ンシ監視回路1で検出された値「32−スレッショルド
値−データ数」が4(図3W8)より大であった場合に
は、スレッショルド値が5(図3W9)以上であれば、
システムの負荷が高いと判断し、出力のスレッショルド
値を1減少させる(図3W10)。それ以外の場合には
スレッショルド値はシステムの負荷に対して適当である
と判断し、スレッショルド値はそのままとする。
【0019】システムの負荷が低い場合、スレッショル
ド値は最終的には上限値の27となり、割り込み通知の
間隔は長くなり、割り込み処理にかかるオーバーヘッド
を最小とすることができる。システムの負荷が高い場
合、スレッショルド値は最終的には下限値の5となり割
り込み通知の間隔は短くなるが、出力FIFOバッファ
4がアンダーフローするまでの時間的な余裕は大きくな
り、エラーの発生を抑えることができる。
【0020】
【発明の効果】上述したように、本発明により、システ
ムの負荷の変動があっても、自動的に割り込みを通知す
るタイミングを最適な値にすることができ、割り込み処
理にかかるオーバーヘッド最小に保ちながら、バッファ
のオーバーフロー、アンダーフローのエラーの発生を防
ぐことが可能となる。また、システムの構成が変わり、
負荷が変動した場合でも、ソフトウェア、ハードウェア
を変更することなく、最適なタイミングでの割り込み信
号の発生が可能となる。
【図面の簡単な説明】
【図1】本発明のI/Oコントローラの構成を示すブロ
ック図である。
【図2】本発明のリード動作を示すフローチャートであ
る。
【図3】本発明のライト動作を示すフローチャートであ
る。
【符号の説明】
1 レイテンシ監視回路 2 スレッショルド検出回路 3 入力FIFOバッファ 4 出力FIFOバッファ 5 割り込み回路 6 I/Oデバイス 10 CPU 11 システムバス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】I/Oデバイスからの入力データを保持す
    る入力バッファと、前記I/Oデバイスへの出力データ
    を保持する出力バッファと、前記入力バッファおよび前
    記出力バッファに格納されたデータ数がスレッショルド
    値を越えるとCPUに対して割り込みを発生する割り込
    み回路と、前記スレッショルド値を前記データ数に応じ
    て自動的に増減するレイテンシ監視回路とを有すること
    を特徴とするI/Oコントローラ。
  2. 【請求項2】(a)I/Oデバイスへの入力データを保
    持する入力FIFOバッファと、(b)前記I/Oデバ
    イスからの出力データを保持する出力FIFOバッファ
    と、(c)前記入力FIFOバッファおよび前記出力F
    IFOバッファに格納されているデータ数とスレッショ
    ルド値とを比較するスレッショルド検出回路と、(d)
    前記スレッショルド検出回路の出力により割り込み信号
    を発生する割り込み回路と、(e)前記割り込み信号が
    発生してから割り込み処理により前記入力FIFOバッ
    ファ、前記出力FIFOバッファがアクセスされるまで
    の間のデータ数の変化量を監視することによりシステム
    バスの負荷を測定し、前記スレッショルド検出回路で検
    出するスレッショルド値を増減させ、割り込みを発生す
    るタイミングを自動的に最適なタイミングに調整するレ
    イテンシ監視回路と、を持つことを特徴とするI/Oコ
    ントローラ。
  3. 【請求項3】前記レイテンシ監視回路が、システムバス
    の負荷が高い場合には、スレッショルドの値を小さく
    し、前記システムバスの負荷が低い場合にはスレッショ
    ルドの値を大きくすることにより、負荷に応じて最適な
    タイミングで割り込みを発生する機能を持つことを特徴
    とする請求項2記載のI/Oコントローラ。
  4. 【請求項4】前記入力バッファに格納されている入力デ
    ータ数が第1のスレッショルド値にあらかじめ定められ
    た第1の数値を加えた値より小である場合に前記第1の
    スレッショルド値を増加させ、前記入力データ数が前記
    第1のスレッショルド値にあらかじめ定められた第2の
    数値を加えた値より大である場合に前記第1のスレッシ
    ョルド値を減少させ、前記出力バッファに格納されてい
    る出力データ数が前記出力バッファのバッファ数から第
    2のスレッショルド値およびあらかじめ定められた第3
    の数値を減じた値より大である場合に前記第2のスレッ
    ショルド値を増加させ、前記出力データ数が前記バッフ
    ァ数から第2のスレッショルド値およびあらかじめ定め
    られた第4の数値を減じた値より小である場合に前記第
    2のスレッショルド値を減少させる機能を持つことを特
    徴とする請求項2記載のI/Oコントローラ。
JP24197296A 1996-09-12 1996-09-12 I/oコントローラ Expired - Lifetime JP2910694B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24197296A JP2910694B2 (ja) 1996-09-12 1996-09-12 I/oコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24197296A JP2910694B2 (ja) 1996-09-12 1996-09-12 I/oコントローラ

Publications (2)

Publication Number Publication Date
JPH1091394A true JPH1091394A (ja) 1998-04-10
JP2910694B2 JP2910694B2 (ja) 1999-06-23

Family

ID=17082334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24197296A Expired - Lifetime JP2910694B2 (ja) 1996-09-12 1996-09-12 I/oコントローラ

Country Status (1)

Country Link
JP (1) JP2910694B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1011041A2 (en) * 1998-12-18 2000-06-21 Matsushita Electric Industrial Co., Ltd. Data transfer apparatus, data transfer system and recording medium
US7346102B2 (en) 2003-09-17 2008-03-18 Verigy (Singapore) Pte. Ltd. Channel with domain crossing
US8171377B2 (en) 2008-01-31 2012-05-01 International Business Machines Corporation System to improve memory reliability and associated methods
US8176391B2 (en) 2008-01-31 2012-05-08 International Business Machines Corporation System to improve miscorrection rates in error control code through buffering and associated methods
US8181094B2 (en) 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
CN109753266A (zh) * 2019-01-02 2019-05-14 西安微电子技术研究所 一种基于fifo的空间计算机多中断缓存控制方法
US10318174B2 (en) 2016-05-19 2019-06-11 Samsung Electronics Co., Ltd. Computer system for performing adaptive interrupt control and method for controlling interrupt thereof

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1011041A2 (en) * 1998-12-18 2000-06-21 Matsushita Electric Industrial Co., Ltd. Data transfer apparatus, data transfer system and recording medium
EP1011041A3 (en) * 1998-12-18 2000-10-18 Matsushita Electric Industrial Co., Ltd. Data transfer apparatus, data transfer system and recording medium
US7346102B2 (en) 2003-09-17 2008-03-18 Verigy (Singapore) Pte. Ltd. Channel with domain crossing
EP1517152B1 (en) * 2003-09-17 2008-10-29 Verigy (Singapore) Pte. Ltd. Channel with clock domain crossing
US8171377B2 (en) 2008-01-31 2012-05-01 International Business Machines Corporation System to improve memory reliability and associated methods
US8176391B2 (en) 2008-01-31 2012-05-08 International Business Machines Corporation System to improve miscorrection rates in error control code through buffering and associated methods
US8181094B2 (en) 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
US10318174B2 (en) 2016-05-19 2019-06-11 Samsung Electronics Co., Ltd. Computer system for performing adaptive interrupt control and method for controlling interrupt thereof
US11023137B2 (en) 2016-05-19 2021-06-01 Samsung Electronics Co., Ltd. Computer system for performing adaptive interrupt control and method for controlling interrupt thereof
US11543968B2 (en) 2016-05-19 2023-01-03 Samsung Electronics Co., Ltd. Computer system for performing adaptive interrupt control and method for controlling interrupt thereof
CN109753266A (zh) * 2019-01-02 2019-05-14 西安微电子技术研究所 一种基于fifo的空间计算机多中断缓存控制方法

Also Published As

Publication number Publication date
JP2910694B2 (ja) 1999-06-23

Similar Documents

Publication Publication Date Title
US6713994B2 (en) Power saving integrated circuit and method of controlling the same
US7617389B2 (en) Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events
JP2910694B2 (ja) I/oコントローラ
US5388261A (en) Apparatus and method for handling frame overruns in a digital signal processing system
US7013401B2 (en) Processor capable of preventing sleep/hold state based on a difference between a processing block address and a writing block address
US6697889B2 (en) First-in first-out data transfer control device having a plurality of banks
JP4696003B2 (ja) データ転送回路
JP3790697B2 (ja) メモリ装置、該メモリ装置の制御方式、および半導体装置、並びに情報処理装置
JP4054448B2 (ja) プログラマブルコントローラ
JPH08237254A (ja) Oamセル挿入装置
US20240134540A1 (en) Electronic Device
KR20040034747A (ko) 다이나믹 직접 메모리 액세스 제어 장치 및 방법
JPH04225435A (ja) 待機系アクセス制御方式
JP2007323279A (ja) メモリ制御装置及びメモリ制御方法
JP2007148634A (ja) 電源モニタ装置
JP2000020283A (ja) データ転送制御装置
JP3772639B2 (ja) エラスティックストア回路
JPH06266648A (ja) データ転送制御方式
JP2587881B2 (ja) 画像形成装置
JPH0736820A (ja) I/o制御装置
JPH103786A (ja) Dram制御回路
JPH04153989A (ja) Icメモリ回路
JPH066263A (ja) 切替要求信号検出方式
JPS5935216A (ja) 多重情報処理システム
JPH09259070A (ja) 割り込み制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990309