(57)【要約】      （修正有）【課題】ホストスレーブ間でポインターの共有の必要がなくボトルネックの発生させないプロセッサ間通信が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供。【解決手段】本集積回路装置１０は、外部ＣＰＵ２００に接続されるスレーブ側の集積回路装置であって、内部ＣＰＵ２０と、内部ＣＰＵと外部のＣＰＵとのプロセッサ間通信処理を行うプロセッサ間通信処理部４０とを含み、前記プロセッサ間通信処理部４０は、外部ＣＰＵがコマンドを設定可能な第１のレジスタ５０と、第１のレジスタ５０にコマンドが書き込まれると、内部ＣＰＵ２０に対し第１の割り込み信号６１を出力する第１の割り込み信号生成回路６０と、内部ＣＰＵ２０がコマンドを設定可能な第２のレジスタと、第２のレジスタにコマンドが書き込まれると、外部ＣＰＵ２００に対し第２の割り込み信号を出力する第２の割り込み信号生成回路６０とを含む。【選択図】図１
2006209303.tif 000002
【特許請求の範囲】
【請求項１】
外部ＣＰＵに接続されるスレーブ側の集積回路装置であって、
内部ＣＰＵと、
内部ＣＰＵと外部のＣＰＵとのプロセッサ間通信処理を行うプロセッサ間通信処理部とを含み、
前記プロセッサ間通信処理部は、
外部ＣＰＵがコマンドを設定可能な第１のレジスタと、
第１のレジスタにコマンドが書き込まれると、内部ＣＰＵに対し第１の割り込み信号を出力する第１の割り込み信号生成回路と、
内部ＣＰＵがコマンドを設定可能な第２のレジスタと、
第２のレジスタにコマンドが書き込まれると、外部ＣＰＵに対し第２の割り込み信号を出力する第２の割り込み信号生成回路と、を含むことを特徴とする集積回路装置。
【請求項２】
複数のＣＰＵを含む集積回路装置であって、
第１のＣＰＵと、
第２のＣＰＵと、
第１のＣＰＵと第２のＣＰＵとのプロセッサ間通信処理を行うプロセッサ間通信処理部とを含み、
前記プロセッサ間通信処理部は、
第１のＣＰＵがコマンドを設定可能な第１のレジスタと、
第１のレジスタにコマンドが書き込まれると、第２のＣＰＵに対し第１の割り込み信号を出力する第１の割り込み信号生成回路と、
第２のＣＰＵがコマンドを設定可能な第２のレジスタと、
第２のレジスタにコマンドが書き込まれると、第１のＣＰＵに対し第２の割り込み信号を出力する第２の割り込み信号生成回路と、を含むことを特徴とする集積回路装置。
【請求項３】
請求項１又は２のいずれかにおいて、
前記プロセッサ間通信処理部は、
外部ＣＰＵ又は第１のＣＰＵが、第１のレジスタに書き込むコマンドに関連付けて書き込み可能な第１のバッファを含むことを特徴とする集積回路装置。
【請求項４】
請求項３において、
前記プロセッサ間通信処理部は、
第１のバッファのアクセス状況を監視し、第１のバッファのバッファフル状態を検出すると、外部ＣＰＵ又は第１のＣＰＵに対してバッファフル状態であることを通知するための第３の割り込み信号を出力する第３の割り込み信号生成回路を含むことを特徴とする集積回路装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記プロセッサ間通信処理部は、
内部ＣＰＵ又は第２のＣＰＵが、第２のレジスタに書き込むコマンドに関連付けて書き込み可能な第２のバッファを含むことを特徴とする集積回路装置。
【請求項６】
請求項５において、
前記プロセッサ間通信処理部は、
第２のバッファのアクセス状況を監視し、第２のバッファのバッファフル状態を検出すると、内部ＣＰＵ又は第２のＣＰＵに対してバッファフル状態であることを通知するための第４の割り込み信号を出力する第４の割り込み信号生成回路を含むことを特徴とする集積回路装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記第１の割り込み信号生成回路は、
プログラマブルに設定可能な第１の割り込み制御レジスタを含み、第１の割り込み制御レジスタに設定された値に基づき第１の割り込み信号の生成の制御を行うことを特徴とする集積回路装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記第２の割り込み信号生成回路は、
プログラマブルに設定可能な第２の割り込み制御レジスタを含み、第２の割り込み制御レジスタに設定された値に基づき第２の割り込み信号の生成の制御を行うことを特徴とする集積回路装置。
【請求項９】
請求項１乃至８のいずれかの集積回路装置を含むマイクロコンピュータ。
【請求項１０】
請求項９に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器に関する。
【背景技術】
【０００２】
ホストＣＰＵから制御され、内部にＣＰＵを持つスレーブ機（コントローラー）において、ホストからのコマンドの設定、受け渡しを行う際のプロセッサ間通信の手法としては、共有メモリを使用したものが一般的である。共有メモリを使用する場合、共有メモリにコマンド、データ等を格納してから伝えたいプロセッサに対して割込みをかける。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、共有メモリを使用した場合、通信を行うプロセッサ間でポインタ情報を共有する必要があり管理が煩雑である。また、複数のプロセッサが共有メモリにアクセスする為に共有メモリへのアクセスが処理のボトルネックになる可能性がある。
【０００４】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、ホストスレーブ間又は複数のプロセッサ間でポインターの共有の必要がなくボトルネックの発生させないプロセッサ間通信が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供を目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明は、
外部ＣＰＵに接続されるスレーブ側の集積回路装置であって、
内部ＣＰＵと、
内部ＣＰＵと外部のＣＰＵとのプロセッサ間通信処理を行うプロセッサ間通信処理部とを含み、
前記プロセッサ間通信処理部は、
外部ＣＰＵがコマンドを設定可能な第１のレジスタと、
第１のレジスタにコマンドが書き込まれると、内部ＣＰＵに対し第１の割り込み信号を出力する第１の割り込み信号生成回路と、
内部ＣＰＵがコマンドを設定可能な第２のレジスタと、
第２のレジスタにコマンドが書き込まれると、外部ＣＰＵに対し第２の割り込み信号を出力する第２の割り込み信号生成回路と、を含むことを特徴とする。
【０００６】
内部ＣＰＵは第１の割り込み信号を受けると第１のレジスタに設定されたコマンドを読み出し必要な処理を行うようにしてもよい。
【０００７】
また外部ＣＰＵは第２の割り込み信号を受けると第２のレジスタに設定されたコマンドを読み出し必要な処理を行うようにしてもよい。
【０００８】
本発明によれば、ホスト側、スレーブ側でポインタ情報の共有の必要がない。プロセッサ間通信処理部はスレーブ内部に存在するため、外部バスにアクセスするのはホストＣＰＵのみでよい事からボトルネットが存在しないという効果がある。またバス接続で済むため、共有メモリの場合のように、スレーブ数が増えるに従いポインター制御が煩雑になることがなく、スレーブの増設が容易である。
【０００９】
（２）本発明は、
複数のＣＰＵを含む集積回路装置であって、
第１のＣＰＵと、
第２のＣＰＵと、
第１のＣＰＵと第２のＣＰＵとのプロセッサ間通信処理を行うプロセッサ間通信処理部とを含み、
前記プロセッサ間通信処理部は、
第１のＣＰＵがコマンドを設定可能な第１のレジスタと、
第１のレジスタにコマンドが書き込まれると、第２のＣＰＵに対し第１の割り込み信号を出力する第１の割り込み信号生成回路と、
第２のＣＰＵがコマンドを設定可能な第２のレジスタと、
第２のレジスタにコマンドが書き込まれると、第１のＣＰＵに対し第２の割り込み信号を出力する第２の割り込み信号生成回路と、を含むことを特徴とする。
【００１０】
第２のＣＰＵは第１の割り込み信号を受けると第１のレジスタに設定されたコマンドを読み出し必要な処理を行うようにしてもよい。
【００１１】
また第１のＣＰＵは第２の割り込み信号を受けると第２のレジスタに設定されたコマンドを読み出し必要な処理を行うようにしてもよい。
【００１２】
（３）本発明の集積回路装置は、
前記プロセッサ間通信処理部が、
外部ＣＰＵ又は第１のＣＰＵが、第１のレジスタに書き込むコマンドに関連付けて書き込み可能な第１のバッファを含むことを特徴とする。
【００１３】
内部ＣＰＵ又は第２のＣＰＵは第１の割り込み信号を受けると第１のバッファ書き込まれたデータを読み出し必要な処理を行うようにしてもよい。
【００１４】
（４）本発明の集積回路装置は、
前記プロセッサ間通信処理部が、
第１のバッファのアクセス状況を監視し、第１のバッファのバッファフル状態を検出すると、外部ＣＰＵ又は第１のＣＰＵに対してバッファフル状態であることを通知するための第３の割り込み信号を出力する第３の割り込み信号生成回路を含むことを特徴とする。
【００１５】
例えば第１のバッファに対する書き込みポインタと読み出しポインタの値に基づいて第１のバッファがバッファフル状態であるか否か検出するようにしてもよい。
【００１６】
（５）本発明の集積回路装置は、
前記プロセッサ間通信処理部が、
内部ＣＰＵ又は第２のＣＰＵが、第２のレジスタに書き込むコマンドに関連付けて書き込み可能な第２のバッファを含むことを特徴とする。
【００１７】
外部ＣＰＵ又は第１のＣＰＵは第２の割り込み信号を受けると第２のバッファ書き込まれたデータを読み出し必要な処理を行うようにしてもよい。
【００１８】
（６）本発明の集積回路装置は、
前記プロセッサ間通信処理部が、
第２のバッファのアクセス状況を監視し、第２のバッファのバッファフル状態を検出すると、内部ＣＰＵ又は第２のＣＰＵに対してバッファフル状態であることを通知するための第４の割り込み信号を出力する第４の割り込み信号生成回路を含むことを特徴とする。
【００１９】
例えば第２のバッファに対する書き込みポインタと読み出しポインタの値に基づいて第２のバッファがバッファフル状態であるか否か検出するようにしてもよい。
【００２０】
（７）本発明の集積回路装置は、
前記第１の割り込み信号生成回路が、
プログラマブルに設定可能な第１の割り込み制御レジスタを含み、第１の割り込み制御レジスタに設定された値に基づき第１の割り込み信号の生成の制御を行うことを特徴とする。
【００２１】
（８）本発明の集積回路装置は、
前記第２の割り込み信号生成回路が、
プログラマブルに設定可能な第２の割り込み制御レジスタを含み、第２の割り込み制御レジスタに設定された値に基づき第２の割り込み信号の生成の制御を行うことを特徴とする。
【００２２】
（９）本発明は、
上記のいずれかの集積回路装置を含むマイクロコンピュータである。
【００２３】
（１０）本発明は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２４】
１．集積回路装置
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２５】
図１は、本実施の形態の集積回路装置について説明するための図である。
【００２６】
本実施の形態の集積回路装置（ＩＣ）１０は、外部ＣＰＵ２００に接続されるスレーブ側の集積回路装置であり、内部ＣＰＵ２０と、内部ＣＰＵ２０と外部のＣＰＵ２００とのプロセッサ間通信処理を行うプロセッサ間通信処理部４０とを含む。
【００２７】
前記プロセッサ間通信処理部４０は、外部ＣＰＵがコマンドを設定可能な第１のレジスタ５０を含み、第１のレジスタ５０にコマンドが書き込まれると、内部ＣＰＵに対し第１の割り込み信号６１を出力する第１の割り込み信号生成回路として機能する。
【００２８】
また前記プロセッサ間通信処理部４０は、外部ＣＰＵがデータを書き込み可能な第１のバッファ７０を含む。
前記プロセッサ間通信処理部４０は、第１のバッファ７０のアクセス状況を監視し、第１のバッファ７０がバッファフル状態を検出すると、外部ＣＰＵ２００に対してバッファフル状態であることを通知するための第３の割り込み信号６３を出力するようにしてもよい。
【００２９】
外部ＣＰＵ２００は、第１のバッファ７０に必要なデータ等を書き込み、かつ第１のレジスタ５０に処理内容を指示するコマンドを書き込む。すると制御部６０は第１の割り込み信号６１を生成し、内部ＣＰＵ２０に向け出力する。このようにして割込みが発生し内部ＣＰＵ２０に通知されると、内部ＣＰＵ２０は第１のレジスタ５０の内容や第１のバッファ７０のデータを読み出し、必要な処理を行う。
【００３０】
ここでコマンド、割込みの設定はプログラマブルに構成してもよい。このようにすると、外部ＣＰＵ（ホスト側デバイスドライバ等）２００により変更が可能であり、内部ＣＰＵ２０の制御プログラムをリブートする事により、任意の処理を組込む事が可能となる。
【００３１】
図１では外部ＣＰＵから内部ＣＰＵに向けて通信する場合の処理を行う構成を有するプロセッサ間通信処理部について説明したが、上記と同じ構造を内部ＣＰＵ２０側から外部ＣＰＵ２００側に向けて持つことで、内部ＣＰＵ２０側の要求を外部ＣＰＵ２００に上げ、処理の依頼・ステータス通知が可能となる。
【００３２】
本実施の形態では内部ＣＰＵ２０向け、外部ＣＰＵ２００向けは別々の設定が可能であり、システムとしてのフレキシビリティに富むものが構成できる。
【００３３】
図２は、本実施の形態のプロセッサ間通信処理部の構成の一例を示した図である。図２は外部ＣＰＵから内部ＣＰＵに向けて通信する場合と内部ＣＰＵから外部ＣＰＵに向けて通信する場合の両方に対応可能な構成を有するプロセッサ間通信処理部の一例について説明する。
【００３４】
プロセッサ間通信処理部４０は外部ＣＰＵがコマンドを設定可能な第１のレジスタ５０を含み、制御部６０は第１のレジスタにコマンドが書き込まれると、内部ＣＰＵに対し第１の割り込み信号を出力する第１の割り込み信号生成回路として機能する。
【００３５】
またプロセッサ間通信処理部４０は内部ＣＰＵがコマンドを設定可能な第２のレジスタ５２を含み、制御部６０は第２のレジスタ５２にコマンドが書き込まれると、外部ＣＰＵに対し第２の割り込み信号を出力する第２の割り込み信号生成回路として機能する。
【００３６】
またプロセッサ間通信処理部４０は外部ＣＰＵが、第１のレジスタ５０に書き込むコマンドに関連付けて書き込み可能な第１のバッファ７０を含む。
【００３７】
内部ＣＰＵ又は第２のＣＰＵは第１の割り込み信号を受けると第１のバッファ書き込まれたデータを読み出し必要な処理を行うようにしてもよい。
【００３８】
制御部６０は、第１のバッファのアクセス状況を監視し、第１のバッファがバッファフル状態を検出すると、外部ＣＰＵ又は第１のＣＰＵに対してバッファフル状態であることを通知するための第３の割り込み信号を出力する第３の割り込み信号生成回路として機能する。
【００３９】
またプロセッサ間通信処理部４０は、内部ＣＰＵが、第２のレジスタ５２に書き込むコマンドに関連付けて書き込み可能な第２のバッファ７２を含む。
【００４０】
外部ＣＰＵは第２の割り込み信号６２を受けると第２のバッファ７２に書き込まれたデータを読み出し必要な処理を行うようにしてもよい。
【００４１】
また制御部６０は、第２のバッファ７２のアクセス状況を監視し、第２のバッファ７２がバッファフル状態を検出すると、内部ＣＰＵに対してバッファフル状態であることを通知するための第４の割り込み信号６４を出力する第４の割り込み信号生成回路として機能する。
【００４２】
外部ＣＰＵ２００は第１のバッファ７０に処理に必要なデータを書き込み、第１のレジスタ５０にコマンドを書き込む。第１のレジスタ５０はコマンドを書き込む事で第１の割込み要求が有効になり、制御部６０に伝えられる。
【００４３】
制御部６０は第１の割込み信号６１を有効にし、内部ＣＰＵ２０に割込みが発生したことを通知する。
【００４４】
内部ＣＰＵ２０は第１のレジスタ５０の内容を読み出し、データを第１のバッファ７０から読み出して必要な処理を行う。第１の割込み信号６１は内部ＣＰＵ２０に対しての割込み信号である。
【００４５】
第３の割込み信号６３は第１のバッファフル等の外部ＣＰＵの処理に必要な割込みを通知する。
【００４６】
また内部ＣＰＵ２０は第２のバッファ７２に処理に必要なデータを書き込み、第２のレジスタ５２にコマンドを書き込む。第２のレジスタ５２はコマンドを書き込む事で第３の割込み要求が有効になり、制御部６０に伝えられる。
【００４７】
制御部６０は第２の割込み信号６１を有効にし、外部ＣＰＵに割込みが発生したことを通知する。
【００４８】
外部ＣＰＵは第２のレジスタ５２の内容を読み出し、データを第２のバッファ７２から読み出して必要な処理を行う。第２の割込み信号６２は外部ＣＰＵに対しての割込み信号である。
【００４９】
第４の割込み信号６４は第２のバッファフル等の内部ＣＰＵの処理に必要な割込みを通知する。
【００５０】
また本実施の形態では、第１の割り込み信号や第２の割り込み信号をプログラマブルに制御可能に構成することも可能である。
【００５１】
図３は、第１のレジスタ（第２のレジスタでもよい）の構成の一例について示した図である。
【００５２】
第１のレジスタ５０は、割り込み設定レジスタ５４、コマンドレジスタ５６、アンド回路５８を含んで構成される。
【００５３】
割込み設定レジスタ５４は、割込み発生の為の条件を設定するレジスタである。例えば割込み発生フラグの設定レジスタとし、１を設定したビットに該当するコマンドレジスタのビットが１の場合、割込み要求５９が発生するようにしてもよい。
【００５４】
また設定レジスタ５４とコマンドレジスタ５６の全ビットが一致した場合又は所定ビットが一致した場合（複数の所定ビットが全部一致）に割り込みが発生するようにしてもよい。
【００５５】
このようにすると第１のレジスタ（第２のレジスタでもよい）の割り込み設定レジスタの内容をプログラム等で設定／変更することで、第１の割り込み信号や第２の割り込み信号をプログラマブルに制御可能である。
【００５６】
なお図３では第１のレジスタ（第２のレジスタでもよい）内に割込み設定レジスタ５４を設けたが、図１又は図２の制御部６０内に設けて、コマンドレジスタの出力を制御部に入力して、制御部内でも第１の割り込み信号や第２の割り込み信号の出力を制御するようにしてもよい。
【００５７】
図４（Ａ）〜（Ｈ）は制御部に設ける割り込み制御レジスタについて説明するための図である。
【００５８】
制御部のレジスタに関して、図４（Ａ）〜（Ｈ）のように機能を規定することができる。制御部の機能は割込み制御と読出しレジスタアドレスデコードとし、レジスタは、図３の構成とする。制御部のレジスタは、割込みイネーブル、割込みマスクのレジスタのみを持つ。これらは、外部バス側、内部バス側の双方の設定が必要となる。
【００５９】
図４（Ａ）は外部バス側割込みイネーブルレジスタ（８ビット）である。ＩＥ０のビットを１にする事により、内部バス側のコマンドレジスタによる割込みがイネーブルとなり、外部バス側のＣＰＵに通知される。本レジスタは外部ＣＰＵのみアクセスできる。
【００６０】
図４（Ｂ）は、外部バス側割込みマスクレジスタ（８ビット）である。ＣＩＭはコマンドレジスタの割込みマスク、ＴＦＭは第１のバッファフルの割込みマスク、ＲＦＭは第２のバッファエンプティの割込みマスクである。本レジスタは外部ＣＰＵのみアクセスでき、初期値はマスク状態である。
【００６１】
図４（Ｃ）は外部バス側割込み要因レジスタ（８ビット）である。ＣＩＦはコマンドレジスタの割込み有、ＴＥＦは第１のバッファフルの割込み有り、ＲＥＦは第２のバッファエンプティの割込み有りを設定する。本レジスタは外部ＣＰＵのみアクセスできる。
【００６２】
図４（Ｄ）は、外部バス側割込み要因リセットレジスタ（８ビット）である。ＣＩＲはコマンドレジスタの割込みリセット、ＴＦＲは第１のバッファフルの割込みリセット、ＲＦＲは第２のバッファエンプティの割込みリセットである。本レジスタは外部ＣＰＵのみアクセスできる。
【００６３】
図４（Ｅ）は内部バス側割込みイネーブルレジスタ（８ビット）である。ＩＥ１のビットを１にする事により、外部バス側のコマンドレジスタによる割込みがイネーブルとなり、内部バス側のＣＰＵに通知される。本レジスタは内部ＣＰＵのみアクセスできる。
【００６４】
図４（Ｆ）は内部バス側割込みマスクレジスタ（８ビット）である。ＥＣＭはコマンドレジスタの割込みマスク、ＥＴＭは第２のバッファフルの割込みマスク、ＥＲＭは第１のバッファエンプティの割込みマスクである。本レジスタは内部ＣＰＵのみアクセスできる。初期値はマスク状態である。
【００６５】
図４（Ｇ）のレジスタ−０７は内部バス側割込み要因レジスタ（８ビット）である。ＥＣＦはコマンドレジスタの割込み有り、ＥＴＦは第２のバッファフルの割込み有り、ＥＲＦは第１のバッファエンプティの割込み有りを設定する。本レジスタは内部ＣＰＵのみアクセスできる。
【００６６】
図４（Ｇ）は、内部バス側割込み要因リセットレジスタ（８ビット）である。ＥＣＲはコマンドレジスタの割込みリセット、ＥＴＲは第２のバッファフルの割込みリセット、ＥＲＲは第１のバッファエンプティの割込みリセットである。本レジスタは内部ＣＰＵのみアクセスできる。
【００６７】
図５は本実施の形態の初期設定のフローチャート図である。
【００６８】
まず、割り込みマスクの確認を行う（ステップＳ１０）。例えば図４（Ｂ）の外部バス側割込みマスクレジスタや図５（Ｆ）の内部バス側割込みマスクレジスタの設定内容の確認処理を行う。
【００６９】
次に割り込み設定レジスタ（例えば図３の割り込み設定レジスタ５４）の設定を行う（ステップＳ２０）。
【００７０】
次に割り込み要因リセットレジスタの設定を行う（ステップＳ３０）。例えば図４（Ｄ）の外部バス側割込み要因リセットレジスタや図５（Ｈ）の内部バス側割込み要因リセットレジスタの設定処理を行う。
【００７１】
次に割り込み要因レジスタの設定を行う（ステップＳ４０）。例えば図４（Ｃ）外部バス側割込み要因レジスタ外部バス側割込み要因レジスタ図４（Ｇ）の内部バス側割込み要因レジスタの設定をおこなう。
【００７２】
次に割り込みイネーブルの設定を行う（ステップＳ５０）。例えば図４（Ａ）の外部バス側割込みイネーブルレジスタや図４（Ｅ）の内部バス側割込みイネーブルレジスタの設定を行う。
【００７３】
図６は外部ＣＰＵから内部ＣＰＵへのデータ通信（データ付き）の場合に内部ＣＰＵへ割り込みを発生させる処理のフローチャート図である。
【００７４】
まず外部ＣＰＵ第１のバッファへデータを書き込む（ステップＳ１１０）。
【００７５】
次にコマンドレジスタ（第１のレジスタ）にコマンドを書き込む（ステップＳ１２０）。これにより、内部ＣＰＵに対する割り込み（第１の割り込み信号）が発生する。
【００７６】
図７は外部ＣＰＵから内部ＣＰＵへのデータ通信（データ付き）があった場合の内部ＣＰＵの実行処理の流れのフローチャート図である。
【００７７】
まず割り込み処理でコマンドレジスタ（第１のレジスタ）をリードする（ステップＳ２１０）。
【００７８】
次に読み出したコマンドを解釈しデータ付きであることを確認する（ステップＳ２２０）。
【００７９】
次に第１のバッファのデータをリードする（ステップＳ２３０）。
【００８０】
次にコマンドで指示された処理を実行（ステップＳ２４０）。
【００８１】
図８は、本実施の形態のプロセッサ間通信の形態について説明するための図である。
【００８２】
ホストＣＰＵ２００とスレーブ機（ＩＣ）１０は外部バス１００を介して接続されている。スレーブ機（ＩＣ）１０は、ホストＣＰＵ２００から制御され、内部にＣＰＵ２０を持つコントローラーである。
【００８３】
本実施の形態ではスレーブ機（ＩＣ）１０に図１〜３で説明したプロセッサ間通信部４０を含み、プロセッサ間通信部４０は、ホストＣＰＵ（外部ＣＰＵ）２００とスレーブ機（ＩＣ）１０内の内部ＣＰＵ２０とのプロセッサ間通信処理を行う。
【００８４】
スレーブ側となるコントローラー側のプロセッサ間通信部４０に、プロセッサ間通信に必要なコマンド、データを格納するためのレジスタとバッファをホストからコントローラー向け、コントローラーからホスト向けにそれぞれ設ける。
【００８５】
従来の共有メモリは通常ホストとスレーブとは別な独立した所に設けるので、本実施の形態とはシステムの構成が異なる。
【００８６】
相手に対しての割込みはレジスタに書き込むことで発生する。通常は、レジスタ等に処理に必要なコマンド等を書き込んでからコマンドの送信元プロセッサが受信先プロセッサに割込みを発生させる。
【００８７】
第１の割込み信号６１はスレーブ内部ＣＰＵ２０に対して、第２の割込み信号６２はホストＣＰＵ２００に対しての割込み信号である。
【００８８】
ホストＣＰＵ２００は第１のバッファ７０に処理に必要なデータを書き込み、第１のレジスタ５０にコマンドを書き込む。第１のレジスタ５０にコマンドが書き込まれると制御部６０に伝えられる。
【００８９】
制御部６０は第１の割込み信号６１を有効にし、内部ＣＰＵ２０に割込みが発生したことを通知する。
【００９０】
内部ＣＰＵ２０は第１のレジスタ５０の内容を読み出し、データを第１のバッファ７０から読み出して必要な処理を行う。
【００９１】
第３の割込み信号６３はバッファフル等、ホストＣＰＵ２００の処理に必要な割込みを通知する。
【００９２】
内部ＣＰＵ２０は第２のバッファ７２に処理に必要なデータを書き込み、第２のレジスタ５２にコマンドを書き込む。第２のレジスタ５２にコマンドが書き込まれると制御部６０に伝えられる。
【００９３】
制御部６０は第２の割込み信号６２を有効にし、ホストＣＰＵ２００に割込みが発生したことを通知する。
【００９４】
ホストＣＰＵ２００は第２のレジスタ５２の内容を読み出し、データを第２のバッファ７２から読み出して必要な処理を行う。
【００９５】
第４の割込み信号６４はバッファフル等、内部ＣＰＵ２０の処理に必要な割込みを通知する。
このように一対の形で持つことで、コマンドに対しての応答等、ハンドシェイクの処理を行う事も可能となる。
【００９６】
本発明によれば、ホスト側、スレーブ側でポインタ情報の共有の必要がない。プロセッサ間通信処理部はスレーブ内部に存在するため、外部バスにアクセスするのはホストＣＰＵのみでよい事からボトルネットが存在しないという効果がある。またバス接続で済むため、共有メモリの場合のように、スレーブ数が増えるに従いポインター制御が煩雑になることがなく、スレーブの増設が容易である。
【００９７】
図９は、ＩＣ内１０に第１のＣＰＵ２０と第２のＣＰＵ９０を含む複数のプロセッサ（ＣＰＵ）を含む場合を示している。この場合、ＩＣ１０にプロセッサ間通信部４０を含み、プロセッサ間通信部４０は、第１のＣＰＵ４０と第２のＣＰＵ９０とのプロセッサ間通信処理を行う。
【００９８】
プロセッサ間通信処理部４０は、第１のＣＰＵ２０がコマンドを設定可能な第１のレジスタ５０を含み、制御部６０は、第１のレジスタ５０にコマンドが書き込まれると、第２のＣＰＵ９０に対し第１の割り込み信号６１を出力する第１の割り込み信号生成回路として機能する。
【００９９】
プロセッサ間通信処理部４０は、第２のＣＰＵ９０がコマンドを設定可能な第２のレジスタ５２を含みと、制御部６０は第２のレジスタ５２にコマンドが書き込まれると、第１のＣＰＵ２０に対し第２の割り込み信号６２を出力する第２の割り込み信号生成回路として機能する。
【０１００】
またプロセッサ間通信処理部４０は、第１のＣＰＵ２０が、第１のレジスタ５０に書き込むコマンドに関連付けて書き込み可能な第１のバッファ７０を含むように構成してもよい。
【０１０１】
またプロセッサ間通信処理部４０は、第１のバッファ７０のアクセス状況を監視し、第１のバッファ７０がバッファフル状態を検出すると、第１のＣＰＵ２０に対してバッファフル状態であることを通知するための第３の割り込み信号６３を出力する第３の割り込み信号生成回路として機能するように構成してもよい。
【０１０２】
またプロセッサ間通信処理部４０は、第２のＣＰＵ９０が、第２のレジスタ５２に書き込むコマンドに関連付けて書き込み可能な第２のバッファ７２を含むように構成してもよい。
【０１０３】
またプロセッサ間通信処理部４０は、第２のバッファ７２のアクセス状況を監視し、第２のバッファ７２がバッファフル状態を検出すると、第２のＣＰＵ９０に対してバッファフル状態であることを通知するための第４の割り込み信号６２を出力する第４の割り込み信号生成回路として機能するように構成してもよい。
【０１０４】
第１の割込み信号６１は第２のＣＰＵ９０に対して、第２の割込み信号６２は第１のＣＰＵ２０に対しての割込み信号である。
【０１０５】
第１のＣＰＵ２０は第１のバッファ７０に処理に必要なデータを書き込み、第１のレジスタ５０にコマンドを書き込む。第１のレジスタ５０にコマンドが書き込まれると制御部６０に伝えられる。
【０１０６】
制御部６０は第１の割込み信号６１を有効にし、第２ＣＰＵ９０に割込みが発生したことを通知する。
【０１０７】
第２のＣＰＵ９０は第１のレジスタ５０の内容を読み出し、データを第１のバッファ７０から読み出して必要な処理を行う。
【０１０８】
第３の割込み信号６３はバッファフル等、第１のＣＰＵ２０の処理に必要な割込みを通知する。
【０１０９】
第２のＣＰＵ９０は第２のバッファ７２に処理に必要なデータを書き込み、第２のレジスタ５２にコマンドを書き込む。第２のレジスタ５２にコマンドが書き込まれると制御部６０に伝えられる。
【０１１０】
制御部６０は第２の割込み信号６２を有効にし、第１のＰＵ２０に割込みが発生したことを通知する。
【０１１１】
第１のＣＰＵ２０は第２のレジスタ５２の内容を読み出し、データを第２のバッファ７２から読み出して必要な処理を行う。
【０１１２】
第４の割込み信号６４はバッファフル等、第２のＣＰＵ９０の処理に必要な割込みを通知する。
【０１１３】
また本実施の形態では、図３，図４で説明したのと同様の手法で第１の割り込み信号や第２の割り込み信号をプログラマブルに制御可能に構成することも可能である。
【０１１４】
２．マイクロコンピュータ
図１０は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【０１１５】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＲＡＭ７１０，ＲＯＭ７２０、ＭＭＵ７３０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ５７０、割り込みコントローラ５８０、通信制御装置５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０、バスインターフェース回路７４０及びそれらを接続する汎用バス６８０、専用バス７５０等、各種ピン６９０等を含む。
【０１１６】
プロセッサ間通信モジュール７４０は例えば図１〜図８で説明した構成を有する。
【０１１７】
３．電子機器
図１１に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【０１１８】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。  音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【０１１９】
図１２（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【０１２０】
図１２（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【０１２１】
図１２（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【０１２２】
本実施の形態のマイクロコンピュータを図１２（Ａ）〜図１２（Ｃ）の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
【０１２３】
なお、本実施形態を利用できる電子機器としては、図１２（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、デジタルテレビ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【０１２４】
またＤＶＤレコーダ等のＬＣＤ等の表示部を有しない電子機器でもよい。
【０１２５】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【０１２６】
【図１】本実施の形態の集積回路装置について説明するための図である。
【図２】本実施の形態のプロセッサ間通信処理部の構成の一例を示した図である。
【図３】第１のレジスタ（第２のレジスタでもよい）の構成の一例について示した図である。
【図４】図４（Ａ）〜（Ｈ）は制御部に設ける割り込み制御レジスタについて説明するための図である。
【図５】本実施の形態の初期設定のフローチャート図である。
【図６】外部ＣＰＵから内部ＣＰＵへのデータ通信（データ付き）の場合に内部ＣＰＵへ割り込みを発生させる処理のフローチャート図である。
【図７】外部ＣＰＵから内部ＣＰＵへのデータ通信（データ付き）があった場合の内部ＣＰＵの実行処理の流れのフローチャート図である。
【図８】本実施の形態のプロセッサ間通信の形態について説明するための図である。
【図９】本実施の形態のプロセッサ間通信の他の形態について説明するための図である。
【図１０】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図１１】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【０１２７】
１０、ＩＣ、２０  内部ＣＰＵ、４０  プロセッサ間通信処理部、５０  第１のレジスタ、５２  第２のレジスタ、６０  制御回路、６１  第１の割り込み信号、６２  第２の割り込み信号、６３  第３の割り込み信号、６４  第４の割り込み信号、７０  第１のバッファ、７２  第２のバッファ、２００  外部ＣＰＵ、５１０  ＣＰＵ、５２０  キャッシュメモリ５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  DMAコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  通信制御回路、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０  プロセッサ間モジュール、７５０  専用バス、８００  電子機器、８１０  マイクロコンピュータ（ＡＳＩＣ）、８２０  入力部、８３０  メモリ、８４０  電源生成部８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７４  ＬＣＤ、９７６  音出力部
【図１】
2006209303.tif 000003
【図２】
2006209303.tif 000004
【図３】
2006209303.tif 000005
【図４】
2006209303.tif 000006
【図５】
2006209303.tif 000007
【図６】
2006209303.tif 000008
【図７】
2006209303.tif 000009
【図８】
2006209303.tif 000010
【図９】
2006209303.tif 000011
【図１０】
2006209303.tif 000012
【図１１】
2006209303.tif 000013
【図１２】
2006209303.tif 000014