(57)【要約】【課題】リセット専用ロジックを持つことなしにリセット機能を実現できるＣＰＵの提供。【解決手段】本ＣＰＵ１０は、命令コード３２を読み出してフェッチレジスタ３０にフェッチするフェッチ回路２０と、フェッチレジスタ３０にフェッチされている命令コードを受け取り、デコードして実行する命令デコード実行回路４０とを含み、フェッチレジスタ３０は、リセット入力がリセット信号８０に接続され、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成され、命令デコード実行回路４０は、所定のソフトウエア割り込み命令の命令コードをデコードして実行するソフトウエア割り込み処理部５０を含む。【選択図】図１
2007207075.tif 000002
【特許請求の範囲】
【請求項１】
リセット信号を受け付けるＣＰＵであって、
命令コードを読み出してフェッチレジスタにフェッチするフェッチ回路と、
前記フェッチレジスタにフェッチされている命令コードを受け取り、デコードして実行する命令デコード実行回路とを含み、
前記フェッチ回路のフェッチレジスタは、
リセット入力がリセット信号に接続され、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成され、
前記命令デコード実行回路は、
前記所定のソフトウエア割り込み命令の命令コードをデコードして実行するソフトウエア割り込み処理部を含むことを特徴とするＣＰＵ。
【請求項２】
請求項１において、
前記ソフトウエア割り込み処理部は、
前記所定のソフトウエア割り込み命令の命令コードを受け取ると、所定の番地に分岐して所定の番地に格納されている命令又は所定の番地に関連づけて格納されている命令を実行する処理を行うことを特徴とするＣＰＵ。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記所定のソフトウエア割り込み命令によって発生するアクセスであって、リセット動作には不要なアクセスに使用するアドレスレジスタを含み、
前記アドレスレジスタは、
ソフトウエア割り込み命令によって発生するアクセスアドレスがメモリ上の予約エリアに割り振られるような値をリセット時の初期値にもつことを特徴とするＣＰＵ。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記フェッチ回路は、
フェッチ要求信号を生成するフェッチ要求信号を生成するフェッチ要求信号生成回路をふくみ、
前記フェッチ要求信号生成回路は、
リセット信号を受け取り、リセット時にはフェッチ要求無しの信号を出力するように構成されていることを特徴とするＣＰＵ。
【請求項５】
請求項４において、
前記フェッチ要求信号生成回路は、
リセット入力にリセット信号が接続されたフィリップフロップであって、リセット時の初期値がフェッチ要求無しの信号となるフィリップフロップで構成されていることを特徴とするＣＰＵ。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記命令デコード実行回路が出力するデータ要求信号をマスクするデータ要求マスク回路をふくみ、
前記データ要求マスク回路は、
リセット時にはデータ要求信号をマスクすることを特徴とするＣＰＵ。
【請求項７】
請求項１乃至６のいずれかに記載のＣＰＵを含むことを特徴とする集積回路装置。
【請求項８】
請求項１乃至７のいずれかに記載のＣＰＵを含むことを特徴とするマイクロコンピュータ。
【請求項９】
請求項８に記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器。
【請求項１０】
ソフトウエア割り込み命令を処理機能を有し、リセット信号を受け付けるＣＰＵの制御方法であって、
前記リセット信号を受け取ると、フェッチ回路のフェッチレジスタを所定のソフトウエア割り込み命令に初期化するステップと、
前記リセット信号によって初期化された前記フェッチレジスタから所定のソフトウエア割り込み命令の命令コードを受け取り、デコードして実行するステップとを含むことを特徴とするＣＰＵの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ、集積回路装置、マイクロコンピュータ、電子機器及びＣＰＵの制御方法に関する。
【背景技術】
【０００２】
従来のＣＰＵやマイクロコンピュータでは、リセット動作は、リセット信号を直接処理するハードウエアを持たせていた。
【特許文献１】特開平６−２３０８５７号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしリセット時には特殊な動作をするため、ロジックはリセット専用となり回路規模の増大を招く。またデバッグや品質保証する手間も増大する。
【０００４】
本発明は以上のような問題点に鑑みてなされたものであり、リセット専用ロジックを持つことなしにリセット機能を実現できるＣＰＵの提供を目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明は、
リセット信号を受け付けるＣＰＵであって、
命令コードを読み出してフェッチレジスタにフェッチするフェッチ回路と、
前記フェッチレジスタにフェッチされている命令コードを受け取り、デコードして実行する命令デコード実行回路とを含み、
前記フェッチ回路のフェッチレジスタは、
リセット入力がリセット信号に接続され、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成され、
前記命令デコード実行回路は、
前記所定のソフトウエア割り込み命令の命令コードをデコードして実行するソフトウエア割り込み処理部を含むことを特徴とする。
【０００６】
所定のソフトウエア割り込み命令とは、リセットと等価な処理を含むソフトウエア割り込み命令であり、例えば所定のソフトウエア割り込み命令によって行われる処理が、プログラムカウンタのスタックポインタへの待避等のようにリセット自体には不要な処理を含む場合も含む。
【０００７】
フェッチ回路のフェッチレジスタは、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成されているため、リセット信号を受けると、所定のソフトウエア割り込み命令が実行される。
【０００８】
本発明によれば、従来はハードウエアの専用ロジックで実現していたリセット処理を、ソフトウエア割り込み命令で実現することができる。
【０００９】
従ってリセット専用に設けていたロジック回路（ハードウエア）を設けなくてもよいため、ＣＰＵの回路規模の増大防止やデバッグや品質保証の手間を削減することができる。
【００１０】
（２）本発明のＣＰＵは、
前記ソフトウエア割り込み処理部は、
前記所定のソフトウエア割り込み命令の命令コードを受け取ると、所定の番地に分岐して所定の番地に格納されている命令又は所定の番地に関連づけて格納されている命令を実行する処理を行うことを特徴とする。
【００１１】
前記所定のソフトウエア割り込み命令の命令コードを受け取ると、所定の番地に命令が格納されている命令を実行する構成でもよいし、所定の番地に格納されているアドレスに分岐して当該アドレスに格納されている命令を実行する構成でもよい。
【００１２】
（３）本発明のＣＰＵは、
前記所定のソフトウエア割り込み命令によって発生するアクセスであって、リセット動作には不要なアクセスに使用するアドレスレジスタを含み、
前記アドレスレジスタは、
ソフトウエア割り込み命令によって発生するアクセスアドレスがメモリ上の予約エリアに割り振られるような値をリセット時の初期値にもつことを特徴とする。
【００１３】
このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセットには不要なアクセスが発生しても、メモリのユーザーエリアには影響をあたえないようにすることができる。従ってソフトウエア割り込み命令で発生した不要なアクセスによって不足の不具合が発生することもない。
【００１４】
（４）本発明のＣＰＵは、
前記フェッチ回路は、
フェッチ要求信号を生成するフェッチ要求信号を生成するフェッチ要求信号生成回路をふくみ、
前記フェッチ要求信号生成回路は、
リセット信号を受け取り、リセット時にはフェッチ要求無しの信号を出力するように構成されていることを特徴とする。
【００１５】
このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセット時に命令のバスアクセス要求がでないようにすることができる。
【００１６】
（５）本発明のＣＰＵは、
前記フェッチ要求信号生成回路は、
リセット入力にリセット信号が接続されたフィリップフロップであって、リセット時の初期値がフェッチ要求無しの信号となるフィリップフロップで構成されていることを特徴とする。
【００１７】
（６）本発明のＣＰＵは、
前記命令デコード実行回路が出力するデータ要求信号をマスクするデータ要求マスク回路をふくみ、
前記データ要求マスク回路は、
リセット時にはデータ要求信号をマスクすることを特徴とする。
【００１８】
このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセット時にデータバスのアクセス要求がでないようにすることができる。
【００１９】
（７）本発明は、
上記のいずれかに記載のＣＰＵを含むことを特徴とする集積回路装置である。
【００２０】
（８）本発明は、
上記のいずれかに記載のＣＰＵを含むことを特徴とするマイクロコンピュータである。
【００２１】
（９）本発明は、
上記に記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
【００２２】
（１０）本発明は、
ソフトウエア割り込み命令を処理機能を有し、リセット信号を受け付けるＣＰＵの制御方法であって、
前記リセット信号を受け取ると、フェッチ回路のフェッチレジスタを所定のソフトウエア割り込み命令に初期化するステップと、
前記リセット信号によって初期化された前記フェッチレジスタから所定のソフトウエア割り込み命令の命令コードを受け取り、デコードして実行するステップとを含むことを特徴とする。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２４】
１．ＣＰＵ
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２５】
図１は、本実施の形態のＣＰＵの構成について説明するための機能ブロック図である。
【００２６】
本実施の形態のＣＰＵ１０は、リセット信号８０を受け付けるＣＰＵであって、命令コード３２を読み出してフェッチレジスタ３０にフェッチするフェッチ回路２０と、フェッチレジスタ３０にフェッチされている命令コードを受け取り、デコードして実行する命令デコード実行回路４０とを含む。
【００２７】
フェッチ回路２０のフェッチレジスタ３０は、リセット入力がリセット信号３０に接続され、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成される。
【００２８】
フェッチレジスタ３０は例えば１６ビットのフィリップフロップで構成され、入力が命令フェッチバスに接続され、リセット入力がリセット信号８０に接続され、出力は命令デコード実行部２００の入力と接続してもよい。
【００２９】
所定のソフトウエア割り込み命令とは、リセットと等価な処理を含むソフトウエア割り込み命令であり、例えば所定のソフトウエア割り込み命令によって行われる処理が、プログラムカウンタのスタックポインタへの待避等のようにリセット自体には不要な処理を含む場合も含む。
【００３０】
命令デコード実行部４０は、所定のソフトウエア割り込み命令の命令コードをデコードして実行するソフトウエア割り込み処理部２１０を含む。
【００３１】
命令デコード実行部４０は、データバス９０に接続され、命令のデコードや実行に必要なデータアクセスが必要になるとデータ要求信号やアドレスを出力し、データのアクセスを行う。
【００３２】
ＣＰＵは各種レジスタとその制御回路６０を含む。各種レジスタとは、例えばプログラムカウンタ６２やスタックポインタ６４や図示しない汎用レジスタ等を含む。
【００３３】
プログラムカウンタの値は命令アドレス６３としてアドレスバスに出力される。
【００３４】
フェッチ回路のフェッチレジスタ３０は、リセット時に所定のソフトウエア割り込み命令に初期化されるように構成されているため、リセット信号を受けると、所定のソフトウエア割り込み命令が実行される。
【００３５】
本発明によれば、従来はハードウエアの専用ロジックで実現していたリセット処理を、ソフトウエア割り込み命令で実現することができる。
【００３６】
従ってリセット専用に設けていたハードウエアロジック回路を設けなくてもよいため、回路規模の増大を防止やデバッグや品質保証の手間を削減することができる。
【００３７】
図２（Ａ）（Ｂ）は、本実施の形態のソフトウエア割り込み命令について説明するための図である。
【００３８】
本実施の形態のＣＰＵは図２（Ａ）の４００に示すような１６ビットの命令コードをデコードして実行している。命令コード４００の上位６ビット（０〜５）はオペコード４１０であり、上位６ビットがオール１の場合が割り込み命令であることを示している。
【００３９】
命令コードの６〜７目ビットは割り込み種別４２０であり、’００’はソフトウエア割り込み、’０１’はハードウエア割り込み、’１０’はソフトウエアブレイク、’１１’はハードウエアブレイクを示している。
【００４０】
命令コードの８〜１１ビット目は割り込み番号４３０であり、飛び先を特定するための値が格納されている。
【００４１】
命令コードの１２ビット目は割り込みマスク４４０であり、’１’はマスク、’０’は変化無しを示している。
【００４２】
命令コードの１３ビット目は割り込みレベルのセットの有無４５０であり、’１’はセット有り、’０’はセット無しを示している。
【００４３】
命令コードの１４〜１５ビット目は割り込みレベル４ソフトウエア割り込み命令６０であり、優先順位に応じて設定された値（例えば優先順位が高いほど小さな値）が格納されている。
【００４４】
図２（Ｂ）は本実施の形態の所定のソフトウエア割り込み命令（ＩＮＴｎ）の具体例を示した図である。
【００４５】
本実施の形態の所定のソフトウエア割り込み命令であるＩＮＴ０は、オペコード４１０は割り込み命令であることを示す'000000’で、割り込み種別４２０はソフトｉｎｔであることを示す'00'で、割り込み場号は０番地であるｋとを示す'0000'である。
【００４６】
次に本実施の形態におけるソフトウエア割り込み命令の実行時の処理について説明する。
【００４７】
図３（Ａ）はメモリに記憶されている命令コード列である。
【００４８】
ここでは２段のパイプラインのＲＩＳＣタイプのＣＰＵで、命令バス（フェッチバス）、データバスがアドレス、データ幅とも１６ビットであるとする。割り込みは番地指定可能であり、命令コードの飛び先番号（図２（Ａ）の４３０参照）で指定された番地へ分岐する。例えばＩＮＴｎの場合0x0＋ｎ×２のアドレスから１６ビットリードし、そのアドレスにジャンプする。
【００４９】
所定のソフトウエア割り込み命令であるＩＮＴ１命令（３１０参照）が実行される場合、0x0＋１×２＝'0x0002'アドレスから１６ビットリードして、そのアドレス（この場合２０００番地）に分岐する（３２０参照）。そして分岐先の命令（この場合ＯＲ）を実行する（３３０参照）。
【００５０】
図３（Ｂ）はタイミングチャート図である。
【００５１】
１２はＣＰＵに供給されるクロックである。
【００５２】
６３はフェッチバスの命令アドレスであり、プログラムカウンタ６２からフェッチバスに出力される。
【００５３】
３２は、フェッチバスの命令コードであり、フェッチバスからフェッチレジスタ４０に入力される。
【００５４】
１００は、ＣＰＵの動作を示している。
【００５５】
クロックｃ１で'0100'番地のＡＤＤ命令がフェッチされる。クロックｃ２でＡＤＤ命令が実行され、'0102'番地のＳＵＢ命令がフェッチされる。クロックｃ３でＳＵＢ命令が実行され、'0104'番地のＩＮＴ命令がフェッチされる。
【００５６】
すると次のクロックｃ３では命令のフェッチは行われず、ＣＰＵはＩＮＴ１命令で指定された飛び先である'0002'番地から飛び先（'2000'番地）を読み出すと共に、スタックポインタの位置を２だけディクリメントする。
【００５７】
次のクロックｃ４で飛び先である'2000'番地のＯＲ命令がフェッチされ、スタックポインタ上に元のプログラムカウンタの値（'0006'番地、ここではＩＮＴ１の次の命令のアドレスにインクリメントされている）。
【００５８】
そして次のクロックｃ５でＯＲ命令が実行される。
【００５９】
クロックｃ２，ｃ３に示すようにＩＮＴ命令は２クロック命令となる。
【００６０】
図４は本実施の形態のリセット時の処理について説明するタイミングチャート図である。
【００６１】
ここで所定のソフトウエア割り込み命令として、ＩＮＴ０命令を用いる場合を例にとり説明する。
【００６２】
１２はＣＰＵに供給されるクロックである。
【００６３】
８０はリセット信号であり、リセット時に第１のレベル（例えばＬ）となり、リセットが解除されると第２のレベル（例えばＨ）になる信号である。リセット信号は、フェッチレジスタ（フィリップフロップ）のリセット入力に接続されている。
【００６４】
６３はフェッチバスの命令アドレスであり、プログラムカウンタ６２からフェッチバスに出力される。
【００６５】
３２は、フェッチバスの命令コードであり、フェッチバスからフェッチレジスタ４０に入力される。
【００６６】
３０はフェッチレジスタ（１６ビットのフィリップフロップ）の値であり、リセット時にはＩＮＴ０の命令コードの値（ここでは'1111110000001100'）に初期化される。
【００６７】
１００は、ＣＰＵの動作を示している。
【００６８】
クロックｃ１、ｃ２の立ち上がりではリセット信号がリセット状態であるので、フェッチレジスタ（フィリップフロップ）３０はＩＮＴ０の命令コードに初期化されている（２１０参照）。またＩＮＴ０の時は０番地から実行される仕様であるので、フェッチバスの命令アドレスは０となっている（２２０参照）。
【００６９】
クロックｃ２の間にリセット信号がリセット状態（Ｌレベル）からリセット解除状態（Ｈレベル）に変化すると、ＣＰＵはクロックｃ３でＩＮＴ０命令で指定された飛び先である'0000'番地から飛び先（'0100'番地、図３（Ａ）参照）を読み出すと共に、スタックポインタの位置を２だけディクリメントする。このときフェッチレジスタ３０の値はＩＮＴ０命令のままである。
【００７０】
次のクロックｃ４ではフェッチバスの命令アドレス６３は飛び先である'0100'番地となり、フェッチバスの命令コード３２はＡＤＤ命令となる。そしてＣＰＵはスタックポインタ上に元のプログラムカウンタの値（'0100'番地）を待避させる。このときフェッチレジスタ３０の値はＩＮＴ０命令のままである。
【００７１】
そして次のクロックｃ５で、ＡＤＤ命令が実行され、'0102'番地のＳＵＢ命令がフェッチされる。
【００７２】
図５は、他の実施の形態のＣＰＵの構成について説明するための機能ブロック図である。
【００７３】
図１と同じ構成には同じ番号を付しており説明を省略する。
【００７４】
ＣＰＵ１０’は図１の構成に加えてフェッチ制御部１３０を含むようにしてもよい
図６はフェッチ制御部の構成の一例である。
【００７５】
フェッチ制御部１３０は、フェッチ要求信号１３４を生成するフェッチ要求信号生成回路を含む。
【００７６】
フェッチ要求信号生成回路は、リセット信号８０を受け取り、リセット時にはフェッチ要求無しの信号を出力するように構成されている。
【００７７】
このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセット時にフェッチバスのアクセス要求がでないようにすることができる。
【００７８】
フェッチ要求信号生成回路は、リセット入力にリセット信号８０が接続された１ビットのフィリップフロップであって、リセット時の初期値がフェッチ要求無しの信号（例えば第１のレベルでバス要求がＯＦＦ状態となる場合は第１のＬレベル）となる１ビットのフィリップフロップ（フェッチ要求信号生成フィリップフロップ１３２）で実現することができる。
【００７９】
このようにするとフェッチ要求信号生成フィリップフロップ１３２の出力であるフェッチ要求信号１３４は、リセット時は第１のレベル（例えばＬレベルでバス要求がＯＦＦ状態となる場合はＬレベル）となり、リセット解除後には第２のレベル（例えばＨレベルがＯＮ状態となる場合はＨレベル）となる。
【００８０】
命令フェッチ要求信号１３４が第１のレベル（例えばＬレベルでバス要求がバス要求がＯＦＦ状態となる場合はＬレベル）の時はフェッチバスに対してバス要求が行われないので、リセット中のフェッチバスへのバスアクセスを防止することができる。
【００８１】
またＣＰＵ１０’は図１の構成に加えてデータバス制御部１２０を含むようにしてもよい。
【００８２】
図７はデータバス制御部の構成の一例である。
【００８３】
データバス制御部１２０は、命令デコード実行回路４０が出力するデータ要求信号９１をマスクするデータ要求マスク回路をふくむ。
【００８４】
データ要求マスク回路は、リセット時にはデータ要求信号をマスクするように構成されている。このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセット時にデータバスのアクセス要求がでないようにすることができる。
【００８５】
データ要求マスク回路は例えばアンド回路１２２で実現することができる。アンド回路１２２の一方の入力は命令デコード実行部が出力するデータバスに対するデータ要求９１に接続され、他方の入力はリセット信号８０に接続され、出力がデータバスに対するデータ要求となる。
【００８６】
アンド回路１２２はリセット時に命令デコード実行部４０の出力するデータ要求９１をマスクする機能を有する。例えばリセット時はリセット信号８０はＬレベルで、リセット解除後にＨレベルに変化するとすると、アンド回路１２２の出力するデータ要求はリセット時はＬレベルとなる。
【００８７】
データ要求９２が第１のレベル（例えばＬレベルでバス要求バス要求がＯＦＦ状態となる場合はＬレベル）の時はデータバスに対してバス要求が行われないので、リセット中のデータバスへのバスアクセスを防止することができる。
【００８８】
図８は他の実施の形態のリセット時の処理について説明するタイミングチャート図である。
【００８９】
１２はＣＰＵに供給されるクロックである。
【００９０】
８０はリセット信号であり、リセット時に第１のレベル（例えばＬ）となり、リセットが解除されると第２のレベル（例えばＨ）になる信号である。リセット信号は、フェッチレジスタ（フィリップフロップ）のリセット入力に接続されている。
【００９１】
１３４はフェッチ要求信号であり、フェッチ要求信号生成フィリップフロップの出力であり、リセット時に第１のレベル（例えばＬ）となり、リセットが解除されると第２のレベル（例えばＨ）になる信号である。
【００９２】
９２はデータ要求信号であり、データバス制御部のアンド回路（図７の１２２）の出力であり、リセット時に第１のレベル（例えばＬ）となり、リセットが解除されると第２のレベル（例えばＨ）になる信号である。
【００９３】
３０はフェッチレジスタ（１６ビットのフィリップフロップ）の値であり、リセット時にはＩＮＴ０の命令コードの値（ここでは'1111110000001100'）に初期化される。
【００９４】
１００は、ＣＰＵの動作とバス動作を示している。
【００９５】
クロックｃ１、ｃ２の立ち上がりではリセット信号がリセット状態であるので、フェッチレジスタ（フィリップフロップ）３０はＩＮＴ０の命令コードに初期化されている（２６０参照）。
【００９６】
クロックｃ１、ｃ２の間はフェッチ要求信号１３４はディセーブル状態である（Ｌレベル）ので命令フェッチはない（２７０参照）。
【００９７】
またクロックｃ１、ｃ２の間はデータ要求信号９２はディセーブル状態である（Ｌレベル）のでデータアクセスもない（２７０参照）。
【００９８】
クロックｃ２の間にリセット信号がリセット状態（Ｌレベル）からリセット解除状態（Ｈレベル）に変化すると、図４の場合と同様にＣＰＵはクロックｃ３でＩＮＴ０命令で指定された飛び先である'0000'番地から飛び先（'0100'番地、図３（Ａ）参照）を読み出すと共に、スタックポインタの位置を２だけディクリメントする。このときフェッチレジスタ３０の値はＩＮＴ０命令のままである（２６０参照）。
【００９９】
次のクロックｃ４では、図４の場合と同様にフェッチバスの命令アドレスは飛び先である'0100'番地となり、フェッチバスの命令コード３２はＡＤＤ命令となる。そしてＣＰＵはスタックポインタ上に元のプログラムカウンタの値（'0100'番地）を待避させる。このときフェッチレジスタ３０の値はＩＮＴ０命令のままである。
【０１００】
そして次のクロックｃ５で、ＡＤＤ命令が実行され、'0102'番地のＳＵＢ命令がフェッチされる。このようにリセット解除後であるクロックｃ３以降は、フェッチ要求信号１３４及びデータ要求信号９２はイネーブル状態である（Ｈレベル）のでバスアクセスが可能となる（２８０参照）。
【０１０１】
図９は本実施の形態のメモリマップの一例である。
【０１０２】
所定のソフトウエア割り込み命令が実行されると、割り込み終了後の戻り先アドレスがスタックポインタに格納されるが、これはリセット時には不要なアクセスとなる。
【０１０３】
従って所定のソフトウエア割り込み命令によって発生するアクセスであって、リセット動作には不要なアクセスに使用するアドレスレジスタ（例えばスタックポインタ）を、ソフトウエア割り込み命令によって発生するアクセスアドレスがメモリ上の予約エリア３８０に割り振られるような値をリセット時の初期値にもつように構成してもよい。
【０１０４】
例えばリセット時にスタックポインタの位置がメモリ上の'0x0000'に割り当てられ、プログラムカウンタの値が'0x0000'であるとすると、所定のソフトウエア割り込み命令（例えばＩＮＴ０）が実行されると、スタックポインタの位置が２だけディクリメントされ、メモリ上の'0xfffe'（３９０参照）に、プログラムカウンタの値が書き込まれる。
【０１０５】
ここで所定のソフトウエア割り込み命令による発生するアクセスはスタックポインタへの書き込みであって、ソフトウエア割り込み命令によって発生するアクセスアドレスは'0xfffe'である。この'0xfffe'がメモリ上の予約エリア３８０に割り振られるような値がスタックポインタのリセット時の初期値になるように、スタックポインタを構成する。例えば所定のソフトウエア割り込み命令が実行されるときに、現在のスタックポインタの位置を２だけディクリメントさせる場合には、スタックポインタの初期値をｘとするとｘ−２が予約エリアに属するようなｘをリセット字の初期値に持ちようにスタックポインタを構成するとよい。
【０１０６】
このようにするとこで、ソフトウエア割り込み命令の動作でリセットを実現した場合にリセットには不要なアクセスが発生しても、メモリのユーザーエリア３７０には影響を与えないようにすることができる。従って不要なアクセスによって不足の不具合が発生することもない。
【０１０７】
２．マイクロコンピュータ
図１０は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【０１０８】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ兼バスＩ／Ｆ５７０、割り込みコントローラ５８０、シリアルインターフェース５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置５６０、プリスケーラ５７０及びそれらを接続する汎用バス６８０、専用バス７３０等、各種ピン６９０等を含む。
【０１０９】
ＣＰＵ５１０は、例えば図１〜図９で説明した構成を有する。
【０１１０】
３．電子機器
図１１に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【０１１１】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。
【０１１２】
音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【０１１３】
図１２（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【０１１４】
図１２（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【０１１５】
図１２（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【０１１６】
本実施の形態のマイクロコンピュータを図１２（Ａ）〜図１２（Ｃ）の電子機器に組みむことにより、低消費電力でコストパフォーマンスの高い電子機器を提供することができる。
【０１１７】
なお、本実施形態を利用できる電子機器としては、図１２（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【０１１８】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【０１１９】
【図１】本実施の形態のＣＰＵの機能ブロック図。
【図２】図２（Ａ）（Ｂ）は、ソフトウエア割り込み命令について説明するための図。
【図３】図３（Ａ）はメモリに記憶されている命令コード列であり、図３（Ｂ）はタイミングチャート図である。
【図４】リセット時の処理について説明するタイミングチャート図。
【図５】他の実施の形態のＣＰＵの構成について説明するための機能ブロック図。
【図６】フェッチ制御部の構成の一例である。
【図７】データバス制御部の構成の一例である。
【図８】他の実施の形態のリセット時の処理について説明するタイミングチャート図。
【図９】本実施の形態のメモリマップの一例である。
【図１０】本実施の形態のマイクロコンピュータのハードウエアブロック図。
【図１１】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【０１２０】
１０  ＣＰＵ、２０  フェッチ回路、３０  フェッチレジスタ、３２  命令コード、４０  命令コード実行部、５０  ソフトウエア割り込み処理部、６０  各種レジスタとその制御回路、６２  プログラムカウンタ、６３  命令アドレス、６４  スタックポインタ、８０  リセット信号、９０  データバス、９２  データ要求信号、１２０  データバス制御部、１２２  データ要求マスク回路、５１０  ＣＰＵ、５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  ＤＲＡＭコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  シリアルインターフェース、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０  クロック供給制御回路、８００  電子機器、８５０  ＬＣＤ
【図１】
2007207075.tif 000003
【図２】
2007207075.tif 000004
【図３】
2007207075.tif 000005
【図４】
2007207075.tif 000006
【図５】
2007207075.tif 000007
【図６】
2007207075.tif 000008
【図７】
2007207075.tif 000009
【図８】
2007207075.tif 000010
【図９】
2007207075.tif 000011
【図１０】
2007207075.tif 000012
【図１１】
2007207075.tif 000013
【図１２】
2007207075.tif 000014