(57)【要約】【課題】ネットワーク機能を有する集積回路装置において、処理能力と消費電力の最適化を行うこと。【解決手段】ネットワーク機能を有する集積回路装置１０であって、機能する第１のＣＰＵ２０と、第２のＣＰＵ３０と、第１のＣＰＵと第２のＣＰＵの通信を行う制御チャネル５０−１５０−２と、第１のＣＰＵ及び第２のＣＰＵに供給するクロックの周波数の変更等を制御クロックコントローラ４０とを含む。第１のＣＰＵ２０は第２のＣＰＵ３０から受けた処理要求及び第１のＣＰＵの可動状況の少なくとも一方に基づき、第１のＣＰＵに供給するクロックの周波数の変更等を指示する。第２のＣＰＵ３０は、第１のＣＰＵ２０から受けた処理要求及び第２のＣＰＵの可動状況等に基づき、第２のＣＰＵに供給するクロックの周波数の変更を制御する。【選択図】      図１
2006277332.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機能を有する集積回路装置であって、
メインプロセッサとしてとして機能する第１のＣＰＵと、
ネットワークプロセッサとして機能する第２のＣＰＵと、
第１のＣＰＵと第２のＣＰＵの通信を行う制御チャネルと、
第１のクロック制御信号に基づき、第１のＣＰＵに供給するクロックの周波数の変更及びクロック供給の有無を制御し、第２のクロック制御信号に基づき、第２のＣＰＵに供給するクロックの周波数の変更を制御するクロックコントローラと、を含み、
前記第１のＣＰＵは、
前記制御チャネルを介して第２のＣＰＵから受けた処理要求及び第１のＣＰＵの可動状況の少なくとも一方に基づき、第１のＣＰＵに供給するクロックの周波数の変更及びクロック供給の有無の少なくとも一方を制御するための第１のクロック制御信号を生成し、
前記第２のＣＰＵは、
制御チャネルを介して第１のＣＰＵから受けた処理要求及び第２のＣＰＵの可動状況の少なくとも一方に基づき、第２のＣＰＵに供給するクロックの周波数の変更を制御するための第２のクロック制御信号を生成することを特徴とする集積回路装置。
【請求項２】
請求項１において、
第１のＣＰＵ及び第２のＣＰＵは共有メモリに接続されていることを特徴とする集積回路装置。
【請求項３】
請求項１乃至２のいずれかにおいて、
第２のＣＰＵは、
第１のＣＰＵがスリープ状態にある場合、第２のＣＰＵの可動状況及び受信したプロトコルの内容の少なくとも一方に基づき第１のＣＰＵの復帰の必要性を判断し、復帰が必要であると判断した場合には第１のＣＰＵに対して割り込み要求を行い、
第１のＣＰＵは、
前記割り込み要求を受けると、第１のＣＰＵに対するクロック供給の開始を指示するための第１のクロック制御信号を生成することを特徴とする集積回路装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
第２のＣＰＵは、
受信したパケットのプロトコルの種類に基づき、制御チャネルを介して第１のＣＰＵに処理要求を行うことを特徴とする集積回路装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
第１のＣＰＵは、
送信データが発生した場合に、制御チャネルを介して第２のＣＰＵに処理要求を行うことを特徴とする集積回路装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記第１のＣＰＵは、
第１のＣＰＵが処理する単位時間当たりのデータ量を検出し、単位時間当たりのデータ量と所定の基準値に基づき、第１のＣＰＵに供給するクロックの周波数またはクロック供給の有無を判断し、判断結果に基づき第１のクロック制御信号を生成することを特徴とする集積回路装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記第２のＣＰＵは、
第２のＣＰＵが処理する単位時間当たりのデータ量を検出し、単位時間当たりのデータ量と所定の基準値に基づき、第２のＣＰＵに供給するクロックの周波数を判断し、判断結果に基づき第２のクロック制御信号を生成することを特徴とする集積回路装置。
【請求項８】
請求項１乃至７のいずれかに記載の集積回路装置を含むマイクロコンピュータ。
【請求項９】
請求項８に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力源と、
前記マイクロコンピュータにより処理されたデータを出力するための出力装置とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置、デバッグシステム、マイクロコンピュータ、及び電子機器に関する。
【背景技術】
【０００２】
近年、ゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末、DVDレコーダなどの電子機器に組み込まれ、ネットワーク機能を有し高度な情報処理を実現できるマイクロコンピュータに対する需要が高まっている。
【０００３】
このようなネットワーク機能を有する組み込み型のマイクロコンピュータ等のＣＰＵを集積したシステムＬＳＩにおいては、処理能力と消費電力の最適化をはかることが重要である。
【０００４】
ネットワーク機能を有するプロセッサにおいては、従来より処理するパケットがない場合にはプロセッサを休止状態にし、自分が処理するＭＡＣアドレス（もしくはＩＰアドレス等）を受信した場合にはプロセッサに割り込みをかけて受信処理を再開させるようにすることで消費電力の削減を図ることが行われていた。
【０００５】
ネットワーク機能を有するプロセッサの消費電力の削減を実現する技術としては例えば特開２００３−８９２５４号公報や特開２００４−３３４７９２号公報に開示される従来技術がある。
【特許文献１】特開２００３−８９２５４号公報
【特許文献２】特開２００４−３３４７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし従来技術では低消費電力のためのモードがＯＮかＯＦＦの２種類しかないため、例えばアプリケーションのパケットが煩雑に送られるなど、処理は容易だが受信処理が必要な場合には、その間プロセッサを休止させることができなかった。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ネットワーク機能を有する集積回路装置において、処理能力と消費電力の最適化を行うことにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、
ネットワーク機能を有する集積回路装置であって、
メインプロセッサとしてとして機能する第１のＣＰＵと、
ネットワークプロセッサとして機能する第２のＣＰＵと、
第１のＣＰＵと第２のＣＰＵの通信を行う制御チャネルと、
第１のクロック制御信号に基づき、第１のＣＰＵに供給するクロックの周波数の変更及びクロック供給の有無を制御し、第２のクロック制御信号に基づき、第２のＣＰＵに供給するクロックの周波数の変更を制御するクロックコントローラと、を含み、
前記第１のＣＰＵは、
前記制御チャネルを介して第２のＣＰＵから受けた処理要求及び第１のＣＰＵの可動状況の少なくとも一方に基づき、第１のＣＰＵに供給するクロックの周波数の変更及びクロック供給の有無の少なくとも一方を制御するための第１のクロック制御信号を生成し、
前記第２のＣＰＵは、
制御チャネルを介して第１のＣＰＵから受けた処理要求及び第２のＣＰＵの可動状況の少なくとも一方に基づき、第２のＣＰＵに供給するクロックの周波数の変更を制御するための第２のクロック制御信号を生成することを特徴とする。
【０００９】
本発明によれば第１のＣＰＵと第２のＣＰＵの複数のＣＰＵを含み、第１のＣＰＵと第２のＣＰＵの処理状況に応じて、第１のＣＰＵや第２のＣＰＵの周波数を変更したり、第１のＣＰＵへのクロックの供給の有無を制御することができる。このため、低消費電力のためのモードがＯＮかＯＦＦの２種類しかない従来技術と比べより細かい電力制御を行うことができる。
【００１０】
このように本発明によれば、ネットワーク機能を有する集積回路装置において、処理能力と消費電力の最適化を行うことが可能である。
【００１１】
（２）本発明の集積回路装置は、
第１のＣＰＵ及び第２のＣＰＵは共有メモリに接続されていることを特徴とする。
【００１２】
共有メモリは、外部（集積回路装置外）にあってもよいし、内部（集積回路装置内）にあってもよし、１ポートでも良いし、２ポートでもよい。
【００１３】
第２のＣＰＵは、自己が処理を行うことができないパケットを受信した場合には前記共有メモリにデータを貯めることができる。
【００１４】
（３）本発明の集積回路装置は、
第２のＣＰＵは、
第１のＣＰＵがスリープ状態にある場合、第２のＣＰＵの可動状況及び受信したプロトコルの内容の少なくとも一方に基づき第１のＣＰＵの復帰の必要性を判断し、復帰が必要であると判断した場合には第１のＣＰＵに対して割り込み要求を行い、
第１のＣＰＵは、
前記割り込み要求を受けると、第１のＣＰＵに対するクロック供給の開始を指示するための第１のクロック制御信号を生成することを特徴とする。
【００１５】
ここにおいてスリープ状態とは、クロックが供給されておらす休止状態であるが割り込みあれば処理に復帰できるような状態を意味する。
【００１６】
第２のＣＰＵの可動状況に基づき第１のＣＰＵの復帰の必要性を判断する場合とは、例えば第２のＣＰＵで処理可能なデータ量を超えそうな場合（与えられたバッファがオーバーフローしそうな場合）に第１のＣＰＵを復帰させるための割り込み要求を行うような場合である。
【００１７】
受信したプロトコルの内容に基づき第１のＣＰＵの復帰の必要性を判断する場合とは、例えば第２のＣＰＵでは処理を行うことができないようなパケットの受信が一定期間続いた場合に第１のＣＰＵを復帰させるための割り込み要求を行うような場合である。
【００１８】
（４）本発明の集積回路装置は、
第２のＣＰＵは、
受信したパケットのプロトコルの種類に基づき、制御チャネルを介して第１のＣＰＵに処理要求を行うことを特徴とする。
【００１９】
例えば第２のＣＰＵでは処理を行うことができないようなパケットを受信した場合、制御チャネルを介して第１のＣＰＵに処理要求を行うようにしてもよい。
第２のＣＰＵでは処理を行うことができないようなパケットとは、第２のＣＰＵがサポートしていない処理（アプリケーションのデータ処理やプロトコル上位のデータ処理等）である。
【００２０】
第２のＣＰＵでは処理を行うことができないようなパケットを受信した場合には、第１のＣＰＵでおこなう処理が発生する。従って第１のＣＰＵでは処理要求を受けると、第１のＣＰＵに供給されるクロックの変更が必要であるどうかを判断し、必要であれば第１のＣＰＵに供給されるクロックの周波数を上げるための第１のクロック制御信号を生成することにより、最適処理速度で処理を行うことができる。
【００２１】
（５）本発明の集積回路装置は、
第１のＣＰＵは、
送信データが発生した場合に、制御チャネルを介して第２のＣＰＵに処理要求を行うことを特徴とする。
【００２２】
外部への送信データが発生すると、第２のＣＰＵは送信に必要な下位のプロトコルのパケットデータを生成する処理が発生する。従って第２のＣＰＵでは処理要求を受けると、第２のＣＰＵに供給されるクロックの変更が必要であるどうかを判断し、必要であれば第２のＣＰＵに供給されるクロックの周波数を上げるための第２のクロック制御信号を生成することにより、最適処理速度で処理を行うことができる。
【００２３】
（６）本発明の集積回路装置は、
前記第１のＣＰＵは、
第１のＣＰＵが処理する単位時間当たりのデータ量を検出し、単位時間当たりのデータ量と所定の基準値に基づき、第１のＣＰＵに供給するクロックの周波数またはクロック供給の有無を判断し、判断結果に基づき第１のクロック制御信号を生成することを特徴とする。
【００２４】
所定の基準値より小さい場合には、第１のＣＰＵに供給する周波数を低くするしたり、クロックをストップするようにしてもよい。
【００２５】
（７）本発明の集積回路装置は、
前記第２のＣＰＵは、
第２のＣＰＵが処理する単位時間当たりのデータ量を検出し、単位時間当たりのデータ量と所定の基準値に基づき、第２のＣＰＵに供給するクロックの周波数を判断し、判断結果に基づき第１のクロック制御信号を生成することを特徴とする。
【００２６】
所定の基準値より小さい場合には、第２のＣＰＵに供給する周波数を低くするようにしてもよい。
【００２７】
（８）本発明は、
上記のいずれかに記載の集積回路装置を含むマイクロコンピュータである。
【００２８】
（９）本発明の集積回路装置は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力源と、
前記マイクロコンピュータにより処理されたデータを出力するための出力装置とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００３０】
１．本実施形態の特徴
図１は、本実施の形態の集積回路装置について説明するための図である。
【００３１】
１０はネットワーク機能を有する集積回路装置である。
集積回路装置１０は、第１のＣＰＵ２０と、第２のＣＰＵ３０と、制御チャネル５０−１、５０−２、クロックコントローラ６２、共有メモリ６０を含む。さらに集積回路装置１０は、第１のプログラムＲＯＭ８０、第２のプログラムＲＯＭ８２、ＰＬＬ４６、メモリコントローラ６２、イーサＭＡＣ７０等を含むようにしてもよい。なお本実施形態の集積回路装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３２】
第１のＣＰＵ２０は、メインプロセッサとしてとして機能する。第１のＣＰＵ２０は、第１のプログラムＲＯＭ８０に接続される。
【００３３】
第１のプログラムＲＯＭ８０にはアプリケーションのデータ処理を行うプログラムやネットワークの上位プロトコルを処理するプログラム等が記憶されている。
【００３４】
ＣＰＵ１は、第１のプログラムＲＯＭ８０に格納されているプログラムを実行し、アプリケーションのデータ処理やネットワーク上位のプロトコル処理を行う。
【００３５】
第２のＣＰＵ３０は、ネットワークプロセッサとしてとして機能する。第２のＣＰＵ３０は、第２のプログラムＲＯＭ８２に接続される。
【００３６】
第２のプログラムＲＯＭ８２にはネットワークの基本プロトコルやネットワークの上位プロトコルを処理するプログラム等が記憶されている。
【００３７】
第２のＣＰＵ３０は、第２のプログラムＲＯＭ８２に格納されているプログラムを実行し、ネットワークの基本プロトコルやネットワークの上位プロトコルの処理を行い、イーサＭＡＣ７０を介して外部とネットワーク通信を行う。
【００３８】
制御チャネル５０−１、５０−２は、第１のＣＰＵ２０と第２のＣＰＵ３０の通信を行う。
【００３９】
第１のＣＰＵ２０は、制御チャネル５０−１、５０−２を介して第２のＣＰＵ３０から受けた処理要求及び第１のＣＰＵ２０の可動状況の少なくとも一方に基づき、第１のＣＰＵ２０に供給するクロック４２の周波数の変更及びクロック供給の有無の少なくとも一方を制御するための第１のクロック制御信号２２を生成する。
【００４０】
ここにおいて第２のＣＰＵ３０は、受信したパケットのプロトコルの種類に基づき、制御チャネルを介して第１のＣＰＵに処理要求を行うようにしてもよい。例えば第２のＣＰＵ３０は、受信したパケットのプロトコルの種類が第２のＣＰＵで処理をサポートしていない種類のものである場合に第１のＣＰＵに処理要求を行うようにしてもよい。
【００４１】
第２のＣＰＵ３０は、制御チャネル５０−１、５０−２を介して第１のＣＰＵ２０から受けた処理要求及び第２のＣＰＵ３０の可動状況の少なくとも一方に基づき、第２のＣＰＵ３０に供給するクロック４４の周波数の変更を制御するための第２のクロック制御信号３２を生成する。
【００４２】
ここにおいて第１のＣＰＵ２０は、送信データが発生した場合に、制御チャネル５０−１、５０−２を介して第２のＣＰＵに処理要求を行うようにしてもよい。
【００４３】
クロックコントローラ６２は、第１のクロック制御信号２２に基づき、第１のＣＰＵ２０に供給するクロック４２の周波数の変更及びクロック供給の有無を制御し、第２のクロック制御信号３２に基づき、第２のＣＰＵ３０に供給するクロック４４の周波数の変更を制御する。
【００４４】
共有メモリ６０は、メモリコントローラ６２を介して第１のＣＰＵ２０及び第２のＣＰＵ３０に接続されている。なお共有メモリは、外部（集積回路装置外）にあってもよい。
【００４５】
第２のＣＰＵ３０は、自己が処理を行うことができないパケットを受信した場合には共有メモリ６０にデータを貯めることができる。
【００４６】
第２のＣＰＵ３０は、第１のＣＰＵ２０がスリープ状態にある場合、第２のＣＰＵ３０の可動状況及びイーサＭＡＣ７０を介して受信したプロトコルの内容の少なくとも一方に基づき第１のＣＰＵ２０の復帰の必要性を判断し、復帰が必要であると判断した場合には第１のＣＰＵに対して割り込み要求を行う。第１のＣＰＵ２０は、割り込み要求を受けると、第１のＣＰＵ２０に対するクロック供給の開始を指示する第１のクロック制御信号を生成する。これによって第１のＣＰＵ２０は、スリープ状態から復帰することができる。
【００４７】
また例えば第２のＣＰＵ３０で処理可能なデータ量を超えそうな場合、第１のＣＰＵ２０を復帰させるための割り込み要求を行うようにしてもよい。第２のＣＰＵ３０で処理可能なデータ量を超えそうな場合とは例えば共有メモリのバッファがオーバーフローしそうな場合である。共有メモリ６０のバッファはリングメモリとして構成することも可能で、書き込みポインタと読み出しポインタの位置関係によってオーバーフローを判断するようにしてもよい。
【００４８】
また例えば第２のＣＰＵでは処理を行うことができないようなパケットの受信が一定期間続いた場合、第２のＣＰＵではそれらを供給メモリ６０に貯めながら、その間に第１のＣＰＵを復帰させるための割り込み要求を行うようにしてもよい。
【００４９】
第２のＣＰＵ３０では処理を行うことができないようなパケットとは、例えばアプリケーションのデータ処理に関するパケットや、第２のＣＰＵ３０で処理サポートしていない上位プロトコルの処理に関するパケットである。
【００５０】
図２（Ａ）（Ｂ）は、第１のＣＰＵと第２のＣＰＵの処理分担について説明するための図である。
【００５１】
本実施の形態では、メインプロセッサとして機能する第１のＣＰＵは、上位プロトコルの処理やアプリケーションのデータ処理を行う。またネットワークプロセッサとして機能する第２のＣＰＵは、基本プロトコル（TCP/IP）までの処理を基本とするが、上位プロトコル（http、XMLなど）もある程度処理可能とする。
【００５２】
図２（Ａ）は、第１のＣＰＵと第２のＣＰＵの処理分担の一般的な例を示している。アプリケーションの処理２１０〜上位プロトコル１までが、メインプロセッサとして機能する第１のＣＰＵの処理範囲２６０であり、基本プロトコル２５０〜上位プロトコル３（２２０）までがネットワークプロセッサとして機能する第２のＣＰＵの処理範囲２６０であることを示している。
【００５３】
ここで上位プロトコル１〜上位プロトコル３までは、第１のＣＰＵと第２のＣＰＵの両方で処理可能である。従って第２のＣＰＵでこれらの処理が可能であれば（一定期間の処理データ量が十分少ないとわかった場合）、第２のＣＰＵで処理し、その間第１のＣＰＵはスリープ状態にしておくようにしてもよい。そして意２のＣＰＵで処理可能なデータ量が超えそうな場合には、第１のＣＰＵに対し割り込み要求をだし、第１のＣＰＵを復帰させるようにしてもよい。
【００５４】
図２（Ｂ）は、動画再生等のアプリケーションを実行する集積回路装置の第１のＣＰＵと第２のＣＰＵの処理分担の例を示している。動画再生アプリケーション３１０〜httpプロトコル３５０までが、メインプロセッサとして機能する第１のＣＰＵの処理範囲３７００であり、TCP/IPプロトコル３６０〜UPnPプロトコル３３０までがネットワークプロセッサとして機能する第２のＣＰＵの処理範囲３８０であることを示している。
【００５５】
ここでhttpプロトコル３５０〜UPnPプロトコル３３０までは、第１のＣＰＵと第２のＣＰＵの両方で処理可能である。従って第２のＣＰＵでこれらの処理が可能であれば（一定期間の処理データ量が十分少ないとわかった場合）、第２のＣＰＵで処理し、その間第１のＣＰＵはスリープ状態にしておくようにしてもよい。そして意２のＣＰＵで処理可能なデータ量が超えそうな場合には、第１のＣＰＵに対し割り込み要求をだし、第１のＣＰＵを復帰させるようにしてもよい。
【００５６】
図３はネットワークを介してパケットを受信する際の第１のＣＰＵの処理について説明するためのフローチャート図である。
【００５７】
制御チャネルからの受信要求があると、共有メモリをチェックして、必要な処理を行う（ステップＳ１０、Ｓ２０、Ｓ３０）。
【００５８】
必要な処理が終了すると、再び受信処理を行いステップＳ２０からの処理を繰り返す（ステップＳ３０、Ｓ４０）。
【００５９】
図４はネットワークを介してパケットを受信する際の第２のＣＰＵの処理について説明するためのフローチャート図である。
【００６０】
イーサＭＡＣからの受信パケットがあると、受信パケット処理を行う（ステップＳ１１０、Ｓ１２０）。
【００６１】
第１のＣＰＵで処理が必要なパケットである場合、制御チャネルにて第１のＣＰＵに受信要求を行う（ステップＳ１３０、Ｓ１４０）。
【００６２】
図５はネットワークを介してパケットを送信する際の第１のＣＰＵの処理について説明するためのフローチャート図である。
【００６３】
上位アプリケーションで送信データが発生すると、共有メモリ上に送信パケットデータを作成する（ステップＳ２１０、Ｓ２２０）。
【００６４】
そして制御チャネルにて第２のＣＰＵに送信要求を行う（ステップＳ２３０）。
【００６５】
図６はネットワークを介してパケットを送信する際の第２のＣＰＵの処理について説明するためのフローチャート図である。
【００６６】
制御チャネルにて第１のＣＰＵから送信要求があると、共有メモリ上に送信パケットデータを作成する（ステップＳ３１０、Ｓ３２０）。
【００６７】
そしてイーサＭＡＣにパケットを渡し送信処理を行う（ステップＳ３３０）。
【００６８】
図７は第１のＣＰＵの周波数を変更する際の処理について説明するためのフローチャート図である。
【００６９】
第１のＣＰＵは、上位アプリケーションで送信データが発生せずに、第２のＣＰＵからの受信要求もない場合、タイマ値を確認する（ステップＳ４１０、Ｓ４２０、Ｓ４３０）。
【００７０】
そして第１のＣＰＵは、タイマ値に応じてクロック周波数を決定し、決定した周波数に変更するための第１のクロック制御信号を生成する（ステップＳ４４０）。第１のクロック制御信号を受けたクロックコントローラは第１のＣＰＵに供給するクロックを決定された周波数に変更する。
【００７１】
ここにおいて例えば通常動作時に供給されるクロックが１００MHzである場合、図９に示すようにタイマ値４１０に応じてクロックの周波数４２０を変更するようにしてもよい。
【００７２】
図８は第２のＣＰＵの周波数を変更する際の処理について説明するためのフローチャート図である。
【００７３】
第２のＣＰＵは、第１のＣＰＵからの送信要求がない場合で、共有メモリの空き容量が十分にある場合にはタイマ値を確認する（ステップＳ５１０、Ｓ５２０、Ｓ５３０）。
【００７４】
そして第２のＣＰＵは、タイマ値に応じてクロック周波数を決定し、決定した周波数に変更するための第２のクロック制御信号を生成する（ステップＳ５４０）。第２のクロック制御信号を受けたクロックコントローラは第２のＣＰＵに供給するクロックを決定された周波数に変更する。
【００７５】
ここにおいて例えば通常動作時に供給されるクロックが１００MHzである場合、図９０に示すようにタイマ値４１０に応じてクロックの周波数４２０を変更するようにしてもよい。
【００７６】
２．マイクロコンピュータ
図１０は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【００７７】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＲＡＭ７１０，ＲＯＭ７２０、ＭＭＵ７３０ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ５７０、割り込みコントローラ５８０、通信制御装置（シリアルインターフェース）５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０及びそれらを接続する汎用バス６８０、ネットワークプロセッサ７４０、専用バス７５０等、各種ピン６９０等を含む。
【００７８】
ＣＰＵ５１０は図１〜図９で説明した第１のＣＰＵとして機能し、ネットワークプロセッサ７４０は図１〜図９で説明した第２のＣＰＵとして機能する。
【００７９】
３．電子機器
図１１に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【００８０】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。  音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００８１】
図１２（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【００８２】
図１２（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【００８３】
図１２（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００８４】
本実施の形態のマイクロコンピュータを図１２（Ａ）〜図１２（Ｃ）の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
【００８５】
なお、本実施形態を利用できる電子機器としては、図１２（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【００８６】
なおＬＣＤを使用しないもの、例えばネットワーク機能を有するDVDレコーダ等の電子機器でもよい。
【００８７】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【００８８】
【図１】本実施の形態の集積回路装置について説明するための図である。
【図２】第１のＣＰＵと第２のＣＰＵの処理分担について説明するための図。
【図３】受信の際の第１のＣＰＵの処理のフローチャート図。
【図４】受信の際の第２のＣＰＵの処理のフローチャート図。
【図５】送信の際の第１のＣＰＵの処理のフローチャート図。
【図６】送信の際の第２のＣＰＵの処理のフローチャート図。
【図７】第１のＣＰＵの周波数を変更のフローチャート図。
【図８】第２のＣＰＵの周波数を変更のフローチャート図。
【図９】タイマ値とクロックの周波数の関係を示す図
【図１０】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図１１】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【００８９】
１０  集積回路装置、２０  第１のＣＰＵ、２２  第１のクロック制御信号、３０  第２のＣＰＵ、３２  第２のクロック制御信号、４０  クロックコントローラ、５０−１、５０−２  制御チャネル、６０  共有メモリ、６２  メモリコントローラ、７０  イーサＭＡＣ、８０  第１のプログラムＲＯＭ、８２  第２のプログラムＲＯＭ
５１０、ＣＰＵ、５２０  キャッシュメモリ５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  DMAコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  通信制御回路（シリアルインターフェース）、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０  絵バッグモジュール、７５０  専用バス、８００  電子機器、８１０  マイクロコンピュータ（ＡＳＩＣ）、８２０  入力部、８３０  メモリ、８４０  電源生成部８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７４  ＬＣＤ、９７６  音出力部
【図１】
2006277332.tif 000003
【図２】
2006277332.tif 000004
【図３】
2006277332.tif 000005
【図４】
2006277332.tif 000006
【図５】
2006277332.tif 000007
【図６】
2006277332.tif 000008
【図７】
2006277332.tif 000009
【図８】
2006277332.tif 000010
【図９】
2006277332.tif 000011
【図１０】
2006277332.tif 000012
【図１１】
2006277332.tif 000013
【図１２】
2006277332.tif 000014