例外をプログラム制御する方法であって、プロセッサが、例外を有効にするか否かの例外制御指定のための制御指定命令を実行して、レジスタに前記例外の制御指定値を設定するステップと、例外を発生させるか否かの例外制御実行のための制御実行命令を実行して、前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させるステップと、を実行することを含む、例外プログラム制御方法。前記レジスタに設定された前記制御指定値が前記例外を有効にする値でないときには前記例外を発生させないステップを実行することを含む、請求項1に記載の方法。前記制御指定命令はビットマップインデックス部および制御指定部を有し、前記レジスタはビットマップレジスタを備え、前記制御指定値を設定するステップは、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定するステップを実行することを含む、請求項1または2に記載の方法。前記制御実行命令はビットマップインデックス部を有し、前記例外を発生させるステップは、当該ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含む、請求項3に記載の方法。前記レジスタはリターンアドレスレジスタを備え、前記例外を発生させるステップは、前記制御実行命令の次のアドレスを、当該リターンアドレスレジスタに設定するステップを実行することを含む、請求項4に記載の方法。前記制御実行命令はキーコード部を有し、前記レジスタはキーレジスタを備え、前記例外を発生させるステップは、当該キーコード部の値を、当該発生させる前記例外での使用のため、当該キーレジスタに設定するステップを実行することを含む、請求項4または5に記載の方法。前記レジスタはベクタベースレジスタを備え、前記例外を発生させるステップは、前記制御実行命令の前記ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに対応付けられた当該ベクタベースレジスタに保持する例外ハンドラのアドレスを参照し、当該アドレスの例外ハンドラにジャンプするステップを実行することを含む、請求項4~6のいずれか1項に記載の方法。前記例外を発生させないステップは、前記制御実行命令の前記ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値でないときには、前記例外を発生させないステップを実行することを含む、請求項4に記載の方法。前記例外を発生させないステップは、前記制御実行命令を命令キューの中で破棄するステップを実行することを含む、請求項8に記載の方法。プロセッサに、請求項1~9のいずれか1項に記載の方法の各ステップを実行させる例外プログラム制御のためのコンピュータプログラム。例外をプログラム制御するシステムであって、プロセッサが、例外を有効にするか否かの例外制御指定のための制御指定命令と例外を発生させるか否かの例外制御実行のための制御実行命令とを実行して例外を制御する例外制御部を含み、当該例外制御部が、レジスタと、前記制御指定命令を実行して、前記レジスタに前記例外の制御指定値を設定する制御指定命令処理部と、前記制御実行命令を実行して、前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させる制御実行命令処理部とを含む、例外プログラム制御システム。前記制御実行命令処理部は、前記レジスタに設定された前記制御指定値が前記例外を有効にする値でないときには前記例外を発生させない、請求項11に記載のシステム。前記制御指定命令はビットマップインデックス部および制御指定部を有し、前記レジスタはビットマップレジスタを含み、前記制御指定命令処理部は、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定する、請求項11または12に記載のシステム。前記制御実行命令はビットマップインデックス部を有し、前記制御実行命令処理部は、当該ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させる、請求項13に記載のシステム。前記レジスタはリターンアドレスレジスタを含み、前記制御実行命令処理部は、前記制御実行命令の次のアドレスを、当該リターンアドレスレジスタに設定する、請求項14に記載のシステム。前記制御実行命令はキーコード部を有し、前記レジスタはキーレジスタを含み、前記制御実行命令処理部は、当該キーコード部の値を、発生させる前記例外での使用のため、当該キーレジスタに設定する、請求項14または15に記載のシステム。前記レジスタはベクタベースレジスタを含み、前記制御実行命令処理部は、前記制御実行命令の前記ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに対応付けられた当該ベクタベースレジスタに保持する例外ハンドラのアドレスを参照し、当該アドレスの例外ハンドラにジャンプする、請求項14~16のいずれか1項に記載のシステム。前記制御実行命令処理部は、前記制御実行命令の前記ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値でないときには、前記例外を発生させない、請求項14に記載のシステム。これまでは、予め設定されれば、例外は必ず発生し、条件分岐命令自体は必ず実行されるようになっている。即ち、例外を発生させたりさせなかったり、また、条件分岐命令自体を実行させたりさせなかったりする、ソフトウエア的にそれらを制御することはなされておらず、実際には必要のない処理動作もプログラムにより行われている。本発明は、ソフトウエア的に制御できる例外の実現を目的とする。本発明の目的には、例外をプログラム制御する方法、システムおよびコンピュータプログラムを提供することが含まれる。本発明による1実施態様の例外プログラム制御方法は、プロセッサが次のステップを実行することを含む。即ち、例外を有効にするか否かの例外制御指定のための制御指定命令を実行して、レジスタに例外の制御指定値を設定するステップと、例外を発生させるか否かの例外制御実行のための制御実行命令を実行して、レジスタに設定された制御指定値が例外を有効にする値か否かを判定し、制御指定値が例外を有効にする値のときは例外を発生させるステップである。また、レジスタに設定された制御指定値が例外を有効にする値でないときには例外を発生させないステップを実行することを含む。好ましくは、制御指定命令はビットマップインデックス部および制御指定部を有し、レジスタはビットマップレジスタを備え、制御指定値を設定するステップは、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定するステップを実行することを含む。好ましくは、制御実行命令はビットマップインデックス部を有し、例外を発生させるステップは、当該ビットマップインデックス部の値で特定されるビットマップレジスタのビットに設定された制御指定部の値が例外を有効にする値のときに、例外を発生させるステップを実行することを含む。好ましくは、レジスタはリターンアドレスレジスタを備え、例外を発生させるステップは、制御実行命令の次のアドレスを、当該リターンアドレスレジスタに設定するステップを実行することを含む。好ましくは、制御実行命令はキーコード部を有し、レジスタはキーレジスタを備え、例外を発生させるステップは、当該キーコード部の値を、発生させる例外での使用のため、当該キーレジスタに設定するステップを実行することを含む。好ましくは、レジスタはベクタベースレジスタを備え、例外を発生させるステップは、制御実行命令のビットマップインデックス部の値で特定されるビットマップレジスタのビットに対応付けられた当該ベクタベースレジスタに保持する例外ハンドラのアドレスを参照し、当該アドレスの例外ハンドラにジャンプするステップを実行することを含む。好ましくは、例外を発生させないステップは、制御実行命令のビットマップインデックス部の値で特定されるビットマップレジスタのビットに設定された制御指定部の値が例外を有効にする値でないときには、例外を発生させないステップを実行することを含む。また、例外を発生させないステップは、制御実行命令を命令キューの中で破棄するステップを実行することを含む。本発明の1実施態様により、プロセッサに上記方法の各ステップを実行させる例外プログラム制御のためのコンピュータプログラムが提供される。本発明による1実施態様の例外プログラム制御システムでは、プロセッサは、例外を有効にするか否かの例外制御指定のための制御指定命令と例外を発生させるか否かの例外制御実行のための制御実行命令とを実行して例外を制御する例外制御部を含む。例外制御部は、レジスタと、制御指定命令を実行して、レジスタに例外の制御指定値を設定する制御指定命令処理部と、制御実行命令を実行して、レジスタに設定された制御指定値が例外を有効にする値か否かを判定し、制御指定値が例外を有効にする値のときは例外を発生させる制御実行命令処理部とを含む。制御実行命令処理部は、レジスタに設定された制御指定値が例外を有効にする値でないときには例外を発生させない。好ましくは、制御指定命令はビットマップインデックス部および制御指定部を有し、レジスタはビットマップレジスタを含み、制御指定命令処理部は、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定する。好ましくは、制御実行命令はビットマップインデックス部を有し、制御実行命令処理部は、当該ビットマップインデックス部の値で特定されるビットマップレジスタのビットに設定された制御指定部の値が例外を有効にする値のときに、例外を発生させる。好ましくは、レジスタはリターンアドレスレジスタを含み、制御実行命令処理部は、制御実行命令の次のアドレスを、当該リターンアドレスレジスタに設定する。好ましくは、制御実行命令はキーコード部を有し、レジスタはキーレジスタを含み、制御実行命令処理部は、当該キーコード部の値を、発生させる例外での使用のため、当該キーレジスタに設定する。好ましくは、レジスタはベクタベースレジスタを含み、制御実行命令処理部は、制御実行命令のビットマップインデックス部の値で特定されるビットマップレジスタのビットに対応付けられた当該ベクタベースレジスタに保持する例外ハンドラのアドレスを参照し、当該アドレスの例外ハンドラにジャンプする。好ましくは、制御実行命令処理部は、制御実行命令のビットマップインデックス部の値で特定されるビットマップレジスタのビットに設定された制御指定部の値が例外を有効にする値でないときには、例外を発生させない。本発明により、発生させたりさせなかったりソフトウエア的に制御できる例外が実現され、例外をプログラム制御する方法、システムおよびコンピュータプログラムが提供される。特に、柔軟に、即ちプログラムで設定した箇所で例外の発生を制御して、CPUによる不要な処理動作を抑え、CPUの処理効率を向上させることができる。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明は多くの異なる態様で実施することが可能であり、記載された実施形態の内容に限定して解釈されるべきではない。なお、実施形態の説明の全体を通じて同じ構成部分乃至構成要素には同じ番号を付している。まず、図2に、本発明の1実施形態においてソフトウエア制御可能な例外実現のため新たに設けられる2種類のCPU命令および当該CPU命令にインデックスされるビットマップレジスタ並びに各例外に対応する3種類のレジスタの概略構成を示す。2種類のCPU命令のうち、一方のexpen命令と示された制御指定命令11は、例外を有効にしたりしなかったり無効にしたりする、即ち例外の制御を指定するために設けられる。もう一方のexpc命令と示された制御実行命令12は、例外の有効無効の条件に応じて例外を発生させたりさせなかったりする、即ち例外の制御を実行するために設けられる。BMレジスタと示されたビットマップレジスタ20は、2種類のCPU命令にインデックスされて例外発生の条件を規定するために設けられる。3種類のレジスタのうち、VECレジスタと示された複数のベクタベースレジスタ21は、それぞれ、2種類のCPU命令によって発生される例外を処理する例外ハンドラのアドレスaddrを保持し、CPUによる例外ハンドラの起動をサポートする。RETレジスタと示されたリターンアドレスレジスタ22は、それぞれ、その例外が発生したCPU命令の次のリターンアドレスraddrを保持し、CPUによる例外処理からの復帰をサポートする。KEYレジスタと示されたキーレジスタ23は、それぞれ、その例外が発生した時にプログラム指定した値kc、例えばexpc命令のKCの値を保持し、CPUによる例外処理での使用をサポートする。VECレジスタ21は、2種類のCPU命令で処理する例外の数に対応した数分が設けられる。図2では、VECレジスタ21は、256個設けられている。一方、2種類のCPU命令に対応できれば良いRETレジスタ22およびKEYレジスタ23は、それぞれ1個設けられている。制御指定命令11は、32ビット構成で示されているが、32ビット構成に限定されない。ビット0~5のOPと記されたオペコード部は、このCPU命令が例外を有効にしたりしなかったり無効にしたり、例外の制御を指定する命令であることを示す。ビット8~15のBMと記されたビットマップインデックス部は、8ビットで表せる256通りのそれぞれについて例外を発生させるかどうかを判定するために設けられる256ビットのBMレジスタ20へのインデックスを示す。例えば、BMのビット8~15がすべて0であればBMレジスタ20の最初の1ビット目を指し、BMのビット8~15がすべて1であればBMレジスタ20の最後の256ビット目を指す。ビット31のENと記された制御指定部は、例外を有効にしたりしなかったり無効にしたりする、即ち、ENが1のときは例外を有効にし、ENが0のときは例外を有効にしない無効にする値を示す。もちろん、ENが0のときに例外を有効にし、ENが1のときに例外を有効にしない無効にするように、ENの値を反対にすることもできる。このENの値は、BMで指定される値に対応付けられる、即ちインデックスされるBMレジスタ20のビットに設定される。例えば、この命令の実行例であるexpen201は、BM=20およびEN=1であるので、BMレジスタ20の21ビット目に例外を有効にするEN=1をセットする。制御実行命令12も、32ビット構成で示されているが、32ビット構成に限定されない。ビット0~5のOPと記されたオペコード部は、このCPU命令が例外を発生させたりさせなかったり、例外の制御を実行する命令であることを示す。ビット8~15のBMと記されたビットマップインデックス部は、制御指定命令11と同様に、8ビットで表せる256通りのそれぞれについて例外を発生させるかどうかを判定するために設けられている256ビットのBMレジスタ20へのインデックスを示す。BMレジスタ20のインデックスされたビットにEN=1が制御指定命令11のexpen命令によりセットされて例外を発生させるときには、BMレジスタ20におけるそのインデックスされたビットに対応付けられたVECレジスタ21のアドレスaddrが参照され、そこに指定される例外ハンドラのアドレスaddrにジャンプして例外処理が実行される。また、例外処理からの復帰のために、この命令の次のアドレスが、リターンアドレスraddrとして、RETレジスタ22にセットされる。ビット16~31のKCと記されたキーコード部は、プログラムでセットして使用するデータフィールドであり、KCの値は、KEYレジスタ23に保存される。例えば、この命令の実行例であるexpc20512は、BM=20およびKC=512であるので、BMレジスタ20の21ビット目を参照する。そこがEN=0になっていれば何もしない。そこがEN=1になっていれば例外を発生する。特に、例外ハンドラへ実行を移すために、21番目のVECレジスタ21が指定する例外ハンドラのアドレスaddrにジャンプする。また、RETレジスタ22にこのexpc命令の次のアドレス、即ちリターンアドレスraddrをセットする。さらに、KEYレジスタ23のビット16~31に512をkc値としてセットする。指定された例外ハンドラではkcの値512に応じた処理を行う。kcの値はプログラムで自由に設定できるので、例外を発生させたりさせなかったりするばかりでなく、例外ハンドラの処理自体も柔軟に制御することができる。例外ハンドラによる処理が完了すると、CPUアーキテクチャが提供する例外から復帰するためのCPU命令を用いて、RETレジスタ22に保存されたリターンアドレスraddrを参照することにより、例外発生直後の処理に戻ることができる。図3は、本発明の1実施形態に係る例外プログラム制御システムを有するプロセッサ100を概略的に示すブロック図である。プロセッサ100は、キャッシュ110およびMMUMemoryManagementUnit:メモリ管理ユニット120を有し、MMU120はTLB125を備える。プロセッサ100には、分岐処理のための分岐処理部130および命令格納のための命令キュー140の外に、新たに例外をプログラム制御する例外制御部135が提供される。例外制御部135は、BMレジスタ20、VECレジスタ21、RETレジスタ22およびKEYレジスタ23を含むレジスタに加えて、プログラムに設けられる制御指定命令11を処理する制御指定命令処理部30および同じくプログラムに設けられる制御実行命令12を処理する制御実行命令処理部40を含む。制御指定命令処理部30はBM処理部31およびEN処理部32を有する。BM処理部31は、制御指定命令11よりBMで指定される値を取得し、その値に対応付けられる、即ちインデックスされるBMレジスタ20のビットを特定する。EN処理部32は、制御指定命令11よりENで指定される値を取得し、その値をBM処理部31により特定されるBMレジスタ20のビットに設定する。制御実行命令処理部40はBM処理部41、EN判定部42およびKC処理部43を有する。BM処理部41は、制御実行命令12のBMで指定される値を取得し、その値に対応付けられる、即ちインデックスされるBMレジスタ20のビットを特定する。EN判定部42は、BM処理部41により特定されるBMレジスタ20のビットに設定されているENの値を判定し、ENが例外を有効にしない無効にする0であるときには、制御実行命令処理部40は処理を終了する。したがって、例外処理は実行されず、命令キュー140から制御実行命令12が取り除かれる。ENが例外を有効にする1であるときには、制御実行命令処理部40は、BM処理部41により特定されるBMレジスタ20のビットに対応付けられたVECレジスタ21のアドレスaddrを参照し、分岐処理部130によりそのアドレスaddrの例外ハンドラにジャンプして例外処理が実行される。また、制御実行命令処理部40は、例外処理からの復帰のために、制御実行命令12のアドレスに例えば32ビットのRISCCPUでは4を加算した次のアドレスをリターンアドレスraddrとして、RETレジスタ22にセットする。例外処理から復帰するときに、そのリターンアドレスraddrを例外制御部135は分岐処理部130へ提供する。さらに、制御実行命令処理部40では、KC処理部43が、制御実行命令12のKCの値をKEYレジスタ23に保存する。KEYレジスタ23に保存したkcの値を例外制御部135は例外ハンドラに提供して、例外ハンドラではkcの値に応じた処理が行われる。図4は、本発明の1実施形態に係る例外プログラム制御方法を概略的に示すフローチャート200図である。この方法は、図3に示されたような例外がソフトウエアにより制御されるプロセッサ100で実施できる。プロセッサ100において、制御指定命令11が命令キュー140に提供されると開始するステップ201。プロセッサ100は、制御指定命令11よりBMおよびENを取得しステップ202、BMで特定されるBMレジスタ20のビットにENの値を設定しステップ203、終了するステップ204。また、プロセッサ100において、制御実行命令12が命令キュー140に提供されると開始するステップ205。プロセッサ100は、制御実行命令12よりBMおよびKCを取得しステップ206、BMで特定されるBMレジスタ20のビットにあるENの値が1か否かを判定するステップ207。判定がいいえの場合、即ち、そのENの値が1でないとき、制御実行命令12は実行されず、命令キュー140の中で破棄されるステップ208。判定がはいの場合、即ち、そのENの値が1のとき、プロセッサ100は、制御実行命令12のアドレスに例えば32ビットのRISCCPUでは4を加算した次のアドレスをリターンアドレスraddrとして、RETレジスタ22にセットするステップ209。また、プロセッサ100は、KCをKEYレジスタ23にkcとしてセットするステップ210。さらに、プロセッサ100は、BMで特定されるBMレジスタ20のビットに対応付けられたVECレジスタ21のアドレスaddrを参照し、分岐処理部130によりそのアドレスaddrの例外ハンドラにジャンプする、即ち実行を移すステップ211。図5は、本発明の1実施形態に係る例外プログラム制御方法を実施するために作成される1例のプログラム50を概略的に示す。プログラム50には制御実行命令12のexpc命令が設けてある。expc命令は、制御指定命令11のexpen命令により例外を有効にする指定がされているときには、例外を処理する例外ハンドラへ実行が移り、例外ハンドラにより例外が処理されると、expc命令の次へ実行が戻る。しかし、expc命令は、制御指定命令11のexpen命令により例外を有効にしない無効にする指定がされているときには、何もせずに通過され、その次の命令に実行が進む。図6は、本発明の1実施形態に係る例外プログラム制御方法を実施するために作成される別例のプログラム60を概略的に示す。プログラム60は図1に示したプログラムに対応している。タスクBでのif文は不要になり、初期状態では初期化されていないため未初期化、制御指定命令11のexpen201命令により例外を有効にして初期化する関数が初めに呼び出されている。右側に示されたアセンブラ言語レベルでは、制御実行命令12のexpc20512命令が設けてあり、この命令はほとんどの場合はCPUサイクルを消費することなく命令キューの中で破棄され、稀に例外が有効の時にだけ例外ハンドラにジャンプする命令として実行される。expc20512命令の2番目のオペランド512は呼び出し側がどういう条件あるいは目的で例外を発生させたのかを呼び出された側のプログラムで識別するために使用される。ここでは関数番号512の指定のために使われ、初期化関数initが呼び出される。例外ハンドラにおいて、その初期化関数の後方には、初期化されたため初期化済、制御指定命令11のexpen200命令により例外を無効にする指定がされている。このように、従来技術における確認処理のためのコードを実行することなく、リセット状態の時だけ例外割り込みを発生して初期化処理を行わせることができる。図7は、本発明の1実施形態に係る例外プログラム制御方法を実施するために作成されるさらに別例のプログラム70を概略的に示す。これは必要になった時にメモリを割り当てるデマンドページングを一般化して任意のソフトウエアオブジェクトの割り当てを行う例である。左側の従来技術では、ページが存在しない領域にCPUがアクセスしようとするとページフォールトが起きて例外処理の中でメモリが割り当てられる。プログラム70では、startの直後に制御実行命令12のexpc10命令が設けてあり、初回の実行で例外を発生させて、必要なオブジェクト、例えばメモリヒープの実体化と初期化を行う。その後、2回目のexpc命令による例外の呼び出しでは、既にメモリヒープは実体化されている制御指定命令11のexpen命令で例外を無効にされるので、例外は発生しない。この例はメモリヒープについてであるが、メモリだけでなく、任意のソフトウエアリソース、例えば、セマフォ、ミューテックスなどの同期オブジェクトなどの割り当てと初期化も必要に応じて行うことができるようになる。図8は、本発明の1実施形態に係る例外プログラム制御方法を実施するために作成されるさらに別例のプログラム80を概略的に示す。これは不正なコード実行からコードを守るコード保護の仕組みを一般化した例である。左側の従来技術では、非特権モードの時に特権モードのコードを実行するアクセス違反に対して例外割り込みが起きるが、これはメモリのページ単位でコードを守ることしかできない。プログラム80では、制御実行命令12を必要な箇所に設けてピンポイントで例外を発生させることができ、コードの一部をある条件を満たす時の保護領域となし得る、即ち、任意のコード単位で不正な実行に対する例外処理を行える。ただし、従来技術と等価にするにはexpen命令およびBMレジスタを拡張して特権モードと非特権モードに関連付けて状態を別個に保持したり、リード可能かどうかなどの属性を必要であれば別途レジスタなどで保持する必要がある。本発明の場合は、プログラムで任意の条件をアクセス違反と定義して例外の発生を有効にしたり無効にしたりして使用することを想定している。プログラム80では、プログラム実行パスの先頭に制御実行命令12のexpc30命令を設けることにより、指定のコード領域condBの時を例外発生領域にしている。制御指定命令11のexpen31で例外を有効にすることにより、制御実行命令12のexpc3xを含むコード領域はすべて一斉に例外の発生領域となる。その他にも、本発明の1実施形態に係る例外プログラム制御方法を様々に実施することができる。例えば、デバッグ目的でプログラムの実行をトレースする場合である。プログラムのトレースしたい場所に、制御実行命令12のexpc命令を設けておき、例外ハンドラにログ用のコードを記述する。そして、トレースを開始したい時に、制御指定命令11のexpen命令で例外を有効にし、設けておいたexpc命令によりプログラムの実行がトレースされる。また、プロセス間通信の手段として用いる例の場合には、受信側のタスクにexpc命令を設けておき、送信側でexpen命令を実行する。その実行で設けておいたexpc命令が例外ハンドラを起動することにより、受信側はメッセージが送られたことを知る。さらに、システムコールの応用例として、条件が成立する場合だけ実行を行うシステムコールを実現できる。例えば、オープンopen状態にある場合にだけシステムコールを実行するようなリードreadシステムコールを本発明を用いて作成することができる。プログラム次第で様々な応用が可能である。プログラムに設けられる制御指定命令11のexpen命令および制御実行命令12のexpc命令については、例外が発生しない場合にexpc命令はexpen命令以外に他のCPU命令とはレジスタファイルを介して依存関係を持つことはないので、命令パイプラインの中で実行ステージに到達する前に命令キューからexpc命令を削除しても良い。その場合、expc命令を設けなかった場合と比較して、余分なCPUサイクルを消費することなくCPU命令を実行可能である。条件分岐命令の場合には、条件レジスタを更新する命令の実行が完了するまで、分岐するかどうかの判断はできない。一方、expc命令はそのようなレジスタとの依存関係はないので、expen命令が直前にない場合、例外を発生するかどうかは、命令キューに読み込まれてすぐに判断できる。このように、条件分岐命令と比較した場合、分岐判定のための前処理が不要なため、例外が発生しない場合、制御実行命令12のexpc命令は高速に処理される。例外が発生する場合、コンテキストの同期処理が伴うため低速な処理になるかも知れない。そこで、高速な処理が必要な場合は、コンテキストの同期処理を行わず、例外が発生した位置にも戻らないように、つまり無条件分岐命令と同じ動作をするようにしても良い。上記の例の場合には256通りであるが、多数の例外処理を扱えるので、あるものはコンテキストの同期処理を必要とするものとして、また、あるものは高速に分岐処理を行うものとして、それぞれ割り当てることができる。以上、実施態様を用いて本発明の説明をしたが、本発明の技術的範囲は実施態様について記載した範囲には限定されない。実施態様に種々の変更又は改良を加えることが可能であり、そのような変更又は改良を加えた態様も当然に本発明の技術的範囲に含まれる。