トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 CPU素子
【発明者】 【氏名】木村 禎宏

【要約】 【課題】プログラムの検証の度にCPU素子を取り外す必要がなく、CPU素子の動作周波数が高くなっても高速信号の伝搬に支障を来たすことなく安定してインサーキットエミュレーションを行うこと。

【解決手段】マイクロコンピュータ装置のCPU素子30において、プログラムを実行処理する実行用CPU12の実行履歴情報の収集を行うインサーキットエミュレータ部31をCPU素子内に設け、インサーキットエミュレータ部31はCPU素子30内の内部配線により実行用CPU12と接続し、インサーキットエミュレータ部31によって実行履歴情報を収集する。
【特許請求の範囲】
【請求項1】 マイクロコンピュータ装置のCPU素子において、プログラムを実行処理する実行用CPUの実行履歴情報の収集を行うインサーキットエミュレータがCPU素子内に設けられ、当該インサーキットエミュレータはCPU素子内の内部配線により前記実行用CPUと接続されて実行履歴情報の収集をすることを特徴とするCPU素子。
【請求項2】 前記インサーキットエミュレータは、前記実行用CPUがアクセスする主記憶素子のアドレス信号、得られた命令やデータ、前記実行用CPUの実行状態信号を受信し、これら実行履歴情報をCPU素子内部の記憶素子に格納することを特徴とする請求項1に記載のCPU素子。
【請求項3】 前記実行履歴情報を格納する記憶素子がCPU素子外に外置きされていることを特徴とする請求項1に記載のCPU素子。
【請求項4】 前記インサーキットエミュレータは実行履歴情報の選択的な収集および解析を行う算術論理演算器を内蔵していることを特徴とする請求項1〜3のいずれか一つに記載のCPU素子。
【請求項5】 前記実行用CPUから出力される信号を算術論理演算器内部の演算部に入力し、この信号入力の条件を観測して予め決められた条件に合致するか否かによって実行用CPUの正常動作、異常動作を判別することを特徴とする請求項4に記載のCPU素子。
【請求項6】 前記インサーキットエミュレータは実電圧や信号のアナログ波形の取得する波形取得部を内蔵していることを特徴とする請求項1〜5のいずれか一つに記載のCPU素子。
【請求項7】 インサーキットエミュレータを内蔵していないCPU素子とパッケージ形状および実行用CPUのための信号端子群が同一であることを特徴とする請求項1〜6のいずれか一つに記載のCPU素子。
【請求項8】 インサーキットエミュレータの信号をCPU素子外部と授受する信号線を接続するコネクタを有していることを特徴とする請求項1〜6のいずれか一つに記載のCPU素子。
【発明の詳細な説明】【0001】
【発明の属する技術分野】この発明は、マイクロコンピュータ装置に使用されるCPU素子(中央演算処理装置)に関するものである。
【0002】
【従来の技術】マイクロコンピュータ装置に使用されるCPU素子は、プログラムを実行処理するだけであり、読み込んだ命令や、プログラムの実行順序や、実行された論理的な結果である実行履歴情報を保存することはなく、また、プログラムの実行を制御したり観測する機能も持たない。以下では、この限定された機能を持つCPUを実行用CPUと呼ぶ。
【0003】従って、実行用CPUでは、プログラムが意図しない動作をした場合、その原因を知ることは困難であり、プログラムの正確さを検証するためには、インサーキットエミュレータ(以下、ICEと略す)を使用してCPUの論理的な実行履歴情報を入手することが行われている。
【0004】図9はプログラムの検証を行う被試験基板の一般例を示している。被試験基板10にはCPU素子実装用ソケット11によって実行用CPU12を含むCPU素子13が着脱可能に実装される。被試験基板10には、主記憶素子14とI/O回路15とが実装され、これらと実行用CPU1とは、制御信号線17、アドレスバス18、データバス19によって相互接続される。
【0005】図10はプログラムの検証を行う被試験基板にICEを接続する際の一般例を示している。ICE20は、実行用CPU12と同等な動作を行う素子による実行用CPU21と、実行履歴情報を記憶する記憶素子22と、制御回路23とを有しており、プローブ24によってCPU素子13に代えてCPU素子実装用ソケット11に接続される。
【0006】ICE20によるプログラムの検証に際しては、被試験基板10上に実装されているCPU素子13を実装用ソケット11から取り外し、代わりに実装用ソケット11にICE20のプローブ24を取り付ける。
【0007】この接続により、ICE20内の実行用CPU21がCPU素子13に代わって被試験基板10の主記憶素子14、I/O回路15を制御し、これと同時に実行履歴情報をICE内部の記憶素子22に格納する。つまり、ICE20は、実行用CPU21がアクセスする被試験基板10上の主記憶素子14などのアドレス信号、得られた命令やデータ、制御信号を受信し、ICE内部の記憶素子22に格納する。
【0008】これにより、実行用CPU21の実行履歴を実行履歴情報として保管することができ、実行履歴読み出し用制御信号を入力することによってこの内容(実行履歴情報)を記憶素子22より読み出して検証することで、プログラムが意図した通りに動作しているかが確認可能になる。
【0009】なお、多くの場合は、実行履歴読み出し用制御信号などの制御や実行履歴情報の解析を容易にするために、更にパーソナルコンピュータなどの制御装置が接続されることが一般的であり、これらの制御装置を含めてICEと呼ぶ場合があるが、制御装置は本質的な機能ではないため、ここでは含めない。
【0010】
【発明が解決しようとする課題】従来のICEを用いたプログラムの検証方法では、検証の度、被試験基板に実装されているCPU素子を取り外し、代わりにICEのプローブを取り付ける作業が必要であり、面倒であると云う問題点があった。
【0011】また、被試験基板やCPU素子の電気的な取り扱いに考慮が必要で、CPU素子実装用ソケットが無く、CPU素子が基板上に直接取り付けられている場合には、CPU素子を取り外してCPU素子実装用ソケットを実装する必要があり、困難性が高い。
【0012】今後は、より一層、CPU素子の動作周波数が高くなることに対して、CPU素子と置き換える従来方式のICEでは、被試験基板とICE間を接続するプローブの信号線の物理的な距離が長くなるために、高速信号の伝搬に支障を来たし、ICEが安定して動作しない虞れがある。
【0013】また、従来方式のICEでは、論理的な整合性を検証するにとどまり、アナログ要因による異常動作を検出できないと云う欠点があった。
【0014】この発明は、上述の如き問題点を解消するためになされたもので、プログラムの検証の度にCPU素子を取り外す必要がなく、CPU素子の動作周波数が高くなっても高速信号の伝搬に支障を来たすことなく安定してインサーキットエミュレーションを行い、さらには、アナログ要因による異常動作も検出することができるICE機能付きのCPU素子を得ることを目的としている。
【0015】
【課題を解決するための手段】上述の目的を達成するために、この発明によるCPU素子は、マイクロコンピュータ装置のCPU素子において、プログラムを実行処理する実行用CPUの実行履歴情報の収集を行うICEがCPU素子内に設けられ、当該ICEはCPU素子内の内部配線により前記実行用CPUと接続されて実行履歴情報の収集をするものである。
【0016】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、前記ICEは、前記実行用CPUがアクセスする主記憶素子のアドレス信号、得られた命令やデータ、前記実行用CPUの実行状態信号を受信し、これら実行履歴情報をCPU素子内部の記憶素子に格納するものである。
【0017】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、前記実行履歴情報を格納する記憶素子がCPU素子外に外置きされているものである。
【0018】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、前記ICE実行履歴情報の選択的な収集および解析を行う算術論理演算器を内蔵しているものである。
【0019】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、前記実行用CPUから出力される信号を算術論理演算器内部の演算部に入力し、この信号入力の条件を観測して予め決められた条件に合致するか否かによって実行用CPUの正常動作、異常動作を判別するものである。
【0020】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、前記ICEは実電圧や信号のアナログ波形の取得する波形取得部を内蔵しているものである。
【0021】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、ICEを内蔵していないCPU素子とパッケージ形状および実行用CPUのための信号端子群が同一であるものである。
【0022】つぎの発明によるCPU素子は、上述の発明によるCPU素子において、ICEの信号をCPU素子外部と授受する信号線を接続するコネクタを有しているものである。
【0023】
【発明の実施の形態】以下に添付の図を参照してこの発明に係るCPU素子の実施の形態を詳細に説明する。なお、以下に説明するこの発明の実施の形態において、上述の従来例と同一構成の部分は、上述の従来例に付した符号と同一の符号を付してその説明を省略する。
【0024】(実施の形態1)図1はこの発明によるICE機能付きCPU素子の実施の形態1を示している。
【0025】CPU素子30は、従来どおりの実行用CPU12に併せて、インサーキットエミュレータ部(以下、ICE部と略す)31を内蔵している。ICE部31は、カウンタ32を含む制御回路33と、記憶素子34とを有しており、実行用CPU12と内部配線により接続され、実行用CPU12がアクセスする主記憶素子14のアドレス信号、得られた命令やデータ、実行用CPU12の実行状態信号を受信し、これら実行履歴情報を記憶素子34に格納する。
【0026】実行用CPU12の実行履歴情報の保存開始や停止は、これらを指示する外部トリガがICE部31の制御回路33に入力されることにより行われ、記憶素子34に格納されている実行履歴読み出し用制御信号が入力されると、記憶素子34より実行履歴情報が出力される。
【0027】カウンタ32は被試験基板10上に設けられているクロックゼネレータ16より与えられるクロック信号(このクロック信号は実行用CPU12の動作クロック信号と等価のものである)に同期してカウントアップし、保存アドレス信号を制御回路33より記憶素子34に与える。記憶素子34には、プログラムの実行中のアドレス、制御信号の状態、データなど、CPUの実行状態に関する履歴情報が指定した保存アドレスに記録される。なお、記憶素子34の容量を超える実行履歴情報の保存は最初に記録された実行履歴情報に上書きされる。あるいは、実行履歴情報の保存を停止してもよい。
【0028】図2(a)、(b)は、実行履歴情報の記憶素子34に対する保存タイミンングと読み出しタイミングとを、時間を横軸に取って示している。
【0029】図2(a)に示されているように、外部トリガ入力信号の立ち上がりで実行履歴情報の取り込み開始、外部トリガ入力信号立ち下がりで履歴情報の取り込みの停止を指示できる。図中では論理レベルが“H”の間、クロック信号に同期して実行履歴情報を保存している。
【0030】図2(b)に示されているように、実行履歴情報の取り出しは、実行履歴読み出し用制御信号入力に対し、保存アドレスの指定を行い、その後に、実行履歴出力信号からは時系列信号として実行履歴情報を取り出すことができる。
【0031】このCPU素子30では、プログラムの検証の度にCPU素子を被試験基板より取り外す必要がなく、被試験基板とICE間を接続するプローブの信号線の物理的な距離が長くなることがないから、高速信号の伝搬に支障を来たすことがなく、CPU素子30の動作周波数が高くなっても高速信号の伝搬に支障を来たすことなく安定してインサーキットエミュレーションが行われる。
【0032】なお、この例では、CPU素子30の外部から実行用CPU12の実行履歴情報を観測することはできるが、プログラムの実行制御はできない。しかし、CPU素子30のパッケージに追加するピン数を少なくすることができる。
【0033】ICE部31に対する外部トリガ信号や実行履歴読み出し用制御信号や実行履歴情報の入出力は、ICEのために基板実装側面に追加された信号端子や専用コネクタにより行うことができる。
【0034】図3(a)、(b)は、ICE付きのCPU素子と、ICEを有していないCPU素子の2つを同一形状、同一ピン番のパッケージで用意した例を示している。
【0035】図3(a)、(b)はピングリッドアレイ方式のパッケージ形状を例として、CPU素子を基板への実装側から見たものである。図3(a)はICE付きのCPU素子30を、図3(b)はICEを内蔵していない従来通りのCPU素子13をそれぞれ示しており、これらの図において、40は実行用CPU12のための信号端子群を、41はICEのための信号端子群を示している。
【0036】ICE付きのCPU素子30と、ICEを内蔵していないCPU素子13とで、白抜きの丸で示されている実行用CPU12のための信号端子群40は、同一配置で、同一機能である。黒色の丸で示されているICEのための信号端子群41は、ICE付きCPU素子30に固有な端子群である。
【0037】ICE付きCPU素子30が利用できるよう、予め、被試験基板10に配線をしておけば、実行履歴情報を見る必要のある場合には、ICE付きCPU素子30を被試験基板10に取り付け、実行履歴情報を見る必要がない場合には、価格の低減や低消費電力化のために、ICEを内蔵していないCPU素子13を被試験基板10に同様に取り付けることができる。
【0038】図4は、ICEのため専用コネクタを使用する例を示している。この例では、CPU素子30の上面等にICEの信号をCPU素子外部と授受する信号線を接続するコネクタ42が取り付けられており、コネクタ42に外部からのケーブル43が接続される。
【0039】CPU素子30の被試験基板10に対する実装面に信号端子群41を設ける場合には、コネクタ42が不要である反面、被試験基板10には、ICE付きのCPU素子30を実装できるように、予め配線しておく必要がある。これに対し、CPU素子30の上面等にケーブル43を接続できるコネクタ42によってICEの信号を外部と入出力できるようにした場合には、プログラムの検証が必要になった時点で、外部とICE機能の信号を授受すればよい。なお、何れの場合も、CPU素子30は、ソケット11に依らずに、被試験基板10にはんだ付けにより直接的に実装することできる。
【0040】(実施の形態2)図5は、この発明によるICE機能付きCPU素子の実施の形態2を示している。なお、図5において、図1に示されているもの同等あるいは同一の構成要件には、図1に付けた符号と同一の符号を付けてその説明を省略する。
【0041】この実施の形態では、実行履歴情報の保存する記憶素子34が被試験基板10に設けられている。記憶素子34がCPU素子30の外部にあるため、ICE部31の制御回路33から外部の記憶素子34に向けて記憶素子制御用信号が出力される。動作については実施の形態1における場合と同一である。
【0042】この実施の形態では、記憶素子34が外置きであるから、記憶容量の選択等により実行履歴情報保存容量の自由度が高くなり、広範囲な実行履歴情報の保存が可能になる。
【0043】(実施の形態3)図6はこの発明によるICE機能付きCPU素子の実施の形態3を示している。なお、図6においても、図1に示されているもの同等あるいは同一の構成要件には、図1に付けた符号と同一の符号を付けてその説明を省略する。
【0044】この実施の形態では、ICE部31が算術論理ユニット(ALU)35を有しており、ALU内部の演算部36にて条件を演算して実行履歴情報を選択し、選択された実行履歴情報のみを記憶素子34に保存することができる。
【0045】この実施の形態においては、ALU35の内部で定められた手順に従い、制御回路33に対するトリガ入力を制御し、記憶素子34に実行履歴情報を取り込む。必要に応じて実行履歴情報を読み出すための実行履歴読み出し用制御信号が記憶素子34に入力され、記憶素子34からは実行履歴情報が出力される。
【0046】例えば、実行履歴情報の中から条件に合致した情報のみを記憶素子34に取り込む場合には、ALU内部の演算部36にて条件を演算して情報を選択した後に記憶素子34に保存する。これにより、トリガ条件を演算して実行履歴情報を選択的に収集することができる。この場合、もちろん、ALU35に設定を行うため、ALU35に対して外部から信号入力を行うか、あるいは予めALU35に対しプログラムを行うことが必要であることは云うまでもない。
【0047】また、この実施の形態では、実行用CPU12から出力される信号をALU内部の演算部36に入力し、この信号入力の条件を観測して予め決められた条件に合致するか否かによって実行用CPU12の正常動作、異常動作を判別することもできる。例えば、正常動作中では必ず毎クロックごとに論理レベルが移行する信号がある場合には、この信号の状態を常時監視することで、異常動作状態になると、この信号レベルに一定時間の間に移行がないことから、異常動作状態を検出することが可能である。
【0048】(実施の形態4)図7は、この発明によるICE機能付きCPU素子の実施の形態4を示している。なお、図7において、図6に示されているもの同等あるいは同一の構成要件には、図6に付けた符号と同一の符号を付けてその説明を省略する。
【0049】この実施の形態では、ICE部31が波形取得部37を有している。波形取得部37は、セレクタ38と、A/D変換器39とを有し、ALU35の指令信号によってセレクタ38がサンプリングを行う信号線を特定し、選択されたアナログ状態の信号をA/D変換器39が波形サンプル用クロック信号を入力する度にデジタルデータ化する。デジタルデータ化された信号は記憶素子34に順次、保存される。
【0050】これまでの説明では、信号の情報をHレベルまたはLレベルと呼ぶ論理レベル情報として記憶素子34に保存するのみであったが、この実施の形態では、CPU素子30の論理的な動作を制御しているクロックゼネレータ16のクロック信号(CPU動作用クロック信号=実行履歴情報取り込み用)クロック信号よりも高速な波形サンプル用クロック信号を波形取得部37のA/D変換器39に入力し、アナログ信号の変化状態をサンプリングし、記憶素子34に保存することができる。どの信号波形を、どのタイミングで観測するかはALU35にて設定することができる。
【0051】記憶素子34に保存された波形情報は、ALU35を介してCPU素子外部に取り出され、波形の観測を行うことが可能である。多くの場合、この信号波形の変化状態の動作状況を観測することで、信号の状態が正常か異常かどうかが判定できる。
【0052】図8(a)〜(c)は、波形取得の際のサンプリング波形を示している。図8(a)の符号Aはアナログ状態の波形であり、図8(b)に示されている波形サンプル用クロック信号の立ち上がり時毎に細線上向き矢印線で示されているタイミングでサンプルされる。図8(c)はCPU動作用クロック信号を示しており、このCPU動作用クロック信号による信号波形の論理状態のサンプリングは太線の上向き矢印線で示される。
【0053】図8(c)に示されている履歴取り込みのクロック信号はCPU素子30の動作に同期したタイミングのものであり、このクロック信号による信号波形の論理状態のサンプリングでは論理状態がHレベルまたはLレベルに安定している。しかし、論理状態が変化する際には、オーバシュートOあるいはアンダーシュートUと呼ばれる半導体素子の絶対最大定格入力の規定を超える瞬間的状態が発生することがある。
【0054】絶対最大定格を超える使用は素子の破壊を招くことがあり、避ける必要がある。例えば、実行用CPU12からCPU素子30の外部に入出力する信号線を、CPU素子30の使用者が長く引き延ばした配線を行うと、信号の反射現象が起こり、容易に引き起こされる。また、Hレベルしきい値やLレベルしきい値を超える不定状態に信号レベルが推移することがあるかどうかも判別が可能である。なお、この実施の形態では、信号波形のみを取り入れたが、波形取得部37には電圧を観測して正常な値の範囲にあるかを判別する機能を付加することもできる。
【0055】
【発明の効果】以上の説明から理解される如く、この発明によるCPU素子によれば、実行用CPUを含むCPU素子にICEを内蔵したため、プログラムの実行を制御、観測したい場合に、従来のようにCPU素子をICEと置き換えることなく、プログラムの実行履歴情報を保管、取り出すことができる。また、被試験基板とICE間を接続するプローブの信号線の物理的な距離が長くなることがないから、高速信号の伝搬に支障を来たすことがなく、CPU素子30の動作周波数が高くなっても高速信号の伝搬に支障を来たすことなく安定してインサーキットエミュレーションが行われる。
【0056】つぎの発明によるCPU素子によれば、実行履歴情報を格納する記憶素子がCPU素子内部に設けられているから、一つのCPU素子のパッケージ体だけで、別部品を必要とすることなくインサーキットエミュレーションが行われる。
【0057】つぎの発明によるCPU素子によれば、実行履歴情報を格納する記憶素子が外置きであるから、記憶容量の選択等により実行履歴情報保存容量の自由度が高くなり、広範囲な実行履歴情報の保存が可能になる。
【0058】つぎの発明によるCPU素子によれば、ICEの算術論理演算器によってトリガ条件を演算して実行履歴情報を選択的に収集することができる。
【0059】つぎの発明によるCPU素子によれば、実行用CPUから出力される信号を算術論理演算器内部の演算部に入力し、この信号入力の条件を観測して予め決められた条件に合致するか否かによって実行用CPUの正常動作、異常動作を判別することができる。
【0060】つぎの発明によるCPU素子によれば、波形の取得機能を内蔵したため、信号や電圧のアナログ状態を観測することができる。
【0061】つぎの発明によるCPU素子によれば、ICEを内蔵していないCPU素子とパッケージ形状および実行用CPUのための信号端子群が同一であるから、上位互換性が確保され、用途や価格に応じてCPU素子の採用を選択することができる。
【0062】つぎの発明によるCPU素子によれば、ICEの信号をCPU素子外部と授受する信号線を接続するコネクタを設けたため、ICEのための信号線を被試験基板に布線する必要がなく、外部からの実行履歴情報の観測が簡便に行えるようになる。
【出願人】 【識別番号】000006013
【氏名又は名称】三菱電機株式会社
【出願日】 平成9年(1997)8月11日
【代理人】 【弁理士】
【氏名又は名称】酒井 宏明
【公開番号】 特開平11−65876
【公開日】 平成11年(1999)3月9日
【出願番号】 特願平9−216147