"複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部と、前記データ処理部に接続された不揮発性記憶部と、を有し、前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、前記不揮発性記憶部は、前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有し、前記データ処理部によるデータ処理に従って予め前記状態指定コードが格納され、前記データ処理部から所定事象の発生が通知されたとき予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出し、前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。前記不揮発性記憶部は、前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタを有し、前記データ処理部から所定事象の発生が通知されたとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項1記載の半導体装置。前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む、請求項2記載の半導体装置。前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項3記載の半導体装置。前記所定の事象は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、前記不揮発性記憶部は、前記データ処理部から前記電源電圧の所定電圧以下への変化が通知されたとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項3記載の半導体装置。前記所定の事象は所定の割り込み要因又は例外要因であり、前記不揮発性記憶部は、前記データ処理部から前記所定の割り込み要因又は例外要因の発生が通知されたとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項3記載の半導体装置。複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部と、前記データ処理部に接続された不揮発性記憶部と、を有し、前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタと、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第1ルックアップテーブルと、前記状態指定コードを検索キーとする制御データの第2ルックアップテーブルと、を格納する領域を有し、前記データ処理部から所定事象の発生が通知されたとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第1ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出してインタフェース制御部に与え、前記インタフェース制御部は、与えられた制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。前記実行アドレスレジスタはMRAMである、請求項7記載の半導体装置。前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項7記載の半導体装置。前記所定の事象の発生要因は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、前記不揮発性メモリ部は、前記所定電圧以下への変化による割り込み要因の発生が前記データ処理部から通知されたとき、前記実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを取得して前記インタフェース部に出力する、請求項7記載の半導体装置。前記所定の事象の発生要因は所定の割り込み要因又は例外要因であり、前記不揮発性記憶部は、前記所定の割り込み要因又は例外要因の発生が前記データ処理部から通知されると、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する、請求項7記載の半導体装置。複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部と、前記データ処理部に接続された不揮発性記憶部と、を有し、前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、前記不揮発性記憶部は前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有し、前記データ処理部は、データ処理に従って予め前記状態指定コードを不揮発性記憶部に格納し、所定の事象の発生が通知されたとき、前記不揮発性記憶部に予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出し、前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。前記不揮発性記憶部は前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタを有し、前記データ処理部は所定事象の発生を検出したとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項12記載の半導体装置。前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む、請求項13記載の半導体装置。前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項14記載の半導体装置。前記所定の事象は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、前記データ処理部は電源検出器の出力により前記電源電圧の所定電圧以下への変化を判別したとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項14記載の半導体装置。前記所定の事象は所定の割り込み要因又は例外要因であり、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項14記載の半導体装置。複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部と、前記データ処理部に接続された不揮発性記憶部と、を有し、前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタと、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第1ルックアップテーブルと、前記状態指定コードを検索キーとする制御データの第2ルックアップテーブルと、を格納する領域を有し、前記データ処理部は、所定の事象が発生したとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第1ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出し、前記インタフェース制御部は、読み出された制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。前記実行アドレスレジスタはMRAMである、請求項18記載の半導体装置。前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項18記載の半導体装置。前記所定の事象の発生要因は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、前記データ処理部は前記所定電圧以下への変化を要因とする割り込み処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する、請求項18記載の半導体装置。前記所定の事象の発生要因は所定の割り込み要因又は例外要因であり、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを取得して前記インタフェース部に出力する、請求項18記載の半導体装置。データ処理を行う第1半導体装置と、前記第1半導体装置に接続されてその制御を受ける第2半導体装置とを有するデータ処理システムであって、前記第1半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理毎の状態に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の処理毎に不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定し、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定し、前記第2半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第1半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する、データ処理システム。データ処理を行う第1半導体装置と、前記第1半導体装置に接続されてその制御を受ける第2半導体装置とを有するデータ処理システムであって、前記第1半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理のプログラム範囲及びその範囲のプログラムの実行中に想定される所定事象の発生要因に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の進行に伴って不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定し、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定し、前記第2半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第1半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する、データ処理システム。特許文献1に記載の技術は電源投入時の初期化動作において入出力ポートの初期状態を決定するものであり、一度状態が決定されれば、その状態は電源が遮断されるまで維持される。初期設定後の変更については特に考慮されていない。本発明者は、電源投入時の初期化だけでなく、割り込みや例外の発生、電源電圧の不所望な低下等の事象がデータ処理途上で発生したとき、それに応じてモード端子や制御端子などの外部端子の入出力状態をプログラマブルに制御することについて検討した。即ち、半導体装置が実行するプログラムの種類毎、さらには発生した異常の種類毎など、状況に合わせて所望の外部端子の状態を固定できるようにすることがシステム構成さらにはシステム動作の柔軟性を高めることが可能になると認識した。特許文献1ではそのような観点について全く着眼されていない。本発明の目的は、実行するプログラムの種類又は発生する異常の種類などの、動作開始後の状況に合わせて外部端子の状態をプログラムブルに設定することができる半導体装置を提供することにある。本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、プログラム処理回路によるデータ処理状態、前記プログラム処理回路が実行するプログラム若しくはデータ処理の種類、あるいはデータ処理による異常の種別毎に、異常発生時の入出力端子の端子状態を制御する制御データを予め不揮発性記憶部に保存し、プログラム実行前若しくはプログラムの実行時に逐次に不揮発性記憶部に前記制御データを特定する検索キーを設定する。異常が発生した場合は、当該検索キーに基づいて参照された制御データに従って、入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、実行するプログラムの種類又は発生する異常の種類などの、動作開始後の状況に合わせて外部端子の状態をプログラマブルに固定することができる。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。1.実施の形態の概要先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。1<所定事象発生時の内部状態に応じた外部端子の設定、ハード依存>本発明の代表的な実施の形態に係る半導体装置100は、複数個の外部端子106と、前記外部端子に接続されたインタフェース部105と、前記インタフェース部を制御するインタフェース制御部132と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部101と、前記データ処理部に接続された不揮発性記憶部140と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路110と、所定の前記外部端子に入力端子が接続された入力バッファ回路111と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路112とを有する。前記不揮発性記憶部は、前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブル141を格納する領域を有し、前記データ処理部によるデータ処理に従って予め前記状態指定コードが格納され、前記データ処理部から所定事象の発生が通知されたとき前記データ処理に従って予め格納された前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出す。前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。これにより、ルックアップテーブルを用意し、データ処理部によるデータ処理に従って予め状態指定コードを格納し、異常発生時などには当該状態指定コードを用いてルックアップテーブルを参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、検索キーを用いたルックアップテーブルの検索と検索した制御データの入出力制御回路への供給を不揮発性記憶部が自立的に行うから、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。2<予め不揮発性レジスタに格納された状態指定コードを異常発生時に用いる>項1の半導体装置において、前記不揮発性記憶部は、前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタ143を有し、前記データ処理部から所定事象の発生が通知されたとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。これによれば、データ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性の状態指定コードレジスタにあらかじめ書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。3<データ処理部がデータ処理の一環として不揮発性のレジスタに制御コードをセット>項2の半導体装置において、前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む。これによれば、データ処理部はデータ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性記憶部に書き込む操作を負担すればよい。4<トライステート出力バッファをHiZにして端子状態を設定>項3の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を安定化させることが容易になる。5<電源電圧低下に応じた端子状態の設定>項3の半導体装置において、前記所定の事象が電源検出器152によって検出される電源電圧の所定電圧以下への変化であるとき、前記不揮発性記憶部は、前記データ処理部から前記電源電圧の所定電圧以下への変化が通知されることにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。6<所定の割り込み要因又は例外要因に応じた端子状態の設定>項3の半導体装置において、前記所定の事象が所定の割り込み要因又は例外要因であるとき、前記不揮発性記憶部は、前記データ処理部から前記所定の割り込み要因又は例外要因の発生が通知されることにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。7<所定事象発生時の命令実行アドレスと当該事象発生要因に基づく外部端子の設定、ハード依存>本発明の別の実施の形態に係る半導体装置200は、複数個の外部端子106と、前記外部端子に接続されたインタフェース部105と、前記インタフェース部を制御するインタフェース制御部132と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部201と、前記データ処理部に接続された不揮発性記憶部240と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路110と、所定の前記外部端子に入力端子が接続された入力バッファ回路111と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路112とを有する。前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタ243を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第1ルックアップテーブル244と、前記状態指定コードを検索キーとする制御データの第2ルックアップテーブル241と、を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部から所定事象の発生が通知されたとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第1ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出してインタフェース制御部に与える。前記インタフェース制御部は、与えられた制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。これにより、第1及び第2ルックアップテーブルを予め不揮発性メモリ部に用意し、データ処理の進行とともに実行アドレスレジスタの情報を実行アドレスのアドレス情報に書き換えてゆき、異常発生時などにはその実行アドレス情報に基づいて第1及び第2ルックアップテーブルを参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、第1及び第2ルックアップテーブルを用いた制御データの検索と検索した制御データの入出力制御回路への供給を不揮発性記憶部が自立的に行うから、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。8<MRAMで構成された実行アドレスレジスタ>項7の半導体装置において前記実行アドレスレジスタはMRAMMagnetoresistiveRandomAccessMemoryである。命令実行サイクルに同期した命令アドレスの高速な書き換えが可能である。9<トライステート出力バッファをHiZにして端子状態を設定>項7の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を容易に安定化させることが可能になる。10<電源電圧低下に応じた端子状態の設定>項7の半導体装置において、前記所定の事象の発生要因が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記不揮発性メモリ部は、前記所定電圧以下への変化による割り込み要因の発生が前記データ処理部から通知されることにより、前記実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを取得して前記インタフェース部に出力する。電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。11<所定の割り込み要因又は例外要因に応じた端子状態の設定>項7の半導体装置において、前記所定の事象の発生要因が所定の割り込み要因又は例外要因であるとき、前記不揮発性記憶部は、前記所定の割り込み要因又は例外要因の発生が前記データ処理部から通知されると、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する。所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。12<所定事象発生時の内部状態に応じた外部端子の設定、ソフト依存>本発明の更に別の形態に係る半導体装置300は、複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部101Aと、前記データ処理部に接続された不揮発性記憶部140Aと、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有する。前記不揮発性記憶部は前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有する。前記データ処理部は、データ処理に従って予め前記状態指定コードを不揮発性記憶部に格納し、所定の事象の発生が通知されたとき、前記不揮発性記憶部に予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出す。前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。項12の半導体装置は項1の半導体装置に比べて状態指定コードによるルックアップテーブルの検索をデータ処理部で行う点が相違される。したがって、不揮発性記憶部は状態指定コードによるルックアップテーブルの検索機能を備えることを要せず、データ処理部を流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもデータ処理部の健全性が担保されていることが前提となり、所定事象発生によってデータ処理部のデータ処理が還元に不能になるような事象の発生には対応することができない。その他の点ついては項1と同様の作用効果を奏する。13<予め不揮発性レジスタに格納された状態指定コードを異常発生時に用いる>項12の半導体装置において、前記不揮発性記憶部は前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタ143を有する。前記データ処理部は所定事象の発生を検出したとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。これによれば、データ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性の状態指定コードレジスタにあらかじめ書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。14<データ処理部がデータ処理の一環として不揮発性のレジスタに制御コードをセット>項13の半導体装置において、前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む。これによれば、データ処理部はデータ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性記憶部に書き込む操作を負担すればよい。15<トライステート出力バッファをHiZにして端子状態を設定>項14の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を安定化させることが容易になる。16<電源電圧低下に応じた端子状態の設定>項14の半導体装置において、前記所定の事象が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記データ処理部は電源検出器の出力により前記電源電圧の所定電圧以下への変化を判別することにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。17<所定の割り込み要因又は例外要因に応じた端子状態の設定>項14の半導体装置において、前記所定の事象が所定の割り込み要因又は例外要因であるとき、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。18<所定事象発生時の命令実行アドレスと当該事象発生要因に基づく外部端子の設定、ソフト依存>本発明の更に別の形態に係る半導体装置400は、複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部201Aと、前記データ処理部に接続された不揮発性記憶部240Aと、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有する。前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタ243を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第1ルックアップテーブル244と、前記状態指定コードを検索キーとする制御データの第2ルックアップテーブル241と、を格納する領域を有する。前記データ処理部は、所定の事象が発生したとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第1ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出す。前記インタフェース制御部は、読み出された制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。項18の半導体装置は項7の半導体装置に比べて命令アドレスに基づく第1及び第2ルックアップテーブルの検索をデータ処理部で行う点が相違される。したがって、不揮発性記憶部は命令アドレスによる第1ルックアップテーブルの検索機能及び状態指定コードによる第2ルックアップテーブルの検索機能を備えることを要せず、データ処理部を流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもデータ処理部の健全性が担保されていることが前提となり、所定事象発生によってデータ処理部のデータ処理が完全不能になるような事象の発生には対応することができない。その他の点については項7と同様の作用効果を奏する。19<MRAMで構成された実行アドレスレジスタ>項18の半導体装置において前記実行アドレスレジスタはMRAMである。命令実行サイクルに同期した命令アドレスの高速な書き換えが可能である。20<トライステート出力バッファをHiZにして端子状態を設定>項18の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を用意に安定化させることが可能になる。21<電源電圧低下に応じた端子状態の設定>項18の半導体装置において、前記所定の事象の発生要因が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記データ処理部は前記所定電圧以下への変化を要因とする割り込み処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する。電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。22<所定の割り込み要因又は例外要因に応じた端子状態の設定>項18の半導体装置において、前記所定の事象の発生要因が所定の割り込み要因又は例外要因であるとき、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第1ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第2のルックアップテーブルから制御データを取得して前記インタフェース部に出力する。所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。23<異常発生時のデータ処理状態に応じて外部端子を設定するシステム>本発明の更に別の実施の形態に係るデータ処理システムは、データ処理を行う第1半導体装置100,300と、前記第1半導体装置に接続されてその制御を受ける第2半導体装置500~502とを有する。前記第1半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理毎の状態に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の処理毎に不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定する。前記第1半導体装置は、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。前記第2半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第1半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する。これにより、第1半導体装置は実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに固定することができる。したがって、第1半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該第1半導体装置の外部端子に接続された第2半導体装置の状態、更には第1半導体装置自らの状態を所要の状態に制御することができ、異常発生時におけるデータ処理システムの状態をプログラマブルに決定することが可能になる。24<異常発生時の発生要因と実行プログラムアドレスに応じて外部端子を設定するシステム>本発明の更に別の実施の形態に係るデータ処理システムは、データ処理を行う第1半導体装置200,400と、前記第1半導体装置に接続されてその制御を受ける第2半導体装置600~606とを有する。前記第1半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理のプログラム範囲及びその範囲のプログラムの実行中に想定される所定事象の発生要因に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の進行に伴って不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定する。前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。前記第2半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第1半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する。項23のデータ処理システムに対して第1半導体装置は異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理状態だけでなく異常の種別にも応じて制御するための制御データを不揮発性メモリ部に保存する点が相違され、その相違点故に、項23よりもきめ細かく外部端子の状態をプログラマブルに設定することが可能である。2.実施の形態の詳細実施の形態について更に詳述する。《実施の形態1》図1には本発明の一実施の形態に係る半導体装置が例示される。同図に示される半導体装置100は特に制限されないが公知のCMOS集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。半導体装置は外部電源電圧Vextとグランド電圧Vssを受けて動作電源とする。半導体装置100はシステムオンチップのシステムLSI又はマイクロコンピュータのようなプログラム処理機能を備えたデータ処理デバイスとして構成される。半導体装置100のデータ処理部としてのコアロジックCRLGC101は、特に制限されないが、命令を実行するCPU中央処理装置、CPUで処理可能なデータ処理機能の一部を負担するアクセラレータ、CPU等のワーク領域として利用されるRAM、及びタイマやDMACダイレクトメモリアクセスコントローラなどのCPUの周辺回路を備える。コアロジック101のCPUはメモリバス103を介して接続されたプログラムメモリ102から命令をフェッチして実行する。図1には代表的に一つの外部インタフェース部EXIF105が例示される。外部インタフェース部105には対応する外部端子106が接続される。外部インタフェース部105は、対応する外部端子106に出力端子が接続されたトライステート出力バッファ回路110、前記外部端子106に入力端子が接続された入力バッファ回路111、端子状態設定回路112、及びトライステート出力バッファ回路110のイネーブル信号生成回路113を備える。端子状態設定回路112は、前記外部端子106に接続され選択スイッチ120を介して当該外部端子106を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する。プルアップの状態は選択スイッチ120で外部端子106を電源電圧Vextに接続して達成される。プルダウンの状態は選択スイッチ120で外部端子106をグランド電圧Vssに接続して達成される。オープンの状態は選択スイッチ120で外部端子106をフローティングノードNCに接続して達成される。前置保持の状態は選択スイッチ120で外部端子106をスタティックラッチSLATに接続して達成される。トライステート出力バッファ回路110が出力動作可能にされるときは選択スイッチ120はオープン状態を選択する。端子状態設定回路112によって外部端子106をプルアップ、プルダウン、オープン又は前値保持の状態に設定するときトライステート出力バッファ回路110はハイインピーダンス状態にされる。イネーブル信号生成回路113はトライステート出力バッファ回路110を出力動作可能にするとき選択スイッチ121を介して出力イネーブル信号122をハイレベルに、出力動作不可能にするとき選択スイッチ121を介して出力イネーブル信号122をローレベルにする。インタフェース制御部IFCNT132は選択スイッチ120のスイッチ制御信号130、選択スイッチ121のスイッチ制御信号131を生成する。インタフェース制御部132に対するスイッチ制御の指示はコアロジック101又は不揮発性記憶部140が与える。コアロジック101は、パワーオンリセット若しくはシステムリセットが解除されると、スイッチ制御信号131によって端子状態設定回路112にはフローティングノードNCを選択させる。プログラムメモリ102に格納されているプログラムにしたがったデータ処理動作によって外部端子106から出力動作を行うときはスイッチ制御信号130によりイネーブル信号生成回路113にトライステート出力バッファ回路110による出力動作可能な状態を選択させる。入力動作を行うときはスイッチ制御信号130によりイネーブル信号生成回路113にトライステート出力バッファ回路110のハイインピーダンス状態を選択させる。尚、外部インタフェース部105、外部端子106及びインタフェース制御部132は、特に図示はしないが、半導体装置100に必要な分だけ多数配置されているものと理解されたい。不揮発性記憶部140は半導体装置において所定事象の発生が検出されたとき外部端子106の状態を所定の状態に規制するための制御データの記憶と読み出し制御とを行う。以下その構成について詳述する。不揮発性記憶部140は、電気的に書き換え可能な不揮発性メモリを主体に構成され、不揮発性メモリ領域にはルックアップテーブル141と状態指定コードレジスタICREG143が格納され、それらに対する消去及び書き込み制御及び記憶情報の読み出し制御を行うためのタイミングコントローラTMGCNT142を備える。ルックアップテーブル141は、106に代表される外部端子の状態を指定するための状態指定コードを検索キーとして複数の制御データを格納する。状態指定コードはコアロジック101の内部状態、更には半導体装置100のその他の状態を想定して予め決定しておく。ここで、そのような想定すべき状態とは、コアロジック101によるデータ処理によって引き起こされた割り込みや例外などの状態だけでなく、外部入力端子150を介して外部から入力される特定の信号151によって通知されることによってコアロジック101の内部に発生する状態例えば外部割込み要求による割り込み発生状態である。電源検出器LVD152による外部電源電圧Vextの不所望なレベル低下の検出信号153で通知されることによってコアロジック101の内部に発生する状態なども考慮する。個々の内部状態毎に前記状態指定コードが割り当てられる。図1では状態1,状態2,...が状態指定コードを意味し、状態指定コード毎に端子1,端子2,...に対応する制御データD11,D12,...が格納される。例えば外部端子106の制御データは状態1のときD11、状態2のときD21となる。ルックアップテーブル141の書き込みは、リセット解除に応答してCPUが外部からダウンロードしてメモリバス103経由で不揮発性メモリ部140に書き込んでも良いし、半導体装置の製造段階で予め書き込んでおき、必要に応じて書き換えるようにしてもよい。状態指定コードレジスタICREG143にはCPUが実行するプログラムに従ってメモリバス103経由で状態指定コードが書き込まれる。例えばイベントドリブン方式でプログラムを実行するような場合を想定すると、イベントに応じた個々のプログラムの実行開始毎に、夫々のプログラム実行で発生が想定される異常に対応するための状態指定コードを状態指定コードレジスタ143に書き込んでおく。コアロジック101はプログラムの実行、外部からの通知、電源電圧低下の通知などによって所定の内部状態の発生を検出すると、この検出信号155がタイミングコントローラ142に与えられる。これに応答してタイミングコントローラ142はそのとき状態指定コードレジスタ143にセットされている状態指定コードに一致する状態の制御データをルックアップテーブル141から検索し、検索した制御データをそれぞれ対応するインタフェース制御部132に与える。これによってインタフェース制御回路132は与えられた制御データにしたがって、トライステート出力バッファ回路110をハイインピーダンスにしてから、端子状態設定回路112によって対応する外部端子106をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。図2には半導体装置100のデータ処理動作に伴う不揮発性記憶部140の動作タイミングが例示される。ここではコアロジック101のCPUがプログラムA、B、Cの順に実行する場合を想定する。プログラムAを実行するときその先頭でCPUは状態指定コードレジスタICREG143に状態1に応ずる状態指定コードをメモリバス103経由で書き込むS1。ここで、状態1はプログラムAの実行中に発生が想定される所定事象所定の異常の発生に対応される状態指定コードである。これに続いてCPUはプログラムAの実行を継続し、例えば割り込みINT1が発生することによってCPUは退避動作を行ってプログラムBの実行に遷移する。プログラムBを実行するときその先頭でCPUは状態指定コードレジスタICREG143に状態2に応ずる状態指定コードをメモリバス103経由で転送して書き換えるS2。ここで、状態2はプログラムBの実行中に発生が想定される所定事象所定の異常の発生に対応される状態指定コードである。これに続いてCPUはプログラムBの実行を継続し、実行完了によってもとのプログラムAの実行状態に復帰する。プログラムAの実行状態に復帰するときCPUは状態指定コードレジスタICREG143に状態1に応ずる状態指定コードをメモリバス103経由で転送して書き換えるS3。CPUはプログラムAの実行を完了すると、次のプログラムCの実行に移る。プログラムCを実行するときその先頭でCPUは状態指定コードレジスタICREG143に状態3に応ずる状態指定コードをメモリバス103経由で転送して書き換えるS4。ここで、状態3はプログラムCの実行中に発生が想定される所定事象所定の異常の発生に対応される状態指定コードである。これに続いてCPUはプログラムCの実行を継続する。その途上で状態3に応ずる異常が発生するとS5、不揮発性記憶部140が状態3に応ずる各端子の制御データを対応するインタフェース制御部132に与え、インタフェース制御部132はその制御データに従って対応する外部端子106の状態をインタフェース回路105経由でプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に固定するS6。図3には半導体装置100を用いたデータ処理システムが例示される。半導体装置LSI100にはその外部端子を介して別の半導体装置IC1、IC2,IC3500,501,502が接続される。図においてIO0~IO7のそれぞれは半導体装置100の外部端子と対応するインタフェース回路を意味する。半導体装置LSI100は別の半導体装置500,501,502と信号の入出力を行ってそれらを制御する。特に半導体装置IC2501はリセットICとされる。図4には図3のデータ処理システムの動作タイミングが例示される。ここでは、所定事象の発生によって状態が固定される外部端子の状態を他の半導体装置が入力してその動作モードを決定する場合を例示する。時刻t0でCPUは状態指定コードレジスタICREG143に状態xに応ずる状態指定コードを書き込んでプログラム、例えば演算量の多いプログラムを実行する。そのプログラムの実行途上において時刻t1でCPUに状態xに応ずるエラーが発生され、CPUの状態が不安定になる。時刻t1までのCPUの安定状態では半導体装置IC1500と半導体装置IC3502は所定のオペレーションを行い、半導体装置IC2501はリセット信号をリセット解除状態で出力しているものとする。時刻1でエラーが発生すると、半導体装置100はIO1、IO2、IO3の外部端子をそれぞれLローレベル、Hハイレベル、Hハイレベルに固定する。この状態を受ける半導体装置IC1500は自己診断モードに遷移する。例えばその診断結果を半導体装置IC2501が受け取ることによって時刻t2にリセットを発行し、これによって半導体装置100,500,502のシステムリセットが行われ、時刻t3でシステムリセットが解除されることによってそれ以降、半導体装置100、500、502は所定のオペレーションが可能にされる。尚、図4の例では半導体装置IC3502に対してエラー発生による外部端子固定機能は非活性にされているものとした。図5には半導体装置100を用いたデータ処理システムが例示される。基本的な構成は図3と同様であるが、ここでは、所定事象の発生によって状態が固定される外部端子の状態を半導体装置100自らが入力して自らの状態を規定する場合を例示する。ここの趣旨にしたがって半導体装置100の内部には外部端子IO5,IO6については入力バッファ回路111と端子状態設定回路112の一部を図示してある。図6には図5のデータ処理システムの動作タイミングが例示される。ここでは、所定事象の発生によって状態が固定される外部端子IO5,IO6の状態を半導体装置100自らが入力バッファ回路111から入力して自らの状態を規定する場合を例示する。時刻t0でCPUは状態指定コードレジスタICREG143に状態xに応ずる状態指定コードを書き込んでプログラム、例えば演算量の多いプログラムを実行する。そのプログラムの実行途上において時刻t1でCPUに状態xに応ずるエラーが発生され、CPUの状態が不安定になる。時刻t1までのCPUの安定状態では半導体装置IC1500と半導体装置IC3502は所定のオペレーションを行い、半導体装置IC2501はリセット信号をリセット解除状態で出力しているものとする。時刻1でエラーが発生すると、半導体装置100はIO1、IO2、IO3の外部端子をそれぞれLローレベル、Hハイレベル、Hハイレベルに固定し、且つ、IO5の外部端子をプリアップとし、IO6の外部端子をプルダウンに固定する。この状態を受ける半導体装置IC1500は自己診断モードに遷移する。半導体装置IC3502はIO5,IO6に対応する外部端子をそれぞれハイインピーダンスにするが、半導体装置LSI100は、IO5,IO6に対する外部端子から入力バッファ回路111への入力がフローティングにされることによって不定になるのを自ら抑制しながら内部状態を維持する。この間に半導体装置IC1500による診断結果を半導体装置IC2501が受け取ることによって時刻t2にリセットを発行し、これによって半導体装置100,500,502のシステムリセットが行われ、時刻t3でシステムリセットが解除されることによってそれ以降、半導体装置100、500、502は所定のオペレーションが可能にされる。実施の形態1によれば以下の作用効果を得る。1ルックアップテーブル141を用意し、コアロジック101によるデータ処理に従って予め状態指定コードを状態指定コードレジスタ143に格納し、異常発生時などには当該状態指定コードを用いてルックアップテーブル141を参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、ルックアップテーブル141の検索と検索した制御データの入出力制御回路132への供給を不揮発性記憶部140が自立的に行うから、その処理には所定事象発生時にコアロジック101の健全性を担保しておくことを要しない。したがって、半導体装置100が認識した異常やそのとき当該半導体装置100が実行中のプログラムに応じて、当該半導体装置100の外部端子106に接続された回路500,501,502の状態、更には当該半導体装置100自らの状態を所要の状態に制御することができる。2実行するプログラムもしくは処理毎にそれに対応する所定事象発生時の状態指定コードを最初に不揮発性の状態指定コードレジスタ143に書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。3コアロジック101は実行するプログラム若しくは処理毎にそれに対応する所定事象発生時の状態指定コードを状態指定コードレジスタ143に書き込む操作を負担すればよい。4制御データに従ってトライステート出力バッファ110をハイインピーダンスにして前記端子状態設定回路112をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定するから、所定の事象が発生したときトライステート出力バッファ110がどの状態にあっても、制御データが指示する状態に外部入出力端子106を安定化させることが容易になる。5電源検出器152によって検出される電源電圧の所定電圧以下への変化、所定の割り込み要因又は例外要因の発生だけでなく、電源上昇検出、PLL回路のロックはずれ、水晶発振の発振停止検出などの異常の種類に応じて、外部端子の状態をプログラマブルに設定することができる。6不揮発性記憶部にMRAMのような高速に書き換え可能な記憶形式を採用することにより、処理プログラムが変わる毎に状態指定コードを書き換えるために、フラッシュメモリに必要とされるような数100マイクロ秒というような時間を費やすことを要しない。従って、リアルタイム性を要するシステムにも好適である。《実施の形態2》図7には本発明の第2の実施の形態に係る半導体装置が例示される。同図に示される半導体装置200は図1に比べて不揮発性記憶部の構成とその制御手法が相違される。半導体装置200はシステムオンチップのシステムLSI又はマイクロコンピュータのようなプログラム処理機能を備えたデータ処理デバイスとして構成される。半導体装置200のデータ処理部としてのコアロジックCRLGC201は、特に制限されないが、命令を実行するCPU中央処理装置、CPUで処理可能なデータ処理機能の一部を負担するアクセラレータ、CPU等のワーク領域として利用されるRAM、及びタイマやDMACダイレクトメモリアクセスコントローラなどのCPUの周辺回路を備える。コアロジック201のCPUはメモリバス103を介して接続されたプログラムメモリ102から命令をフェッチして実行する。図7には代表的に一つの外部インタフェース部EXIF105が例示される。外部インタフェース部105には対応する外部端子106が接続される。外部インタフェース部105の構成は図1と同様である。外部インタフェース部105を制御するインタフェース制御部IFCNT132についても図1と同様に構成される。インタフェース制御部132に対するスイッチ制御の指示はコアロジック201又は不揮発性記憶部240が与える。コアロジック201は、パワーオンリセット若しくはシステムリセットが解除されると、スイッチ制御信号131によって端子状態設定回路112にはフローティングノードNCを選択させる。プログラムメモリ102に格納されているプログラムにしたがったデータ処理動作によって外部端子106から出力動作を行うときはスイッチ制御信号130によりイネーブル信号生成回路113にトライステート出力バッファ回路110による出力動作可能な状態を選択させる。入力動作を行うときはスイッチ制御信号130によりイネーブル信号生成回路113にトライステート出力バッファ回路110のハイインピーダンス状態を選択させる。尚、外部インタフェース部105、外部端子106及びインタフェース制御部132は、特に図示はしないが、半導体装置100に必要な分だけ多数配置されているものと理解されたい。不揮発性記憶部240は半導体装置において所定事象の発生が検出されたとき外部端子106の状態を所定の状態に規制するための制御データの記憶と読み出し制御とを行う。以下その構成について詳述する。不揮発性記憶部240は、電気的に書き換え可能な不揮発性メモリを主体に構成され、不揮発性メモリ領域には第1ルックアップテーブ244、第2ルックアップテーブル241、実行アドレスレジスタEAREG243が格納され、それらに対する消去及び書き込み制御及び記憶情報の読み出し制御を行うためのタイミングコントローラTMGCNT242を備える。第1ルックアップテーブル244は、データ処理部としてのコアロジック201が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けたテーブルである。プログラムの実行中に想定される所定事象とは、コアロジック201の内部状態、更には半導体装置200のその他の状態を想定して決定される。ここで、そのような想定すべき状態とは、コアロジック201によるデータ処理によって引き起こされた割り込みや例外などの状態だけでなく、外部入力端子150を介して外部から入力される特定の信号151によって通知されることによってコアロジック201の内部に発生する状態例えば外部割込み要求による割り込み発生状態である。また、電源検出器LVD152による外部電源電圧Vextの不所望なレベル低下の検出信号153で通知されることによってコアロジック201の内部に発生する状態なども考慮する。ここでは、所定事象の発生要因として、割り込みや例外などの要因を想定する。実行するプログラムアドレス範囲は例えば開始アドレスと終了アドレスによって、或いは開始アドレスとプログラムサイズなどによって特定することができる。図7において第1ルックアップテーブル244は、プログラムの開始アドレスSAと終了アドレスEで特定されるプログラム毎にその実行途上で発生することが想定される割り込みや例外などの異常要因に対応する内部状態に則して状態指定コードを保持する。図では状態指定コードを状態1、状態8、状態3のように例示してある。第2ルックアップテーブル241はルックアップテーブル141と同様に構成され、外部端子の状態を指定するための状態指定コードを検索キーとして複数の制御データを格納する。図では状態1,状態2,...が状態指定コードを意味し、状態指定コード毎に端子1,端子2,...に対応する制御データD11,D12,...が格納される。例えば外部端子106の制御データは状態1のときD11、状態2のときD21となる。ルックアップテーブル241、244の書き込みは、リセット解除に応答してCPUが外部からダウンロードしてメモリバス103経由で不揮発性メモリ部240に書き込んでも良いし、半導体装置の製造段階で予め書き込んでおき、必要に応じて書き換えるようにしてもよい。実行アドレスレジスタEAREG243はコアロジック201のCPUによる現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性のレジスタである。例えば、実行アドレスレジスタ243にはCPUが実行する命令のアドレス、例えばCPUのプログラムカウンタの値が専用信号線257から実行アドレスレジスタ243に直接与えられて書き込まれる。メモリバス103経由で書き込むようにすることも可能である。したがって、CPUの命令実行サイクルに対して実行アドレスレジスタ243への実行アドレスの書き込みは高速に行うことが必要になるから、不揮発性メモリ部240はフラッシュメモリよりもMRAMのように書き込みアクセス速度の速いメモリを用いることが得策である。また、実行アドレスレジスタ243に格納する実行アドレスは、プログラムの境界アドレスを特定できる上位側のアドレス情報に限定することも可能である。コアロジック201はプログラムの実行、外部からの通知、電源電圧低下の通知などによって所定の内部状態の発生を検出すると、その検出信号255とその内部状態の発生要因256とをタイミングコントローラ242に与える。これに応答してタイミングコントローラ242は、そのとき実行アドレスレジスタ243にセットされている命令アドレスを含むプログラムアドレス範囲の状態エントリを第1ルックアップテーブル244から参照し、当該状態エントリの中から、そのときの異常発生要因に応ずる状態指定コードを抽出する。更にタイミングコントローラ242は抽出した状態指定コードに一致する状態の制御データを第2ルックアップテーブル241から検索し、検索した制御データをそれぞれ対応するインタフェース制御部132に与える。これによってインタフェース制御回路132は与えられた制御データにしたがって、トライステート出力バッファ回路110をハイインピーダンスにしてから、端子状態設定回路112によって対応する外部端子106をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。図8には半導体装置200のデータ処理動作に伴う不揮発性記憶部140を用いた動作タイミングが例示される。ここではコアロジック201のCPUがプログラムA、プログラムB、Cの順に実行する場合を想定する。不揮発性メモリ部240の実行アドレスレジスタ243はCPUが現在実行する命令のアドレスを逐次受け取って保持する。従って実施の形態1で説明したようにプログラムの先頭でCPUが状態指定コードレジスタ143に対応する状態指定コードを書き込む処理は必要とされない。プログラムCの実行途上で異常、例えば電源異常が発生すると、それに応ずる割り込み要因と異常発生がタイミングコントローラ242に通知されることにより、そのとき実行アドレスレジスタ243が保有するアドレス情報によって第1ルックアップテーブル244が参照されて状態指定コードが取得され、これによって第2ルックアップテーブル241からインタフェース制御部132に制御データが供給される。これによってインタフェース制御部132はその制御データに従って対応する外部端子106の状態をインタフェース回路105経由でプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に固定する。図9には半導体装置200を用いたデータ処理システムが例示される。半導体装置200はマスタマイコンとされ、その外部端子を介して別の半導体装置として、リセットIC600、通信先マイコン601、センサ602、センサ603、周辺IC604、サブマイコン605、及び電源IC606が接続される。例えばこのデータデータ処理システムでマスタマイコンが暴走したとき、これに接続されている回路に対して、動作中のプログラムや動作状態に応じてマスタマイコン200の外部端子の状態をプログラマブルに固定する場合を一例にその動作を説明する。例えば、ある動作状態においてマスタマイコン200が暴走したとき、リセットIC600に対してリセット発行フラグを供給しI1、電源IC606には自己診断及び電源復帰命令を発行しI2、周辺IC604には現状保持を指示するI3、場合について想定する。このとき第1ルックアップテーブル244は図10の記憶情報を有し、第2ルックアップテーブル241は図11の記憶情報を有する。図10においてA2~A3のアドレス範囲においてリセット例外を異常発生の要因とするとき状態指定コードには状態2が設定されている。図11では状態2における外部端子PA0~Pxxの制御データには、Hiz,Pull-up,Pull-Down,...,Pull-Downが設定されている。外部端子PA1はリセット発行フラグの出力端子、外部端子PA2は自己診断及び電源復帰命令の出力端子、Pxxは周辺IC604に対する現状保持の指示端子に割りあてられる。マスタマイコン200がA2~A3のアドレス範囲のプログラムを実行しているとき、リセット例外が発生すると、図10の第1ルックアップテーブル244と図11の第2ルックアップテーブル241の記憶情報に従ってたとえばリセットIC600に対してリセット発行フラグを供給しI1、電源IC606には自己診断及び電源復帰命令を発行I2する。これにより、周辺IC604には現状保持を指示するI3ために必要な外部端子PA1,PA2,PAxxの状態が生成される。実施の形態2によれば以下の作用効果を得る。第1及び第2ルックアップテーブル244,241を予め不揮発性メモリ部240に用意し、データ処理の進行とともに実行アドレスレジスタ240の情報を実行アドレスのアドレス情報に書き換えてゆき、異常発生時などにはその実行アドレス情報に基づいて第1及び第2ルックアップテーブル244,241を参照するから、実行するデータ処理状況に合わせて外部端子106の状態をプログラムブルに設定することができる。特にプログラムアドレスに基づいて制御データを指定することができ、更に2個のルックアップテーブル244,241を用いて制御データの参照を行うから、外部端子に対して更に柔軟に状態設定を行うことができる。特に、第1及び第2ルックアップテーブル244,241を用いた制御データの検索と検索した制御データの入出力制御回路132への供給を不揮発性記憶部240が自立的に行うから、実施の形態1と同様に、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置200が認識した異常やそのとき当該半導体装置100が実行中のプログラムに応じて、当該半導体装置100の外部端子106に接続された周辺回路600~606の状態、更には当該半導体装置100自らの状態を所要の状態に制御することができる。その他、実施の形態1と同様の作用効果を奏する。《実施の形態3》図12には本発明の第3の実施の形態に係る半導体装置300が例示される。実施の形態1との相違点は、所定事象が発生したとき状態指定コードレジスタ143のアドレス情報を用いたルックアップテーブル141の参照主体がコアロジック101Aであるという点である。そのような参照を不揮発性記憶部140Aが自立的におこなうことを要しないから実施の形態1における所定事象の検出信号155を不揮発性メモリ部140Aに与える必要はない。不揮発性記憶部140Aの内部タイミング制御はタイミングコントローラ142Aが行う。例えば、割り込みや例外などの所定の事象が発生したとき、コアロジック101Aはメモリバス103を介して状態指定コードレジスタ143のアドレス情報をリードし、リードしたアドレス情報を用いてルックアップテーブル141から対応する制御データを読み出し制御する。図においてリードデータはルックアップテーブル141から直接インタフェース制御部132に供給されているが、これに限定されず、コアロジックが制御データを読み込んで、インタフェース制御部132に供給してもよい。その他の構成は実施の形態1と同様であるからその詳細な説明は省略する。半導体装置300は状態指定コードによるルックアップテーブル141の検索をコアロジック101Aで行うから、不揮発性記憶部140Aは状態指定コードによるルックアップテーブル141の検索機能を備えることを要せず、コアロジック101Aを流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもコアロジック101Aの健全性が担保されていることが前提となり、所定事象発生によってコアロジック101Aのデータ処理が完全に不能になるような事象の発生には対応することができない。その他の点ついては実施の形態1と同様の作用効果を奏する。《実施の形態4》図13には本発明の第4の実施の形態に係る半導体装置400が例示される。実施の形態2との相違点は、所定事象が発生したとき実行アドレスレジスタ243のアドレス情報を用いたルックアップテーブル244,241の参照主体がコアロジック201Aであるという点である。そのような参照を不揮発性記憶部240Aが自立的におこなうことを要しないから実施の形態2における所定事象の検出信号255及びその発生要因256を不揮発性記憶部240Aに与える必要はない。不揮発性記憶部240Aの内部タイミング制御はタイミングコントローラ242Aが行う。例えば、割り込みや例外などの所定の事象が発生したとき、コアロジック201Aはメモリバス103を介して実行アドレスレジスタ243のアドレス情報をリードし、リードしたアドレス情報を用いて第1ルックアップテーブル244から対応する状態指定コードをリードし、更にリードした状態指定コードを用いて第2ルックアップテーブル241から制御データを読み出し制御する。図においてリードされた制御データは第2ルックアップテーブル241から直接インタフェース制御部132に供給されているが、これに限定されず、コアロジック201Aが制御データを読み込んで、インタフェース制御部132に供給してもよい。その他の構成は実施の形態1と同様であるからその詳細な説明は省略する。半導体装置400は実施の形態2の半導体装置200に比べて命令アドレスに基づく第1及び第2ルックアップテーブル244,241の検索をコアロジック201Aで行うから、不揮発性記憶部240Aは命令アドレスによる第1ルックアップテーブル244の検索機能及び状態指定コードによる第2ルックアップテーブル241の検索機能を備えることを要せず、コアロジック201Aを流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもコアロジック201Aの健全性が担保されていることが前提となり、所定事象発生によってコアロジック201Aのデータ処理が完全に不能になるような事象の発生には対応することができない。その他の点ついては実施の形態2と同様の作用効果を奏する。以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、外部端子の状態を設定するトリガとなる所定事象の発生は、上述した電源低下検出、電源上昇検出、PLLのロックはずれ、水晶発振の発振停止検出などに限定されず適宜変更可能である。外部端子の状態を設定する設定態様はレベル固定に限定されず、一定の周波数でH→L→H→...のように周期的に若しくは所定の信号波形を形成するように外部端子の電圧レベルを変更するようにしてもよい。不揮発性メモリ部はCMOSプロセスで形成されるオンチップSRAMと同程度のアクセス速度を実現することができるMRAMに限定されず、電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ又はEEPROMなどを主体として構成することも可能である。実施の形態2,4において実行アドレスレジスタ243に書き込まれる実行命令のアドレス情報は直接コアロジックから当該レジスタ243に供給される場合に限定されず、タイミングコントローラ242を経由して行ってもよい。"