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

I/oコントローラ

Info

Publication number
JP2910694B2
JP2910694B2 JP24197296A JP24197296A JP2910694B2 JP 2910694 B2 JP2910694 B2 JP 2910694B2 JP 24197296 A JP24197296 A JP 24197296A JP 24197296 A JP24197296 A JP 24197296A JP 2910694 B2 JP2910694 B2 JP 2910694B2
Authority
JP
Japan
Prior art keywords
value
threshold value
threshold
data
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.)
Expired - Lifetime
Application number
JP24197296A
Other languages
English (en)
Other versions
JPH1091394A (ja
Inventor
拓也 川上
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、I/Oコントロー
ラに関し、特に、CPUに対して割り込みを発生するI
/Oコントローラに関する。
【0002】
【従来の技術】周辺装置とのデータの入出力を行う従来
のI/Oコントローラでは、データを一時的にためてお
くバッファを持ち、バッファ内のデータがあるスレッシ
ョルドを超えたときにCPUに対して割り込みを通知
し、CPUはバッファのデータを引き取ったり、バッフ
ァにデータを供給する処理を行っている。たとえば、
「特開平04−270441号公報」記載の技術ではス
レッショルド値は固定値か、ソフトウェアによりあらか
じめ設定された値が用いられている。
【0003】
【発明が解決しようとする課題】上述した従来のI/O
コントローラでは、割り込みを通知するタイミングを決
定するスレッショルドはあらかじめソフトウェアにより
プログラムされた値を用いているため、スレッショルド
が大きすぎると、システムの負荷が高い場合などに割り
込み処理が間に合わずに、バッファがオーバーフローし
たり、データの供給が間に合わずにアンダーフローなど
のエラーを起こすという問題がある。また、スレッショ
ルドを小さくしすぎると、割り込みが頻繁に発生して割
り込み処理のためのタスクスイッチ等のオーバーヘッド
によりシステムの処理能力が低下してしまうという問題
がある。
【0004】
【課題を解決するための手段】本発明の第1のI/Oコ
ントローラは、(a)I/Oデバイスへの入力データを保持する入力F
IFOバッファと、 (b)前記I/Oデバイスからの出力データを保持する
出力FIFOバッファと、 (c)前記入力FIFOバッファおよび前記出力FIF
Oバッファに格納されているデータ数とスレッショルド
値とを比較するスレッショルド検出回路と、 (d)前記スレッショルド検出回路の出力により割り込
み信号を発生する割り込み回路と、 (e)前記割り込み信号が発生してから割り込み処理に
より前記入力FIFOバッファ、前記出力FIFOバッ
ファがアクセスされるまでの間のデータ数の変化量を監
視することによりシステムバスの負荷を測定し、前記ス
レッショルド検出回路で検出するスレッショルド値を増
減させ、割り込みを発生するタイミングを自動的に最適
なタイミングに調整するレイテンシ監視回路と、を備え
る。
【0005】本発明の第2のI/Oコントローラは、
記第1のI/Oコントローラであって、前記レイテンシ
監視回路が、システムバスの負荷が高い場合には、スレ
ッショルドの値を小さくし、前記システムバスの負荷が
低い場合にはスレッショルドの値を大きくすることによ
り、負荷に応じて最適なタイミングで割り込みを発生す
る機能を持つ。
【0006】本発明の第3のI/Oコントローラは、
記第1のI/Oコントローラであって、前記入力バッフ
ァに格納されている入力データ数が第1のスレッショル
ド値にあらかじめ定められた第1の数値を加えた値より
小である場合に前記第1のスレッショルド値を増加さ
せ、前記入力データ数が前記第1のスレッショルド値に
あらかじめ定められた第2の数値を加えた値より大であ
る場合に前記第1のスレッショルド値を減少させ、前記
出力バッファに格納されている出力データ数が前記出力
バッファのバッファ数から第2のスレッショルド値およ
びあらかじめ定められた第3の数値を減じた値より大で
ある場合に前記第2のスレッショルド値を増加させ、前
記出力データ数が前記バッファ数から第2のスレッショ
ルド値およびあらかじめ定められた第4の数値を減じた
値より小である場合に前記第2のスレッショルド値を減
少させる機能を持つ。
【0007】
【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 (3)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3581601B2 (ja) * 1998-12-18 2004-10-27 松下電器産業株式会社 データ転送装置、データ転送システムおよび記録媒体
DE60324429D1 (de) 2003-09-17 2008-12-11 Verigy Pte Ltd Singapore Kanal mit verschiedenen Taktregionen
US8181094B2 (en) 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
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
KR102649324B1 (ko) 2016-05-19 2024-03-20 삼성전자주식회사 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법
CN109753266A (zh) * 2019-01-02 2019-05-14 西安微电子技术研究所 一种基于fifo的空间计算机多中断缓存控制方法

Also Published As

Publication number Publication date
JPH1091394A (ja) 1998-04-10

Similar Documents

Publication Publication Date Title
US5892979A (en) Queue control apparatus including memory to save data received when capacity of queue is less than a predetermined threshold
US20100023827A1 (en) Soft error correction method, memory control apparatus and memory system
US7617389B2 (en) Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events
US7200763B2 (en) Method and apparatus for controlling the power consumption of a semiconductor device
JP2910694B2 (ja) I/oコントローラ
US20040022099A1 (en) FIFO memory and semiconductor device
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) データ転送回路
US8019952B2 (en) Storage device for storing data while compressing same value input data
JP3790697B2 (ja) メモリ装置、該メモリ装置の制御方式、および半導体装置、並びに情報処理装置
KR100449693B1 (ko) Cpu내의쓰기버퍼데이터보존장치및그방법
JP3015414B2 (ja) 先入れ先出しメモリの異常解除装置
JPH04225435A (ja) 待機系アクセス制御方式
KR100221298B1 (ko) 개량된 선입선출형 버퍼
JPH06266648A (ja) データ転送制御方式
JP2000020283A (ja) データ転送制御装置
JP2005174090A (ja) データ転送回路
JP2587881B2 (ja) 画像形成装置
JP3374772B2 (ja) 大小判定回路およびそれを用いたfifo回路
JP2007148634A (ja) 電源モニタ装置
JPH0736820A (ja) I/o制御装置
JPH02103650A (ja) データ処理装置
JPH0621994B2 (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