(57)【要約】【課題】プロセッサがデバイスのアクセス動作に占有されないようにする。【解決手段】プロセッサ側インターフェース手段１ａは、プロセッサ２から、デバイス３にアクセスするためのアクセス情報を受信し、アクセス情報に対する応答信号を自律してプロセッサ２に出力する。また、データ記憶手段１ｄに記憶されたデータをプロセッサ２に出力する。アクセス情報記憶手段１ｂは、プロセッサ側インターフェース手段１ａが受信したアクセス情報を記憶する。デバイス側インターフェース手段１ｃは、アクセス情報記憶手段１ｂに記憶されたアクセス情報に基づいてデバイス３にアクセスし、デバイス３から出力されるデータを受信する。データ記憶手段１ｄは、デバイス側インターフェース手段１ｃが受信したデータを記憶する。【選択図】図１
2008269035.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとデバイスとのデータのやり取りを仲介するインターフェース回路において、
前記プロセッサから、前記デバイスにアクセスするためのアクセス情報を受信し、前記アクセス情報に対する応答信号を自律して前記プロセッサに出力し、前記デバイスからの前記データを前記プロセッサに出力するプロセッサ側インターフェース手段と、
前記プロセッサ側インターフェース手段が受信した前記アクセス情報を記憶するアクセス情報記憶手段と、
前記アクセス情報記憶手段に記憶された前記アクセス情報に基づいて前記デバイスにアクセスし、前記デバイスから出力される前記データを受信するデバイス側インターフェース手段と、
前記デバイス側インターフェース手段が受信した前記データを記憶するデータ記憶手段と、
を有することを特徴とするインターフェース回路。
【請求項２】
前記プロセッサ側インターフェース手段が受信した前記アクセス情報の内容に基づいて、前記アクセス情報を前記アクセス情報記憶手段を介さずに前記デバイス側インターフェース手段に出力するアクセス情報出力手段をさらに有し、
前記デバイス側インターフェース手段は、前記アクセス情報出力手段から出力される前記アクセス情報に基づいて前記デバイスにアクセスすることを特徴とする請求項１記載のインターフェース回路。
【請求項３】
前記プロセッサ側インターフェース手段が受信した前記アクセス情報の内容に基づいて、前記デバイス側インターフェース手段が受信した前記データを前記データ記憶手段を介さずに前記プロセッサ側インターフェース手段に出力するデータ出力手段をさらに有し、
前記プロセッサ側インターフェース手段は、前記データ出力手段から出力される前記データを前記プロセッサに出力することを特徴とする請求項１記載のインターフェース回路。
【請求項４】
前記プロセッサ側インターフェース手段は、前記プロセッサから前記アクセス情報を受信すると前記プロセッサにアクノリッジ信号を出力することを特徴とする請求項１記載のインターフェース回路。
【請求項５】
前記アクセス情報記憶手段は、ＦＩＦＯメモリであることを特徴とする請求項１記載のインターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインターフェース回路に関し、特にプロセッサとデバイスとのデータのやり取りを仲介するインターフェース回路に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）などのプロセッサの処理速度が高速化しているが、それにより制御される各種デバイスのインターフェース速度は十分追従していない。デバイスによっては、電源投入後の起動に時間がかかるものや特性等の安定に時間がかかるものも存在する。
【０００３】
図９は、プロセッサによる電子デバイス制御を説明する図である。図の回路ブロックは、例えば、光伝送装置の回路ブロックであり、プロセッサ１０１と、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-only Memory）１０２、ＬＳＩ（Large Scale Integration）１０３，１０７、光モジュール１０４，１０９、増幅器１０５，１０８、およびＡＳＳＰＬＳＩ（Application Specific Standard Product LSI）１０６の電子デバイスとが示してある。
【０００４】
プロセッサ１０１は、ＣＰＵやＤＳＰ（Digital Signal Processor）などのプロセッサである。バス１１１は、プロセッサ１０１と直接データのやり取りを行うバスであり、例えば、ＰＣＩ（Peripheral Component Interconnect）バスなどである。
【０００５】
電子デバイスは、バスブリッジ回路やコントローラなどのＩ／Ｆ（InterFace）回路１２１〜１２８を介してバス１１１と接続される。バス１１２，１１７は、例えば、Ｉ２Ｃバスであり、バス１１３，１１６は、ＲＳ−２３２Ｃである。また、バス１１４は、バス１１１よりバスサイクルの遅い低速バスであり、バス１１５は、バス１１１よりバス幅の狭い狭帯域バスである。
【０００６】
Ｉ／Ｆ回路１２１〜１２８は、プロセッサ１０１と接続されているバス１１１を別のバスに適合するようにデータ変換等し、プロセッサ１０１と電子デバイスのデータのやり取りを仲介する。プロセッサ１０１は、Ｉ／Ｆ回路１２１〜１２８を介して、各電子デバイスに対してデータのリード／ライトアクセスを行う。
【０００７】
図１０は、プロセッサのライト動作タイミングの例を示した図である。プロセッサ１０１は、電子デバイスにデータを書き込むとき、データを書き込む電子デバイスのライトアドレスとライトデータとを出力する。また、データを書き込む電子デバイスを選択するためのチップセレクトと電子デバイスにデータを書き込むためのライトイネーブル信号を出力する。
【０００８】
これにより、プロセッサ１０１から出力されたライトデータは、選択された電子デバイスに書き込まれ、データが書き込まれた電子デバイスは、プロセッサ１０１に対し、アクノリッジを返す。プロセッサ１０１は、電子デバイスからアクノリッジを受信すると、次のアクセスを開始することができる。
【０００９】
電子デバイスのインターフェースクロックがバス１１１の動作クロックに対して低速の場合や電子デバイスの応答時間がかかる場合などには、図１０の矢印Ａ１０１に示すように、アクノリッジが返されるまでの時間が長くなる。また、電子デバイスのバスのビット幅がプロセッサ１０１のバスに比べて小さい場合には、Ｉ／Ｆ回路は、プロセッサ１０１の１度のアクセスに対し、複数回のアクセスを電子デバイスに繰り返さなければならず、アクノリッジが返されるまでの時間が長くなる。この場合、プロセッサ１０１は、直ちに次のアクセスを開始することができない。
【００１０】
図１１は、プロセッサのリード動作タイミングの例を示した図である。プロセッサ１０１は、電子デバイスからデータを読み出すとき、データを読み出す電子デバイスのリードアドレスを出力する。また、データを読み出す電子デバイスを選択するためのチップセレクトとデータを読み出すためのリードイネーブルとを出力する。
【００１１】
これにより、電子デバイスからリードデータとアクノリッジが出力され、プロセッサ１０１は、そのリードデータを読み出すことができる。
上述のライト動作と同様に、電子デバイスのインターフェースクロックがバス１１１の動作クロックに対して低速の場合や電子デバイスの応答時間がかかる場合などには、矢印Ａ１０２に示すように、アクノリッジが返されるまでの時間が長くなる。また、電子デバイスのバスのビット幅がプロセッサ１０１のバスに比べて小さい場合には、Ｉ／Ｆ回路は、プロセッサ１０１の１度のアクセスに対し、複数回のアクセスを電子デバイスに繰り返さなければならず、アクノリッジが返されるまでの時間が長くなる。この場合、プロセッサ１０１は、直ちに次のアクセスを開始することができない。
【００１２】
図１２は、アクセス制御動作を示したシーケンス図である。図のプロセッサは、図９のプロセッサ１０１に対応する。Ｉ／Ｆ回路＃１〜＃３は、Ｉ／Ｆ回路１２１〜１２８のうちの、３つのＩ／Ｆ回路に対応する。電子デバイス＃１〜＃３は、図９の電子デバイスのうちの、３つの電子デバイスに対応する。ステップＳ１０１〜Ｓ１０３までは、データの書き込み動作を示し、ステップＳ１０４〜Ｓ１０６は、データの読み出し動作を示している。
【００１３】
ステップＳ１０１において、プロセッサは、Ｉ／Ｆ回路＃１を介して電子デバイス＃１に書き込みデータ＃１を書き込む。電子デバイス＃１は、書き込みデータ＃１を書き込むと、Ａｃｋ（アクノリッジ）＃１をＩ／Ｆ回路＃１を介してプロセッサに通知する。
【００１４】
ステップＳ１０２において、プロセッサは、Ｉ／Ｆ回路＃２を介して電子デバイス＃２に書き込みデータ＃２を書き込む。電子デバイス＃２は、書き込みデータ＃２を書き込むと、Ａｃｋ＃２をＩ／Ｆ回路＃２を介してプロセッサに通知する。
【００１５】
ステップＳ１０３において、プロセッサは、Ｉ／Ｆ回路＃３を介して電子デバイス＃３に書き込みデータ＃３を書き込む。電子デバイス＃３は、書き込みデータ＃３を書き込むと、Ａｃｋ＃３をＩ／Ｆ回路＃３を介してプロセッサに通知する。
【００１６】
ステップＳ１０４において、プロセッサは、Ｉ／Ｆ回路＃１を介して電子デバイス＃１にデータの読み出し要求＃１を行う。電子デバイス＃１は、読み出し要求＃１を受けると、Ａｃｋ＃１と読み出したＤａｔａ＃１とをＩ／Ｆ回路＃１を介してプロセッサに出力する。
【００１７】
ステップＳ１０５において、プロセッサは、Ｉ／Ｆ回路＃２を介して電子デバイス＃２にデータの読み出し要求＃２を行う。電子デバイス＃２は、読み出し要求＃２を受けると、Ａｃｋ＃２と読み出したＤａｔａ＃２とをＩ／Ｆ回路＃２を介してプロセッサに出力する。
【００１８】
ステップＳ１０６において、プロセッサは、Ｉ／Ｆ回路＃３を介して電子デバイス＃３にデータの読み出し要求＃３を行う。電子デバイス＃３は、読み出し要求＃３を受けると、Ａｃｋ＃３と読み出したＤａｔａ＃３とをＩ／Ｆ回路＃１を介してプロセッサに出力する。
【００１９】
プロセッサは、データの書き込みまたは読み出しを行った場合、電子デバイスからアクノリッジが帰ってくるまで、データの書き込みまたは読み出しに動作が占有される。例えば、ステップＳ１０１において、プロセッサは書き込みデータ＃１をＩ／Ｆ回路＃１に出力すると、Ａｃｋ＃１が返ってくるまでは、次のステップＳ１０２の書き込みデータ＃２の動作を行うことができない。特に、電子デバイスの速度が遅い場合、プロセッサの占有時間は長くなる。
【００２０】
プロセッサのアーキテクチャによっては、アクノリッジを返信するのではなく、処理が完了するまでビジー信号をアサートしたり、処理が可能となった時点でレディ信号をアサートしたりする場合があるが、制御対象の電子デバイスが低速な場合にアクセス周期が長くなる点については変わらない。
【００２１】
なお、従来、複数のユーザからのデータファイルの読み出し／書き込み要求に対し、要求発生順に待たされることなく読み出し処理を最大限高速に実行するファイルアクセス制御装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平６−２５０７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
このように、プロセッサが低速なデバイスにアクセスする場合、デバイスからの応答信号を受信するまでの時間が長くなり、その間プロセッサおよびそのバスは、デバイスのアクセス動作に占有されるという問題点があった。
【００２３】
本発明はこのような点に鑑みてなされたものであり、低速なデバイスであってもプロセッサのアクセス動作が占有されないで動作することができるインターフェース回路を提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明の一実施態様では上記問題を解決するために、図１に示すようなプロセッサ２とデバイス３とのデータのやり取りを仲介するインターフェース回路１において、プロセッサ２から、デバイス３にアクセスするためのアクセス情報を受信し、アクセス情報に対する応答信号を自律してプロセッサ２に出力し、デバイス３からのデータをプロセッサ２に出力するプロセッサ側インターフェース手段１ａと、プロセッサ側インターフェース手段１ａが受信したアクセス情報を記憶するアクセス情報記憶手段１ｂと、アクセス情報記憶手段１ｂに記憶されたアクセス情報に基づいてデバイス３にアクセスし、デバイス３から出力されるデータを受信するデバイス側インターフェース手段１ｃと、デバイス側インターフェース手段１ｃが受信したデータを記憶するデータ記憶手段１ｄと、を有することを特徴とするインターフェース回路１が提供される。
【００２５】
このようなインターフェース回路１によれば、プロセッサ２からのアクセス情報に対する応答信号を自律してプロセッサ２に出力する。また、プロセッサ２からのアクセス情報をアクセス情報記憶手段１ｂに記憶し、デバイス３からのデータをデータ記憶手段１ｄに記憶する。
【００２６】
これにより、プロセッサ２とデバイス３との間でやり取りされるアクセス情報およびデータは、アクセス情報記憶手段１ｂおよびデータ記憶手段１ｄに一時的に記憶され、プロセッサ２は、インターフェース回路１から自律した応答信号を受信するので、他の制御を行うことが可能となる。
【発明の効果】
【００２７】
本発明のインターフェース回路では、プロセッサとデバイスとの間でやり取りするアクセス情報およびデータを、アクセス情報記憶手段およびデータ記憶手段に一時的に記憶し、プロセッサに、自律して応答信号を出力するようにした。これによって、プロセッサは、他の制御を行うことが可能となり、デバイスのアクセス動作に占有されることがなくなる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、インターフェース回路の概要を説明する図である。インターフェース回路１は、プロセッサ側インターフェース手段１ａ、アクセス情報記憶手段１ｂ、デバイス側インターフェース手段１ｃ、およびデータ記憶手段１ｄを有している。インターフェース回路１は、プロセッサ２およびデバイス３とバスによって接続され、プロセッサ２とデバイス３のデータのやり取りを仲介する。
【００２９】
プロセッサ側インターフェース手段１ａは、プロセッサ２から、デバイス３にアクセスするためのアクセス情報を受信する。アクセス情報は、例えば、デバイス３のライトアドレスやライトデータ、リードアドレスなどである。また、プロセッサ側インターフェース手段１ａは、アクセス情報に対する応答信号を自律してプロセッサ２に出力する。また、プロセッサ側インターフェース手段１ａは、データ記憶手段１ｄに記憶されたデータをプロセッサ２に出力する。
【００３０】
アクセス情報記憶手段１ｂは、プロセッサ側インターフェース手段１ａが受信したアクセス情報を記憶する。
デバイス側インターフェース手段１ｃは、アクセス情報記憶手段１ｂに記憶されたアクセス情報に基づいてデバイス３にアクセスする。例えば、アクセス情報記憶手段１ｂに記憶されたアクセス情報に基づいてデバイス３にライトアクセスし、または、リードアクセスする。また、デバイス側インターフェース手段１ｃは、デバイス３から出力されるデータを受信する。例えば、リードアクセスに対するリードデータを受信する。
【００３１】
データ記憶手段１ｄは、デバイス側インターフェース手段１ｃが受信したデータを記憶する。
以下、動作について説明する。プロセッサ２は、デバイス３にアクセスする場合、アクセス情報をインターフェース回路１に出力する。インターフェース回路１のプロセッサ側インターフェース手段１ａは、デバイス３の応答とは無関係に自律して応答信号をプロセッサ２に出力する。
【００３２】
一方、プロセッサ２のアクセス情報は、アクセス情報記憶手段１ｂに記憶される。これにより、デバイス側インターフェース手段１ｃは、プロセッサ２に関係なく、アクセス情報記憶手段１ｂに記憶されたアクセス情報に基づいてデバイス３にアクセスできる。また、アクセス情報に応じたデバイス３のデータは、データ記憶手段１ｄに記憶される。これにより、プロセッサ２は、いつでもデータ記憶手段１ｄに記憶されたデータを読み出すことが可能となる。
【００３３】
このように、インターフェース回路１がプロセッサ２とデバイス３との間を仲介するので、プロセッサ２は、他の制御を行うことができ、デバイス３のアクセス動作に占有されることがなくなる。
【００３４】
次に、本発明の実施の形態を図面を参照して詳細に説明する。
図２は、Ｉ／Ｆ回路のブロック構成図である。図に示すようにＩ／Ｆ回路１０は、ＣＰＵバスＩ／Ｆ部１１、ＣＰＵ側メモリ制御部１２、メモリ部２０、デバイス側メモリ制御部３１、デバイスＩ／Ｆ部３２、アクセス監視部４１、およびセレクタ４２，４３を有している。Ｉ／Ｆ回路１０は、ＣＰＵと低速な電子デバイスとのやり取りを仲介する回路であり、例えば、図９に示したＩ／Ｆ回路１２１〜１２８の部分に適用される。ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵと接続されたバス（例えば、図９のバス１１１）に接続され、デバイスＩ／Ｆ部３２は、電子デバイスと接続されたバス（例えば、図９のバス１１２〜１１９）に接続される。
【００３５】
なお、Ｉ／Ｆ回路１０の機能は、ＣＰＵと電子デバイスとでやり取りされるデータが格納されるメモリ部２０と、メモリ部２０とＣＰＵとの間のやり取りを制御するＣＰＵバスＩ／Ｆ部１１およびＣＰＵ側メモリ制御部１２と、メモリ部２０と電子デバイスとの間のやり取りを制御するデバイス側メモリ制御部３１およびデバイスＩ／Ｆ部３２と、ＣＰＵと電子デバイスとのやり取りを、メモリ部２０を介さずに直接行うことができるように制御するアクセス監視部４１およびセレクタ４２，４３とに分けることができる。
【００３６】
ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからライトアクセスを受けた場合、ＣＰＵ側メモリ制御部１２にその旨を通知するとともに、電子デバイスのアクノリッジとは無関係に、自律してＣＰＵに対してアクノリッジを返す。その際、ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからのライトアドレスおよびライトデータを含むアクセス情報をメモリ部２０に出力する。
【００３７】
ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからリードアクセスを受けた場合、ＣＰＵ側メモリ制御部１２にその旨を通知するとともに、電子デバイスのアクノリッジとは無関係に、自律してＣＰＵに対してアクノリッジを返す。その際、ＣＰＵバスＩ／Ｆ部１１は、メモリ部２０に格納されているリードデータをＣＰＵに出力する。また、ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからのリードアドレスを含むアクセス情報をメモリ部２０に送出する。
【００３８】
なお、後で詳述するが、メモリ部２０には、ＣＰＵが前回リードアクセスしたリードデータが格納されるため、ＣＰＵは、前回リードアクセスしたリードデータを得ることになる。
【００３９】
ＣＰＵ側メモリ制御部１２は、メモリ部２０に対するアクセス情報の書き込みを制御する。例えば、ＣＰＵから送出されたライトアドレスおよびライトデータを含むアクセス情報をメモリ部２０に記憶し、ＣＰＵから送出されたリードアドレスを含むアクセス情報をメモリ部２０に記憶する。また、ＣＰＵ側メモリ制御部１２は、ＣＰＵから送出されたリードアドレスに対応したリードデータをメモリ部２０から読み出し、ＣＰＵバスＩ／Ｆ部１１に出力する。
【００４０】
メモリ部２０は、ＦＩＦＯ（First In First Out）メモリ２１およびリードデータ格納メモリ２２を有する。ＦＩＦＯメモリ２１には、ＣＰＵからのアクセス情報がＦＩＦＯ方式で記憶される。
【００４１】
リードデータ格納メモリ２２には、電子デバイスから読み出されたリードデータが格納される。リードデータ格納メモリ２２のアドレスは、電子デバイスのリードアドレスと対応しており、リードデータ格納メモリ２２の所定のアドレスを読み出せば、対応する電子デバイスのリードアドレスを読み出せるようになっている。
【００４２】
デバイス側メモリ制御部３１は、アクセス情報がＦＩＦＯメモリ２１に蓄積され、かつ、デバイスＩ／Ｆ部３２が電子デバイスにアクセスを行っていない場合に、アクセス情報の読み出し制御を行う。ＦＩＦＯメモリ２１から読み出されたアクセス情報は、デバイスＩ／Ｆ部３２に出力される。デバイス側メモリ制御部３１は、ＦＩＦＯメモリ２１にアクセス情報が無くなるまで、アクセス情報の読み出しを行う。
【００４３】
デバイスＩ／Ｆ部３２は、ＦＩＦＯメモリ２１から出力されたアクセス情報を、電子デバイスに適合するフォーマットおよびタイミングに変換して出力する。また、電子デバイスにアクセスするための必要な制御信号を電子デバイスに出力する。
【００４４】
例えば、ＦＩＦＯメモリ２１から出力されたアクセス情報がライトアドレスおよびライトデータの場合、デバイスＩ／Ｆ部３２は、電子デバイスに対し、そのライトアドレスおよびライトデータを出力するとともに、チップセレクト信号およびライトイネーブル信号の制御信号を出力する。これにより、ＣＰＵからのライトデータが電子デバイスに書き込まれる。
【００４５】
また、ＦＩＦＯメモリ２１から出力されたアクセス情報がリードアドレスの場合、デバイスＩ／Ｆ部３２は、電子デバイスに対し、そのリードアドレスを出力するとともに、チップセレクト信号およびリードイネーブル信号の制御信号を出力する。また、デバイスＩ／Ｆ部３２は、電子デバイスからリードアドレスに対応したリードデータを受信し、リードデータ格納メモリ２２の対応するアドレスに格納する。
【００４６】
デバイスＩ／Ｆ部３２は、電子デバイスからアクノリッジが返信されると、デバイスへのアクセスが完了したことをデバイス側メモリ制御部３１に通知する。これにより、デバイス側メモリ制御部３１は、デバイスＩ／Ｆ部３２が電子デバイスにアクセスを行っているか否か認識することができる。
【００４７】
アクセス監視部４１は、ＣＰＵが電子デバイスの特定アドレスにアクセスしたか監視する。特定のアドレスとは、例えば、データの書き込み／読み出しにリアルタイム性が要求されるアドレスである。アクセス監視部４１は、ＣＰＵが電子デバイスの特定アドレスにアクセスした場合、メモリ部２０を介さずに電子デバイスに直接ライトアクセスおよびリードアクセスできるようにする。
【００４８】
例えば、ＣＰＵが特定アドレスにリードアクセスした場合、アクセス監視部４１は、ＣＰＵバスＩ／Ｆ部１１から出力されるリードアドレスのアドレス情報を、直接デバイスＩ／Ｆ部３２に出力されるようにセレクタ４２を制御する。そして、デバイスＩ／Ｆ部３２から出力される電子デバイスのリードデータを、直接ＣＰＵバスＩ／Ｆ部１１に出力されるようにセレクタ４３を制御する。これにより、ＣＰＵは、リアルタイム性の要求されるリードデータに対しては、１回前に行ったリードアクセスのリードデータではなく、現在要求したリードデータを得ることができる。
【００４９】
なお、特定アドレスは、設計段階で固定的にアクセス監視部４１に設定することもできるし、電源投入時などのＩ／Ｆ回路１０の初期化を行う時にアクセス監視部４１に設定することもできる。
【００５０】
また、ＣＰＵバスＩ／Ｆ部１１は、自律してアクノリッジを返すとしたが、ＣＰＵが特定アドレスにアクセスした場合には、電子デバイスのアクノリッジに応じてＣＰＵにアクノリッジを返す。
【００５１】
図３は、ライトアクセス制御動作を示したシーケンス図である。図のＣＰＵは、例えば、図９のプロセッサ１０１に対応する。Ｉ／Ｆ回路＃１〜＃３は、図９に示したＩ／Ｆ回路１２１〜１２８のうちの、３つのＩ／Ｆ回路に対応する。ただし、Ｉ／Ｆ回路＃１〜＃３は、図２で示したブロック構成を有している。電子デバイス＃１〜＃３は、図９の電子デバイスのうちの、３つの電子デバイスに対応する。
【００５２】
図に示すようにＣＰＵは、Ｉ／Ｆ回路＃１〜＃３に対して、電子デバイス＃１〜＃３のライトアドレスやライトデータなどを含む書き込みデータを出力する。Ｉ／Ｆ回路＃１〜＃３のそれぞれのＣＰＵバスＩ／Ｆ部１１は、ＣＰＵから書き込みデータを受信すると、自律してアクノリッジを返す。
【００５３】
Ｉ／Ｆ回路＃１〜＃３のそれぞれのＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからの書き込みデータをＦＩＦＯメモリ２１に出力する。Ｉ／Ｆ回路＃１〜＃３のそれぞれのデバイスＩ／Ｆ部３２は、ＣＰＵの動作とは独立して、ＦＩＦＯメモリ２１に格納された書き込みデータを電子デバイス＃１〜＃３に出力する。
【００５４】
このように、Ｉ／Ｆ回路＃１〜＃３は、ＣＰＵからの書き込みデータをメモリ部２０に記憶するとともに、自律してアクノリッジをＣＰＵに返す。以後、Ｉ／Ｆ回路＃１〜＃３は、ＣＰＵとは独立してＣＰＵからの書き込みデータを電子デバイス＃１〜＃３に書き込む。これにより、電子デバイスへのデータ書き込みは、図に示すように各Ｉ／Ｆ回路＃１〜＃３で並列して行われ、ＣＰＵは、矢印Ａ１において他の制御を行うことができる。
【００５５】
図４は、リードアクセス制御動作を示したシーケンス図である。図のＣＰＵ、Ｉ／Ｆ回路＃１〜＃３、電子デバイス＃１〜＃３は、図３と同様でありその説明を省略する。
図に示すようにＣＰＵは、Ｉ／Ｆ回路＃１〜＃３に対して、電子デバイス＃１〜＃３のリードアドレスなどを含む読み出し要求を行う。Ｉ／Ｆ回路＃１〜＃３のそれぞれのＣＰＵバスＩ／Ｆ部１１は、ＣＰＵからの読み出し要求を受信すると、自律してアクノリッジを返す。
【００５６】
ＣＰＵが初めてリードアクセスしたリードデータ格納メモリ２２のリードアドレスには、リードデータは格納されていない。従って、ＣＰＵは、初めて電子デバイス＃１〜＃３にリードアクセスしたときには、図に示すようにDummyのデータをＩ／Ｆ回路＃１〜＃３から受信することになる。このため、ＣＰＵは、初めてリードアクセスしたリードデータに対しては破棄等する必要がある。
【００５７】
Ｉ／Ｆ回路＃１〜＃３のそれぞれのＣＰＵバスＩ／Ｆ部１１は、ＣＰＵから読み出し要求を受けると、読み出し要求に含まれるリードアドレスをＦＩＦＯメモリ２１に格納する。Ｉ／Ｆ回路＃１〜＃３のそれぞれのデバイスＩ／Ｆ部３２は、ＣＰＵの動作とは独立して、ＦＩＦＯメモリ２１に格納されたリードアドレスに基づいて電子デバイス＃１〜＃３からリードデータを読み出す。Ｉ／Ｆ回路＃１〜＃３のそれぞれのデバイスＩ／Ｆ部３２は、電子デバイスから読み出したリードデータを、リードデータ格納メモリ２２に格納する。
【００５８】
次にＣＰＵが同じリードアドレスでリードアクセスしたとき、リードデータ格納メモリ２２には、前回読み出したリードデータが格納されている。よって、ＣＰＵは、前回リードアクセスしたときのリードデータを取得することになる。
【００５９】
例えば、矢印Ａ１１，Ａ１２に示すように、ＣＰＵがはじめて行った読み出し要求＃１−１のＤａｔａ＃１−１は、リードデータ格納メモリ２２に格納される。
ＣＰＵが、矢印Ａ１３に示すように次に読み出し要求＃１−１を行った場合、リードデータ格納メモリ２２には、矢印Ａ１２で示したＤａｔａ＃１−１が格納されているため、矢印Ａ１４に示すようにＤａｔａ＃１−１がＣＰＵに出力される。
【００６０】
このように、Ｉ／Ｆ回路＃１〜＃３は、ＣＰＵからの読み出し要求をメモリ部２０に記憶するとともに、自律してアクノリッジをＣＰＵに返す。また、リードデータ格納メモリ２２に格納されているリードデータをＣＰＵに返す。Ｉ／Ｆ回路＃１〜＃３は、ＣＰＵとは独立して電子デバイス＃１〜＃３にリードアクセスする。これにより、電子デバイスへのリードデータの読み出しは、図に示すように各Ｉ／Ｆ回路＃１〜＃３で並列して行われ、ＣＰＵは、矢印Ａ１５，Ａ１６において他の制御を行うことができる。
【００６１】
なお、上述したように、ＣＰＵが取得するリードデータは、同じリードアドレスで前回リードアクセスしたリードデータである。リードアクセスが周期的に行われる場合には、１周期前のデータが読み出されることになるが、低速な電子デバイスにおいては、もともとリアルタイムな読み出しは困難なため、問題となるケースは少ない。また、リアルタイムが要求される場合であっても、アクセス監視部４１およびセレクタ４２，４３によって、メモリ部２０を介することなく直接電子デバイスにアクセスでき、リードデータを取得することができる。
【００６２】
以下、Ｉ／Ｆ回路１０のＣＰＵ側（ＣＰＵバスＩ／Ｆ部１１およびＣＰＵ側メモリ制御部１２）の動作フローについて説明する。
図５，６は、Ｉ／Ｆ回路のＣＰＵ側の動作を示したフローチャートである。
【００６３】
ステップＳ１において、Ｉ／Ｆ回路１０のＣＰＵバスＩ／Ｆ部１１は、ＣＰＵバス（ＣＰＵ）からアクセスがあったか否か判断する。ＣＰＵからアクセスがない場合、ステップＳ１の処理を繰り返す。ＣＰＵからアクセスがあった場合、ステップＳ２へ進む。
【００６４】
ステップＳ２において、アクセス監視部４１は、電子デバイスの直接応答が必要か否か判断する。例えば、ＣＰＵがリアルタイム性を要求するライトアドレスまたはリードアドレスにアクセスしてきたか否か判断する。アクセス監視部４１は、直接応答が必要であると判断した場合、ステップＳ１１へ進む。直接応答が不要であると判断した場合、ステップＳ３へ進む。すなわち、アクセス監視部４１は、メモリ部２０を介したデータのやり取りを行わない場合、ステップＳ１１へ進み、メモリ部２０を介したデータのやり取りを行う場合、ステップＳ３へ進む。
【００６５】
ＣＰＵ側メモリ制御部１２は、ＣＰＵのアクセス種別を判断する。ＣＰＵのアクセス種別がライトアクセスの場合、ステップＳ４へ進む。ＣＰＵのアクセス種別がリードアクセスの場合、ステップＳ６へ進む。
【００６６】
ステップＳ４において、ＣＰＵ側メモリ制御部１２は、ライトアクセスのアクセス情報をＦＩＦＯメモリ２１に格納する。
ステップＳ５において、ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵにアクノリッジを返信する。ＣＰＵは、ＣＰＵバスＩ／Ｆ部１１からアクノリッジを受信することにより、電子デバイスへのデータ書き込みから開放され、他の制御を行うことができる。
【００６７】
ステップＳ６において、ＣＰＵ側メモリ制御部１２は、リードアクセスのアクセス情報をＦＩＦＯメモリ２１に格納する。
ステップＳ７において、ＣＰＵ側メモリ制御部１２は、リードアドレスのリードデータ格納メモリ２２からリードデータを読み出す。
【００６８】
ステップＳ８において、ＣＰＵバスＩ／Ｆ部１１は、リードデータ格納メモリ２２から読み出されたリードデータをアクノリッジとともにＣＰＵへ返信する。なお、リードデータ格納メモリ２２には、前回リードアクセスしたときのリードアドレスのリードデータが格納されている。
【００６９】
ステップＳ１１において、アクセス監視部４１は、電子デバイスへのアクセス要求をデバイスＩ／Ｆ部３２に通知する。
ステップＳ１２において、アクセス監視部４１は、デバイスＩ／Ｆ部３２が電子デバイスにアクセス可能であるか否か判断する。すなわち、デバイスＩ／Ｆ部３２が電子デバイスにアクセスしていないか判断する。デバイスＩ／Ｆ部３２が電子デバイスにアクセス可能な場合、ステップＳ１３へ進む。デバイスＩ／Ｆ部３２が電子デバイスにアクセス可能でない場合、ステップＳ１２の処理を繰り返す。
【００７０】
ステップＳ１３において、アクセス監視部４１は、アクセス種別がライトアクセスかリードアクセスか判断する。ライトアクセスの場合、ステップＳ１４へ進む。リードアクセスの場合、ステップＳ１６へ進む。
【００７１】
ステップＳ１４において、アクセス監視部４１は、ＣＰＵバスＩ／Ｆ部１１から出力されるライトアクセスのアクセス情報を、メモリ部２０を介さずデバイスＩ／Ｆ部３２に出力されるようセレクタ４２，４３を制御する。
【００７２】
ステップＳ１５において、ＣＰＵバスＩ／Ｆ部１１は、ＣＰＵにアクノリッジを返信する。なお、アクノリッジの返信は、ＣＰＵバスＩ／Ｆ部１１が自律して行うのではなく、電子デバイスのアクノリッジに応じて行う。
【００７３】
ステップＳ１６において、アクセス監視部４１は、ＣＰＵバスＩ／Ｆ部１１から出力されるリードアクセスのアクセス情報を、メモリ部２０を介さずデバイスＩ／Ｆ部３２に出力されるようセレクタ４２，４３を制御する。
【００７４】
ステップＳ１７において、アクセス監視部４１は、デバイスＩ／Ｆ部３２がリードデータのアクセスを完了したか否か判断する。すなわち、デバイスＩ／Ｆ部３２が電子デバイスからリードデータを取得したか否か判断する。デバイスＩ／Ｆ部３２がリードデータのアクセスを完了したと判断した場合、ステップＳ１８へ進む。デバイスＩ／Ｆ部３２がリードデータのアクセスを完了していないと判断した場合、ステップＳ１７の処理を繰り返す。
【００７５】
ステップＳ１８において、ＣＰＵバスＩ／Ｆ部１１は、メモリ部２０を介さずにデバイスＩ／Ｆ部３２よりリードデータを受信する。
ステップＳ１９において、ＣＰＵバスＩ／Ｆ部１１は、リードデータとアクノリッジをＣＰＵに返信する。なお、アクノリッジの返信は、ＣＰＵバスＩ／Ｆ部１１が自律して行うのではなく、電子デバイスのアクノリッジに応じて行う。
【００７６】
次に、Ｉ／Ｆ回路１０の電子デバイス側（デバイス側メモリ制御部３１およびデバイスＩ／Ｆ部３２）の動作フローについて説明する。
図７，８は、Ｉ／Ｆ回路の電子デバイス側の動作を示したフローチャートである。
【００７７】
ステップＳ２１において、アクセス監視部４１は、ＣＰＵから直接アクセス要求があったか否か判断する。ＣＰＵ側から直接アクセス要求がない場合、ステップＳ２２へ進む。ＣＰＵ側からアクセス要求があった場合、ステップＳ３１へ進む。
【００７８】
ステップＳ２２において、デバイス側メモリ制御部３１は、ＦＩＦＯメモリ２１にアクセス情報が格納されているか否か判断する。ＦＩＦＯメモリ２１にアクセス情報が格納されている場合、ステップＳ２３へ進む。ＦＩＦＯメモリ２１にアクセス情報が格納されていない場合、ステップＳ２１へ進む。
【００７９】
ステップＳ２３において、デバイス側メモリ制御部３１は、ＦＩＦＯメモリ２１からアクセス情報を読み出す。
ステップＳ２４において、デバイス側メモリ制御部３１は、読み出したアクセス情報からＣＰＵがアクセスしたアクセス種別がリードアクセスであったのか、ライトアクセスであったのか判断する。リードアクセスの場合、ステップＳ２７へ進む。ライトアクセスの場合、ステップＳ２５へ進む。
【００８０】
ステップＳ２５において、デバイスＩ／Ｆ部３２は、ＦＩＦＯメモリ２１から読み出されたアクセス情報を基に、電子デバイスにライトアクセスする。
ステップＳ２６において、デバイスＩ／Ｆ部３２は、電子デバイスからのアクノリッジ信号を受信したか否か判断する。電子デバイスからアクノリッジを受信しない場合、ステップＳ２６の処理を繰り返す。電子デバイスからアクノリッジを受信した場合、ステップＳ２１へ進む。
【００８１】
ステップＳ２７において、デバイスＩ／Ｆ部３２は、ＦＩＦＯメモリ２１から読み出されたアクセス情報を基に、電子デバイスにリードアクセスする。
ステップＳ２８において、デバイスＩ／Ｆ部３２は、電子デバイスからアクノリッジおよびリードデータを受信したか否か判断する。電子デバイスからアクノリッジおよびリードデータを受信しない場合、ステップＳ２８の処理を繰り返す。電子デバイスからアクノリッジおよびリードデータを受信した場合、ステップＳ２９へ進む。
【００８２】
ステップＳ２９において、デバイスＩ／Ｆ部３２は、ＣＰＵのリードアドレスに対応したリードデータ格納メモリ２２のアドレスに、電子デバイスのリードデータを書き込む。
ステップＳ３１において、デバイスＩ／Ｆ部３２は、アクセス監視部４１に電子デバイスへのアクセスが可能であることを通知する。
【００８３】
ステップＳ３２において、デバイスＩ／Ｆ部３２は、セレクタ４２を介してアクセス情報を受信する。
ステップＳ３３において、デバイス側メモリ制御部３１は、セレクタ４２から出力されるアクセス情報のアクセス種別がリードアクセスであるかライトアクセスであるか判断する。アクセス種別がリードアクセスの場合、ステップＳ３６へ進む。アクセス種別がライトアクセスの場合、ステップＳ３４へ進む。
【００８４】
ステップＳ３４において、デバイスＩ／Ｆ部３２は、アクセス情報を基に電子デバイスにライトアクセスする。
ステップＳ３５において、デバイスＩ／Ｆ部３２は、電子デバイスからアクノリッジがあったか判断する。電子デバイスからアクノリッジがあれば、ステップＳ２１へ進む。電子デバイスからアクノリッジがなければ、ステップＳ３５の処理を繰り返す。
【００８５】
ステップＳ３６において、デバイスＩ／Ｆ部３２は、アクセス情報を基に電子デバイスにリードアクセスする。
ステップＳ３７において、デバイスＩ／Ｆ部３２は、電子デバイスからアクノリッジおよびリードデータを受信したか否か判断する。電子デバイスからアクノリッジおよびリードデータを受信した場合、ステップＳ３８へ進む。電子デバイスからアクノリッジおよびリードデータを受信しない場合、ステップＳ３７の処理を繰り返す。
【００８６】
ステップＳ３８において、デバイスＩ／Ｆ部３２は、メモリ部２０を介することなく、リードデータをＣＰＵバスＩ／Ｆ部１１に送出する。
このように、Ｉ／Ｆ回路１０は、ＣＰＵと電子デバイスとの間でやり取りするアクセス情報およびリード／ライトデータを、ＦＩＦＯメモリ２１およびリードデータ格納メモリ２２に一時的に記憶し、ＣＰＵに、電子デバイスとは自律してアクノリッジを返信するようにした。これによって、ＣＰＵは、他の制御を行うことが可能となり、電子デバイスのアクセス動作に占有されなくなる。
【００８７】
また、Ｉ／Ｆ回路１０を用いたシステムでは、電源投入時などのシステムの起動時間を短縮することができる。
また、Ｉ／Ｆ回路１０を用いたシステムでは、システム全体の処理能力を向上させることができる。
【００８８】
さらに、ＣＰＵは、アクセス監視部４１によってメモリ部２０を介することなく直接電子デバイスにアクセスすることもでき、リアルタイム性が要求される処理にも対応することができる。
【００８９】
（付記１）  プロセッサとデバイスとのデータのやり取りを仲介するインターフェース回路において、
前記プロセッサから、前記デバイスにアクセスするためのアクセス情報を受信し、前記アクセス情報に対する応答信号を自律して前記プロセッサに出力し、前記デバイスからの前記データを前記プロセッサに出力するプロセッサ側インターフェース手段と、
前記プロセッサ側インターフェース手段が受信した前記アクセス情報を記憶するアクセス情報記憶手段と、
前記アクセス情報記憶手段に記憶された前記アクセス情報に基づいて前記デバイスにアクセスし、前記デバイスから出力される前記データを受信するデバイス側インターフェース手段と、
前記デバイス側インターフェース手段が受信した前記データを記憶するデータ記憶手段と、
を有することを特徴とするインターフェース回路。
【００９０】
（付記２）  前記プロセッサ側インターフェース手段が受信した前記アクセス情報の内容に基づいて、前記アクセス情報を前記アクセス情報記憶手段を介さずに前記デバイス側インターフェース手段に出力するアクセス情報出力手段をさらに有し、
前記デバイス側インターフェース手段は、前記アクセス情報出力手段から出力される前記アクセス情報に基づいて前記デバイスにアクセスすることを特徴とする請求項１記載のインターフェース回路。
【００９１】
（付記３）  前記プロセッサ側インターフェース手段が受信した前記アクセス情報の内容に基づいて、前記デバイス側インターフェース手段が受信した前記データを前記データ記憶手段を介さずに前記プロセッサ側インターフェース手段に出力するデータ出力手段をさらに有し、
前記プロセッサ側インターフェース手段は、前記データ出力手段から出力される前記データを前記プロセッサに出力することを特徴とする請求項１記載のインターフェース回路。
【００９２】
（付記４）  前記プロセッサ側インターフェース手段は、前記プロセッサから前記アクセス情報を受信すると前記プロセッサにアクノリッジ信号を出力することを特徴とする請求項１記載のインターフェース回路。
【００９３】
（付記５）  前記アクセス情報記憶手段は、ＦＩＦＯメモリであることを特徴とする請求項１記載のインターフェース回路。
（付記６）  前記プロセッサ側インターフェース手段は、前記データ記憶手段に記憶されている前記データを前記応答信号とともに前記プロセッサに出力することを特徴とする請求項１記載のインターフェース回路。
【図面の簡単な説明】
【００９４】
【図１】インターフェース回路の概要を説明する図である。
【図２】Ｉ／Ｆ回路のブロック構成図である。
【図３】ライトアクセス制御動作を示したシーケンス図である。
【図４】リードアクセス制御動作を示したシーケンス図である。
【図５】Ｉ／Ｆ回路のＣＰＵ側の動作を示したフローチャートである。
【図６】Ｉ／Ｆ回路のＣＰＵ側の動作を示したフローチャートである。
【図７】Ｉ／Ｆ回路の電子デバイス側の動作を示したフローチャートである。
【図８】Ｉ／Ｆ回路の電子デバイス側の動作を示したフローチャートである。
【図９】プロセッサによる電子デバイス制御を説明する図である。
【図１０】プロセッサのライト動作タイミングの例を示した図である。
【図１１】プロセッサのリード動作タイミングの例を示した図である。
【図１２】アクセス制御動作を示したシーケンス図である。
【符号の説明】
【００９５】
１  インターフェース回路
１ａ  プロセッサ側インターフェース手段
１ｂ  アクセス情報記憶手段
１ｃ  デバイス側インターフェース手段
１ｄ  データ記憶手段
２  プロセッサ
３  デバイス
【図１】
2008269035.tif 000003
【図２】
2008269035.tif 000004
【図３】
2008269035.tif 000005
【図４】
2008269035.tif 000006
【図５】
2008269035.tif 000007
【図６】
2008269035.tif 000008
【図７】
2008269035.tif 000009
【図８】
2008269035.tif 000010
【図９】
2008269035.tif 000011
【図１０】
2008269035.tif 000012
【図１１】
2008269035.tif 000013
【図１２】
2008269035.tif 000014