(57)【要約】【課題】オーバーヘッドにかかる時間を短縮して待機状態からの復帰を俊敏に行うことができるとともに、消費電力を低減させることができる非同期マイクロプロセッサを提供する。【解決手段】ウエイト命令を備え、該ウエイト命令を実行すると、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行し、ウエイトステート離脱要求信号を受信すると、ウエイトステート状態から離脱し、プログラムカウンタが指し示す命令から引き続き実行を行うことを特徴とする非同期マイクロプロセッサ。【選択図】図１
2008299740.tif 000002
【特許請求の範囲】
【請求項１】
ウエイト命令を備え、該ウエイト命令を実行すると、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行し、ウエイトステート離脱要求信号を受信すると、ウエイトステート状態から離脱し、プログラムカウンタが指し示す命令から引き続き実行を行う
ことを特徴とする非同期マイクロプロセッサ。
【請求項２】
前記ウエイト命令を実行していることを示すウエイトステート信号と、前記ウエイトステート離脱要求信号とを監視し、前記ウエイトステート信号を検知している際に、前記ウエイトステート離脱要求信号を検知すると、前記ウエイトステート信号を解除した後、前記ウエイトステート離脱要求信号を解除する４相ハンドシェーキングによって、ウエイトステートからの離脱と確認を行う
ことを特徴とする請求項１記載の非同期マイクロプロセッサ。
【請求項３】
プログラムカウンタとウエイトステート移行アドレスレジスタを備え、該プログラムカウンタが指し示すアドレスからフェッチした命令を順次実行する非同期マイクロプロセッサにおいて、
該プログラムカウンタが該ウエイトステート移行アドレスレジスタに記憶されたアドレスと一致するか否かを判定し、一致する場合に、命令実行中あるいは命令実行後に、プログラムカウンタの更新の前後に関わらず、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行し、ウエイトステート離脱要求信号を受けると、ウエイトステート状態から離脱し、プログラムカウンタの更新後に、プログラムカウンタの指し示す命令を継続して実行する
ことを特徴とする非同期マイクロプロセッサ。
【請求項４】
ウエイト命令を実行し前記ウエイトステート状態に移行していることを示すウエイトステート信号と、前記ウエイトステート離脱要求信号とを監視し、前記ウエイトステート信号を検知している際に、前記ウエイトステート離脱要求信号を検知すると、前記ウエイトステート信号を解除した後、前記ウエイトステート離脱要求信号を解除する４相ハンドシェーキングによって、ウエイトステートからの離脱と確認を行う
ことを特徴とする請求項３記載の非同期マイクロプロセッサ。
【請求項５】
前記ウエイトステート移行アドレスレジスタには複数のアドレスが記憶される
ことを特徴とする請求項３または請求項４記載の非同期マイクロプロセッサ。
【請求項６】
優先する処理を実行させる要求である割り込み要求を受信した場合は、当該割り込み要求を受け付けせず、引き続きウエイトステート状態を継続する
ことを特徴とする請求項１から請求項５のいずれかに記載の非同期マイクロプロセッサ。
【請求項７】
請求項１から請求項５のうちいずれかに記載の非同期マイクロプロセッサを備えたことを特徴とする電子情報装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期マイクロプロセッサに関し、特に、非同期マイクロプロセッサの処理の停止と再開の制御を行う非同期マイクロプロセッサ、電子情報装置に関する。
【背景技術】
【０００２】
従来から、非同期マイクロプロセッサが利用されている。この非同期マイクロプロセッサの長所のうち、待機時には一切のＡＣ（ダイナミック）電力を消費しない、待機状態からの復帰が俊敏であるという点を活かし、Ｓｌｅｅｐ命令（以下、スリープ命令）やＨａｌｔ命令（以下、ホールト命令）を実行することで、待機状態に遷移させ、外部からの要求やタイマーによる割り込み信号を受けて割り込み処理プログラムを実行させる方式、すなわち、割り込み駆動方式あるいはイベントドリブン方式のプログラミング・スキームを採用することが考えられる。
このような、スリープ命令やホールト命令を非同期マイクロプロセッサに利用する技術については、例えば、下記の非特許文献１に記載されている。
【非特許文献１】Ｄｅｓｉｇｎ  Ｗａｖｅ  Ｍａｇａｚｉｎｅ，２００５年７月，ＣＱ出版，ｐｐ７０−８４，唐木信雄
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の割り込み駆動方式においては、以下に示す問題点がある。
（１）同期マイクロプロセッサに比べれば、非同期マイクロプロセッサは、待機状態からの離脱すなわち割り込み処理は俊敏に処理されるが、コンテキストのセーブとリストアのオーバーヘッド時間が発生するので、このオーバーヘッド時間を短縮することが好ましい。特に、マイクロプロセッサ間のセマフォーを用いた通信や、４相ハンドシェーキングによる通信では、このオーバーヘッド時間の影響は大きくなる。
【０００４】
（２）割り込み処理に関わる効率や安全性（システムの強靱性）の観点から割り込み内容に優先順位すなわち、割込レベルを付与し、割り込みを受け付けて処理しなければならない高い優先順位を持つ割り込みレベルを優先的に受け付け、実行する方式もあるが、この場合、混乱を避けるために割り込み処理プログラムの中では同じ優先度を持つ割り込みレベルを受け付けないことが多い。そうすると、割り込み処理プログラムの中で低い割り込みレベルが割り当てられたプロセスと他のプロセスとがランデブーを行う必要がある場合は、プログラムによる判定ループの命令を実行し、同期をとる必要があり、この判定ループを繰り返して実行するための電力の消費が発生してしまう。
【０００５】
本発明は、このような事情に鑑みてなされたもので、その目的は、オーバーヘッドにかかる時間を短縮して待機状態からの復帰を俊敏に行うことができるとともに、消費電力を低減させることができる非同期マイクロプロセッサ、電子情報装置を提供することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、ウエイト命令を備え、該ウエイト命令を実行すると、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行し、ウエイトステート離脱要求信号を受信すると、ウエイトステート状態から離脱し、プログラムカウンタが指し示す命令から引き続き実行を行うことを特徴とする。
【０００７】
また、本発明は、上述の非同期マイクロプロセッサにおいて、前記ウエイト命令を実行していることを示すウエイトステート信号と、前記ウエイトステート離脱要求信号とを監視し、前記ウエイトステート信号を検知している際に、前記ウエイトステート離脱要求信号を検知すると、前記ウエイトステート信号を解除した後、前記ウエイトステート離脱要求信号を解除する４相ハンドシェーキングによって、ウエイトステートからの離脱と確認を行うことを特徴とする。
【０００８】
また、本発明は、プログラムカウンタとウエイトステート移行アドレスレジスタを備え、該プログラムカウンタが指し示すアドレスからフェッチした命令を順次実行する非同期マイクロプロセッサにおいて、該プログラムカウンタが該ウエイトステート移行アドレスレジスタに記憶されたアドレスと一致するか否かを判定し、一致する場合に、命令実行中あるいは命令実行後に、プログラムカウンタの更新の前後に関わらず、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行し、ウエイトステート離脱要求信号を受けると、ウエイトステート状態から離脱し、プログラムカウンタの更新後に、プログラムカウンタの指し示す命令を継続して実行することを特徴とする。
【０００９】
また、本発明は、上述の非同期マイクロプロセッサにおいて、ウエイト命令を実行し前記ウエイトステート状態に移行していることを示すウエイトステート信号と、前記ウエイトステート離脱要求信号とを監視し、前記ウエイトステート信号を検知している際に、前記ウエイトステート離脱要求信号を検知すると、前記ウエイトステート信号を解除した後、前記ウエイトステート離脱要求信号を解除する４相ハンドシェーキングによって、ウエイトステートからの離脱と確認を行うことを特徴とする。
【００１０】
また、本発明は、上述の非同期マイクロプロセッサにおいて、前記ウエイトステート移行アドレスレジスタには複数のアドレスが記憶されることを特徴とする。
【００１１】
また、本発明は、上述の非同期マイクロプロセッサにおいて、優先する処理を実行させる要求である割り込み要求を受信した場合は、当該割り込み要求を受け付けせず、引き続きウエイトステート状態を継続することを特徴とする。
【００１２】
また、本発明は、上述の非同期マイクロプロセッサを備えたことを特徴とする電子情報装置である。
【００１３】
以上説明したように、この発明によれば、ウエイト命令を備え、このウエイト命令を実行した場合に、ウエイト命令の実行状態で停止させ、割り込みによって他の処理を行うことなく、ウエイトステート離脱要求信号を受信した場合に、停止前の処理を引き続き行うことが可能となる。
また、割り込み処理が終了した後に、復帰する番地を記憶する必要がないので、番地を記憶する処理や呼び出す処理にかかるオーバーヘッドを無くし、割り込みベクターを参照する必要もなくなる。
また、命令を実行するにあたり、ポーリングのループを行う必要がなくなり、このため、ポーリングのためのＡＣ電力を消費することがなくなり、消費電力を抑えることができ、また、コンテキストのセーブを行うことなく、速やかにウエイトステート状態から離脱することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態による非同期マイクロプロセッサ装置について図面を参照して説明する。図１は、この発明の一実施形態による非同期マイクロプロセッサを適用した制御装置の構成を示す概略ブロック図である。
制御装置１は、ウエイト命令を実行する機能を備え、該ウエイト命令を実行すると、非同期プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行する機能と、ウエイトステート離脱要求信号を制御装置１の外部から受信すると、ウエイトステート状態から離脱し、プログラムカウンタが指し示す命令から引き続き実行を行う機能を有する。この制御装置１は、例えば、非同期マイクロプロセッサが適用される。
【００１５】
この制御装置１において、プログラムカウンタ１０は、制御部２０が次に実行する命令のアドレスが記憶される。
制御部２０は、プログラムカウンタ１０に記憶されたアドレスに従って、所定のメモリ、例えば、制御装置１の外部に接続されるメモリに記憶されたプログラムを読み出し、その命令を実行する。この制御部２０が実行する命令には種々あるが、例えば、ウエイト命令（WAIT命令）等がある。このウエイト命令は、実行をすると、ウエイトステート離脱要求信号を受信するまで、制御装置１（非同期マイクロプロセッサ）内の処理を停止する状態に移行する命令である。
【００１６】
ここで、従来におけるホールト命令、スリープ命令と本願発明におけるウエイト命令との相違について説明する。ホールト命令は、その命令を実行すると、外部から割り込み要求信号を受信するまで処理を停止し、割り込み要求を受信すると、受信した割り込み要求に応じて、割り込み処理を実行し、その割り込み処理が終了すると、割り込みが発生する前の処理を引き続き行うものである。このホールト命令は、例えば、同期マイクロプロセッサに適用される場合、あらかじめ決められた時間の経過後に再起動する必要がある場合は、例えばクロックの出力に基づいて予め決められた時間が経過するまで停止させることができる。同期マイクロプロセッサが停止中も動作するクロック信号に基づいて、一定時間が経過した時に割込み信号を発生する外部回路からの割込み信号を受けて割込み処理を実行し、割込み処理終了後に、ホールト命令の次の命令からプログラムを再開することが可能である。
【００１７】
スリープ命令は、その命令を実行すると、外部から割り込み要求信号を受信するまで処理を停止し、割り込み要求を受信すると、受信した割り込み要求に応じて、割り込みが発生した処理を実行し、その割り込みが発生した処理が終了すると、割り込みが発生する前の処理を引き続き行うものである。このスリープ命令は、例えば、同期マイクロプロセッサに適用される場合、クロックの動作を停止させる信号を出力して、クロック信号発生器の電力消費を抑えることができる。外部から割り込み信号が入力されると、割込み処理を実行し、割込み処理終了後に、スリープ命令の次の命令からプログラムを再開することが可能である。
【００１８】
このように、スリープ命令、ホールト命令は、実行すると停止状態となり、他の割り込み要求が入力された場合に、処理を再開し、その割り込み要求を実行するものでああるのに対し、ウエイト命令は、割り込み要求が入力されても、その割り込み要求指示には応答せず、ウエイトステート状態を解除するウエイトステート離脱要求信号が入力されたか否かを監視し、このウエイトステート離脱要求信号が入力されたことが検出された場合に、ウエイト状態から離脱して実行状態に戻すことによって処理を再開する点において相違する。
【００１９】
図１に戻り、ウエイトステート離脱回路３０は、制御部２０が命令を実行することにより移行した状態遷移のステートを参照し、ウエイト命令を実行している場合であって、かつ、制御装置１の外部からのウエイトステート離脱要求信号を受信した場合に、制御部２０にウエイトステート解除指示信号を出力する。
このウエイトステート離脱要求信号は、ウエイト命令を実行することによってウエイトステート状態に遷移したステートを処理の実行状態に戻す指示をする信号である。
【００２０】
次に、図１の構成における制御装置１の動作について、図２のフローチャートを用いて説明する。
まず、制御部２０は、プログラムカウンタ１０を参照し、そのプログラムカウンタが示す命令をメモリからフェッチし（ステップＳ１０）、フェッチした命令をデコードし（ステップＳ１１）、実行する（ステップＳ１２）。ここで、実行した命令がウエイト命令であった場合には、この時点でウエイトステート離脱要求信号がウエイトステート離脱回路３０に入力され、ウエイトステート離脱回路３０からウエイトステート解除指示信号が入力されるまで、処理を停止する。ウエイトステート離脱要求信号がウエイトステート離脱回路３０に入力され、ウエイトステート離脱回路３０からウエイトステート解除指示信号が入力されると、制御部２０は、ライトバックをし（ステップＳ１３）、プログラムカウンタの更新を行う（ステップＳ１４）。
【００２１】
次に、制御部２０は、割り込み要求が入力されているか否かを判定する（ステップＳ１５）。ここでは、ステップＳ１２において実行した命令がスリープ命令またはホールト命令である場合には、割り込み要求が入力されるまで待機し、割り込み要求が入力されると（ステップＳ１５−ＹＥＳ）、割り込み要求を実行する前のアドレス（プログラムカウンタの値）をスタックに書き込んでセーブをした後（ステップＳ１６）、割り込みベクターを参照してプログラムカウンタを更新し（ステップＳ１７）、ステップＳ１０に移行する。ここでは、更新した後のプログラムカウンタに従って命令がフェッチされる。
一方、ステップＳ１５の割り込み要求の判定において、ステップＳ１２において実行した命令がウエイト命令であった場合、またはスリープ命令、ホールト命令ではない場合であって、割り込み要求があった場合には（ステップＳ１５−ＹＥＳ）、その割り込み要求を実行すべく、ステップＳ１６に移行する。他方、ステップＳ１５の割り込み要求の判定において、ステップＳ１２において実行した命令がウエイト命令であった場合、またはスリープ命令、ホールト命令ではない場合であって、割り込み要求がない場合には（ステップＳ１５−ＮＯ）、ステップＳ１０に移行し、次の命令をフェッチする。
【００２２】
このように、フェッチした命令を実行する際、ウエイト命令である場合に、ウエイトステート離脱要求信号が入力されるまで処理を停止し、ウエイトステート離脱要求信号が入力された場合にウエイトステート状態から離脱するようにした。これにより、割り込みによって他の処理を行うことなく、ウエイトステート離脱要求信号を受信した場合に、ウエイトステートから離脱して実行状態に戻すことによって処理を引き続き行うことが可能となる。
【００２３】
なお、以上説明した実施形態において、ウエイトステート離脱回路３０は、ウエイトステート離脱要求信号の他に、ＮＭＩ（Non-Maskable Interrupt）信号を受信した場合に、ウエイトステート離脱要求信号を受信した際と同様の処理を行うようにすることも可能である。
【００２４】
次に、第２の実施形態について説明する。ここでは、図１におけるウエイトステート離脱回路３０についてさらに詳細に説明する。図３は、ウエイトステート離脱回路３０の構成の一例を示す構成図である。
この図において、ウエイトステート離脱回路３０は、ＯＲ回路３１とＣエレメント回路３２とを有する。Ｃエレメント回路３２の一方の入力端子には、ウエイト命令を実行した際に制御部２０がウエイトステート状態に遷移したことを示すウエイトステート信号が入力され、他方の端子には、ウエイトステート離脱要求信号が入力される。Ｃエレメント回路３２の出力端子は、ＯＲ回路３１の一方の入力端子に接続される。
ＯＲ回路３１は、一方の入力端子にＣエレメント回路３２の出力が接続され、他方の入力端子にウエイトステート離脱要求信号が入力され、ＯＲの演算結果としてウエイトステート解除指示信号を出力する。この出力は、例えば、制御部２０に接続され、ウエイトステート解除信号が制御部２０に入力されたことを契機にウエイトステート状態が解除される。
【００２５】
次に、上述のＣエレメント回路３２についてさらに説明する。図４は、Ｃエレメント回路３２の一例を示す構成図である。Ｃエレメント回路３２の一方の入力端子にはウエイトステート信号がＩｎ１として入力され、他方の入力端子にウエイトステート離脱要求信号がＩｎ２として入力され、その演算結果が出力端子から出力される。このＣエレメント回路３２の真理値表を図５に示す。この図に示すように、ウエイトステート信号とウエイトステート離脱要求信号がともに‘０’の時は出力が‘０’すなわち、ウエイトステート状態から離脱した状態となり、ウエイトステート信号とウエイトステート離脱要求信号がともに‘１’の時は出力が‘１’となり、ウエイトステート状態となる。一方、ウエイトステート信号とウエイトステート離脱要求信号とのうちいずれか一方が‘０’の時は、その出力は、以前の値を維持する。すなわち、入力信号の状態が‘０’から‘１’または‘１’から‘０’に変化する前の出力の状態が‘０’であった時は‘０’、‘１’であった時は‘１’が出力される。
【００２６】
図６は、このＣエレメント回路３２の他の構成について説明するための図面である。この図に示すように、
第１の回路３３は、その入力端子がＶＣＣ等の電源に接続され、出力端子が第２の回路３４の入力端子に接続されている。そして、第１の回路３１のゲート端子には、反転素子を介してウエイトステート信号が入力される。
第２の回路３４は、その入力端子が第１の回路の出力端子に接続され、出力端子が第３の回路３５の入力端子に接続されている。そして、第２の回路３４のゲート端子には、反転素子を介してウエイトステート離脱要求信号が入力される。
第３の回路３５は、その入力端子が第２の回路の出力端子に接続され、出力端子が第４の回路の入力端子に接続されている。そして、第３の回路３５のゲート端子には、ウエイトステート離脱要求信号が入力される。
第４の回路３６は、その入力端子が第３の回路の出力端子に接続され、出力端子が外部のグランド端子に接続される。そして、第４の回路３６のゲート端子には、ウエイトステート信号が入力される。
【００２７】
ＮＯＴ回路３７は、入力端子が第２の回路の出力端子と第３の回路の入力端子との間に接続され、出力端子が外部に出力として取り出される。ＮＯＴ回路３８は、入力端子がＮＯＴ回路３７の出力端子に接続され、出力端子がＮＯＴ回路３５の入力端子に接続される。
【００２８】
次に、図７を用いてウエイトステート離脱回路３０の動作について説明する。
まず、プログラムカウンタによって示されるアドレスの命令がフェッチされて実行される。ここで、ウエイト命令ではない場合、ウエイトステート状態に遷移しないので、ウエイトステート信号は‘０’であり、また、ウエイトステート離脱要求信号が‘０’である場合には（時刻ａ）、順次命令がフェッチされ、実行される。
次に、ウエイトステート離脱要求信号が入力されると、‘０’から‘１’に切り替わる（時刻ｂ）。ここでは、ウエイト命令が実行されていなければ、プログラムカウンタが示すアドレスの命令をフェッチして実行する処理を繰り返す。
そして、ウエイト命令が実行されると、ウエイトステート状態に遷移し、ウエイトステート信号が‘１’に切り替わる。ここでは、ウエイトステート離脱要求信号が‘１’であるので、ウエイトステート信号とウエイトステート離脱要求信号との両方が‘１’となるので（時刻ｃ）、ウエイトステート信号が‘１’から‘０’に切り替わった後（時刻ｄ）、ウエイトステート離脱要求信号も‘１’から‘０’に切り替わる（時刻ｅ）。これにより、ウエイトステート状態が解除され、プログラムカウンタが示すアドレスの命令をフェッチして実行する。
【００２９】
そして、フェッチして実行した命令がウエイト命令であった場合には、ウエイトステート信号が‘０’から‘１’に切り替わり、ウエイトステート状態に遷移する（時刻ｆ）。ここでは、割り込み要求が発生したとしても、割り込み処理は行わず、ウエイトステート離脱要求信号が入力されるまで、ウエイトステート状態を維持する。そして、ウエイトステート離脱要求信号が入力され、‘０’から‘１’に切り替わると（時刻ｇ）、ウエイトステート状態が解除され、ウエイトステート信号が‘１’から‘０’となる（時刻ｈ）。このウエイトステート信号が‘１’から‘０’となることによって、ウエイトステート離脱要求信号も‘１’から‘０’となる（時刻ｉ）。
【００３０】
このように、この第２の実施形態によれば、ウエイト命令を実行していることを示すウエイトステート信号と、ウエイトステート離脱要求信号とを監視し、ウエイトステート信号を検知している際に、ウエイトステート離脱要求信号を検知すると、Ｃエレメント回路３２からの出力は、ウエイトステート状態の離脱を指示する信号がＯＲ回路３１に入力されることで、ウエイトステート信号が解除される。このように、ウエイトステート信号が解除（‘１’から‘０’）された後に、ウエイトステート離脱要求信号を解除（‘１’から‘０’）する４相ハンドシェーキングによって、ウエイトステート状態からの離脱とその確認が行われる。
【００３１】
次に、第３の実施形態について説明する。図８は第３の実施形態における非同期マイクロプロセッサの一例としての制御装置１００の構成を示す概略ブロック図である。この図において、
プログラムカウンタ１０１は、制御部１０４が次に実行する命令のアドレスを記憶する。
ウエイトステート移行アドレス記憶部１０２は、ウエイト命令を実行させるためのアドレスが記憶される。ここで記憶されるアドレスは、ウエイトさせる目的に応じて１つでもよいし、複数のアドレスを記憶するようにしてもよい。
一致検出回路１０３は、プログラムカウンタ１０１のアドレスとウエイトステート移行アドレス記憶部１０２に記憶されたアドレスとを比較し、プログラムカウンタ１０１が示すアドレスと一致するアドレスがウエイトステート移行アドレス記憶部１０２に記憶されているか否かを判定する。
また、一致検出回路１０３は、一致するアドレスがあると判定した場合には、ウエイトステート信号をウエイトステート信号発生回路１０５に出力する。
【００３２】
ウエイトステート信号発生回路１０５は、一致検出回路１０３からウエイトステート信号が入力されると、制御部１０４にウエイトステート信号を出力し、制御部１０４をウエイトステート状態に遷移させる。
また、ウエイトステート信号発生回路１０５は、一致検出回路１０３からウエイトステート信号が入力されていた場合において、ウエイトステート離脱要求信号が外部から入力されると、制御部１０４へのウエイトステート信号の出力を停止し、制御部１０４のウエイトステート状態を解除する。
また、ウエイトステート信号発生回路１０５は、制御部１０４がウエイト命令を実行している際に、ウエイトステート信号と、ウエイトステート離脱要求信号とを監視し、ウエイトステート信号を検知している際に、ウエイトステート離脱要求信号を検知すると、前記ウエイトステート信号を解除した後、前記ウエイトステート離脱要求信号を解除する４相ハンドシェーキングによって、ウエイトステートからの離脱と確認を行う。
【００３３】
制御部１０４は、プログラムカウンタ１０１に記憶されたアドレスに従って、所定のメモリ、例えば、制御装置１００の外部に接続されるメモリに記憶されたプログラムを読み出し、その命令を実行する。
また、制御部１０４は、ウエイトステート信号発生回路１０５からウエイトステート信号が入力されると、命令実行中あるいは命令実行後に、プログラムカウンタの更新の前後に関わらず、プロセッサ内の処理を停止させる状態であるウエイトステート状態に移行する。
また、制御部１０４は、ウエイトステート状態においてウエイトステート離脱要求信号を受けると、ウエイトステート状態から離脱し、プログラムカウンタの更新後に、プログラムカウンタの指し示す命令を継続して実行する。
【００３４】
この実施形態においても、上述の第１および第２実施形態と同様に、優先する処理を実行させる要求である割り込み要求を受信した場合であっても、当該割り込み要求を受け付けせず、引き続きウエイトステート状態を継続する。
【００３５】
次に、第３の実施形態における制御装置１００の動作について説明する。ここでは、図２のフローチャートのステップＳ１０からステップＳ１４までの処理と同様に行われる。そして、プログラムカウンタの更新が行われると、一致検出回路１０３は、更新された後のプログラムカウンタとウエイトステート移行アドレス記憶部１０２に記憶されたアドレスとを比較し、ウエイトステート移行アドレス記憶部１０２に記憶されたアドレスにプログラムカウンタのアドレスに一致するアドレスがあるか否かを判定する。この判定結果において、アドレスが一致しない場合には、ステップＳ１５に移行し、後の処理を上述した実施形態と同様に行う。
【００３６】
一方、一致検出回路１０３は、プログラムカウンタのアドレスとウエイトステート移行アドレス記憶部１０２に記憶されたアドレスと一致すると判定すると、ウエイトステート信号を制御部１０４に出力する。ウエイトステート信号が入力されると、制御部１０４は、ウエイトステート状態に移行する。このウエイトステート状態に移行すると、割り込み要求が入力されたとしても、その割り込み要求を受付しない。
【００３７】
ウエイトステート状態に移行した後、ウエイトステート信号発生回路１０５は、ウエイトステート離脱要求信号が入力されたか否かを監視して判定する。ウエイトステート離脱要求信号が入力されると、ウエイトステート信号発生回路１０５は、ウエイトステート信号を解除することによって、制御部１０４へのウエイトステート信号の出力を停止する。これにより、制御部１０４は、ウエイトステート状態を離脱し、以降の処理を行う。
【００３８】
なお、以上説明した第３の実施形態においても、ウエイトステート離脱回路３０が、ウエイトステート離脱要求信号の他に、ＮＭＩ信号を受信した場合に、ウエイトステート離脱要求信号を受信した際と同様の処理を行うようにすることも可能である。
【００３９】
なお、以上説明した実施形態における制御装置１、制御装置１００を非同期マイクロプロセッサとして、電子情報装置に搭載するようにしてもよい。ここでいう電子情報装置とは、情報処理を行うことができる機能を有するコンピュータであり、パーソナルコンピュータや持ち運び可能なコンピュータであってもよい。
【００４０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００４１】
【図１】この発明の一実施形態による非同期マイクロプロセッサを適用した制御装置の構成を示す概略ブロック図である。
【図２】制御装置の動作について説明するためのフローチャートである。
【図３】ウエイトステート離脱回路３０の構成の一例を示す構成図である。
【図４】Ｃエレメント回路３２の一例を示す構成図である。
【図５】Ｃエレメント回路３２の真理値表を示す図面である。
【図６】Ｃエレメント回路３２の他の構成について説明するための図面である。
【図７】ウエイトステート離脱回路３０の動作について説明するための図面である。
【図８】第３の実施形態における非同期マイクロプロセッサの一例としての制御装置１００の構成を示す概略ブロック図である。
【符号の説明】
【００４２】
１、１００  制御装置                １０  プログラムカウンタ
２０、１０４  制御部                ３０  ウエイトステート離脱回路
１０１  プログラムカウンタ          １０２  ウエイトステート移行アドレス記憶部
１０３  一致検出回路                １０５  ウエイトステート信号発生回路
【図１】
2008299740.tif 000003
【図２】
2008299740.tif 000004
【図３】
2008299740.tif 000005
【図４】
2008299740.tif 000006
【図５】
2008299740.tif 000007
【図６】
2008299740.tif 000008
【図７】
2008299740.tif 000009
【図８】
2008299740.tif 000010