JPH0281237A - ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法 - Google Patents
ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法Info
- Publication number
- JPH0281237A JPH0281237A JP63234110A JP23411088A JPH0281237A JP H0281237 A JPH0281237 A JP H0281237A JP 63234110 A JP63234110 A JP 63234110A JP 23411088 A JP23411088 A JP 23411088A JP H0281237 A JPH0281237 A JP H0281237A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- gate
- data
- jump
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 5
- 230000003111 delayed effect Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(イ)産業上の利用分野
この発明はワンチップマイクロコンピュータのユーザ・
プログラムのチエツク方法に関し、より詳細にはネステ
ィング・オーバおよびサブルミチンの再帰的使用等のチ
エツクが可能な、ワンチップマイクロコンピュータのユ
ーザΦプログラムのチエツク方法に関する。
プログラムのチエツク方法に関し、より詳細にはネステ
ィング・オーバおよびサブルミチンの再帰的使用等のチ
エツクが可能な、ワンチップマイクロコンピュータのユ
ーザΦプログラムのチエツク方法に関する。
(ロ)従来の技術
ワンチップマイクロコンピュータ(以下、単にマイクロ
コンピュータと称する)は、限定されたシリコンチップ
上にプロセッサ、メモリ、入出力装置を収容するため、
汎用マイクロコンピュータと異なるアーキテクチユアが
採用きれている。そのため、ユーザがユーザ・プログラ
ムのマスク化以前に、現実に使用されるプロセッサの性
能限界に起因する、あるいはプロセッサとのミスマツチ
に起因するソフトウェア・トラブルをチエツクすること
は極めて困難である。また、コンピュータ・メーカーも
、マイクロフンピユータにより制御される周辺機器が用
意されない理由により、上記ソフトウェア・トラブルを
チエツクすることは極めて困難である。そこで、マイク
ロコンピュータには単体にてユーザ・プログラムのチエ
ツクが可能なテスト・モードが用意されている。
コンピュータと称する)は、限定されたシリコンチップ
上にプロセッサ、メモリ、入出力装置を収容するため、
汎用マイクロコンピュータと異なるアーキテクチユアが
採用きれている。そのため、ユーザがユーザ・プログラ
ムのマスク化以前に、現実に使用されるプロセッサの性
能限界に起因する、あるいはプロセッサとのミスマツチ
に起因するソフトウェア・トラブルをチエツクすること
は極めて困難である。また、コンピュータ・メーカーも
、マイクロフンピユータにより制御される周辺機器が用
意されない理由により、上記ソフトウェア・トラブルを
チエツクすることは極めて困難である。そこで、マイク
ロコンピュータには単体にてユーザ・プログラムのチエ
ツクが可能なテスト・モードが用意されている。
以下、第3図を参照して従来のユーザ・プログラムのチ
エツク方法をマイクロ命令の流れにより説明する。
エツク方法をマイクロ命令の流れにより説明する。
まず、マイクロコンピュータはその特殊ピンの電位の変
更によりテスト・モードにされ、しかる後起動される。
更によりテスト・モードにされ、しかる後起動される。
そして、
(1)プログラム・カウンタ(以下、PCと称する)(
1)のデータをアドレス・レジスタ(2)に転送し、P
ctの内容を+1する。
1)のデータをアドレス・レジスタ(2)に転送し、P
ctの内容を+1する。
(2)アドレス・レジスタ(2)の出力をアドレスとし
、て、ユーザ・プログラムがマスクされているロム(以
下、マスク・ロムと称する)3をアクセスする。
、て、ユーザ・プログラムがマスクされているロム(以
下、マスク・ロムと称する)3をアクセスする。
(3)マスク・ロム(3)から読み出したデータをデー
タ・レジスタ(4)にセットする。
タ・レジスタ(4)にセットする。
(4)データ・レジスタ(4)のデータをデータ・バス
(5)を介して、命令レジスタ(8)にセットする。
(5)を介して、命令レジスタ(8)にセットする。
(5)命令レジスタ(8)のデータを命令デコーダ(9
)によって、複数の制御信号にデコードする。
)によって、複数の制御信号にデコードする。
(6)ジャンプ命令、CALL命令およびリターン命令
に対応する制御信号を強制的にノー・オペレーション(
以下、NOPと称する)命令に対応する制御信号とする
。
に対応する制御信号を強制的にノー・オペレーション(
以下、NOPと称する)命令に対応する制御信号とする
。
(7)複数の制御信号により、演算部(10)の算術論
理演算ユニット、汎用レジスタ、アキュムレータ、−時
レジスタ等を制御し、命令を実行する。
理演算ユニット、汎用レジスタ、アキュムレータ、−時
レジスタ等を制御し、命令を実行する。
(8)命令実行に伴う、データ・ポインタ(6)あるい
はレジスタ値等のステータス情報をデータ・ラッチ(1
1)を介して、ステータス・モニタ(12)に出力する
。
はレジスタ値等のステータス情報をデータ・ラッチ(1
1)を介して、ステータス・モニタ(12)に出力する
。
〈9)ステップ(1)に戻る。
なるテストが実施される。ここで、ジャンプ命令、CA
LL命令およびリターン命令を強制的にNOP命令に置
き換える理由は、周辺機器よりのデータ入力が無い単体
テストでは、これらの命令を含むマイクロ・プログラム
を無限に繰り返し、全てのプログラムのチエツクが実施
されない虞があるためである。
LL命令およびリターン命令を強制的にNOP命令に置
き換える理由は、周辺機器よりのデータ入力が無い単体
テストでは、これらの命令を含むマイクロ・プログラム
を無限に繰り返し、全てのプログラムのチエツクが実施
されない虞があるためである。
ところが、このようにジャンプ命令、CALL命令およ
びリターン命令を無視して、ユーザ・プログラムを実行
する場合には、前記したプロセッサの性能限界に起因す
る、あるいはプロセッサとのミスマツチに起因するソフ
トウェア・トラブルをチエツクすることは不可能であっ
た。
びリターン命令を無視して、ユーザ・プログラムを実行
する場合には、前記したプロセッサの性能限界に起因す
る、あるいはプロセッサとのミスマツチに起因するソフ
トウェア・トラブルをチエツクすることは不可能であっ
た。
さらに、従来のマイクロコンピュータではそのPCデー
タを得ることができず、トラブルが発生するプログラム
を特定することが困難であった。
タを得ることができず、トラブルが発生するプログラム
を特定することが困難であった。
(八)発明が解決しようとする課題
この発明は、周辺機器とのデータの入出力が条件ジャン
プ命令により行われることが多い事実の解明に基づいて
、上記した従来のマイクロコンピュータの課題を解決す
ることにある。
プ命令により行われることが多い事実の解明に基づいて
、上記した従来のマイクロコンピュータの課題を解決す
ることにある。
(ニ)課題を解決するための手段
この発明は、ジャンプ命令につき、その分岐先アドレス
確認後、そのジャンプ命令の次の命令に強制復帰させる
点を特徴とする。
確認後、そのジャンプ命令の次の命令に強制復帰させる
点を特徴とする。
(*)作用
上記構成は、周辺機器からのデータ入力が無い場合に繰
り返し実行される虞のあるジャンプ命令の実行につき、
その分岐先アドレスの確認に止めるよう作用する。
り返し実行される虞のあるジャンプ命令の実行につき、
その分岐先アドレスの確認に止めるよう作用する。
(へ)実施例
以下、第1図および第2図を参照してこの発明の一実施
例を説明する。初めに、この発明を適用したマイクロコ
ンピュータの機能ブロック図である第1図をマイクロ命
令の流れにより説明する。
例を説明する。初めに、この発明を適用したマイクロコ
ンピュータの機能ブロック図である第1図をマイクロ命
令の流れにより説明する。
まず、マイクロコンピュータはその特殊ビンの電位の変
更によりテスト・モードにされ、しかる後起動される。
更によりテスト・モードにされ、しかる後起動される。
そして、
(1) PC(21)のデータをアドレス・レジスタ(
22)に転送し、PC(21)の内容を+1する。
22)に転送し、PC(21)の内容を+1する。
(2)アドレス・レスシタ(22)の出力をアドレスと
して、マスク・ロム(23)をアクセスする。
して、マスク・ロム(23)をアクセスする。
(3)マスク・ロム(23)から読み出したデータをデ
ータ・レジスタ(24)にセットする。
ータ・レジスタ(24)にセットする。
(4)データ・レジスタ(24)のデータをデータ・バ
ス(25〉を介して、命令レジスタ(28)にセットす
る。
ス(25〉を介して、命令レジスタ(28)にセットす
る。
(5)命令レジスタ(28)のデータを命令デコーダ(
29)によって、複数の制御信号に変換する。
29)によって、複数の制御信号に変換する。
(6)ジャンプ命令の場合には、対応する制御信号によ
り、PC(21)のデータをPC保持レジスタ(20)
にセットする。
り、PC(21)のデータをPC保持レジスタ(20)
にセットする。
(7)分岐先アドレスをPCレジスタ(22)にセット
する。
する。
(8)命令レジスタ(28)にNOP命令を強制的にセ
ットする。
ットする。
(9)複数の制御信号により、演算部(30)の算術論
理演算ユニット、汎用レジスタ、アキュムレータ、−時
レジスタ等を制御し、命令を実行する。
理演算ユニット、汎用レジスタ、アキュムレータ、−時
レジスタ等を制御し、命令を実行する。
(10)命令実行に伴う、アドレス・レジスタ(22)
のデータ、データ・ポインタ(26)あるいは他のレジ
スタのデータ等のステータス情報をデータ・ラッチ(3
1)を介して、ステータス・モニタ(32)に出力する
。
のデータ、データ・ポインタ(26)あるいは他のレジ
スタのデータ等のステータス情報をデータ・ラッチ(3
1)を介して、ステータス・モニタ(32)に出力する
。
(11)ステップ(1)に戻る。
なるテストが実行される。
続いて、第2図を参照してこの発明をより詳細に説明す
る。
る。
テスト信号TESTがL”のときには、ゲート(31)
、 (32)がオフし、ゲート(31)の“L”出力
が反転入力に入力されるゲート(33)はシステム・ク
ロックCPmに同期してオンし、データ・レジスタ(2
4)の命令を命令レジスタ(28)にセットする。また
、ゲート(35) 、 (38) 、 (39)がオフ
するため、PC保持レジスタが回路から分離される。
、 (32)がオフし、ゲート(31)の“L”出力
が反転入力に入力されるゲート(33)はシステム・ク
ロックCPmに同期してオンし、データ・レジスタ(2
4)の命令を命令レジスタ(28)にセットする。また
、ゲート(35) 、 (38) 、 (39)がオフ
するため、PC保持レジスタが回路から分離される。
よって、テスト信号TESTが“L”のときにはこのマ
イクロコンピュータは通常の動作が保証されている。
イクロコンピュータは通常の動作が保証されている。
さて、TESTを“H”としマイクロコンピュータをテ
スト・モードとすると、ジャンプ命令を実行しない、す
なわちXjが“L”の当初は、ゲー) (31) 、
(32)がオフし、ゲート(31)の“L”出力が反転
入力に入力されるゲート(33)がシステム・クロック
CPmに同期してオンするため、命令はデータ・レジス
タ(24)からゲート(33)、命令レジスタ(28)
を介して命令デコーダ(29)にセットされる。
スト・モードとすると、ジャンプ命令を実行しない、す
なわちXjが“L”の当初は、ゲー) (31) 、
(32)がオフし、ゲート(31)の“L”出力が反転
入力に入力されるゲート(33)がシステム・クロック
CPmに同期してオンするため、命令はデータ・レジス
タ(24)からゲート(33)、命令レジスタ(28)
を介して命令デコーダ(29)にセットされる。
命令デコーダ(29)にジャンプ命令がセットされると
、ジャンプ命令に対応する制御信号がデコードされ、ゲ
ート(40)およびRSフリップフロップ(43)によ
り構成されるXj生成回路の出力が”H”となる、なお
、このXj生成回路はジャンプ命令に対応する制御信号
線に並列に接続されるものであり、他のジャンプ制御を
阻害するものではない。
、ジャンプ命令に対応する制御信号がデコードされ、ゲ
ート(40)およびRSフリップフロップ(43)によ
り構成されるXj生成回路の出力が”H”となる、なお
、このXj生成回路はジャンプ命令に対応する制御信号
線に並列に接続されるものであり、他のジャンプ制御を
阻害するものではない。
これにより、ゲート(39)がオンし、PC(21)の
データ、すなわち当該ジャンプ命令のアドレスに+1さ
れたアドレス・データがPC保持レジスタ(20)にセ
ットされる。同時にゲート(34)がオンすることによ
り、ゲート(36)がオフし、PC(21)とアドレス
・レジスタ(22)が分離され、代わって、システム・
クロックCPnに同期してゲート(37)がオンするた
め、分岐先アドレスがアドレス・レジスタ(22)にセ
ットされる。
データ、すなわち当該ジャンプ命令のアドレスに+1さ
れたアドレス・データがPC保持レジスタ(20)にセ
ットされる。同時にゲート(34)がオンすることによ
り、ゲート(36)がオフし、PC(21)とアドレス
・レジスタ(22)が分離され、代わって、システム・
クロックCPnに同期してゲート(37)がオンするた
め、分岐先アドレスがアドレス・レジスタ(22)にセ
ットされる。
そして、サイクル・クロックSiに同期してゲート(3
1)がオンすると、ゲート(33)がオフし、データ・
レジスタ(24)からの命令を阻止すると共に、ゲート
(32)をオンし、NOP命令に対応するコードを命令
レジスタ(28〉に強制的にセットする。
1)がオンすると、ゲート(33)がオフし、データ・
レジスタ(24)からの命令を阻止すると共に、ゲート
(32)をオンし、NOP命令に対応するコードを命令
レジスタ(28〉に強制的にセットする。
命令レジスタ(28)にNOP命令がセットきれ、命令
デコーダ(29〉がこれをデコードするとXjが“L”
になり、D−フリッププロップ(42)により遅延され
たXjの“H”が出力されるゲート(38)はオンし、
システム・クロックCPnに同期してゲート(38)が
オンし、PC保持レジスタ(20)のデータをアドレス
・レジスタ(22)にセットし、ジャンプ命令の次の命
令を指定することになる。
デコーダ(29〉がこれをデコードするとXjが“L”
になり、D−フリッププロップ(42)により遅延され
たXjの“H”が出力されるゲート(38)はオンし、
システム・クロックCPnに同期してゲート(38)が
オンし、PC保持レジスタ(20)のデータをアドレス
・レジスタ(22)にセットし、ジャンプ命令の次の命
令を指定することになる。
さて、このようにして順にプログラムが実行されていく
と、やがて、CALL命令により呼ばれないサブルーチ
ンを実行し、そのリターン命令を実行することになる。
と、やがて、CALL命令により呼ばれないサブルーチ
ンを実行し、そのリターン命令を実行することになる。
そこで、リターン命令がコードきれると、それがCAL
L命令の後のリターン命令であるか否かをRSフリップ
フロップ(45)、ゲート(41)により判定し、単独
のリターン命令である場合には、NOP命令に置き換え
る処理が行われ、ブ【lグラムの暴走が防止される。
L命令の後のリターン命令であるか否かをRSフリップ
フロップ(45)、ゲート(41)により判定し、単独
のリターン命令である場合には、NOP命令に置き換え
る処理が行われ、ブ【lグラムの暴走が防止される。
(ト)発明の効果
以上述べたようにこの発明によれば、
(1) ジャンプ命令につき、その分岐先アドレス確認
後、そのジャンプ命令の次の命令に強制復帰させるため
、分岐先アドレスの確認が可能であると共に、特定のプ
ログラムのみが無限に実行される虞がなく、 (2)CALL命令が実行可能なため、ネステイング・
オーバおよびサブルーチンの再帰的使用等のチエツクが
可能である。
後、そのジャンプ命令の次の命令に強制復帰させるため
、分岐先アドレスの確認が可能であると共に、特定のプ
ログラムのみが無限に実行される虞がなく、 (2)CALL命令が実行可能なため、ネステイング・
オーバおよびサブルーチンの再帰的使用等のチエツクが
可能である。
という顕著な効果を奏するユーザ・プログラムのチエツ
ク方法を提供することができる。
ク方法を提供することができる。
第1図はこの発明を適用したワンチップマイクロコンピ
ュータのブロック図、第2図はこの発明を適用したワン
チップマイクロコンピュータの部分詳細図、第3図は従
来のワンチップマイクロコンピュータのブロック図であ
る。 (20)・・・PC保持レジスタ、(21)・・・プロ
グラムカウンタ、(22)・・・アドレス・レジスタ、
(23)・・・マスク・ロム、(24)・・・データ・
レジスタ、(28)・・・命令レジスタ、(29)・・
・命令デコーダ、(30)・・・演算部、 (42)
、 (44)・・・D−FF、(43) 、 (45)
・・・R8−FF、Si・・・サイクル・クロック、
Xj・・・ジャンプ命令制御信号、XC・・・CAL
L命令制御信号、 X*・・・リターン命令制御信号、
CP n、m・・・システム畳クロック。 第1図 第3図
ュータのブロック図、第2図はこの発明を適用したワン
チップマイクロコンピュータの部分詳細図、第3図は従
来のワンチップマイクロコンピュータのブロック図であ
る。 (20)・・・PC保持レジスタ、(21)・・・プロ
グラムカウンタ、(22)・・・アドレス・レジスタ、
(23)・・・マスク・ロム、(24)・・・データ・
レジスタ、(28)・・・命令レジスタ、(29)・・
・命令デコーダ、(30)・・・演算部、 (42)
、 (44)・・・D−FF、(43) 、 (45)
・・・R8−FF、Si・・・サイクル・クロック、
Xj・・・ジャンプ命令制御信号、XC・・・CAL
L命令制御信号、 X*・・・リターン命令制御信号、
CP n、m・・・システム畳クロック。 第1図 第3図
Claims (1)
- (1)ジャンプ命令につき、その分岐先アドレス確認後
、そのジャンプ命令の次の命令に強制復帰させるワンチ
ップマイクロコンピュータのユーザ・プログラムのチェ
ック方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63234110A JPH0281237A (ja) | 1988-09-19 | 1988-09-19 | ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63234110A JPH0281237A (ja) | 1988-09-19 | 1988-09-19 | ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0281237A true JPH0281237A (ja) | 1990-03-22 |
Family
ID=16965787
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63234110A Pending JPH0281237A (ja) | 1988-09-19 | 1988-09-19 | ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0281237A (ja) |
-
1988
- 1988-09-19 JP JP63234110A patent/JPH0281237A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5430862A (en) | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution | |
| Yiu | The definitive guide to the ARM Cortex-M3 | |
| US5481719A (en) | Exception handling method and apparatus for a microkernel data processing system | |
| US5488688A (en) | Data processor with real-time diagnostic capability | |
| KR100563012B1 (ko) | 처리기를보조처리기에인터페이스하는방법및그장치 | |
| US8135975B2 (en) | Software programmable timing architecture | |
| JP3745039B2 (ja) | 遅延命令を有するマイクロプロセッサ | |
| GB2289353A (en) | Data processing with multiple instruction sets. | |
| US12242415B2 (en) | Multi-core processor, multi-core processor processing method, and related device | |
| JPS6243764A (ja) | バス・ステ−ト制御回路 | |
| US5410721A (en) | System and method for incrementing a program counter | |
| US7613903B2 (en) | Data processing device with instruction translator and memory interface device to translate non-native instructions into native instructions for processor | |
| US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
| US5742801A (en) | Microprocessor to which additional instructions are added and instructions addition method thereof | |
| US5991872A (en) | Processor | |
| JPH07120284B2 (ja) | データ処理装置 | |
| Alexandridis | Microsystems Special Monograph: Bit-Sliced Microprocessor Architecture | |
| US6502181B1 (en) | Method and apparatus for an enhanced processor | |
| US20050257224A1 (en) | Processor with instruction-based interrupt handling | |
| JPH0281237A (ja) | ワンチップマイクロコンピュータのユーザ・プログラムのチェック方法 | |
| US5212779A (en) | System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction | |
| Fidge et al. | Interactively verifying a simple real-time scheduler | |
| Godse | ARM Controller | |
| Staroletov | Towards Model Checking Linux Interrupts Behavior for SMP Systems | |
| JPS63173130A (ja) | 計算機の命令セツトを拡張するための装置 |