JPH08241268A - 入出力制御装置 - Google Patents

入出力制御装置

Info

Publication number
JPH08241268A
JPH08241268A JP6682795A JP6682795A JPH08241268A JP H08241268 A JPH08241268 A JP H08241268A JP 6682795 A JP6682795 A JP 6682795A JP 6682795 A JP6682795 A JP 6682795A JP H08241268 A JPH08241268 A JP H08241268A
Authority
JP
Japan
Prior art keywords
data
input
cpu
word
words
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.)
Pending
Application number
JP6682795A
Other languages
English (en)
Inventor
Atsushi Kawai
淳 河井
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP6682795A priority Critical patent/JPH08241268A/ja
Publication of JPH08241268A publication Critical patent/JPH08241268A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 データ転送時のCPUの処理負荷を最低限に
抑制する。 【構成】 入力機器とCPUとのデータ転送の際、ま
ず、割り込み語数レジスタ2に対し、CPUにより入力
機器とのデータ転送を行う際のデータブロックの語数を
予め設定する。一方、入力機器はCPUに転送すべきデ
ータを1語ずつ用意し、I/Oデータ書き込み信号とI
/O書き込みデータを同時にデータ格納部1に送出して
そのデータをデータ格納部1に一時的に格納する。デー
タ格納部1は入力機器から1語ずつデータを受け取る毎
にそのデータ語数を計数する。語数比較器3は、入力機
器から受け取って格納したデータ語数が予めCPUによ
り設定された語数に等しくなったならば、CPUに対
し、入力割り込み要求信号を送出する。これにより、C
PUは入力要求割り込み毎に、割り込み処理によってデ
ータブロックを一括して読み出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、指定されたワード数分
のデータ単位にプロセッサ(CPU)に割り込みを行
う、複数ワードのデータバッファを有する入出力制御装
置に関するものである。
【0002】
【従来の技術】一般に、コンピュータにおいては、CP
Uと入出力装置(I/O)との間で行われるデータ転送
を制御するための入出力制御装置が備えられている。従
来技術による入出力制御装置には、1語ずつの入力レジ
スタ及び出力レジスタを備え、1回の割り込み処理にお
いて、I/Oからの1語の入力、あるいはI/Oへの1
語の出力を行うものがある。また、複数語の入力FIF
O及び出力FIFOを備え、1回の割り込み処理におい
て、I/Oからの1語又は複数語の入力、あるいはI/
Oへの1語又は複数語の出力を行うものがある。更に、
所定の複数語単位にデータ転送を行うべく、CPUへの
割り込み要求の送出をその所定のデータ語数を単位とし
て行うものがある。
【0003】
【発明が解決しようとする課題】上述した従来の技術に
は、以下のような課題があった。即ち、一般に、入出力
装置とCPU間のデータ転送は、1語単位にCPUが処
理を行う必要のある場合と、任意あるいは固定長の複数
語単位にCPUが処理を行う必要のある場合とがある。
また、一種の入出力装置においても、これらの両方の転
送をそれぞれの目的に応じて組み合わせて行うことが多
々ある。このような事情に対し、従来の技術では、以下
のような不具合があった。まず、1語ずつのデータ転送
を行う従来の入出力制御装置では、必ず1回の割り込み
で1語のみを処理する必要がある。このため、複数語の
データブロック単位のデータ転送を行う場合にはCPU
に対する割り込み要求が頻繁に発生し、これにより起動
される割り込み処理のほとんどが単にデータを移動する
だけの操作、即ち処理を伴わない割り込み処理となる。
これは、頻繁に割り込み処理を行うことによる処理の切
り替えが多発し、CPUの処理効率を著しく低下させる
ことになる。
【0004】一方、1語又は複数語ずつのデータ転送を
行う入出力制御装置では、上述した不具合は緩和され
る。即ち、CPUに対する負荷が大きく、かつ優先度の
高い処理を行っているときには、CPUが割り込み要求
を受け付けられなくともFIFOに入力データあるいは
出力データを一時的に蓄えられる。このため、1回の割
り込み処理において、複数語のデータ操作を行うことで
所望の性能を達成することができる。しかしながら、C
PU負荷が大きくないとき、あるいはCPU負荷は大き
いのだけれども優先度の高い処理は少ない場合には1語
単位で割り込み処理を行うことになる。これにより、1
語ずつのみデータ転送を行う場合と同様に、CPUの処
理効率が低下する。また、この従来技術では、1回の割
り込みにおいて何語のデータ転送を行うことができるの
かを常にチェックする必要があり、このためのオーバヘ
ッドは割り込み処理内で1語のデータ転送を行う毎に発
生する。
【0005】更に、上述した問題を回避する方法とし
て、複数語のデータバッファを持ち、入出力装置とCP
U間のデータ転送に伴う割り込み処理を必ず予め定めら
れた固定長のデータブロック毎に行う入出力制御装置が
存在する。しかしながら、先に示したように、一般的な
入出力装置とCPU間のデータ転送においては、様々な
データ語数の転送が行われたり、また、様々なデータ語
数単位にCPUの処理が必要とされることが多い。この
ため、このような固定長データブロック単位のデータ操
作、あるいはデータ処理を行う方式では一般性に欠ける
問題がある。
【0006】
【課題を解決するための手段】本発明は上述した課題を
解決するため、以下の点を特徴とする。 (1)複数語のデータを格納し、当該格納されているデ
ータの語数を出力可能なデータ格納部を備える。プロセ
ッサに割り込み要求を発生するデータ語数を保持する割
り込み語数レジスタを備える。データ格納部が出力する
語数と、割り込み語数レジスタが保持する語数を比較
し、両者の値が一致する場合にプロセッサに割り込み要
求を発生する語数比較器を備える。
【0007】(2)データ格納部は、以下を備える。複
数語から成るデータメモリを備える。当該データメモリ
に書き込まれるデータの語数を計数する書き込みカウン
タを備える。当該データメモリから読み出されるデータ
の語数を計数する読み出しカウンタを備える。書き込み
カウンタの値から読み出しカウンタの値を減じる減算器
を備える。
【0008】(3)語数比較器は、減算器の出力値及び
割り込み語数レジスタの値が一致する場合の他に、デー
タメモリの減算器の値がキャリーを出力する場合及び負
の値になる場合のいずれかの場合にもプロセッサに割り
込み要求を発生することを特徴とする。
【0009】
【作用】
(1)入出力装置とプロセッサとのデータ転送の際、ま
ず、プロセッサは入出力制御部の割り込み語数レジスタ
に対し、入出力装置とのデータ転送を行うための割り込
み処理単位を予め設定する。この設定は、CPUデータ
バスに語数を送出し、割り込み語数セット信号を送出す
ることにより行われる。この後、入出力装置に起動がか
けられる。以下、入力装置の場合について説明する。入
力装置は、プロセッサに転送すべきデータが用意される
と、I/Oデータ書き込み信号とI/O書き込みデータ
を同時に入出力制御装置の入力制御部に出力する。これ
により、データ格納部は、入力装置からのデータを一時
的に格納する。入力装置は、1語のデータが用意される
都度この動作を繰り返す。データ格納部は入力装置から
1語ずつデータを受け取る毎にそのデータ語数を計数す
る。語数比較器は、入力装置から受け取って格納したデ
ータ語数が予めプロセッサにより設定された語数に等し
くなったならば、プロセッサに対し、入力割り込み要求
信号を送出する。この結果、プロセッサは入力要求割り
込み毎に、割り込み処理によってデータブロックを一括
して読み出す。
【0010】(2)複数語を格納可能なFIFO(ファ
ーストイン・ファーストアウト)方式のデータメモリに
対し、データの書き込み及び読み出しを行う際、書き込
みカウンタによりライトアドレスを計数し、読み出しカ
ウンタによりリードアドレスを計数する。そして、双方
のカウンタの値の差を減算器で算出してデータメモリ内
のデータ語数を算出する。この結果、データメモリのデ
ータの書き込みと、データの読み出しを別個に管理し、
データの書き込みと読み出しを独立に行うことができ
る。
【0011】(3)減算器がキャリーを出力する場合及
び負の値を出力する場合に割り込み要求を出力するよう
にした結果、データメモリのオーバラン及びアンダラン
を未然に防止することができる。
【0012】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図面は、本発明の入出力制御装置の実施例
を示し、図1〜図3は、入力制御部、図4〜図6は、出
力制御部を示す。図1及び図4に示すように、本発明の
実施例の装置においては、データ格納部1、割り込み語
数レジスタ2、語数比較器3が備えられている。また、
図2及び図5に示すように、データ格納部1は、データ
メモリ4、書き込みカウンタ5、読み出しカウンタ6を
備えている。一方、本発明の入出力装置を備えたシステ
ムの全体構成を図7に示す。まず、図7について説明す
る。
【0013】図7において、入出力制御装置100は、
入力機器102、出力機器202、及びCPU10と接
続されている。これにより、入出力制御装置100は、
入力機器102とCPU10、及びCPU10と出力機
器202との間のデータ転送を同時に制御する。このよ
うな入出力制御装置100は、入力制御部101と出力
制御部201とから構成される。入力制御部101で
は、入力機器102とCPU10とのデータ転送を制御
し、また、出力制御部201では、CPU10と出力機
器202とのデータ転送を制御する。
【0014】入力機器102とCPU10とのデータ転
送において、まず、CPU10は入力制御部101に対
し、入力機器102とのデータ転送を行うための割り込
み処理単位を予め設定する。設定はCPU10データバ
スに語数を送出し、そして入力割り込み語数セット信号
を送出することにより行われる。割り込み処理単位は入
力機器102から入力制御部101に送られるデータ語
数で与えられる。
【0015】この後、入力機器102に起動をかける。
入力機器102はCPU10に転送すべきデータが用意
されると、I/Oデータ書き込み信号とI/O書き込み
データを同時に入出力制御装置100の入力制御部10
1に出力する。これにより、入力制御部101は入力機
器102からのデータを一時的に格納する。入力機器1
02は1語のデータが用意される都度、この動作を繰り
返す。入力制御部101は入力機器102から1語ずつ
のデータを受け取る毎にそのデータ語数を計数する。入
力機器102から受け取り、図示しないメモリに格納し
たデータ語数が、予めCPU10により設定された語数
に等しくなったならば、入力制御部101はCPU10
への入力割り込み要求信号を送出する。CPU10は割
り込み処理において設定した語数分のデータを入力制御
部101から読み出す。このようにしてCPU10は入
力要求割り込み毎に、割り込み処理にてデータブロック
を一括して読み出す。入力制御部101はCPU10が
データを読み出している際に入力機器102からの新た
なデータを格納することも可能で、このときのデータ語
数の計数も正しく行われる。
【0016】CPU10と出力機器202とのデータ転
送においては、まず、CPU10は出力制御部201に
対し、出力機器202とのデータ転送を行うための割り
込み処理単位を予め設定する。この設定は、CPU10
データバスに語数を送出し、そして、出力割り込み語数
セット信号を送出することにより行われる。割り込み処
理単位はCPU10から出力制御部201に送るデータ
語数で与えられる。この後、出力機器202に起動をか
ける。起動直後は出力制御部201内のデータバッファ
には何もデータは書き込まれていないので、CPU10
はまず所定の語数のデータブロックを書き込む。これは
割り込み処理ではなく、出力機器202の起動処理の中
で行われる。
【0017】一方、出力機器202は自身の固有のタイ
ミングで出力制御部201のデータバッファから1語ず
つデータを読み出す。これにより、データバッファに蓄
えられるデータ語数は減じられていく。出力機器202
が多くのデータを読み出し、データバッファに格納され
ているデータ語数が予め設定した割り込み単位に達した
場合には、出力制御部201からCPU10に出力要求
割り込み信号が送出される。これによりCPU10は出
力機器202に対するデータ書き込みが促進される。C
PU10は割り込み処理の中で所定のデータブロックを
出力制御部201に1語ずつ転送する。これ以降はCP
U10は出力要求割り込みを受け付ける毎に割り込み処
理でブロックデータの転送を一括して行う。CPU10
が出力制御部201にデータの書き込みを行っている際
に出力機器202がデータを読み出すことは可能で、デ
ータ語数の計数は正しく行われる。
【0018】以下、上記のように説明した機能の実現に
ついて詳細に説明する。まず、入力装置とCPU10の
間のデータ入力動作について説明する。図1〜図3は、
図7に示す本発明の実施例の入出力制御装置100の入
力制御部101を示す。図1において、入力制御部10
1は、データ格納部1、割り込み語数レジスタ2、語数
比較器3から構成される。そして、語数比較器3は、比
較回路31、及びオア回路32から構成される。これら
のうち、データ格納部1は、図2に示すように、データ
メモリ4、書き込みカウンタ5、読み出しカウンタ6、
アドレス選択回路7、FIFO制御部8、減算器9から
構成される。また、図3は、図2に示すFIFO制御部
8の構成を示す。図3において、FIFO制御部8は、
書き込み要求F/F(F/F:フリップフロップ)8
1、読み出し要求F/F82、アンド回路84、アンド
回路85、及びFIFO動作F/F86から構成され
る。以下、図1〜図3を用いて入力機器102からの入
力制御動作を説明する。
【0019】入力機器102が起動されていない初期状
態においては、図7の入力制御部101も初期状態にあ
る。この状態では、図2の書き込みカウンタ5、及び読
み出しカウンタ6の内容は“0”で、また、割り込み語
数レジスタ2の値はデータメモリ4の語数となってい
る。CPU10は入力機器102に起動をかける前に、
まず割り込み語数レジスタ2に1回の割り込み処理で読
み出すデータ語数を設定する。これは、設定する割り込
み語数の値をCPUデータバスに送出し、同時に入力割
り込み語数セット信号を“1”に送出することにより実
行される。また、入力語数セット信号が送出されること
により、書き込みカウンタ5、及び読み出しカウンタ6
も“0”にリセットされる。
【0020】この後、入力機器102に起動をかける。
入力機器102が動作を開始すると、データが入力制御
部101に送られてくる。I/O書き込みデータは、デ
ータメモリ4に入力される。これと同時にI/Oデータ
書き込み信号が“1”として送出され、書き込みカウン
タ5、及びFIFO制御部8に入力される。これによ
り、書き込みカウンタ5は計数を行い、“1”だけ増加
する。書き込みカウンタ5の下位ビットはメモリ書き込
みアドレスとしてアドレス選択回路7に入力される。ま
た、FIFO制御部8ではCPU10からのデータ読み
出し動作との調停が行われる。このような調停は、デー
タメモリ4に対する動作が入力機器102からのデータ
書き込み、あるいはCPU10からのデータ読み出しの
どちらかしか一度に行えないために必要となるものであ
る。
【0021】図3に示すFIFO制御部8は、クロック
に同期して動作するため、2段に直列に接続されたF/
Fにより出力であるFIFO書き込み信号にハザードは
生じない。FIFO制御部8では、I/Oデータ書き込
み信号、及びCPU10読み出し信号と共に送出されて
いない状態ではFIFO書き込み信号出力は“0”にネ
ゲートされている。この状態ではデータメモリ4は読み
出し動作を行う。アンド回路85は、読み出し要求を優
先させた、書き込み要求、及び読み出し要求の選択回路
となっている。
【0022】FIFO制御部8は、CPU10読み出し
信号が送出されていない場合には、I/Oデータ書き込
み信号の送出に対してこれを選択し、FIFO書き込み
信号出力を“1”に送出する。一旦FIFO書き込みF
/F出力が選択され、FIFO動作F/F86が“1”
にセットされた場合、FIFO書き込み信号出力が送出
され、データメモリ4は書き込み動作を行う。アンド回
路84は書き込みサイクルの保証回路で、書き込み要求
F/F81が“1”にセットされている間は、読み出し
要求F/F82の値にかかわらず、FIFO動作F/F
86を“1”に保つために、読み出し要求F/F82の
出力を無効化する働きをする。
【0023】図2のアドレス選択回路7では、書き込み
カウンタ5からのライトアドレスを選択し、データメモ
リ4のメモリアドレスとして供給する。また、データメ
モリ4ではFIFO書き込み信号出力の送出によりデー
タメモリ4への書き込み動作を行う。これにより、デー
タメモリ4、アドレス選択回路7、書き込みカウンタ
5、読み出しカウンタ6、及びFIFO制御部8等によ
り構成されるデータ格納部1に1語のデータが書き込ま
れることになる。
【0024】本実施例の入出力制御装置100において
示されるデータ格納部1は、データメモリ4を巡回バッ
ファとして配置することでデータメモリ4の持つ容量よ
りもより多くの語数に対するデータバッファとして働
く。図8に、この働きを示す。初期状態では、データメ
モリ4は図8に示すデータメモリ4のアドレス空間の最
下位領域(アドレスの最小となる領域)に配置される。
図2に示す書き込みカウンタ5は、入力機器102から
の書き込みデータを計数すると共にデータメモリ4への
書き込みアドレスを生成する。また、図2の読み出しカ
ウンタ6は、同様にCPU10により読み出される読み
出しデータを計数すると共にデータメモリ4への読み出
しアドレスを生成する。どちらのカウンタも、図8に示
すデータメモリ4のアドレス空間にわたる全てのアドレ
スを発生することができる。
【0025】データの転送が始まると、書き込みカウン
タ5あるいは読み出しカウンタ6は、それぞれ計数を行
う。これにより、書き込みメモリアドレスあるいは読み
出しメモリアドレスは、アドレスを増加させていく。書
き込みメモリアドレスがデータメモリ4の最大アドレス
を越えて増加すると、桁上がりを起こし、書き込みカウ
ンタ5の上位ライトアドレスに相当する出力が“1”だ
け増加する。書き込みカウンタ5の出力のうち実際にデ
ータメモリ4に供給される下位ビット、即ちライトアド
レスは、また“0”に戻る。これにより、データメモリ
4自体はデータメモリ4のアドレス空間の上位位置(上
位ライトアドレスが1以上の位置)に再配置されること
になる。
【0026】読み出しメモリアドレスについても同様に
データメモリ4の容量を越えるカウントがされた場合に
は、データメモリ4のアドレス空間の上位位置に再配置
される。ただし、書き込みメモリアドレスが桁上がりに
より上位位置のアドレスを発生するようになっても、読
み出しメモリアドレスはまだ元の位置のアドレスを発生
していることもあり、この場合には書き込みのためのデ
ータメモリ4と読み出しのためのデータメモリ4は、同
一のメモリでありながら別々の位置に配置された状態と
なる。これは言い換えれば、データメモリ4が1語ずつ
徐々にデータメモリ4アドレス空間内を上位方向に向か
って移動していると考えられる。このような動作により
データメモリ4はFIFOとして働く。
【0027】書き込みデータアドレス、即ち書き込みカ
ウンタ5の値と、読み出しデータアドレス、即ち、読み
出しカウンタ6の値の差は、その時点にデータメモリ4
に格納されているデータ語数である。これは図4の減算
器9により計算される。減算器9の出力がデータメモリ
4の容量を越える場合には、まだ読み出されていないデ
ータメモリ4内のデータを上書きすることになる。従っ
て、これをオーバーランとしてその時点でCPU10に
対して割り込み要求を送出する。また、減算器9の出力
がマイナスの場合には、未だ書き込みが行われていない
データを読み出すことになる。従って、これをアンダー
ランとしてその時点でオーバーランの場合と同様にCP
U10に対して割り込み要求を送出する。本実施例で
は、入力機器102に対する一回の入力操作によるデー
タ転送語数は書き込みカウンタ5あるいは読み出しカウ
ンタ6の計数範囲内としているが、この制限は本発明に
本質的に伴う制限とはならない。
【0028】このようにして、入力機器102は入出力
制御部201内のデータ格納部1に1語ずつデータを書
き込んでいく。書き込まれたデータ語数が割り込み語数
レジスタ2に設定された語数に達した場合には、CPU
10入力要求割り込みが発生する。CPU10は割り込
み処理により設定した語数分のデータを入力制御部10
1内のデータ格納部1から読み出す。この1ブロックの
データは1語ずつ読み出される。読み出しの途中で入力
機器102から新たなデータがデータ格納部1に書き込
まれることもある。
【0029】書き込みカウンタ5及び読み出しカウンタ
6は、常にデータ格納部1のデータメモリ4の正しい先
頭位置(書き込みカウンタ5の値)、及び最後尾位置
(読み出しカウンタ6の値)を保持している。従って、
これ以降、つまり入力機器102とCPU10の間の2
ブロック目以降のデータ転送も同様に、割り込み語数レ
ジスタ2に設定された語数がデータ格納部1に書き込ま
れた時点でCPU10に割り込み要求が発生し、割り込
み処理によりデータが読み出されていく。以上が入力機
器102とCPU10の間のデータ転送の説明である。
【0030】次に、CPU10と出力機器202との間
のデータ出力動作について詳細に説明する。この動作に
ついては、データの転送方向が逆になることを除けば上
述した入力動作とほぼ同様な構成と各部の動作により実
行される。従って、同一の構成部分については同一の符
合を付して対応関係を明らかにする。
【0031】図4〜図6は、図7に示す本発明の実施例
の入出力制御装置100の出力制御部201を示す。図
4において、出力制御部201は、データ格納部1、割
り込み語数レジスタ2、語数比較器3から構成される。
そして、語数比較器3は、比較回路31、及びオア回路
32から構成される。一方、図5において、データ格納
部1は、データメモリ4、書き込みカウンタ5、読み出
しカウンタ6、アドレス選択回路7、FIFO制御部
8、減算器9から構成される。また、図6は、図6に示
すFIFO制御部8の構成を示す。図6において、FI
FO制御部8は、書き込み要求F/F81、読み出し要
求F/F82、アンド回路84、アンド回路85、及び
FIFO動作F/F86から構成される。以下、図4〜
図6及び図7を用いて出力機器202への出力制御動作
を説明する。
【0032】出力機器202が起動されていなくて、か
つ、CPU10からの出力データが出力機器202に対
して何も書き込まれていない状態では、図4〜図6の出
力制御部201も初期状態にある。この状態では、書き
込みカウンタ5及び読み出しカウンタ6の内容は共に
“0”となっており、また、割り込み語数レジスタ2の
値も“0”となっている。CPU10は出力機器202
に起動をかける前に、割り込み語数レジスタ2のセット
を行う。設定値はCPU10によりデータメモリ4に書
き込まれた出力データの内、未だ出力機器202から読
み出されていないデータ語数、即ちデータメモリ4が保
持している出力データ語数の最小値となる。つまり、デ
ータメモリ4に保持されているデータが出力機器202
により読み出される。そして、この設定語数にまで達し
たときにCPU10に出力割り込み要求を行い、出力制
御部201に対して次の出力データの書き込みを行うこ
とをCPU10に要求するための設定を行う。
【0033】割り込み語数レジスタ2へのセットは、C
PU10データバスに設定値を与え、出力割り込み語数
セット信号を“1”に送出することにより実行される。
このとき、書き込みカウンタ5及び読み出しカウンタ6
の値も“0”にクリアされる。この後、CPU10は出
力機器202に出力すべき最初のデータブロックを出力
機器202に書き込む。出力機器202に起動をかける
前にCPU10が出力制御部201に書き込む最初のデ
ータブロックは、割り込み処理によらない。即ち、1語
ずつデータメモリ4にデータを書き込む。そして、CP
U10データバスに書き込みデータを与え、CPU10
データ書き込み信号を“1”に送出することで実行され
る。このCPU10データ書き込み信号は書き込みカウ
ンタ5、及びFIFO制御部8にも入力される。これに
より、入力制御部101での動作と同様に、データメモ
リ4への書き込みデータ語数の計数と、データメモリ4
に対する書き込み動作、及び読み出し動作の間の競合調
停が行われる。
【0034】図6に、図5に示すFIFO制御部8の構
成を示す。FIFO制御部8は、図3の入力制御部10
1のFIFO制御部8と全く同じ構成である。CPU1
0データ書き込み信号を“1”に送出して書き込み要求
を行うのがCPU10であること、そして、I/Oデー
タ読み出し信号を“1”に送出して読み出し要求を行う
のが出力機器202であることを除いては、動作も全く
同様である。従って詳細な説明は省略する。
【0035】図5のアドレス選択回路7では書き込みカ
ウンタ5からのライトアドレスを選択し、データメモリ
4のメモリアドレスとして供給する。また、データメモ
リ4ではFIFO書き込み信号出力の送出によりデータ
メモリ4への書き込み動作を行う。これによりデータメ
モリ4、アドレス選択回路7、書き込みカウンタ5、読
み出しカウンタ6、及びFIFO制御部8等から構成さ
れるデータ格納部1に1語のデータが書き込まれること
になる。入力制御部101の説明で示したように、本実
施例の入出力制御装置100において示されるデータ格
納部1はデータメモリ4を巡回バッファとして配置する
ことでデータメモリ4の持つ容量よりも多くの語数に対
するデータバッファとして働く。これについては図8の
説明においてすでに述べた。出力制御部201において
もデータメモリ4を使用したデータ格納部1の構成は入
力制御部101のものと同様である。
【0036】このようにして、出力制御部201に最初
のデータブロックを書き込んだ後、出力機器202に起
動をかける。これにより、出力機器202は動作を開始
する。その後、出力機器202は出力制御部201から
データを読み出す。これは、出力制御部201のI/O
データ読み出し信号を“1”として送出することにより
実行される。このI/Oデータ読み出し信号は、読み出
しカウンタ6及びFIFO制御部8に入力される。
【0037】読み出しカウンタ6では、1つ値を増加さ
せ、データメモリ4から1語の読み出しが行われること
を語数の計数に反映させる。また、FIFO制御部8で
は、FIFO書き込み信号出力を“0”にネゲートす
る。FIFO書き込み信号は通常ネゲートされているの
で、“0”の状態を保持するように回路が働くことにな
る。FIFO書き込み信号は、アドレス選択回路7及び
データメモリ4に供給される。アドレス選択回路7で
は、読み出しカウンタ6出力であるリードアドレスを選
択し、データメモリ4にメモリアドレスとして供給す
る。また、データメモリ4では、“0”であるFIFO
書き込み信号が供給されることにより読み出し動作を行
う。
【0038】データメモリ4から読み出されたI/O読
み出しデータは出力機器202に供給される。出力機器
202によるデータ読み出しは1語ずつ行われる。この
ようにして、出力機器202は必要な語数に達するまで
出力制御部201から随時1語ずつデータを読み出すこ
とになる。データが読み出される毎に読み出しカウンタ
6は計数を行う。そして、減算器9により書き込み語数
と読み出し語数の差が随時計算される。この値がその時
点にデータメモリ4に格納されているデータ語数とな
る。そして、このデータ語数が割り込み語数レジスタ2
に設定した値と等しくなると、CPU10に対し、出力
割り込み要求信号が“1”として送出される。この出力
割り込み要求信号は、比較回路31及びオア回路32を
経て生成される。
【0039】CPU10は、出力割り込み要求を受け付
けると、割り込み処理により所定のデータ語数を出力制
御部201に1語ずつ書き込む。このように、2番目以
降の出力データブロックは割り込み処理にてCPU10
から出力制御部201に書き込まれる。これにより、総
データをいくつかのデータブロックに分けて転送を行
う。データメモリ4の容量及び出力機器202に転送す
べき総データ語数は既知であるので、両者の値から1つ
のデータブロックの大きさを最適に求めることができ
る。1つのデータブロックが1回の割り込み処理にて出
力制御部201に書き込まれる。割り込み語数レジスタ
2に設定される語数は、このデータブロックの大きさ、
データメモリ4の容量、及び出力機器202のデータ読
み出し速度から計算される。
【0040】減算器9の出力がデータメモリ4の容量を
越える場合には、まだ読み出されていないデータメモリ
4内のデータを上書きすることになるので、その直前で
オーバーランとしてCPU10に対し、割り込み要求を
送出する。また、減算器9の出力がマイナスの場合に
は、未だ書き込みが行われていないデータを読み出そう
とする。このような読み出しが行われると、不当なデー
タを読み出すことになるので、その直前でアンダーラン
としてオーバーランと同様にCPU10に対し、割り込
み要求を送出する。尚、本実施例では、出力機器202
に対する1回の出力操作によるデータ転送語数は書き込
みカウンタ5あるいは読み出しカウンタ6の計数範囲内
としているが、この制限は本発明に本質的に伴う制限と
はならない。
【0041】また、CPU10が割り込み処理によって
1ブロックのデータを1語ずつ出力制御部201に書き
込んでいる最中に出力機器202からデータ格納部1の
データを読み出すこともできる。即ち、書き込みカウン
タ5及び読み出しカウンタ6は常にデータメモリ4の正
しい先頭位置(書き込みカウンタ5の値)及び最後尾
(読み出しカウンタ6の値)を保持しているので、CP
U10から出力制御部201へのデータ書き込みと出力
機器202による出力制御部201からのデータ読み出
しの両方を並行して実行することが可能である。以上が
CPU10と出力機器202の間のデータ転送の説明で
ある。
【0042】尚、本発明は以上の実施例に限定されず、
種々の変形が可能であることはいうまでもない。例え
ば、図7において、入出力制御装置100は、入力制御
部101と出力制御部201とを一体化しているが、そ
れぞれ別体とし、入力機器102と出力機器202とに
それぞれ組み込むようにしてもよい。
【0043】
【発明の効果】以上詳述したように、本発明の入出力制
御装置によれば、プログラムにより指定されたワード数
毎に割り込みを発生するようにしたので、CPUに対す
る割り込み処理負荷を最低限に保ちながら、プログラム
により入出力機器とCPUとのデータ転送を行うことが
できる。これにより、1語のみのレジスタを用いた装置
による1語ずつの割り込み処理によるデータ転送による
CPU負荷の増大、複数語のデータバッファを用いた装
置による1語ずつの割り込み処理によるデータ転送によ
るCPU負荷の増大、割り込み処理により複数語のデー
タ転送を行う場合の語数評価のためのCPU負荷の増
大、及び固定長の複数語のデータバッファを用いた装置
による適用制限等を解消することができる。
【図面の簡単な説明】
【図1】本発明の入出力制御装置の実施例の要部(その
1)のブロック図である。
【図2】図1のデータ格納部の詳細な構成のブロック図
である。
【図3】図2のFIFO制御部の詳細な構成のブロック
図である。
【図4】本発明の入出力制御装置の実施例の要部(その
2)のブロック図である。
【図5】図4のデータ格納部の詳細な構成のブロック図
である。
【図6】図5のFIFO制御部の詳細な構成のブロック
図である。
【図7】本発明の実施例の入出力制御装置の全体構成の
ブロック図である。
【図8】データメモリの使用手順の説明図である。
【符号の説明】
1 データ格納部 2 割り込み語数レジスタ 3 語数比較器 4 データメモリ 5 書き込みカウンタ 6 読み出しカウンタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数語のデータを格納し、当該格納され
    ているデータの語数を出力可能なデータ格納部と、 プロセッサに割り込み要求を発生するデータ語数を保持
    する割り込み語数レジスタと、 前記データ格納部が出力する語数と、前記割り込み語数
    レジスタが保持する語数を比較し、両者の値が一致する
    場合にプロセッサに割り込み要求を発生する語数比較器
    とを備えたことを特徴とする入出力制御装置。
  2. 【請求項2】 前記データ格納部は、複数語から成るデ
    ータメモリと、 当該データメモリに書き込まれるデータの語数を計数す
    る書き込みカウンタと、 当該データメモリから読み出されるデータの語数を計数
    する読み出しカウンタと、 前記書き込みカウンタの値から前記読み出しカウンタの
    値を減じる減算器とを備えたことを特徴とする請求項1
    記載の入出力制御装置。
  3. 【請求項3】 前記語数比較器は、前記減算器の出力値
    及び割り込み語数レジスタの値が一致する場合の他に、
    前記減算器の値がキャリーを出力する場合及び負の値に
    なる場合のいずれかの場合にもプロセッサに割り込み要
    求を発生することを特徴とする請求項2記載の入出力制
    御装置。
JP6682795A 1995-03-01 1995-03-01 入出力制御装置 Pending JPH08241268A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6682795A JPH08241268A (ja) 1995-03-01 1995-03-01 入出力制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6682795A JPH08241268A (ja) 1995-03-01 1995-03-01 入出力制御装置

Publications (1)

Publication Number Publication Date
JPH08241268A true JPH08241268A (ja) 1996-09-17

Family

ID=13327068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6682795A Pending JPH08241268A (ja) 1995-03-01 1995-03-01 入出力制御装置

Country Status (1)

Country Link
JP (1) JPH08241268A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10096085B2 (en) 2013-12-09 2018-10-09 Cj Cgv Co., Ltd. Method for generating images for multi-projection theater and image management apparatus using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10096085B2 (en) 2013-12-09 2018-10-09 Cj Cgv Co., Ltd. Method for generating images for multi-projection theater and image management apparatus using the same

Similar Documents

Publication Publication Date Title
JP3598321B2 (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
US6341318B1 (en) DMA data streaming
US5832308A (en) Apparatus for controlling data transfer between external interfaces through buffer memory using a FIFO, an empty signal, and a full signal
US5968143A (en) Information handling system for transfer of command blocks to a local processing side without local processor intervention
US5367639A (en) Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
US5251312A (en) Method and apparatus for the prevention of race conditions during dynamic chaining operations
US5940866A (en) Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
US7752349B2 (en) Apparatus and method for performing DMA data transfer
EP1199641B1 (en) Data processing device used in serial communication system
US7617389B2 (en) Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events
CN1109980C (zh) 通信dma装置
US5745731A (en) Dual channel FIFO circuit with a single ported SRAM
US7185122B2 (en) Device and method for controlling data transfer
JPH08241268A (ja) 入出力制御装置
GB2225462A (en) Data input/output channel apparatus
US20190391840A1 (en) Memory module
JPH03147157A (ja) 情報処理装置
JPH0619836A (ja) Dma制御回路
JP3687112B2 (ja) データ転送制御装置及び情報処理装置
EP0410382A2 (en) Data transfer controller using direct memory access method
JPH06131294A (ja) データ転送装置
JPH02310649A (ja) 受信フレーム転送方式および通信制御装置
JP2000215154A (ja) Dmaコントロ―ラ
JPH05173933A (ja) ダイレクトメモリアクセス転送方式
JP2534797B2 (ja) キュ―イング制御方式