(57)【要約】【課題】ＣＰＵが周期タスクと非周期タスクを並行して実行する場合でも、ＩＣＥにより発行されるブレーク命令の受付を適切に処理できるマイクロコンピュータを提供する。【解決手段】ＣＰＵ２に、周期タスクと非周期タスクとの実行を切り換える際に復帰先アドレスが格納されるタスク切換えレジスタ７と、ＩＣＥ１４によってブレーク命令が発行された場合に復帰先アドレスが格納されるブレークレジスタ１１とを備える。そして、同時発生検出部１３が、ＣＰＵ２による周期タスク，非周期タスクの切り換えとブレーク命令の発行とが同時に発生したことを検出すると、モニタプログラム１７のアドレス処理部１８は、タスク切換えレジスタ７に格納されているアドレスとブレークレジスタ１１に格納されているアドレスとを入れ換える。【選択図】図１
2010092271.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵが周期タスクと非周期タスクとを時分割並行的に実行可能であり、一定数のサイクル毎に非周期タスクから周期タスクに実行対象を切り換えることで周期タスクのプログラム周期が一定となるように構成されると共に、ＩＣＥ（In Circuit Emulator）との通信を行うＩＣＥインターフェイス部を備えるマイクロコンピュータであって、
前記ＣＰＵは、前記周期タスクと前記非周期タスクとの実行を切り換える際に、復帰先のアドレスが格納されるタスク切換えレジスタと、前記ＩＣＥからのブレーク要求を受け付けた場合に、復帰先のアドレスが格納されるブレークレジスタとを有し、
前記ＣＰＵによる前記非周期タスクから前記周期タスクへの切り換えと、ブレーク命令の受付とが同時に発生したことを検出する同時発生検出手段と、
この同時発生検出手段により前記同時発生が検出されると、前記タスク切換えレジスタに格納されているアドレスと前記ブレークレジスタに格納されているアドレスとを入れ換えるアドレス入換え手段とを備えることを特徴とするマイクロコンピュータ。
【請求項２】
前記アドレス入換え手段は、前記ＣＰＵが前記ブレーク命令を実行した場合のブレーク処理ルーチンにおいて実現されることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記アドレス入換え手段は、前記ＣＰＵに内蔵されるロジック回路によって実現されることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
前記ＣＰＵが前記非周期タスクを実行している期間に計時動作を行うタスクタイマと、
前記ＣＰＵが前記周期タスクと前記非周期タスクとの切り換えを行うタイミングとして、前記タスクタイマにより計時される所定値が格納されるタスク切換え開始レジスタを備えることを特徴とする請求項１乃至３の何れかに記載のマイクロコンピュータ。
【請求項５】
前記同時発生検出手段により前記同時発生が検出されると、前記ＣＰＵが前記ブレーク命令の処理ルーチンから復帰する前に、前記タスク切換え開始レジスタに格納されている所定値を修正して前記タスクタイマに書き戻すタスクタイマ修正手段を備えたことを特徴とする請求項４記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵが周期タスクと非周期タスクとを時分割並行的に実行可能であると共に、ＩＣＥインターフェイス部を備えるマイクロコンピュータに関する。
【背景技術】
【０００２】
出願人は、１つのＣＰＵにおいて、制御クロックに同期して２つのタスクを交互に切り換えて実行させ、一方のタスクでは割込み処理を受け付けることなく常に一定の周期で処理を行わせ、他方のタスクで割込み処理を受け付けて処理させるように構成したマイクロコンピュータを提案している（例えば、特許文献１参照）。
そして、上記マイクロコンピュータのタスク処理形態を発展させたものとして、常時一定周期で処理を行う周期タスクの実行をベースとして、その周期内において周期タスクが実行すべき命令の実行が完了した時点で非周期タスクを実行させるように構成したマイクロコンピュータも提案している（特許文献２参照）。
【特許文献１】特開平６−２５０８５７号公報
【特許文献２】特開２００８−７７２９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、特許文献２に開示されているマイクロコンピュータについて、ＩＣＥを用いて開発作業を行うことを想定すると、以下のような問題がある。図５は、非周期タスクであるＡタスクを実行している途中で、ブレーク命令が発行された場合のＣＰＵの動作を示すタイミングチャートである。（ａ）のタスクタイマは、ＣＰＵが周期タスクの実行周期を計時するタイマであり、（ｂ）のアドレスは、Ａタスクの実行アドレスＡ０，Ａ２，Ａ４，…を示している。
【０００４】
ここでは図示されないブレーク処理中において、ユーザがＩＣＥ上でアドレスＡ４にブレークポイントを設定したことにより、ＩＣＥインターフェイス部によりマイコン上のエミュレーションメモリのデータが、ブレーク命令に対応する特定データ「ＦＡ００」に書き換えられている。そのためＣＰＵは、アドレスＡ４のデータフェッチ時に、上記のデータ「ＦＡ００」をフェッチすることで（ｃ）ブレーク命令の発行を認識し（ＮＭＩ：マスク不能割込みとして取り扱われる）、（ａ）のタスクタイマはタイマ値「Ｃ」で計時を停止する。
【０００５】
そして、更なるブレークの受付を禁止するため（ｅ）ブレークマスクをアクティブ（ハイ）にすると共に、（ｆ）ブレーク中信号をアクティブにする。加えて、（ｈ）のブレークレジスタには処理が中断したＡタスクのアドレスＡ６が復帰先アドレスとして格納され、（ｉ）ブレーク命令の発行によりブレークが生じたことを示すフラグをセットする。それから、ＣＰＵは、アドレスＡ８の後にブレーク命令を処理するためのベクタに分岐して、ブレーク時処理（ブレーク処理ルーチン）を実行する。
【０００６】
図６は、ブレーク時処理からＡタスクに復帰する前に行う処理部分のみを示すフローチャートである。ＡタスクのアドレスＡ４においてブレーク命令が発行されたため、復帰時には、アドレスＡ４からＡタスクの処理を開始する必要がある。そこで、計時を停止しているタスクタイマのタイマ値に「１」を加算し（ステップＳ１１）、復帰先アドレス（戻りアドレス）をブレークレジスタより「２」を減じて設定する（ステップＳ１２）。すると、復帰時には、タイマ値「Ｄ」，アドレスＡ４から処理が再開される。
【０００７】
また、図７は、非周期タスクであるＡタスクから周期タスクであるＬタスクにタスク切り換えが行われる場合のタイミングチャートである。タスク切換え開始レジスタは「４」に設定されており、タスクタイマの値が「４」に達した時点で（ｄ）のタスク切換え期間信号がアクティブになると共に、（ｅ）のブレーク（ＮＭＩ）マスク信号をアクティブにしてタスク切換え期間中のブレークの受付を禁止する。この期間に、タスク切換えアドレスレジスタに格納されていたＬタスクの処理アドレスＬ０がＬタスクの復帰先アドレスとしてプログラムカウンタに格納されると共に、Ａタスクの処理アドレスＡ６が次回のＡタスクの復帰先アドレスとしてタスク切換えアドレスレジスタに格納される（ｇ）。その後、タスクタイマ値が「０」になるのと同時にタスクタイマの計時動作を停止し、Ｌタスクの実行を開始する。
【０００８】
図８は、図６におけるブレーク命令の受付と、図７における非周期タスクから周期タスクへのタスク切換えとが同時に発生した場合のタイミングチャートである。ＡタスクからＬタスクの切換え期間はブレークの受付が禁止されるため、タスク切換え期間の直前にブレーク命令が発行されると、そのブレーク命令の受付はタスク切換えが完了した後になる。すると、例えば本来はＡタスクをブレークの対象としていた場合でも、ＣＰＵの実行対象がＬタスクに切り換わってしまうため、ブレーク命令からの復帰時に戻り先アドレスが間違ってしまうという問題がある。
【０００９】
図５のケースでは、ブレーク命令発行の時点で、ブレークレジスタにはＡタスクの処理アドレスＡ６が格納され、その後「−２」されて戻りアドレスはＡ４となるが、図８のケースでは、タスク切換えによって実行対象アドレスがＬ０になった時点でブレーク命令が受付けられて処理されるので、ブレークレジスタにはアドレスＬ０が格納され（（ｈ）参照）、戻りアドレスは（Ｌ０−２）になってしまう。
【００１０】
本発明は上記事情に鑑みてなされたものであり、その目的は、ＣＰＵが周期タスクと非周期タスクを並行して実行する場合でも、ＩＣＥにより発行されるブレーク命令の受付を適切に処理できるマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【００１１】
請求項１記載のマイクロコンピュータによれば、ＣＰＵに、周期タスクと非周期タスクとの実行を切り換える際に、復帰先のアドレスが格納されるタスク切換えレジスタと、ブレーク命令が発行された場合に、復帰先のアドレスが格納されるブレークレジスタとを備える。そして、同時発生検出手段が、ＣＰＵによる周期タスク，非周期タスクの切り換えとブレーク命令の受付とが同時に発生したことを検出すると、アドレス入換え手段は、タスク切換えレジスタに格納されているアドレスとブレークレジスタに格納されているアドレスとを入れ換える。
【００１２】
このように構成すれば、ブレーク命令の実行対象であったタスクが、タスク切換えにより異なるタスクに切り換えられたとしても、タスク切換えレジスタに格納されているアドレスがブレークレジスタに格納される。したがって、ブレーク命令に対応する処理を行った後の復帰先アドレスが、ブレーク命令が発行された時点に実行中であったタスク側のアドレスとなるように設定できる。
【００１３】
請求項２記載のマイクロコンピュータによれば、アドレス入換え手段は、ＣＰＵがブレーク命令を実行した場合のブレーク処理ルーチンにおいて実現されるので、ブレーク処理ルーチンのプログラムを若干追加修正するだけで、アドレス入換えを実行できる。
【００１４】
請求項３記載のマイクロコンピュータによれば、アドレス入換え手段は、ＣＰＵに内蔵されるロジック回路によって実現されるので、ソフトウエアを変更することなくアドレス入換えを実行できる。
【００１５】
請求項４記載のマイクロコンピュータによれば、タスクタイマは、ＣＰＵが非周期タスクを実行している期間に計時動作を行い、タスク切換え開始レジスタには、ＣＰＵがタスク切り換えを開始するタイミングを示すタスクタイマ値の所定値が格納される。したがって、ＣＰＵは、タスクタイマの値がタスク切換え開始レジスタに設定された所定値に一致した場合にタスク切換えを開始することで、周期タスクの周期性を維持できる。また周期タスクではタスクタイマ値は「０」で停止し、計時動作は行わない。
【００１６】
請求項５記載のマイクロコンピュータによれば、タスクタイマ修正手段は、同時発生検出手段によりタスク切換えとブレーク命令発行との同時発生が検出されると、ＣＰＵがブレーク命令の処理ルーチンから復帰する前に、タスク切換え開始レジスタに格納されている所定値を修正してタスクタイマに書き戻す。
すなわち、ブレーク命令の受付と非周期タスクから周期タスクへのタスクの切替えとが同時に発生した場合、タスク切替え後にＣＰＵがブレークを受付けるため、ブレーク処理ルーチンではタスクタイマ値が「０」となってしまう。そこで、ＣＰＵがブレーク処理ルーチンから非周期タスクに復帰する前に、タスク切換え開始レジスタに格納されている所定値を修正してタスクタイマに書き戻せば、周期タスクの周期性を維持できる。
【発明を実施するための最良の形態】
【００１７】
（第１実施例）
以下、本発明の第１実施例について図１乃至図３を参照して説明する。本実施例のマイクロコンピュータは、周期タスクと非周タスクとを実行することで所望の処理を行う。具体的には、周期タスクの実行開始を周期的に行い、ある周期タスクとその次の周期タスクとの間に非周期タスクを実行する。周期タスクは、例えばタイマのカウントや通信処理といった正確な時間管理が必要な処理を行うもので、非周期タスクは、例えば周期的な実行を必要としないアプリケーションを実行するもの（割込み処理など）である。
【００１８】
図１は、マイクロコンピュータ（マイコン）１の内部構成を、本発明の要旨に係る部分について示す機能ブロック図である。尚、本発明のマイコン１が周期タスクと非周期タスクとを切り換えながら時分割並行的に実行する制御については、基本的に特許文献２に開示されているマイコンと同様である。マイコン１は、ＣＰＵ２とＩＣＥインターフェイス部３とを備えており、ＣＰＵ２は、演算部４とタスク切換・ブレーク制御部５とを備えている。尚、演算部４は特許文献２の実行ユニット３２２に対応し、タスク切換・ブレーク制御部５は、同制御ユニット３１０とデータパス３２０の機能に対応している。
【００１９】
タスク切換・ブレーク制御部５は、タスクタイマ６，タスク切換えレジスタ７，タスク切換え開始レジスタ８と、これらに基づきタスク切換えを制御するタスク切換え制御部９（図中のタスク切換え制御）と、ＩＣＥインターフェイス部３からのブレーク要求に応じてブレーク制御を行うブレーク制御部１０（同ブレーク制御），ブレークレジスタ１１，統括制御部１２（同制御部），同時発生検出部（同時発生検出手段）１３を備えている。タスクタイマ６は、ＣＰＵ２が非周期タスクを実行している期間に計時動作を行うタイマであり、そのタイマ値は、タスク切換え制御部９に出力される。タスク切換えレジスタ７は、上述したように、タスク切換えが実行される場合に、実行中であったタスクの処理に復帰するためのアドレスが制御部１２によって格納される。
【００２０】
タスク切換え開始レジスタ８は、ＣＰＵ２が、実行対象を非周期タスクから周期タスクに切り換えるための開始タイミングを示すデータが格納され、そのデータは、タスク切換え制御部９に出力される。ブレーク制御部（同時発生検出手段）１０は、ブレーク要求が発生した場合に統括制御部１２との間でブレーク制御に関する処理を行い、ブレークレジスタ１１には、ブレーク処理から復帰する場合の戻りアドレスが統括制御部１２によって格納される。
【００２１】
タスク切換え制御部（同時発生検出手段）９は、実行対象タスクが非周期タスクから周期タスクに切り換わる場合にタスク切換え信号を同時発生検出部１３に出力し、ブレーク制御部１０は、ＩＣＥ１４によりブレーク命令が発行されると、同時発生検出部１３に対してブレーク命令発生フラグをセットする。そして、同時発生検出部１３は、タスク切換え発生とブレーク命令発生フラグのセットとが同時になると、同時発生検出信号をＩＣＥインターフェイス部３に出力する。
【００２２】
ＩＣＥインターフェイス部３は、マイコン１を用いた開発作業を行う場合に使用するＩＣＥ１４と通信処理を行うと共に、ＣＰＵ２とはマイコン１内部のアドレスバス１５及びデータバス１６を介して接続されている。また、ＩＣＥインターフェイス部３には、ＣＰＵ２によって実行されるモニタプログラム１７が格納されており、そのモニタプログラム１７において、アドレス切換え処理（アドレス入換え手段）１８及びブレークレジスタ修正処理（タスクタイマ修正手段）１９が実行される。そして、同時発生検出部１３が同時発生検出信号を出力すると、ＩＣＥインターフェイス部３の内部に、タスク切換え中ブレーク同時発生フラグ２０がセットされる。
【００２３】
また、ＩＣＥインターフェイス部３は、ユーザがＩＣＥ１４においてブレークポイントを設定すると、バス１５及び１６に接続されている図示しないエミュレーションメモリ上の上記ブレークポイントに対応するアドレスのデータを、ブレーク命令である特定データ「ＦＡ００」に書き換える。また、ユーザがＩＣＥ１４のブレーク発行スイッチを操作した場合には、ブレーク要求信号をブレーク制御部１０に対して直接出力する。
【００２４】
次に、本実施例の作用について図２及び図３も参照して説明する。図２は図８相当図であり、本発明のマイコン１において、タスク切換えとブレーク命令の発行とが同時に発生した場合の処理を示すタイミングチャートである。ユーザがＩＣＥ２１においてアドレスＡ４にブレークポイントを設定すると、ＩＣＥインターフェイス部３は、エミュレーションメモリ上の対象アドレスのデータを特定データ「ＦＡ００」に書き換える。
【００２５】
その後、ユーザプログラムの実行が開始されるとＣＰＵ２が非周期タスク（Ａタスク）を実行している場合に、タスク切換えタイミングの直前のアドレスＡ４でＣＰＵ２がその特定データ（ブレーク命令）をフェッチするが（図２（ｃ））、その次のサイクルではタスク切換え開始レジスタ設定値とタスクタイマ値が一致するためタスク切換え処理が開始され、タスク切換え制御部５がタスク切換え区間を示す信号をハイレベルにする（図２（ｄ））。
【００２６】
それと同時に、ブレーク制御部１０は、タスク切り替え中のブレークの受付を禁止するためにブレークマスク信号をアクティブにする（図２（ｅ））。そのためブレーク制御部１０は、ブレーク命令発生フラグをセットする（図２（ｉ））が、ブレーク命令の処理はペンディング状態となる。それに伴い、同時発生検出部１３が、同時発生検出信号をＩＣＥインターフェイス部３に出力し、タスク切換中ブレーク発生フラグ２０がセットされる（図２（ｊ））。
【００２７】
この場合、タスク切換えレジスタ７には、図７について前述したように、非周期タスクのアドレスＡ６が次回のタスク切換え時の復帰先として格納される（図２（ｇ））。そして、ＣＰＵ２の実行対象は、非周期タスクから周期タスク（Ｌタスク）に切り換わり、実行アドレスは、それ以前のタスク切り換え時にタスク切換えレジスタ７に格納されていた周期タスクの先頭アドレスＬ０に切り換わる（図２（ｂ））。
【００２８】
アドレス切り換えが行われた後、アドレスＬ０でブレーク命令が受け付けられ、ブレークレジスタ１１にはアドレスＬ０が格納され（図２（ｈ））、ブレークマスク信号が再び出力される（図２（ｅ））。そして、アドレスＬ２の次でブレーク命令に対応したベクタが発行され、モニタプログラム１７（ブレーク命令処理ルーチン）による処理が開始される。
【００２９】
図３は、ＣＰＵ２がモニタプログラム１７の処理から復帰する場合の復帰前処理を示すフローチャートである。先ず、ブレーク要因がブレーク命令によるものであったかを確認し（ステップＳ１）、ブレーク命令による場合は（ＹＥＳ）、タスク切り換え時にブレークが発生したか否かを、タスク切換中ブレーク発生フラグ２０がセットされているか否かによって判断する（ステップＳ２）。
ここで、上記フラグ２０がセットされていない場合は（ＮＯ）、タスクタイマ６のタイマ値が「０」ではなく、タイマ動作中にブレークが発生していた場合は（ステップＳ５：ＹＥＳ）、続くステップＳ６，Ｓ７においてステップＳ１１，Ｓ１２と同様の処理を行う。また、タイマ値が「０」の場合は（ステップＳ５：ＮＯ）ステップＳ７だけを実行する。
【００３０】
一方、ステップＳ２において上記フラグ２０がセットされている場合は（ＹＥＳ）、ステップＳ３において、モニタプログラム１７からの復帰先をブレーク命令が発生したアドレスに設定するための処理を行う。先ず、（１）アドレス切換え処理１８により、タスク切換えレジスタ７の内容とブレークレジスタ１１の内容とを入れ換えて（図２（ｇ），（ｈ）参照）、タスク切換えレジスタ７にアドレスＬ０を、ブレークレジスタ１１にアドレスＡ６を格納する。
【００３１】
次に、（２）ステップＳ７と同様に、ブレークレジスタ修正処理１９によりブレークレジスタ１１に格納されたアドレス値を「２」減算し（図２（ｉ）参照）、アドレス値をＡ４とする。それから、（３）タスク切換え開始レジスタの値に「１」を加えたものをタスクタイマ６に設定する。この場合、タスク切換え開始レジスタ８の値は「４」であるから、「１」を加えた「５」がタスクタイマ６に設定される（図２（ａ）参照）。
以上のステップＳ３の処理が終了すると、タスク切換中ブレーク発生フラグ２０をクリアして（図２（ｊ）参照）通常処理に復帰する。この場合、図２（ｂ）に示すように、実行対象アドレスは非周期タスクのＡ４となり、再び周期タスクへの切換え（アドレスＬ０）が実行されることになる。
【００３２】
以上のように本実施例によれば、ＣＰＵ２に、周期タスクと非周期タスクとの実行を切り換える際に復帰先アドレスが格納されるタスク切換えレジスタ７と、ＩＣＥ１４によってブレーク命令が発行された場合に復帰先アドレスが格納されるブレークレジスタ１１とを備える。そして、同時発生検出部１３が、ＣＰＵ２による周期タスク，非周期タスクの切り換えとブレーク命令の発行とが同時に発生したことを検出すると、モニタプログラム１７のアドレス切換え処理１８は、タスク切換えレジスタ７に格納されているアドレスとブレークレジスタ１１に格納されているアドレスとを入れ換えるようにした。
【００３３】
したがって、ブレーク命令に対応する処理を行った後の戻りアドレスが、ブレーク命令が発行された時点に実行中であったタスク側のアドレスとなるように設定できる。そして、上記のアドレス切換え処理１８を、ＣＰＵ２がブレーク命令を実行した場合のモニタプログラム１７において実行するので、モニタプログラム１７を若干追加修正するだけで、アドレス入換えを実行できる。
また、タスクタイマ６は、ＣＰＵ２が非周期タスクを実行している期間に計時動作を行い、タスク切換え開始レジスタ８には、ＣＰＵ２がタスク切り換えを行うタイミングを示すタスクタイマ値の所定値が格納されるので、周期タスクの周期性を維持できる。
【００３４】
そして、ブレークレジスタ修正処理１９は、同時発生検出部１３によりタスク切換えとブレーク命令発行との同時発生が検出されると、ＣＰＵ２がモニタプログラム１７から復帰する前に、タスク切換え開始レジスタ８に格納されている所定値を修正してタスクタイマ６に書き戻す。すなわち、アドレス切換え処理１８がアドレス入換え処理に時間を要した分だけ、タスクタイマ６のタイマ値が進んでしまうので、モニタプログラム１７から復帰する前に、タスク切換え開始レジスタ８に格納されている所定値を修正してタスクタイマ６に書き戻せば、周期タスクの周期性を維持できる。
【００３５】
（第２実施例）
図４は、本発明の第２実施例であり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施例のマイコン２１は、ＣＰＵ２２の内部に、第１実施例のアドレス切換え処理１８に対応する機能をハードウエアロジック回路で実現したアドレス切換え部（アドレス入換え手段）２３を備えている。このアドレス切換え部２３はデータバッファを内蔵しており、同時発生検出部１３からの同時発生検出信号を受けて、タスク切換えレジスタ７，ブレークレジスタ１１に直接アクセスし、両者にそれぞれ格納されているアドレス値を入れ換える処理を実行する。
【００３６】
そして、ＩＣＥインターフェイス部２４のモニタプログラム２５は、ブレークレジスタ修正処理１９だけを実行するようになっている。
以上のように構成される第２実施例によれば、アドレス切換え部２３を、ＣＰＵ２２に内蔵されるロジック回路によって実現するので、ソフトウエアを変更することなくアドレス入換えを実行できる。
【００３７】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
第２実施例において、ブレークレジスタ修正処理１９に対応する機能についても、ＣＰＵ２２に内蔵されるロジック回路で実現しても良い。
第１実施例および第２実施例において、ユーザがＩＣＥ１４においてブレークポイントを設定した場合、エミュレーションメモリ上の上記ブレークポイントに対応するアドレスのデータを特定データ「ＦＡ００」に書換えずに、アドレス比較器によってＣＰＵ２２のフェッチアドレスと上記ブレークポイントに対応するアドレスを比較し、両者の一致を検出した場合にデータバスの内容を特定データ「ＦＡ００」にすり替える方式で実現しても良い。
特定データは「ＦＡ００」以外であっても良い。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１実施例であり、マイクロコンピュータの構成を示す機能ブロック図
【図２】タスク切換えとブレーク命令の発行とが同時に発生した場合の処理を示すタイミングチャート
【図３】モニタプログラムから復帰する場合の復帰前処理を示すフローチャート
【図４】本発明の第２実施例を示す図１相当図
【図５】従来技術を示す、ブレーク命令が発行された場合のタイミングチャート
【図６】図３相当図
【図７】タスク切り換えが行われる場合のタイミングチャート
【図８】図２相当図
【符号の説明】
【００３９】
図面中、１はマイクロコンピュータ、２はＣＰＵ、３はＩＣＥインターフェイス部、６はタスクタイマ、７はタスク切換えレジスタ、８はタスク切換え開始レジスタ、９はタスク切換え制御部（同時発生検出手段）、１０はブレーク制御部（同時発生検出手段）、１３は同時発生検出部（同時発生検出手段）、１４はＩＣＥ、１８はアドレス切換え処理（アドレス入換え手段）、１９はブレークレジスタ修正処理（タスクタイマ修正手段）、２１はマイクロコンピュータ、２２はＣＰＵ、２３はアドレス切換え部（アドレス入換え手段）、２４はＩＣＥインターフェイス部を示す。
【図１】
2010092271.tif 000003
【図２】
2010092271.tif 000004
【図３】
2010092271.tif 000005
【図４】
2010092271.tif 000006
【図５】
2010092271.tif 000007
【図６】
2010092271.tif 000008
【図７】
2010092271.tif 000009
【図８】
2010092271.tif 000010