1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るデータ処理装置(100)は、CPU(102)、CPUバス(105)、複数の機能モジュール(110,111,119,120)、マスタビットレジスタ(118)を含む。複数の機能モジュール(110,111,119,120)は、上記CPUバスを介して上記CPUに結合され、それぞれ起動ビットが設定されることで起動される。マスタビットレジスタ(118)には、上記複数の機能モジュールにおける起動ビットを操作可能なマスタビットが保持される。上記マスタビットレジスタにおけるマスタビットは、上記CPUによって設定することができる。
上記の構成によれば、マスタビットレジスタ(118)にマスタビットを設定することにより、複数の機能モジュール(110,111,119,120)を一斉に起動することが可能になる。しかも、かかる構成においては、複数の機能モジュール間で、起動ビットを同じレジスタに割り付けるものではないので、製品毎にレジスタのビット割付けを変える必要はない。
〔2〕上記〔1〕において、上記マスタビットレジスタ(118)は複数配置することができる。その場合において、個々のマスタビットレジスタには、上記複数の機能モジュールにおける起動ビットを操作可能なマスタビットが保持される。
〔3〕また、上記データ処理装置(100)は、CPU(102)、CPUバス(105)、複数の機能モジュール(108〜115,119,120)、マスタビットレジスタ(118)を含んで構成することができる。かかる場合において、上記機能モジュール(108〜115,119,120)は、上記マスタビットレジスタ(118)の出力信号を選択的に取り込むためのマスタビット選択回路(SEL)を含んで構成することができる。各機能モジュール(108〜115,119,120)においては、マスタビット選択回路(SEL)が設けられることにより、上記マスタビットレジスタ(118)の出力信号を選択的に取り込むことができ、それに基づいて、各機能モジュール毎の起動ビットを設定することができる。
〔4〕上記〔3〕において、上記マスタビット選択回路(SEL)は、上記マスタビットレジスタからの複数の出力信号のうちのひとつを上記起動ビット設定用に選択するためのセレクタ(501)と、上記セレクタ(501)の選択動作を決定するためのマスタビット選択レジスタ(502)とを含んで構成することができる。
〔5〕上記〔3〕において、上記マスタビット選択回路は、上記マスタビットレジスタからの複数の出力信号のうちの任意信号のオア論理を出力するためのセレクタ(505)と、上記マスタビットレジスタからの複数の出力信号のうちの任意信号を決定するためのマスタビット選択レジスタ(506)とを含んで構成することができる。かかる場合において、上記マスタビットレジスタからの複数の出力信号のうちの任意信号は、上記セレクタ(505)において、マスタビット選択レジスタ(506)の出力信号と、上記マスタビット選択レジスタ(506)の出力とのアンド論理を得ることによって容易に決定することができる。上記のようにマスタビットバス121を介して伝達された信号と、マスタビット選択レジスタ506の出力信号とのアンド論理を得るようにしているため、マスタビットレジスタ118にかかわらず、マスタビット選択レジスタ506への情報設定により、選択されるマスタビットを複数指定することができる。
〔6〕上記〔4〕又は〔5〕において、上記マスタビット選択レジスタ(502,506)は、上記CPU(102)によって管理されるアドレス空間に配置することができ、そのようにすることで、上記マスタビット選択レジスタ(502,506)の書き換えを上記CPU(102)によって行うことができる。
〔7〕上記〔3〕において、上記マスタビット選択回路(SEL)には、上記機能モジュールの起動完了を示す起動完了フラグを形成するための起動完了通知回路(900)を設けることができる。
〔8〕上記〔7〕において、上記起動完了フラグを出力するための起動完了フラグ出力回路(SFC)と、上記複数の機能モジュールにおける上記起動完了フラグ出力回路からの出力信号のワイヤードアンド論理を取得可能な起動完了バス(122)と、起動完了ビットが設定される起動完了レジスタ(123)とを設けることができる。この場合において、上記起動完了レジスタを、上記CPUによって管理されるアドレス空間に配置することができる。そのようにすることで、同時起動にかかる機能モジュールからの起動完了フラグを纏めてモニタすることができるので、上記CPUにおいては、複数の機能モジュールの同時起動が完了したか否かの判別を容易に行うことができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
<実施の形態1>
図1には、本発明にかかるデータ処理装置の一例とされるマイクロコンピュータが示される。
マイクロコンピュータ100は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。マイクロコンピュータ100は、割り込み制御回路101、CPU(中央処理装置)コア102、内蔵RAM(ランダム・アクセス・メモリ)103、内蔵ROM(リード・オンリー・メモリ)104を含む。上記CPU(中央処理装置)コア102、内蔵RAM(ランダム・アクセス・メモリ)103、内蔵ROM(リード・オンリー・メモリ)104は、32ビット構成のCPUバス105によって互いに信号のやり取り可能に結合される。また、上記CPUバス105には、それぞれバスブリッジ106,107を介して周辺バス116,117が結合される。周辺バス116は16ビット構成とされ、周辺バス117は8ビット構成とされる。この周辺バス116,117には、それぞれ特定の機能を有する機能モジュールが結合される。例えば周辺バス116に結合された機能モジュールとして、I2C(Inter-Integrated Circuit Bus IF:相互統合回路バスインタフェース)108,109、タイマ110,111を挙げることができる。周辺バス117に結合された機能モジュールとして、シリアル通信インタフェース(SCI)112、アナログ・デジタル・コンバータ(ADC)113、デジタル・アナログ・コンバータ(DAC)114,115、タイマ119,120を挙げることができる。上記I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース(SCI)112、アナログ・デジタル・コンバータ(ADC)113、デジタル・アナログ・コンバータ(DAC)114,115は、IP(Intellectual Property)として提供される。また、上記周辺バス117には、マスタビットを保持するためのマスタビットレジスタ118が結合される。そしてこのマスタビットレジスタ118と上記タイマ110,111,119,120とは、上記マスタビットレジスタ118の出力信号を上記タイマ110,111,119,120に伝達するための専用線99を介して結合される。
上記CPUコア102は、予め設定されたプログラムに従って所定の演算処理を実行する。上記内蔵RAM103は、上記CPUコア102で行われる演算処理の作業領域に使用される。上記内蔵ROM104は、上記CPUコア102で実行されるプログラムを記憶するプログラムメモリとして機能する。プログラムメモリは、電気的に書き換え可能なフラッシュメモリによって形成される場合もある。上記I2C108,109は外部に接続される周辺デバイスと接続され、外部との間でシリアル通信を行うために設けられる。上記タイマ110,111,119,120は、各種信号生成や各種処理における時間計測に用いられる。上記シリアル通信インタフェース112は、このマイクロコンピュータ100の外部との間でシリアル通信を行うために設けられる。アナログ・デジタル・コンバータ113は、入力されたアナログ信号をデジタル信号に変換する。デジタル・アナログ・コンバータ114,115は、入力されたデジタル信号をアナログ信号に変換する。
上記I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース112、アナログ・デジタル・コンバータ113、デジタル・アナログ・コンバータ114,115は、それぞれCPUコア102によって設定可能な制御レジスタCNTRを含む。この制御レジスタCNTRの設定によって各機能モジュールの動作が制御されるようになっている。各機能モジュール内の制御レジスタCNTRには、起動ビットを保持するレジスタが含まれ、この起動ビットが設定されることによって当該機能モジュールが起動される。
このマイクロコンピュータ100が搭載されるシステムによっては、マイクロコンピュータ100内の複数の機能モジュールの動作開始タイミングを揃えたい場合がある。例えば4個のタイマ110,111,119,120の起動タイミングを揃えようとしても、CPUコア102の命令実行クロック数と、互いに異なるクロック間の再同期化待ちの時間との調整が必要で、起動タイミングを正確に揃えるのは困難である。
そこでこのマイクロコンピュータ100には、タイマ110,111,119,120の起動ビットを操作可能なマスタビットレジスタ118が設けられている。このマスタビットレジスタ118には、CPUコア102によってマスタビットの設定が可能とされる。このマスタビットによれば、タイマ110,111,119,120のうち任意の組み合わせで起動ビットを設定することができる。例えばタイマ110,111,119,120の全ての起動タイミングを揃えたい場合、マスタビットレジスタ118の出力によって、タイマ110,111,119,120の全ての起動ビットが一斉に選択レベルに設定されるように構成する。
図2には、図1に示されるマイクロコンピュータ100におけるタイマ110,111,119,120の同時起動についてのフローチャートが示される。
タイマ110,111,119,120の同時起動に先立って、タイマ110,111,119,120の初期設定が行われる(S11〜S14)。つまり、CPUコア102によって、タイマ110,111,119,120内の制御レジスタCNTRに所定の制御情報が書き込まれる。
次に、マスタビットレジスタ118のマスタビットが選択レベルに設定されることによって、タイマ110,111,119,120の同時起動が指示される(S15)。マスタビットレジスタ118のマスタビット設定は、CPUコア102により周辺バス117を介して行われる。
そして、上記マスタビットが選択レベルに設定されると、それに応じて、タイマ110,111,119,120の全ての起動ビットが一斉に選択レベルに設定される。このような設定により、タイマ110,111,119,120の同時起動が可能になる。
上記の構成例では、マスタビットレジスタ118のマスタビットが選択レベルに設定されることによって、タイマ110,111,119,120の同時起動が指示される場合について説明したが、タイマ110,111,119,120のうちの任意の組み合わせについて同時起動を行うことができる。例えばマスタビットレジスタ118のマスタビットによって、タイマ110,111又はタイマ119,120についての同時起動を行うようにしても良い。また、マスタビットレジスタ118を複数個設け、このマスタビットレジスタ毎に、同時起動するタイマの組み合わせを異ならせるようにしても良い。
実施の形態1においては、以下の作用効果を得ることができる。
(1)CPUコア102から周辺バス117を介してマスタビットレジスタ118にマスタビットを設定することにより、複数のタイマ110,111,119,120を一斉に起動することができる。
(2)このようマイクロコンピュータ100は、複数のタイマ110,111,119,120が一斉に起動される場合において、複数のタイマ110,111,119,120間で、起動ビットを同じレジスタに割り付けるものではないので、製品毎にレジスタのビット割付けを変える必要はなく、汎用性に優れる。
(3)マスタビットレジスタ118を複数個設け、このマスタビットレジスタ毎に、同時起動するタイマの組み合わせを異ならせるようにすることで、同時起動するタイマの組み合わせとして複数パターンに対応することができる。
<実施の形態2>
図3には、マイクロコンピュータ100の別の構成例が示される。
図3に示されるマイクロコンピュータ100が、図1に示されるマイクロコンピュータ100と大きく異なるのは、それぞれの周辺モジュール内にマスタビット選択回路SELが設けられている点である。マスタビット選択回路SELは、I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース112、アナログ・デジタル・コンバータ113、デジタル・アナログ・コンバータ114,115内に設けられ、マスタビットの選択を可能とする。各機能モジュールにおいて、内部のマスタビット選択回路SELによって選択されたマスタビットによって制御レジスタCNTRの起動ビットが設定されるようになっている。また、マスタビットレジスタ118と、上記I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース112、アナログ・デジタル・コンバータ113、デジタル・アナログ・コンバータ114,115とは、8ビット構成のマスタビットバス121を介して結合される。これにより、マスタビットレジスタ118の出力信号は、マスタビットバス121を介して複数の機能モジュールへ共通に伝達される。
I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース112、アナログ・デジタル・コンバータ113、デジタル・アナログ・コンバータ114,115内に設けられるマスタビット選択回路SELは、互いに同一構成とされる。
図5には、タイマ120内に設けられたマスタビット選択回路SELの構成例が代表的に示される。
マスタビット選択回路SELは、特に制限されないが、セレクタ501と、マスタビット選択レジスタ502とを含んで成る。セレクタ501は、上記マスタビットレジスタ118から8ビット構成のマスタビットバス121を介して伝達された複数の出力信号のうちのひとつが選択されて出力される。選択されたマスタビットによって制御レジスタCNTRの起動ビットが設定される。マスタビット選択レジスタ502は、3ビット構成とされ、周辺バス117に結合されている。マスタビット選択レジスタ502には、CPUコア102によってマスタビット選択情報が設定される。このマスタビット選択情報に従ってセレクタ501の選択動作が制御される。つまり、CPUコア102によって設定されたマスタビット選択情報に従って、マスタビットバス121のうちの任意の1ビットが選択される。
尚、セレクタ501によって選択されたマスタビットは、フリップフロップ回路503,504によって、クロック信号CLKで再同期化してから制御レジスタCNTRに伝達されるように構成することができる。
図4には、図3に示されるマイクロコンピュータ100におけるタイマ110,111,119,120の同時起動についてのフローチャートが示される。
タイマ110,111,119,120の同時起動に先立って、タイマ110,111,119,120の初期設定が行われる(S21〜S24)。つまり、CPUコア102によって、タイマ110,111,119,120内の制御レジスタCNTRに所定の制御情報が書き込まれる。
次に、マスタビット選択のため、タイマ110,111,119,120におけるマスタビット選択レジスタ502(又は506)への情報設定が行われる(S25〜S28)。
そして、マスタビットレジスタ118のマスタビットが選択レベルに設定されることによって、タイマ110,111,119,120の同時起動が指示される(S15)。これにより、上記ステップS25〜S28においてマスタビットが選択されたタイマ群を一斉に起動することができる。また、各機能モジュール内のマスタビット選択回路SELによって、マスタビットバス121が参照されるので、同時起動が可能になるのは、タイマ110,111,119,120に限定されるものではない。マスタビットバス121に接続されている全ての機能モジュールを同時起動の対象とすることができる。
図6には、タイマ120内に設けられたマスタビット選択回路SELの別の構成例が示される。
図6に示されるマスタビット選択回路SELは、上記マスタビットレジスタからの複数の出力信号の任意ビットのオア論理を出力するためのセレクタ505と、上記セレクタ505の動作制御のための情報が設定されるマスタビット選択レジスタ506とを含んで成る。マスタビット選択レジスタ506は、8ビット構成とされ、周辺バス117に結合されている。マスタビット選択レジスタ506には、CPUコア102によってマスタビット選択情報が設定される。このマスタビット選択情報に従ってセレクタ505の選択動作が制御される。上記セレクタ505は、8個の2入力アンドゲート600〜607と、8入力のオアゲート511とが結合されて成る。8個の2入力アンドゲート600〜607は、上記マスタビットレジスタ118からマスタビットバス121を介して伝達された信号と、上記マスタビット選択レジスタ506の出力信号とのアンド論理を得る。そして、オアゲート511において、8個の2入力アンドゲート600〜607の出力信号のオア論理が得られることでマスタビットの選択が行われる。
図5に示される構成では、各機能モジュールにおいて参照されるマスタビットがひとつである。しかし、図6に示される構成では、マスタビット選択レジスタ506の出力信号とのアンド論理を得るようにしているため、マスタビットレジスタ118にかかわらず、マスタビット選択レジスタ506への情報設定により、選択されるマスタビットを複数指定することができる。
尚、図5に示される場合と同様に、セレクタ505によって選択されたマスタビットは、フリップフロップ回路503,504によって、クロック信号CLKで再同期化してから制御レジスタCNTRに伝達されるようにしても良い。
多くの機能モジュールが設けられたマイクロコンピュータ100において、全てのアプリケーションで必要とされる同時起動の組み合わせをマスタビットレジスタ118に設定するのは現実的でない。これに対して図6に示される構成では、マスタビット選択回路SEL内のマスタビット選択レジスタ506の設定情報を必要に応じて変更することによって、同時起動の組み合わせを変更することができるので、全てのアプリケーションで必要とされる同時起動の組み合わせに容易に対応することができる。これについて、図7及び図8に基づいて説明する。
マイクロコンピュータ100はプロセス#1とプロセス#2を有するものとする。そして図8に示されるように、プロセス#1ではタイマ110,111と、タイマ110,119とが交互に同時起動され、プロセス#2ではタイマ120とデジタル・アナログ・コンバータ(DAC)114とが同時起動されるものとする。リソースに着目すると、図7(A)に示されるようになる。
タイマ110,111,119がプロセス#1で取得され(S31〜33)、マスタビットバス121のビット0,1がプロセス#1で取得される(S34,S35)。そして、タイマ120及びデジタル・アナログ・コンバータ(DAC)114がプロセス#2で取得され(S36,S37)、マスタビットバス121のビット2がプロセス#2で取得される(S38)。
この場合の同時起動は、図7(B)に示されるように行われる。先ず、タイマ110,111,119,120、及びデジタル・アナログ・コンバータ(DAC)114の初期設定が行われる(S41〜S45)。この初期設定において、CPUコア102によって、タイマ110,111,119,120、及びデジタル・アナログ・コンバータ(DAC)114内の制御レジスタCNTRに所定の制御情報が書き込まれる。
次に、マスタビット選択のため、タイマ110,111,119,120、及びデジタル・アナログ・コンバータ(DAC)114におけるマスタビット選択レジスタ506への情報設定が行われる(S46〜S50)。タイマ110内のマスタビット選択レジスタ506にはマスタビット0,1が選択されるようにフラグが設定され(S46)。タイマ111内のマスタビット選択レジスタ506にはマスタビット0が選択されるようにフラグが設定される(S47)。タイマ119内のマスタビット選択レジスタ506にはマスタビット1が選択されるようにフラグが設定される(S48)。タイマ120内のマスタビット選択レジスタ506にはマスタビット2が選択されるようにフラグが設定される(S49)。デジタル・アナログ・コンバータ(DAC)114内のマスタビット選択レジスタ506にはマスタビット2が選択されるようにフラグが設定される(S50)。これにより、選択されたマスタビットに応じて機能モジュールが同時起動される。
ここで、マスタビット選択回路SELとして、図5に示される構成を採用した場合には、プロセス#1において、同時起動毎に、必ずマスタビット選択レジスタ502への書き込み(フラグ設定)が必要となる。これに対して、マスタビット選択回路SELとして、図6に示される構成を採用した場合には、複数のマスタビットの参照が可能となり、重複した機能モジュールで同時起動の任意グループの構成が可能になることから、同時起動毎のマスタビット選択レジスタ502への書き込みは必ずしも必要ではない。
次に、機能モジュールが起動したことをCPUコア102に知らせるための起動完了通知について説明する。
図9には、起動完了通知のための起動完了フラグを形成する起動完了通知回路の構成が示される。また、図10には、図9における主要部の動作タイミングが示される。
各機能モジュールに、図9に示されるような起動完了通知回路900を設けることができる。この起動完了通知回路900は、図5又は図6に示されるマスタビット選択回路SELに対応するもので、フリップフロップ回路902,903、2入力ナンドゲート904とを含んで成る。フリップフロップ回路902のデータ入力端子(D)には、セレクタ501又は505で選択されたマスタビット(制御レジスタCNTRに設定される起動ビット)901が伝達される。フリップフロップ回路902の出力端子(Q)の出力信号は、後段のフリップフロップ回路903のデータ入力端子(D)に伝達される。上記フリップフロップ回路902には周辺バス116又は117のクロック信号が供給され、上記フリップフロップ回路903には、上記フリップフロップ回路903が内蔵される機能モジュールにおけるクロック信号が供給される。図10に示されるように、周辺バス116又は117のクロック信号や、機能モジュールにおけるクロック信号は、CPUバス105のクロック信号(CPUクロック信号)に比べて周波数が低い。フリップフロップ回路902では、セレクタ501で選択されたマスタビット901が周辺バス116又は117のクロック信号で同期化され、フリップフロップ回路903では、フリップフロップ回路902の出力信号が機能モジュールのクロック信号で同期化される。上記フリップフロップ回路903の出力端子(Q)の出力信号と、上記フリップフロップ回路902の出力端子(Q)の出力信号とのアンド論理の反転出力がナンドゲート904で得られる。このナンドゲート904の出力が起動完了フラグとされる。この起動完了フラグは、ローアクティブの信号とされ、各機能モジュールにおける制御レジスタCNTRの所定ビットに設定される。CPUコア102は、周辺バス116又は117を介して、同時起動にかかる機能モジュールからの起動完了フラグをモニタすることによって、複数の機能モジュールの同時起動が完了したか否かを判別することができる。
実施の形態2によれば、以下の作用効果を得ることができる。
(1)マイクロコンピュータ100は、I2C108,109、タイマ110,111,119,120、シリアル通信インタフェース112、アナログ・デジタル・コンバータ113、デジタル・アナログ・コンバータ114,115内に、マスタビットの選択を可能とするマスタビット選択回路SELが設けられている。このような各機能モジュール(108〜115,119,120)においては、マスタビット選択回路SELが設けられることにより、マスタビットレジスタ118の出力信号を選択的に取り込むことができ、それに基づいて、各機能モジュール(108〜115,119,120)毎の起動ビットを設定することができる。
(2)上記マスタビット選択回路SELは、図5に示されるように、上記マスタビットレジスタからの複数の出力信号のうちのひとつを上記起動ビット設定用に選択するためのセレクタ501と、上記セレクタ501の選択動作を決定するためのマスタビット選択レジスタ502とを含んで容易に構成することができる。マスタビット選択レジスタ502には、CPUコア102によってマスタビット選択情報が設定される。このマスタビット選択情報に従ってセレクタ501の選択動作が制御されることにより、マスタビットバス121のうちの任意の1ビットが容易に選択される。
(3)上記マスタビット選択回路SELは、図6に示されるように、上記マスタビットレジスタからの複数の出力信号の任意ビットのオア論理を出力するためのセレクタ505と、上記セレクタ505の動作制御のための情報が設定されるマスタビット選択レジスタ506とを含んで構成することができる。上記セレクタ505は、2入力アンドゲート600〜607と、オアゲート511とが結合されて成る。2入力アンドゲート600〜607は、上記マスタビットレジスタ118からマスタビットバス121を介して伝達された信号と、上記マスタビット選択レジスタ506の出力信号とのアンド論理を得る。そして、オアゲート511において、2入力アンドゲート600〜607の出力信号のオア論理が得られることでマスタビットの選択が行われる。かかる構成によれば、マスタビットバス121を介して伝達された信号と、マスタビット選択レジスタ506の出力信号とのアンド論理を得るようにしているため、マスタビットレジスタ118にかかわらず、マスタビット選択レジスタ506への情報設定により、選択されるマスタビットを複数指定することができる。
(4)上記マスタビット選択レジスタ502,506は、上記CPUコア102によって管理されるアドレス空間に配置することができ、そのようにすることで、上記マスタビット選択レジスタ502,506の書き換えを上記CPUコア102によって容易に行うことができる。
(5)上記マスタビット選択回路SELには、上記機能モジュールの起動完了を示す起動完了フラグを形成するための起動完了通知回路900を設けることができる。この起動完了通知回路900は、図5又は図6に示されるマスタビット選択回路SELに対応するもので、フリップフロップ回路902,903、2入力ナンドゲート904とを含んで成る。フリップフロップ回路902では、セレクタ501で選択されたマスタビット901が周辺バス116又は117のクロック信号で同期化され、フリップフロップ回路903では、フリップフロップ回路902の出力信号が機能モジュールのクロック信号で同期化される。上記フリップフロップ回路903の出力端子(Q)の出力信号と、上記フリップフロップ回路902の出力端子(Q)の出力信号とのアンド論理がナンドゲート904で得られる。このナンドゲート904の出力が起動完了フラグとされる。この起動完了フラグは、ハイアクティブの信号とされ、各機能モジュールにおける制御レジスタCNTRの所定ビットに設定される。CPUコア102は、周辺バス116又は117を介して、同時起動にかかる機能モジュールからの起動完了フラグをモニタすることによって、複数の機能モジュールの同時起動が完了したか否かを容易に判別することができる。
<実施の形態3>
図11には、本発明にかかるデータ処理装置の一例とされるマイクロコンピュータの別の構成例が示される。図11に示されるマイクロコンピュータ100が、図3に示されるのと大きく相違するのは、同時起動にかかる機能モジュールからの起動完了フラグを纏めて保持するための起動完了レジスタ123が設けられている点である。この起動完了レジスタ123は、8ビット構成とされ、周辺バス117に結合される。また起動完了レジスタ123は、起動完了バス122を介して各機能モジュール(108〜115,119,120)に結合される。各起動完了バス122では、各機能モジュールから出力された複数の起動完了フラグのワイヤードアンド論理が得られるようになっている。そしてこの各機能モジュールから出力された複数の起動完了フラグのワイヤードアンド論理の結果が起動完了レジスタ123に保持されるようになっている。CPUコア102は、起動完了レジスタ123の保持情報をモニタすることによって、複数の機能モジュールの同時起動が完了したか否かを判別することができる。このような判別を円滑に行うため、各機能モジュール(108〜115,119,120)内には、図12又は図13に示されるような起動完了フラグ出力回路SFCを設けることができる。
図12に示される起動完了フラグ出力回路SFCは、図5に示されるマスタビット選択回路SELに対応している。この起動完了フラグ出力回路SFCは、各機能モジュール内の起動完了フラグ(図9及び図10参照)を振り分けるためのマルチプレクサ124と、このマルチプレクサ124によって振り分けられた起動完了フラグが伝達されるnチャネル型MOSトランジスタ125〜132とを含む。nチャネル型MOSトランジスタ125〜132のソース電極は低電位側電源Vssに結合される。nチャネル型MOSトランジスタ125〜132のドレイン電極は、起動完了バス122の対応ビットに結合される。起動完了バス122の各ビットは、それぞれ抵抗Rを介して高電位側電源Vddにプルアップされている。
マルチプレクサ124は、当該マルチプレクサ124が内蔵される機能モジュール内のマスタビット選択レジスタ502の3ビット出力によって動作制御される。このようにすることで、各機能モジュール内のマスタビット(起動ビット)と、起動完了フラグ出力回路SFCの出力との対応をとることができる。起動完了フラグがローレベルにアサートされ(図10参照)、それが、マルチプレクサ124を介してnチャネル型MOSトランジスタ125〜132のいずれかに伝達されると、当該MOSトランジスタがオフされる。それにより、起動完了バス122における対応ビットは、当該MOSトランジスタにより低電位側電源Vss側に引き抜かれていた電位が抵抗Rにより高電位側電源Vddにプルアップされるため、それまでのローレベルからハイレベルに遷移される。
各機能モジュール(108〜115,119,120)における起動完了フラグ出力回路SFCが、上記のように動作することにより、各機能モジュールにおける起動完了フラグ出力回路SFCからの出力信号のワイヤードアンド論理を得ることができる。これにより、同時起動にかかる全ての機能モジュール内の起動完了フラグ出力回路SFCからの出力信号がハイレベルの場合にのみ、起動完了レジスタ123における対応ビットがハイレベルに保持される。起動完了レジスタ123における対応ビットがハイレベルの場合、CPUコア102は、同時起動にかかる複数の機能モジュールの同時起動が完了したと判断する。
図13に示される起動完了フラグ出力回路SFCは、図6に示されるマスタビット選択回路SELに対応している。図13に示される起動完了フラグ出力回路SFCが、図12に示されるのと大きく相違するのは、マルチプレクサ124に代えて、8個の2入力アンドゲート140〜147が設けられている点である。この8個の2入力アンドゲート140〜147は、図6における8個の2入力アンドゲート600〜607に対応するもので、この8個の2入力アンドゲート600〜607と同様に、マスタビット選択レジスタ506の出力信号が伝達される。8個の2入力アンドゲート140〜147により、起動完了フラグとマスタビット選択レジスタ506の出力信号とのアンド論理が得られ、そのようなアンドゲートの出力信号が、対応するnチャネル型MOSトランジスタ125〜132に伝達されるようになっている。
実施の形態3によれば、以下の作用効果を得ることができる。
起動完了フラグ出力回路SFCは、図12や図13に示されるように簡単に構成することができる。各機能モジュール(108〜115,119,120)における起動完了フラグ出力回路SFCの動作により、各機能モジュールにおける起動完了フラグ出力回路SFCからの出力信号のワイヤードアンド論理を得ることができる。これにより、同時起動にかかる全ての機能モジュール内の起動完了フラグ出力回路SFCからの出力信号がハイレベルの場合にのみ、起動完了レジスタ123における対応ビットがハイレベルに保持される。起動完了レジスタ123における対応ビットがハイレベルの場合、CPUコア102は、同時起動にかかる複数の機能モジュールの同時起動が完了したと判断する。このように、同時起動にかかる機能モジュールからの起動完了フラグを纏めてモニタすることができるので、上記CPUにおいては、複数の機能モジュールの同時起動が完了したか否かの判別を容易に行うことができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。