(57)【要約】【課題】コスト増を招くことなく、割り込み処理時に生じるレジスタ値の退避／復帰のオーバヘッドの削減を実現したプロセッサを提供する。【解決手段】プロセッサは、レジスタと、関数呼び出し及び割り込み処理に際して前記レジスタの保持内容を退避／復帰させる命令実行部であって、少なくとも前記レジスタの一部の保持内容を、関数呼び出し命令の実行前に退避させ、リターン命令の実行後に復帰させる命令実行部と、前記関数呼び出し命令又は前記リターン命令の実行時のみ割り込み処理を受け付ける割り込み受付部とを備えたことを特徴とする。【選択図】図１
2011048619.tif 000002
【特許請求の範囲】
【請求項１】
レジスタと、
関数呼び出し及び割り込み処理に際して前記レジスタの保持内容を退避／復帰させる命令実行部であって、少なくとも前記レジスタの一部の保持内容を、関数呼び出し命令の実行前に退避させ、リターン命令の実行後に復帰させる命令実行部と、
前記関数呼び出し命令又は前記リターン命令の実行時のみ割り込み処理を受け付ける割り込み受付部と
を備えたことを特徴とするプロセッサ。
【請求項２】
前記割り込み受付部は、前記関数呼び出し命令又は前記リターン命令の実行時のみ割り込み処理を受け付ける第１の動作モードと、前記関数呼び出し命令及び前記リターン命令の実行に拘わらず割り込み処理を受け付ける第２の動作モードとを有する
ことを特徴とする請求項１記載のプロセッサ。
【請求項３】
レジスタと、
メモリから命令コードを読み出す命令フェッチ部と、
前記命令フェッチ部から受信した命令コードに基づいて制御信号を生成するとともに、前記命令コードが関数呼び出し命令及びリターン命令の少なくとも一方であった場合に割り込み受付許可信号を活性化させる命令デコード部と、
前記命令デコード部から受信した制御信号に基づいて命令を実行する命令実行部であって、少なくとも前記レジスタの一部の保持内容を、関数呼び出し命令の実行前に退避させ、リターン命令の実行後後に復帰させる命令実行部と、
外部からの割り込み要求信号が活性化されており、かつ、前記割り込み受付許可信号が活性化されている場合に割り込みを許可し、前記命令フェッチ部の内部情報を変更する第１動作モードを有する割り込み受付部と
を備えたことを特徴とするプロセッサ。
【請求項４】
前記割り込み受付部は、前記割り込み受付許可信号の状態に関わらず、前記割り込み要求信号が活性化されている場合に割り込みを許可し、前記命令フェッチ部の内部情報を変更する第２動作モードを有する
ことを特徴とする請求項３記載のプロセッサ。
【請求項５】
前記割り込み受付部は、一部の割り込み要求信号を前記第１の動作モードで処理し、他の割り込み要求信号を前記第２の動作モードで処理する
ことを特徴とする請求項４記載のプロセッサ。
【請求項６】
前記割り込み受付部は、割り込み要求信号毎にレジスタ設定値に応じて前記第１の動作モードと第２の動作モードのいずれかを選択する
ことを特徴とする請求項５記載のプロセッサ。
【請求項７】
割り込み発生時のジャンプ先アドレスが、レジスタ設定によって指定される
ことを特徴とする請求項３〜６のいずれか１項記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサに関する。
【背景技術】
【０００２】
一般的に、プロセッサに対する割り込み要求がプログラムの通常処理の実行中のどの時点で発生するかは、予見することができない。そのため、プロセッサは、割り込み処理前後における汎用レジスタの値を保障すべく、割り込み処理前に汎用レジスタの値を退避させ、割り込み処理後に割り込み処理前の汎用レジスタの値を復帰させる。この汎用レジスタの値の退避／復帰処理にはオーバヘッドが生じるため、プログラムの実行効率や、割り込み応答速度を損なうことなる。
【０００３】
換言すれば、プログラムの実行効率や、割り込み応答速度を向上させるためには、このオーバヘッドを小さくすることが有効となる。
【０００４】
汎用レジスタの値の退避／復帰の処理時間を短縮するための技術として、２つの汎用レジスタ群を持つプロセッサが知られている。このプロセッサは、通常処理に汎用レジスタ群Ａを使用し、割り込み処理に別の汎用レジスタ群Ｂを使用する。この場合、割り込み処理に際し汎用レジスタ群Ａの値を退避／復帰させる必要がないため、その分のオーバヘッドを削減することができる。しかし、汎用レジスタ群を２つ用意する必要があるため、ハードウェアのコストが増大する点が問題となる。
【０００５】
また、汎用レジスタの値の退避／復帰の処理時間を短縮するための別の技術とし、ソフトウェアレベルで汎用レジスタの値の退避／復帰処理を調整する方法もある（特許文献１等）。例えば、８つの汎用レジスタがあり、そのうち１つの汎用レジスタのみ割り込み処理内で使用されるとする。設計者自らが割り込み処理のコーディングを行う場合、割り込み処理で使用する１つの汎用レジスタのみを退避させるようにコーディングすれば良い。これによって、割り込み処理で使用されない汎用レジスタの値を退避／復帰させるためのオーバヘッドは生じない。通常、このようなレジスタを意識したコードの開発については、コンパイラを用いることが難しいため、アセンブリ言語を用いることになる。しかし、アセンブリ言語を用いた割り込み処理のコーディングは煩雑な作業となる。
【０００６】
また、コンパイラに対し、割り込み処理で使用する汎用レジスタの値のみを退避／復帰させるコードを自動生成する機能を追加することも考えられる。しかし、このような機能の追加のためのコンパイラの改変には多大なコストを要する点が問題となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−５０７０５号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、コスト増を招くことなく、割り込み処理時に生じるレジスタ値の退避／復帰のオーバヘッドの削減を実現するプロセッサを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係るプロセッサは、レジスタと、関数呼び出し及び割り込み処理に際して前記レジスタの保持内容を退避／復帰させる命令実行部であって、少なくとも前記レジスタの一部の保持内容を、関数呼び出し命令の実行前に退避させ、リターン命令の実行後に復帰させる命令実行部と、前記関数呼び出し命令又は前記リターン命令の実行時のみ割り込み処理を受け付ける割り込み受付部とを備えたことを特徴とする。
【００１０】
本発明の他の態様に係るプロセッサは、レジスタと、メモリから命令コードを読み出す命令フェッチ部と、前記命令フェッチ部から受信した命令コードに基づいて制御信号を生成するとともに、前記命令コードが関数呼び出し命令及びリターン命令の少なくとも一方であった場合に割り込み受付許可信号を活性化させる命令デコード部と、前記命令デコード部から受信した制御信号に基づいて命令を実行する命令実行部であって、少なくとも前記レジスタの一部の保持内容を、関数呼び出し命令の実行前に退避させ、リターン命令の実行後後に復帰させる命令実行部と、外部からの割り込み要求信号が活性化されており、かつ、前記割り込み受付許可信号が活性化されている場合に割り込みを許可し、前記命令フェッチ部の内部情報を変更する第１動作モードを有する割り込み受付部とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、コスト増を招くことなく、割り込み処理時に生じるレジスタ値の退避／復帰のオーバヘッドの削減を実現したプロセッサを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るプロセッサのブロック図である。
【図２】本実施形態に係るプロセッサの命令デコード部及び割り込み受付部のブロック図である。
【図３】本実施形態に係るプロセッサの汎用レジスタセットを示す図である。
【図４】本実施形態に係るプロセッサにおける関数実行シーケンスを示す図である。
【図５】本実施形態に係るプロセッサの第２動作モードにおける割り込み処理シーケンスを示す図である。
【図６】本実施形態に係るプロセッサの第１動作モードにおける割り込み処理シーケンスを示す図である。
【図７】比較例に係るプロセッサにおける割り込み処理シーケンスを示す図である。
【図８】比較例に係るプロセッサのブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明に係るプロセッサの実施の形態について詳細に説明する。
【００１４】
［本発明の実施形態の概要］
本発明の実施形態に係るプロセッサの概要を説明する前に、比較例に係るプロセッサについて説明する。
【００１５】
図７は、比較例に係るプロセッサにおける割り込み処理シーケンスを示す図である。
【００１６】
関数（メインルーチン又はサブルーチン）Ｆ２１０の処理Ｓ２１１実行中に割り込み要求があったとする。この場合、処理は、割り込み要求に応じた所定の割り込みルーチンＩ２２０に遷移する（Ｓ２１２）。
【００１７】
割り込みルーチンＩ２２０では、始めに、処理Ｓ２２１において、関数Ｆ２１０で使用されていた汎用レジスタの値を退避させるためにスタックにプッシュする。続いて、割り込み要求に応じた処理Ｓ２２２を実行する。最後に、処理Ｓ２２３において、処理Ｓ２２１で退避した割り込み処理前のレジスタの値を復帰させるためにスタックからポップする。
【００１８】
割り込み処理終了後、処理は、再び関数Ｆ２１０に遷移し（Ｓ２２４）、関数Ｆ２１０の処理Ｓ２１３を実行する。
【００１９】
以上のように、比較例によれば、割り込み処理する際、割り込みルーチン内で使用されるレジスタの値を退避／復帰させる必要があり、その分の余分なオーバヘッドが生じることになる。
【００２０】
そこで、本発明の実施形態では、割り込み要求の受け付けを、関数呼び出し前に限定することによって、このオーバヘッドを削減する。
【００２１】
以下では、一般的なコンパイラを用いる場合の関数呼び出しについて考える。
【００２２】
通常、汎用レジスタは、関数呼び出し元で値を退避するコーラー・セーブド・レジスタ（Caller saved register）と、関数呼び出し先で値を退避するコーリー・セーブド・レジスタ（Callee saved register）とに分類することができる。このうち、コーラー・セーブド・レジスタについては、関数呼び出し前に値が退避されるため、その直後は未使用の状態と言える。
【００２３】
そこで、本実施形態に係るプロセッサでは、関数呼び出しのタイミングでのみ割り込み要求を受け付けるようにする。関数呼び出しの直後は、上述の通り、コーラー・セーブド・レジスタが未使用の状態であることから、値を退避／復帰させる必要がなく、これら処理によって生じるオーバヘッドを削減できるためである。
【００２４】
また、コーラー・セーブド・レジスタは、関数リターン後に値が復帰されるため、その直前に割り込み要求を受け付けることでも、同様の効果を得ることができる。
【００２５】
［プロセッサの構成］
次に、本発明の実施形態に係るプロセッサの構成について説明する前に、比較例に係るプロセッサについて図８を参照しながら説明する。但し、図８は、簡単のため一部の構成を省略している。
【００２６】
比較例に係るプロセッサ２００は、メモリやキャッシュから命令コードを読み出す命令フェッチ部２１０と、この命令フェッチ部２１０から受信した命令コードをデコードし、プロセッサ２００を制御する制御信号を生成する命令デコード部２２０と、命令デコード部２２０から受信した制御信号に基づいて、演算、メモリアクセス、分岐等を実行する命令実行部２３０とを備える。また、プロセッサ２００は、外部から負論理の割り込み要求信号２５０を受け付ける割り込み受付部２４０を備える。この割り込み受付部２４０は、割り込み要求信号２５０が活性化されており、かつ、割り込みが許可されている場合、命令フェッチ部２１０の内部情報であるプログラムカウンタの内容を適切に変更する。これによって、プロセッサ２００の状態は割り込み処理に遷移する。
【００２７】
続いて、本発明の実施形態に係るプロセッサ１００について図１を参照しながら説明する。但し、図１は、簡単のため一部の構成を省略している。
【００２８】
本実施形態に係るプロセッサ１００は、比較例に係るプロセッサ２００と同様、命令フェッチ部１１０、命令デコード部１２０、命令実行部１３０及び割り込み受付部１４０を備える。また、割り込み受付部１４０による割り込みの受け付けを許可する正論理の割り込み受付許可信号１６０を新たに備える。
【００２９】
このうち、命令フェッチ部１１０及び命令実行部１３０については、プロセッサ２００の命令フェッチ部２１０及び命令実行部２３０と同様であるため説明を省略する。
【００３０】
命令デコード部１２０は、命令デコード部２２０の機能を拡張させたものであり、命令デコード部２２０と同様の処理を行う他、命令フェッチ部１１０から受信した命令コードが関数呼び出し命令（以下、「コール命令」と呼ぶ。）又は関数からの復帰命令（以下、「リターン命令」と呼ぶ。）であった場合には、割り込み受付許可信号１６０を活性化させる。
【００３１】
割り込み受付部１４０は、外部からの割り込み要求信号１５０が活性化され、かつ、割り込み受付許可信号１６０が活性化されている場合にのみ割り込みを許可する。なお、この条件に加え、一般的なレジスタ設定等による割り込み許可／禁止、割り込みマスク等の論理を付加しても良い。
【００３２】
次に、命令デコード部１２０及び割り込み受付部１４０の内部回路について詳述する。
【００３３】
プロセッサ１００は、上述の通り、コール命令／リターン命令実行時にのみ割り込みを許可するよう、命令デコード部１２０及び割り込み受付部１４０に図２に示す論理回路を設けている。
【００３４】
命令デコード部１２０は、命令フェッチ部１１０から受信した命令コード１２１がコール命令（図２中の「ＣＡＬＬ」）か否かを判断する比較器１２２と、命令コード１２１がリターン命令（図２中の「ＲＥＴ」）か否かを判断する比較器１２３とを備える。また、これら比較器１２２及び１２３の一方の出力が「真」であった場合に割り込み受付許可信号１６０を活性化させるゲート回路１２４を備える。この論理回路によって、命令コード１２１がコール命令又はリターン命令であった場合にのみ割り込み受付許可信号１６０が活性化される。
【００３５】
割り込み受付部１４０は、外部からの割り込み要求信号１５０及び割り込み受付許可信号１６０が活性化された場合に出力信号が活性化されるゲート回路１４１を備える。また、このゲート回路１４４の出力信号を入力０とし、割り込み要求信号１５０を入力１とし、これら信号を選択的に出力信号１４３とするセレクタ１４２を備える。入力０／入力１のいずれを選択するかは、外部に設けられたレジスタの値等によって設定できるようにする。
【００３６】
以上の論理回路によって、入力０が選択されている場合（以下、「第１動作モード」と呼ぶ。）、命令コード１２１がコール命令／リターン命令であった場合にのみ割り込み要求が受け付けられる。一方、入力１が選択されている場合（以下、「第２動作モード」と呼ぶ。）、割り込み受付許可信号１６０の状態に関わらず、割り込み要求が受け付けられる。
【００３７】
なお、第１動作モード及び第２動作モードのいずれについても、一般的なレジスタ設定等による割り込み許可／禁止、割り込みマスク等の論理を付加しても良い。また、第２動作モードが不要である場合には、セレクタ１４２を設けなくても良い。
【００３８】
［プロセッサの動作］
次に、プロセッサ１００の動作を具体例で説明する。
【００３９】
以下、プロセッサ１００が図３に示す構成の汎用レジスタセット１８０を持つものとして説明する。汎用レジスタセット１８０は、８個の汎用レジスタＲ０〜Ｒ７で構成されている。ここでは、コンパイル規則によって汎用レジスタＲ０〜Ｒ３（図３中の１８１）をコーラー・セーブド・レジスタとし、汎用レジスタＲ４〜Ｒ７（図３中の１８２）をコーリー・セーブド・レジスタとして用いられるものとする。また、関数の引数や戻り値は、スタックを介して渡されるものとする。
【００４０】
図４は、このプロセッサ１００における関数実行シーケンス例を示す図であり、関数Ｆ１１０内において関数Ｆ１２０が呼び出される例である。
【００４１】
先ず、プロセッサ１００は、関数Ｆ１１０の処理Ｓ１１１、Ｓ１１２、及びコール命令Ｓ１１３を順次実行する。処理Ｓ１１２では、コーラー・セーブド・レジスタＲ０〜Ｒ３の値がスタックにプッシュ（退避）される。また、呼び出し先の関数Ｆ１２０に引数がある場合には、その引数もスタックにプッシュされる。
【００４２】
コール命令Ｓ１１３実行後、プロセッサ１００は、関数Ｆ１２０の処理Ｓ１２１、Ｓ１２２、Ｓ１２３、及びリターン命令Ｓ１２４を順次実行する。処理Ｓ１２１では、処理Ｓ１１２でプッシュされた関数Ｆ１２０の引数がポップされる。また、コーリー・セーブド・レジスタＲ４〜Ｒ７のうち、処理Ｓ１２２で使用されるレジスタの値がスタックにプッシュ（退避）される。一方、処理Ｓ１２３では、処理Ｓ１２１でプッシュされたコール命令Ｓ１１３実行直後のコーリー・セーブド・レジスタＲ４〜Ｒ７の値がスタックからポップ（復帰）される。また、関数Ｆ１２０に戻り値がある場合には、その戻り値がスタックにプッシュされる。
【００４３】
リターン命令Ｓ１２４実行後、プロセッサ１００は、関数Ｆ１１０の処理Ｓ１１４、及びＳ１１５を順次実行する。処理Ｓ１１４では、処理Ｓ１２３でプッシュされた関数Ｆ１２０の戻り値がスタックからポップされる。また、処理Ｓ１１２でプッシュされたコール命令Ｓ１１３実行前のコーラー・セーブド・レジスタＲ０〜Ｒ３の値がスタックからポップ（復帰）される。
【００４４】
以上のシーケンスによって、処理Ｓ１１２完了時の汎用レジスタＲ０〜Ｒ７の値と、処理Ｓ１１５開始前の汎用レジスタＲ０〜Ｒ７の値との連続性が保障される。
【００４５】
なお、処理Ｓ１１２、Ｓ１２１、Ｓ１２３、及びＳ１１４を含む全ての処理は、コンパイラによって生成される。
【００４６】
次に、図４に示す関数処理シーケンスにおいて、さらに割り込み要求があった場合の割り込み処理について説明する。以下の説明では、処理Ｓ１１１の実行中に割り込み要求信号１５０があったものとする。
【００４７】
先ず、第２動作モードにおける割り込み処理シーケンスについて図５を参照しながら説明する。この割り込みシーケンスは、図８に示す比較例に係るプロセッサ２００における割り込み処理シーケンスと同様である。
【００４８】
プロセッサ１００は、関数Ｆ１１０の処理Ｓ１１１の実行中に割り込み要求Ｓ１３１を受信すると、処理Ｓ１１１の実行を中断し、割り込みルーチンＩ１３０に処理を移す（Ｓ１１６）。
【００４９】
続いて、プロセッサ１００は、割り込みルーチンＩ１３０の処理Ｓ１３２、Ｓ１３３、及びＳ１３４を順次実行する。処理Ｓ１３２では、汎用レジスタＲ０〜Ｒ７の値がスタックにプッシュ（退避）される。一方、処理Ｓ１３４では、処理Ｓ１３２においてプッシュされた割り込み処理開始前の汎用レジスタＲ０〜Ｒ７の値がスタックからポップ（復帰）される。
【００５０】
割り込み処理完了後、プロセッサ１００は、割り込み処理によって中断された関数Ｆ１１０の処理Ｓ１１１を再開する。
【００５１】
以上のシーケンスによって、関数Ｆ１１０の処理Ｓ１１１について、割り込み処理に開始前の処理Ｓ１１１ａ終了時の汎用レジスタＲ０〜Ｒ７の値と、割り込み処理開始後の処理Ｓ１１１ｂ開始前の汎用レジスタＲ０〜Ｒ７の値との連続性が保障される。以後、処理Ｓ１１１ｂが続行され、コール命令Ｓ１１３を実行する際の処理については、図４で示した処理と同様である。
【００５２】
続いて、第１動作モードにおける割り込み処理シーケンスについて図６を参照しながら説明する。
【００５３】
プロセッサ１００は、関数Ｆ１１０の処理Ｓ１１１の実行中に割り込み要求Ｓ１３１を受信する。この時点では、命令コード１２１がコール命令／リターン命令のいずれでもないことから、割り込み受付許可信号１６０が活性化されず割り込み要求は受け付けられない。その結果、割り込み処理は、コール命令の命令コードがあるまでの所定期間Ｓ１１７の間保留される。
【００５４】
その後、フェッチ部１１０によってコール命令が読み出されると、命令デコード部１２０によって割り込み受付許可信号１６０が活性化されるため、割り込みルーチンＩ１３０に処理が遷移する（Ｓ１１６）。
【００５５】
続いて、プロセッサ１００は、割り込みルーチンＩ１３０の処理Ｓ１３６、Ｓ１３３、及びＳ１３７を順次実行する。ここで、コーラー・セーブド・レジスタＲ０〜Ｒ３の値は、処理Ｓ１１２において既にスタックにプッシュ（退避）されているため、割り込みルーチンＩ１３０において、あらためて退避させる必要はない。したがって、処理Ｓ１３６では、コーリー・セーブド・レジスタＲ４〜Ｒ７の値のみがスタックにプッシュ（退避）される。同様に、割り込み処理開始前のコーラー・セーブド・レジスタＲ０〜Ｒ３の値は、後の関数Ｆ１２０からの復帰時の処理Ｓ１１４においてスタックからポップ（復帰）されるため、割り込みルーチンＩ１３０において、あらためて復帰させる必要がない。したがって、処理Ｓ１３７では、処理１３６においてプッシュされた割り込み処理前のコーリー・セーブド・レジスタＲ４〜Ｒ７の値のみがスタックからポップ（復帰）される。これによって、割り込み処理の際に生じるコーラー・セーブド・レジスタＲ０〜Ｒ３の値の退避／復帰の処理時間を省略することができる。
【００５６】
割り込み処理後、プロセッサ１００は、関数Ｆ１２０の処理に移る（Ｓ１３８）。
【００５７】
なお、関数Ｆ１２０への処理の遷移方法については実装形態に依存する。つまり、図６の場合の他、例えば、関数Ｆ１１０に処理が戻った後、コール命令を再度実行し、関数Ｆ１２０の処理Ｓ１２１を実行する場合や、割り込みルーチンＩ１３０の戻り先アドレスとして直接関数Ｆ１２０の処理Ｓ１２１を指定する場合などが考えられる。
【００５８】
また、以上では、コール命令実行のタイミングで割り込み処理に遷移する場合について説明したが、リターン命令実行のタイミングで、割り込み処理に遷移する場合も同様である。この場合には、関数Ｆ１１０のコール命令実行後、関数Ｆ１２０のリターン命令実行前に割り込み要求Ｓ１３１が発生しても、先に関数Ｆ１２０の処理を実行し、関数Ｆ１２０のリターン命令によってコーラー・セーブド・レジスタＲ０〜Ｒ３に値が復帰される前に、割り込み処理Ｉ１３０を実行する。
【００５９】
以上のように、第１動作モードによって割り込み処理を実行した場合、コーラー・セーブド・レジスタＲ０〜Ｒ３の値の退避／復帰の処理を省略することができる。
【００６０】
［まとめ］
本実施形態によれば、比較的簡易なハードウェアの追加によって、割り込み処理に伴うコーラー・セーブド・レジスタの値の退避／復帰のオーバヘッドを削減することができる。
【００６１】
なお、本実施形態の第１動作モードを使用した場合、所定期間Ｓ１１７だけ割り込み応答性能が低下することになるため、割り込み要求の優先度等を考慮し、優先度の高い割り込み要求については第２動作モードを適用すれば良い。
【００６２】
［その他］
以上では、プロセッサ１００への割り込み要求が１つだけの場合について説明したが、複数の割り込み要求がある場合であっても本実施形態を適用することができる。
【００６３】
この場合、一部の割り込み要求を第１動作モードで処理し、他の割り込み要求を第２動作モードで処理することもできる。また、割り込み要求毎に第１動作モード／第２動作モードのいずれを適用するかをレジスタ設定等によって選択できるようにしても良い。これによって、割り込み要求の優先度を考慮した第１動作モード／第２動作モードの使い分けをすることができる。この場合、レジスタ設定によって割り込み発生時のジャンプ先アドレスを指定できるようにすることが望ましい。これによって、コーラー・セーブド・レジスタの退避／復帰を行うコードと、行わないコードとを使い分けることができる。
【符号の説明】
【００６４】
１００・・・プロセッサ、１１０・・・命令フェッチ部、１２０・・・命令デコード部、１２１・・・命令コード、１２２、１２３・・・比較器、１２４・・・ゲート回路、１３０・・・命令実行部、１４０・・・割り込み受付部、１４１・・・ゲート回路、１４２・・・セレクタ、１４３・・・セレクタ１４２の出力信号、１５０・・・割り込み要求信号、１６０・・・割り込み受付許可信号、１８０・・・汎用レジスタセット、１８１・・・コーラー・セーブド・レジスタ、１８２・・・コーリー・セーブド・レジスタ、２００・・・プロセッサ、２１０・・・命令フェッチ部、２２０・・・命令デコード部、２３０・・・命令実行部、２４０・・・割り込み受付部、２５０・・・割り込み要求信号。
【図１】
2011048619.tif 000003
【図２】
2011048619.tif 000004
【図３】
2011048619.tif 000005
【図４】
2011048619.tif 000006
【図５】
2011048619.tif 000007
【図６】
2011048619.tif 000008
【図７】
2011048619.tif 000009
【図８】
2011048619.tif 000010