JPH0444123A - マイクロプロセッサの末定義命令検出方法及びその回路 - Google Patents
マイクロプロセッサの末定義命令検出方法及びその回路Info
- Publication number
- JPH0444123A JPH0444123A JP2151812A JP15181290A JPH0444123A JP H0444123 A JPH0444123 A JP H0444123A JP 2151812 A JP2151812 A JP 2151812A JP 15181290 A JP15181290 A JP 15181290A JP H0444123 A JPH0444123 A JP H0444123A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cycles
- undefined
- microprocessor
- circuit
- 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 abstract description 11
- 238000001514 detection method Methods 0.000 title claims description 13
- 230000007257 malfunction Effects 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 102100038023 DNA fragmentation factor subunit beta Human genes 0.000 description 1
- 101100277639 Homo sapiens DFFB gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、中央処理装置(以下、CPUという)、つま
りマイクロプロセッサや、あるいはそのCPUを有する
]チップマイクロコンピュータ等のマイクロコンピュー
タ(以下、マイコンという)において、定義された命令
(定義命令)以外の定義されていない命令(未定義命令
)を検出するためのマイクロプロセッサの未定義命令検
出方法及び′その回路に関するものである。
りマイクロプロセッサや、あるいはそのCPUを有する
]チップマイクロコンピュータ等のマイクロコンピュー
タ(以下、マイコンという)において、定義された命令
(定義命令)以外の定義されていない命令(未定義命令
)を検出するためのマイクロプロセッサの未定義命令検
出方法及び′その回路に関するものである。
(従来の技術〉
従来、このような分野の技術としては、例えば特開昭5
7−139857号公報(文献1−)、及び特開昭60
−1.20443号公報(文献2)に記載されるものが
あった。
7−139857号公報(文献1−)、及び特開昭60
−1.20443号公報(文献2)に記載されるものが
あった。
従来、通信機器等といった種々の装置に用いられるマイ
クロプロセッサは、ノイズ等により誤動作する場合があ
る。この誤動作を検出する方法として、前記文献1に記
載されるようなものがある。
クロプロセッサは、ノイズ等により誤動作する場合があ
る。この誤動作を検出する方法として、前記文献1に記
載されるようなものがある。
この文献1の技術では、一連のプログラム処理が終了す
るある一定周期より大きな値をカウント(計数)するカ
ウンタ(計数回路)を設け、このカウンタを一連のプロ
グラム処理が終了する時にクリアするようにしておく。
るある一定周期より大きな値をカウント(計数)するカ
ウンタ(計数回路)を設け、このカウンタを一連のプロ
グラム処理が終了する時にクリアするようにしておく。
そして、正常にプログラムが動作している限り、このカ
ウンタは動作しないが、ノイズ等によって異常が発生ず
ると、該カウンタをクリアするプログラムが出現しない
。
ウンタは動作しないが、ノイズ等によって異常が発生ず
ると、該カウンタをクリアするプログラムが出現しない
。
そのため、該カウンタが動作し、プログラム処理機能の
異常を検出するものである。
異常を検出するものである。
ところが、この種の誤動作検出方法では、前記文献2に
記載されているように、次のような欠点がある。
記載されているように、次のような欠点がある。
■ 誤動作が発生した場合、その後、プログラムの実行
を行なうマイクロプロセッサ等の信号処理回路を動作さ
せても意味がないので、誤動作が発生したら直ちに信号
処理回路の動作を命令実行フローの先頭に戻したい。し
かし、前記文献1の方法では、信号処理回路のリセット
までに長時間がかかる。
を行なうマイクロプロセッサ等の信号処理回路を動作さ
せても意味がないので、誤動作が発生したら直ちに信号
処理回路の動作を命令実行フローの先頭に戻したい。し
かし、前記文献1の方法では、信号処理回路のリセット
までに長時間がかかる。
■ 誤動作が発生してその誤動作が短時間内に復旧する
か、あるいは誤動作により無限ループ等の他のプログラ
ムが実行されると、信号処理回路の誤動作が検出できな
いという欠点がある。
か、あるいは誤動作により無限ループ等の他のプログラ
ムが実行されると、信号処理回路の誤動作が検出できな
いという欠点がある。
そこで、このような欠点を解決するため、前記文献2の
技術では、次のような手段を講じている。
技術では、次のような手段を講じている。
即ち、マイクロプロセッサが扱う命令は、例えば8ビツ
トマイクロプロセツサの場合、256以内であり、この
中に定義命令と未定義命令が存在し、未定義命令のある
所は前もって判っている。
トマイクロプロセツサの場合、256以内であり、この
中に定義命令と未定義命令が存在し、未定義命令のある
所は前もって判っている。
そこで、例えば256アドレス以上のアドレスを持つ未
定義命令検出用の読出し専用メモリ(以下、ROMとい
う)に書込まれた内容と、プログラムコードとを比較し
、マイクロプロセッサの定義命令と未定義命令との判別
を行ない、マイクロプロセッサの誤動作を検出する。こ
れにより、誤動作が発生した場合に直ちにマイクロプロ
セッサのリセットが可能となる。
定義命令検出用の読出し専用メモリ(以下、ROMとい
う)に書込まれた内容と、プログラムコードとを比較し
、マイクロプロセッサの定義命令と未定義命令との判別
を行ない、マイクロプロセッサの誤動作を検出する。こ
れにより、誤動作が発生した場合に直ちにマイクロプロ
セッサのリセットが可能となる。
(発明が解決しようとする課題〉
しかしながら、前記文献2の技術では、未定義命令を検
出するなめに、新たに例えば256アドレス以上のアド
レスを持つROMを含め、専用の未定義命令検出回路が
必要となり、それにより回路規模の増大を招く。さらに
、命令コードのビット数が多くなると、ROMの回路規
模が大きくなる。例えば、命令コードが1−6ビツトの
場合、65536アドレス以上のアドレスを持つROM
が必要となり、回路規模がさらに増大する。そのため、
回路規模を増大させることなく、誤動作発生時に直ちに
マイクロプロセッサをリセットすることが困難であった
。
出するなめに、新たに例えば256アドレス以上のアド
レスを持つROMを含め、専用の未定義命令検出回路が
必要となり、それにより回路規模の増大を招く。さらに
、命令コードのビット数が多くなると、ROMの回路規
模が大きくなる。例えば、命令コードが1−6ビツトの
場合、65536アドレス以上のアドレスを持つROM
が必要となり、回路規模がさらに増大する。そのため、
回路規模を増大させることなく、誤動作発生時に直ちに
マイクロプロセッサをリセットすることが困難であった
。
本発明は前記従来技術が持っていた課題として、回路規
模の増大を招くことなく、誤動作による未定義命令の発
生を短時間で検出することが困難である点について解決
したマイクロプロセッサの未定義命令検出方法及びその
回路を提供するものである。
模の増大を招くことなく、誤動作による未定義命令の発
生を短時間で検出することが困難である点について解決
したマイクロプロセッサの未定義命令検出方法及びその
回路を提供するものである。
(課題を解決するための手段)
前記課題を解決するために、第1の発明は、マイクロプ
ロセッサによってメモリから言売み出された命令が、定
義命令以外の未定義命令か否かを検出するマイクロプロ
セッサの未定義命令検出方法において、前記命令の実行
の際、その命令の実行に必要なサイクル数をカウントし
、前記カラン1へされたサイクル数が、前記定義命令の
うち最長サイクル数を持つ命令のサイクル数を超えてい
るか否かを検出するようにしたものである。
ロセッサによってメモリから言売み出された命令が、定
義命令以外の未定義命令か否かを検出するマイクロプロ
セッサの未定義命令検出方法において、前記命令の実行
の際、その命令の実行に必要なサイクル数をカウントし
、前記カラン1へされたサイクル数が、前記定義命令の
うち最長サイクル数を持つ命令のサイクル数を超えてい
るか否かを検出するようにしたものである。
また第2の発明は、命令のサイクル数をカウントするサ
イクルカウンタを有するマイクロプロセッサによってメ
モリから読み出された命令が、定義命令以外の未定義命
令か否かを検出するマイクロプロセッサの未定義命令検
出回路において、前記サイクルカウンタでカウントされ
た命令のサイクル数が、前記定義命令のうち最長サイク
ル数を持つ命令のサイクル数を超えているか否かを検出
する論理回路を、前記サイクルカウンタに設けたもので
ある。
イクルカウンタを有するマイクロプロセッサによってメ
モリから読み出された命令が、定義命令以外の未定義命
令か否かを検出するマイクロプロセッサの未定義命令検
出回路において、前記サイクルカウンタでカウントされ
た命令のサイクル数が、前記定義命令のうち最長サイク
ル数を持つ命令のサイクル数を超えているか否かを検出
する論理回路を、前記サイクルカウンタに設けたもので
ある。
(作用〉
第1及び第2の発明によれば、以上のようにマイクロプ
ロセッサの未定義命令検出方法及びその回路を構成した
ので、通常、マイコンを含むマイクロプロセッサには、
命令の実行時間を処理するためのサイクルカウンタが設
けられているのて゛、そのサイクルカウンタを利用し、
メモリから読出された命令の実行の際、その命令の実行
に必要なサイクル数をサイクルカウンタでカウントする
。
ロセッサの未定義命令検出方法及びその回路を構成した
ので、通常、マイコンを含むマイクロプロセッサには、
命令の実行時間を処理するためのサイクルカウンタが設
けられているのて゛、そのサイクルカウンタを利用し、
メモリから読出された命令の実行の際、その命令の実行
に必要なサイクル数をサイクルカウンタでカウントする
。
そして、サイクルカウンタて゛カウントされたサイクル
数が、最長サイクル数を持つ命令のサイクル数(マイク
ロプロセッサが持っている命令の最大処理時間、つまり
サイクルカウンタの最大値〉を超えているか否かを論理
回路で検出する。
数が、最長サイクル数を持つ命令のサイクル数(マイク
ロプロセッサが持っている命令の最大処理時間、つまり
サイクルカウンタの最大値〉を超えているか否かを論理
回路で検出する。
つまり、論理回路により、例えばサイクルカウンタに対
して少なくとも一つ余計にカウントできるようにしてお
けば、大幅な回路規模の増大を招くことなく、簡単な回
路構成で、誤動作により発生する未定義命令の検出を的
確に行なえる。しかも、最長サイクル数に対し、少なく
とも1サイクル増えたサイクル数で未定義命令の検出が
行なえるので、待ち時間も少なくてすむ。従って、前記
課題を解決できるのである。
して少なくとも一つ余計にカウントできるようにしてお
けば、大幅な回路規模の増大を招くことなく、簡単な回
路構成で、誤動作により発生する未定義命令の検出を的
確に行なえる。しかも、最長サイクル数に対し、少なく
とも1サイクル増えたサイクル数で未定義命令の検出が
行なえるので、待ち時間も少なくてすむ。従って、前記
課題を解決できるのである。
(実施例)
第1図は、本発明の実施例を示すもので、マイクロプロ
セッサを有する1チツプマイコンの要部の構成ブロック
図である。
セッサを有する1チツプマイコンの要部の構成ブロック
図である。
1チツプマイコンは、集積回路1チツプ内に、マイクロ
プロセッサ、プログラム格納用のROM、データ格納用
の随時読書き可能なメモリ(以下、RAMという)、入
/出力ポート(以下、I10ポートという)等を内蔵し
たものである。マイクロプロセッサは、算術論理ユニッ
ト(以下、ALUという〉等を有し算術演算や論理演算
を行なう演算部と、マイクロプロセッサの働きを制御す
る制御部と、種々のレジスタを有しマイクロプロセッサ
内の内部メモリといった機能を持つレジスタ部とを、備
えている。
プロセッサ、プログラム格納用のROM、データ格納用
の随時読書き可能なメモリ(以下、RAMという)、入
/出力ポート(以下、I10ポートという)等を内蔵し
たものである。マイクロプロセッサは、算術論理ユニッ
ト(以下、ALUという〉等を有し算術演算や論理演算
を行なう演算部と、マイクロプロセッサの働きを制御す
る制御部と、種々のレジスタを有しマイクロプロセッサ
内の内部メモリといった機能を持つレジスタ部とを、備
えている。
このうち第1図では、制御部]0とROM30とが示さ
れている。
れている。
制御部10は、プログラムが格納されたROM30の出
力(例えば、1チツプマイコンが8ビ・ントの場合には
通常8ビツト出力)を入力し、1チツプマイコン内の図
示しない信号発生回路等から供給される書込み信号WI
R、クロ・ツクパルスCLK及びリセット信号RES等
に基づき、各種の制御信号C81〜C8を出力して1ナ
ツプマイコン全体を制御する回路である。この制御部1
0は、データバスを介してROM30に接続された命令
レジスター1を有し、その命令レジスター1の出力側が
、命令レジスタ用デコーダ12を介して命令デコーダ1
3に接続されている。命令デコーダ13の出力側はタイ
ミング制御回路]−4に接続され、さらにそのタイミン
グ制御回路14にサイクルカウンタ部20が接続されて
いる。
力(例えば、1チツプマイコンが8ビ・ントの場合には
通常8ビツト出力)を入力し、1チツプマイコン内の図
示しない信号発生回路等から供給される書込み信号WI
R、クロ・ツクパルスCLK及びリセット信号RES等
に基づき、各種の制御信号C81〜C8を出力して1ナ
ツプマイコン全体を制御する回路である。この制御部1
0は、データバスを介してROM30に接続された命令
レジスター1を有し、その命令レジスター1の出力側が
、命令レジスタ用デコーダ12を介して命令デコーダ1
3に接続されている。命令デコーダ13の出力側はタイ
ミング制御回路]−4に接続され、さらにそのタイミン
グ制御回路14にサイクルカウンタ部20が接続されて
いる。
命令レジスター−1は、例えば命令実行の先頭で出力さ
れる書込み信号WIRにより、ROM30からの8ビツ
トデータをラッチする機能を有している。命令レジスタ
用デコーダ12は、命令レジスタ11かラッチした8ビ
ツトデータを、対応するコード(1チツプマイコンによ
り予め定められたコード)にデコード(解読)し、必要
な本数分、即ち定義命令の本数分、その命令コードIR
D1−〜IRD を命令デコーダ13へ出力する機能
を有している。
れる書込み信号WIRにより、ROM30からの8ビツ
トデータをラッチする機能を有している。命令レジスタ
用デコーダ12は、命令レジスタ11かラッチした8ビ
ツトデータを、対応するコード(1チツプマイコンによ
り予め定められたコード)にデコード(解読)し、必要
な本数分、即ち定義命令の本数分、その命令コードIR
D1−〜IRD を命令デコーダ13へ出力する機能
を有している。
この命令コードIR,D1〜・■RDnは、]チップマ
イコンにおける定義命令のコードをデコートした信号で
あり、その本数りは1チツプマイコンの定義命令の数と
同一となる。1チツプマイコンの命令数は、例えばその
1チツプマイコンが8ビツトの場合、最大256となる
。ところが、通常のマイコンでは、命令数を減じ、回路
規模を小さくすることによって低コスト化を図るなめ、
1チツプマイコンの規模により、最大命令数256の内
、実際に使用する命令数は256よりも少なくなる。例
えば、実際に使用する命令数を200通りとすると、2
56−200で、56通りが未定義コード(未定義命令
〉となる。
イコンにおける定義命令のコードをデコートした信号で
あり、その本数りは1チツプマイコンの定義命令の数と
同一となる。1チツプマイコンの命令数は、例えばその
1チツプマイコンが8ビツトの場合、最大256となる
。ところが、通常のマイコンでは、命令数を減じ、回路
規模を小さくすることによって低コスト化を図るなめ、
1チツプマイコンの規模により、最大命令数256の内
、実際に使用する命令数は256よりも少なくなる。例
えば、実際に使用する命令数を200通りとすると、2
56−200で、56通りが未定義コード(未定義命令
〉となる。
命令レジスタ用デコーダ]−2の出力側に接続された命
令デコーダ13は、命令コードIRD□〜IR,I)n
を入力し、選択された一つの命令コード、即ち命令の実
行に必要な各種の制御信号ID工〜■Dmをタイミング
制御回路14へ出力する回路である。サイクルカウンタ
部20は、リセット信号RESによりリセットされ、ク
ロックパルスCLKに基づき、タイミング制御回路14
へ供給する複数の基本タイミング信号S工〜S4 、
M 1 。
令デコーダ13は、命令コードIRD□〜IR,I)n
を入力し、選択された一つの命令コード、即ち命令の実
行に必要な各種の制御信号ID工〜■Dmをタイミング
制御回路14へ出力する回路である。サイクルカウンタ
部20は、リセット信号RESによりリセットされ、ク
ロックパルスCLKに基づき、タイミング制御回路14
へ供給する複数の基本タイミング信号S工〜S4 、
M 1 。
M2を生成する回路である。このサイクルカウンタ部2
0では、1チツプマイコンが持っている命令の最長サイ
クル数を実現できるように設計されている。
0では、1チツプマイコンが持っている命令の最長サイ
クル数を実現できるように設計されている。
タイミング制御回路1−4は、基本タイミング信号S1
.〜S4.M]−、M2により、制御信号ID1−〜I
D をゲート制御して所定のタイミングで各種の制御
信号C8□〜C89を出力し、1チツプマイコン内のゲ
ートやフリップフロラフ買取下、FFという)等の種々
の回路に供給する回路である。
.〜S4.M]−、M2により、制御信号ID1−〜I
D をゲート制御して所定のタイミングで各種の制御
信号C8□〜C89を出力し、1チツプマイコン内のゲ
ートやフリップフロラフ買取下、FFという)等の種々
の回路に供給する回路である。
第2図は、第1図におけるサイクルカウンタ部20の一
構成例を示す回路図である。
構成例を示す回路図である。
このサイクルカウンタ部20は、例えば最大カラントイ
直が32サイクルのサイクルカウンタ20Aと、未定義
命令検出用の論理回路20Bとで、構成されている。サ
イクルカウンタ2OAは、クロックパルスCLKの立下
がりで相補的な出力Q互が変化する遅延型フリップフロ
ップ(以下、DFFという>21−1〜21−6と、2
人力のアンドゲート(以下、ANDゲートという)22
1〜22−6.25−1.25−2と、2人力のノアゲ
ート(以下、NORゲートという)23と、インバータ
24と、2人力のオアゲー1へ(以下、ORゲートとい
う)26とで、構成されている。
直が32サイクルのサイクルカウンタ20Aと、未定義
命令検出用の論理回路20Bとで、構成されている。サ
イクルカウンタ2OAは、クロックパルスCLKの立下
がりで相補的な出力Q互が変化する遅延型フリップフロ
ップ(以下、DFFという>21−1〜21−6と、2
人力のアンドゲート(以下、ANDゲートという)22
1〜22−6.25−1.25−2と、2人力のノアゲ
ート(以下、NORゲートという)23と、インバータ
24と、2人力のオアゲー1へ(以下、ORゲートとい
う)26とで、構成されている。
このサイクルカウンタ2OAは、次のような機能を有し
ている。
ている。
即ち、イニシャル時に出力されるリセット信号RESが
“H1+レベルとなると、NOR,ゲート23の出力は
゛L°゛レベルとなり、さらにANDNOゲート−1〜
22〜6の出力もそれぞれ“t、l”レベルとなる。そ
のため、D−FF21−]〜21−6の出力Qは、クロ
ックパルスCLKの立下がりにより、L“レベルとなり
、初期化される。
“H1+レベルとなると、NOR,ゲート23の出力は
゛L°゛レベルとなり、さらにANDNOゲート−1〜
22〜6の出力もそれぞれ“t、l”レベルとなる。そ
のため、D−FF21−]〜21−6の出力Qは、クロ
ックパルスCLKの立下がりにより、L“レベルとなり
、初期化される。
リセット信号RESがパL′ルベルとなると、NORゲ
ート23の出力は“H′°レベルとなり、D−FF21
−1の入力D、つまりD−FF214の出力可が″トT
”レベルとなり、さらにDFF2]、−2の入力D、つ
まりD−FF21−1−の出力QがL”ルベルとなる。
ート23の出力は“H′°レベルとなり、D−FF21
−1の入力D、つまりD−FF214の出力可が″トT
”レベルとなり、さらにDFF2]、−2の入力D、つ
まりD−FF21−1−の出力QがL”ルベルとなる。
同様に、D−FF21−2.21−3の入力りもL”レ
ベルとなる。また、D−FF21−5の入力りは′H′
。
ベルとなる。また、D−FF21−5の入力りは′H′
。
レベルとなり、D −FF21−6の入力りが“L”レ
ベルとなる。ここで、クロックパルスCLKが立下がる
と、D−FF2]、−1−の出力Qが“H”レベルに変
化するが、他のD−FF21−2〜21−6は変化しな
い。
ベルとなる。ここで、クロックパルスCLKが立下がる
と、D−FF2]、−1−の出力Qが“H”レベルに変
化するが、他のD−FF21−2〜21−6は変化しな
い。
D−FF21−1の出力Qが“H“レベルになると、1
)−FF21−2の入力りはパHルベルとなるが、他の
I)−FF21−3〜21−6の入力りは変化しない。
)−FF21−2の入力りはパHルベルとなるが、他の
I)−FF21−3〜21−6の入力りは変化しない。
ここで再びクロックパルスCLKが立下がると、D−F
F21−2の出力Qは、′“H“レベルに変化する。こ
のD−FF21−1〜21−4の動作状態を次の第1表
に示す。
F21−2の出力Qは、′“H“レベルに変化する。こ
のD−FF21−1〜21−4の動作状態を次の第1表
に示す。
第1表
第1表に示すように、D−FF21−1−〜2]4は、
クロックパルスCLKが立下がる毎に、各人力りに応じ
てその出力Qが変化し、8個のクロックパルスCLKが
入力された後に、再び最初の状態に戻る。
クロックパルスCLKが立下がる毎に、各人力りに応じ
てその出力Qが変化し、8個のクロックパルスCLKが
入力された後に、再び最初の状態に戻る。
D−、FF21−5は、D−FF21−3の出力QがL
”レベル、出力可が′H′”レベルで、かつD−FF2
1−4の出力QがH′”レベルの時、つまり第1表にお
けるクロックパルスCL Kの数が8個の時に、クロッ
クパルスCLKが立下がると、その出力Qが“H”レベ
ルとなる。従って、D−FF21−5.21−6は、D
−FF211〜21−4が8クロツク毎に変化する度に
変化し、D−FF21−3の出力Qが゛Lパレヘル、D
−FF21−4の出力Qが゛H′°レベルという状態を
4回繰返すと、元に戻るようになっている。
”レベル、出力可が′H′”レベルで、かつD−FF2
1−4の出力QがH′”レベルの時、つまり第1表にお
けるクロックパルスCL Kの数が8個の時に、クロッ
クパルスCLKが立下がると、その出力Qが“H”レベ
ルとなる。従って、D−FF21−5.21−6は、D
−FF211〜21−4が8クロツク毎に変化する度に
変化し、D−FF21−3の出力Qが゛Lパレヘル、D
−FF21−4の出力Qが゛H′°レベルという状態を
4回繰返すと、元に戻るようになっている。
よってこのサイクルカウンタ2OAの最大カウント値は
、32ザイクルとなる。
、32ザイクルとなる。
また、第1図のタイミング制御回路コ4から出力される
制御信号C8(−命令の終了信号END)がIIH“°
レベルとなると、D−FF21−1〜21−6がどのよ
うな状態においても、その終了信号ENDの時のクロッ
クパルスCLKの立下がりにより、そのD−FF21−
1〜21−6の全ての出力Qが11 L I+レベルと
なる。これにより、サイクルカウンタ2OAが初期化さ
れ、再びサイクルのカウントを女台める。
制御信号C8(−命令の終了信号END)がIIH“°
レベルとなると、D−FF21−1〜21−6がどのよ
うな状態においても、その終了信号ENDの時のクロッ
クパルスCLKの立下がりにより、そのD−FF21−
1〜21−6の全ての出力Qが11 L I+レベルと
なる。これにより、サイクルカウンタ2OAが初期化さ
れ、再びサイクルのカウントを女台める。
本実施例の特徴は、このサイクルカウンタ20Aに未定
義命令検出用の論理回路20Bを付加したことである。
義命令検出用の論理回路20Bを付加したことである。
論理回路20Bは、NORゲート23の出力及びD−F
F21−6の出力Qの論理積をとる2人力のANDゲー
ト22−7と、ANDゲート25−2の出力をクロック
入力として該ANDゲート22−7の出力を入力りとし
て取り込むD−FF21−7とで、構成されている。D
FF21−7は、ANDゲート25−2の出力の立下が
りで、出力Q、つまり出力○P T R,Pが変化する
回路である。この論理回路20Bは、未定義命令をフェ
ッチしたことを検出する機能を有している。
F21−6の出力Qの論理積をとる2人力のANDゲー
ト22−7と、ANDゲート25−2の出力をクロック
入力として該ANDゲート22−7の出力を入力りとし
て取り込むD−FF21−7とで、構成されている。D
FF21−7は、ANDゲート25−2の出力の立下が
りで、出力Q、つまり出力○P T R,Pが変化する
回路である。この論理回路20Bは、未定義命令をフェ
ッチしたことを検出する機能を有している。
以上のように構成される1チツプマイコンの動作を、第
3図(a)、(b)を参照しつつ説明する。
3図(a)、(b)を参照しつつ説明する。
第3図(a)、(b)は、第2図に示すサイクルカウン
タ部20の動作タイミング図であり、同図(a)はサイ
クルカウンタ2OAのみのタイミング図、同図(b)は
サイクルカウンタ2OA及び論理回路20Bのタイミン
グ図である。
タ部20の動作タイミング図であり、同図(a)はサイ
クルカウンタ2OAのみのタイミング図、同図(b)は
サイクルカウンタ2OA及び論理回路20Bのタイミン
グ図である。
第3図(a)、(b)では、1チツプマイコンにおける
命令実行のある一部を示している。例えば、第3図(a
、 )において、命令Aは]7サイクル、命令Bは32
サイクル、命令Cは6ザイクル、命令りはコ、0サイク
ルと、それぞれ命令の実行に必要なサイクル数が決めら
れている。そのなめ、定義命令は、第3図に示すような
タイミングによって実行されることになる。
命令実行のある一部を示している。例えば、第3図(a
、 )において、命令Aは]7サイクル、命令Bは32
サイクル、命令Cは6ザイクル、命令りはコ、0サイク
ルと、それぞれ命令の実行に必要なサイクル数が決めら
れている。そのなめ、定義命令は、第3図に示すような
タイミングによって実行されることになる。
第1図において、命令の実行を行なう場合、命令レジス
タ11は、命令実行の先頭で出力される書込み信号WI
RによってROM30からの8ビツトデータをラッチ、
つまりフェッチしく取出し)、そのフェッチしたデータ
を命令レジスタ用デコーダ12へ送る。命令レジスタ用
デコーダ12は、ラッチされた8ビツトを、1チツプマ
イコンで予め定められた対応するコードにデコードし、
定義命令の数の命令コードIRD1〜■RDnを命令デ
コーダ13へ与える。
タ11は、命令実行の先頭で出力される書込み信号WI
RによってROM30からの8ビツトデータをラッチ、
つまりフェッチしく取出し)、そのフェッチしたデータ
を命令レジスタ用デコーダ12へ送る。命令レジスタ用
デコーダ12は、ラッチされた8ビツトを、1チツプマ
イコンで予め定められた対応するコードにデコードし、
定義命令の数の命令コードIRD1〜■RDnを命令デ
コーダ13へ与える。
命令デコーダ13は、命令コードIRD□〜■RD
をデコードし、選択した一つの命令コード、つまり命令
(例えば、第3図のA、B等)の実行に必要な種々の制
御信号■D1〜■Dmをタイミング制御回ff! 14
へ出力する。ここて゛、ザイクルカウンタ一部20内の
サイクルカウンタ2OAは、第3図(a、 )に示すよ
うに、クロックパルスCLKに同期して基本タイミング
信号S1−〜549M1、M2をタイミング制御回路1
4へ出力する。
をデコードし、選択した一つの命令コード、つまり命令
(例えば、第3図のA、B等)の実行に必要な種々の制
御信号■D1〜■Dmをタイミング制御回ff! 14
へ出力する。ここて゛、ザイクルカウンタ一部20内の
サイクルカウンタ2OAは、第3図(a、 )に示すよ
うに、クロックパルスCLKに同期して基本タイミング
信号S1−〜549M1、M2をタイミング制御回路1
4へ出力する。
すると、タイミング制御回路14は、基本タイミング信
号S1〜S4.Mよ、M2に基づき、制御信号ID工〜
■Dmをゲート制御し、フェッチした命令(例えば、第
3図(a)のA、B、・・・〉の実行に必要な予め決め
られた実行時間に、必要な各種の制御信号C81〜C8
9を出力して1チツプマイコンの内部回路を制御し、命
令を実行する。タイミング制御回#114は、命令の実
行終了時に終了信号END (−制御信号C8)を出力
し、命令実行を終了する。これにより、サイクルカウン
タ部20内のサイクルカウンタ2OAは、終了信号EN
DのIIHルベルにより、その時のクロックパルスCL
Kの立下がりにより、初期化される。
号S1〜S4.Mよ、M2に基づき、制御信号ID工〜
■Dmをゲート制御し、フェッチした命令(例えば、第
3図(a)のA、B、・・・〉の実行に必要な予め決め
られた実行時間に、必要な各種の制御信号C81〜C8
9を出力して1チツプマイコンの内部回路を制御し、命
令を実行する。タイミング制御回#114は、命令の実
行終了時に終了信号END (−制御信号C8)を出力
し、命令実行を終了する。これにより、サイクルカウン
タ部20内のサイクルカウンタ2OAは、終了信号EN
DのIIHルベルにより、その時のクロックパルスCL
Kの立下がりにより、初期化される。
次に、次の命令コードが命令レジスタ11及び命令レジ
スタ用デコーダ12によりフェッチされると共に、サイ
クルカウンタ部20によって再びサイクルのカウントが
開始され、次の命令が実行される。
スタ用デコーダ12によりフェッチされると共に、サイ
クルカウンタ部20によって再びサイクルのカウントが
開始され、次の命令が実行される。
第2図に示すサイクルカウンタ部20内に、例えば論理
回路20Bが設けられていない場合を考える。この場合
、ノイズ等によって命令レジスタ1]及び命令レジスタ
用デコーダ12が未定義命令をフェッチしなとすると、
第3図(a)に示すように、タイミング制御回路1.4
から命令の終了信号ENDが発生しない。そのなめ、第
2図のサイクルカウンタ2OAは、最長サイクルとなっ
ている32サイクルをカウントした後、再ひ゛1サイク
ル目になり、さらに32サイクルをカウントする。この
ようなカウント動作をサイクルカウンタ2OAが繰返す
こと(こなる。
回路20Bが設けられていない場合を考える。この場合
、ノイズ等によって命令レジスタ1]及び命令レジスタ
用デコーダ12が未定義命令をフェッチしなとすると、
第3図(a)に示すように、タイミング制御回路1.4
から命令の終了信号ENDが発生しない。そのなめ、第
2図のサイクルカウンタ2OAは、最長サイクルとなっ
ている32サイクルをカウントした後、再ひ゛1サイク
ル目になり、さらに32サイクルをカウントする。この
ようなカウント動作をサイクルカウンタ2OAが繰返す
こと(こなる。
ところが、本実施例では、サイクルカウンタ部20内に
論理回路20Bを設けたので、第3図(b)のタイミン
グ図に従って動作する。即ち、定義命令をフェッチした
場合は、第3図(a、)と同様に、フェッチした定義命
令に必要なサイクルをサイクルカウンタ20Aがカウン
トし、再び′初期値に戻る。
論理回路20Bを設けたので、第3図(b)のタイミン
グ図に従って動作する。即ち、定義命令をフェッチした
場合は、第3図(a、)と同様に、フェッチした定義命
令に必要なサイクルをサイクルカウンタ20Aがカウン
トし、再び′初期値に戻る。
ここで、ノイズ等によって未定義命令をフェッチしたと
すると、未定義命令であるためにタイミング制御回路1
4からは命令の終了信号ENDが出力されない。そのた
め、サイクルカウンタ20Aは、その最長サイクル32
まて゛カラン1−する。
すると、未定義命令であるためにタイミング制御回路1
4からは命令の終了信号ENDが出力されない。そのた
め、サイクルカウンタ20Aは、その最長サイクル32
まて゛カラン1−する。
サイクルカウンタ2OAが最長カラン1〜数の32まで
カウントしても、タイミング制御回路1−4からは命令
の終了信号ENDが出力されないので、論理回路20B
内のD−FF21〜7の出力Qが”H“°レベルになる
と共に、サイクルカウンタ20A内のI)−FF21−
1〜21−6が“′L″レベルとなって初期化される。
カウントしても、タイミング制御回路1−4からは命令
の終了信号ENDが出力されないので、論理回路20B
内のD−FF21〜7の出力Qが”H“°レベルになる
と共に、サイクルカウンタ20A内のI)−FF21−
1〜21−6が“′L″レベルとなって初期化される。
このD−FF217の出力Q、つまり0PTRPを1チ
ップマイコンのリセット信号や、あるいは割込み信号に
利用すれば、未定義命令をフェッチしたことを、マイク
ロプロセッサ内の制御部10以外の回路に知らせること
ができる。
ップマイコンのリセット信号や、あるいは割込み信号に
利用すれば、未定義命令をフェッチしたことを、マイク
ロプロセッサ内の制御部10以外の回路に知らせること
ができる。
以上のよう(、こ、本実施例では、本来、1チツプマイ
コンあるいはマイクロプロセッサに必要不可欠なサイク
ルカウンタ2OAに、未定義命令検出用の論理回路20
Bを設けた。この論理回路20Bは、ANDゲート22
−7とD−FF21−7という非常に小規模な回路構成
であり、その回路構成の追加により、チップサイズを増
大することなく、未定義命令のフェッチを簡単かつ的確
に検出することかできる。しかも、未定義命令の検出時
間も、1チツプマイコンが有している最長サイクル命令
(32ザイクル〉に対し、]−サイクル増えた33サイ
クル数で未定義命令の検出が行なえるため、少ない待ち
時間で直ちに1チツプマイコンのリセット等が可能とな
る。
コンあるいはマイクロプロセッサに必要不可欠なサイク
ルカウンタ2OAに、未定義命令検出用の論理回路20
Bを設けた。この論理回路20Bは、ANDゲート22
−7とD−FF21−7という非常に小規模な回路構成
であり、その回路構成の追加により、チップサイズを増
大することなく、未定義命令のフェッチを簡単かつ的確
に検出することかできる。しかも、未定義命令の検出時
間も、1チツプマイコンが有している最長サイクル命令
(32ザイクル〉に対し、]−サイクル増えた33サイ
クル数で未定義命令の検出が行なえるため、少ない待ち
時間で直ちに1チツプマイコンのリセット等が可能とな
る。
なお、本発明は図示の実施例に限定されず、種々の変形
が可能である。その変形例としては、例えば次のような
ものがある。
が可能である。その変形例としては、例えば次のような
ものがある。
(i) 第2図では、論理回路20BをANDゲート
22−7及びD−FF21−7で構成したが、他のゲー
ト回路やFF等を用いて構成しても良い。
22−7及びD−FF21−7で構成したが、他のゲー
ト回路やFF等を用いて構成しても良い。
また、サイクルカウンタ2OAは、他のFFやゲート回
路等を用いて構成することも可能であり、その回路構成
の変形に応じて論理回路20Bの回路構成も任意に変形
することができる。さらに、このサイクルカウンタ部2
0から出力される基本タイミング信号S工〜S4.M1
.M2の本数は、1チツプマイコンの機能に応じて他の
任意の数に設定できる。
路等を用いて構成することも可能であり、その回路構成
の変形に応じて論理回路20Bの回路構成も任意に変形
することができる。さらに、このサイクルカウンタ部2
0から出力される基本タイミング信号S工〜S4.M1
.M2の本数は、1チツプマイコンの機能に応じて他の
任意の数に設定できる。
(ii) 上記実施例では]、チップマイコンについ
て説明したが、本発明は1チツプマイコン以外の他のマ
イコンや、あるいはマイクロプロセッサそのものに適用
することが可能である。
て説明したが、本発明は1チツプマイコン以外の他のマ
イコンや、あるいはマイクロプロセッサそのものに適用
することが可能である。
(発明の効果)
以上詳細に説明したように、第1の発明によれば、命令
実行の際にその命令の実行に必要なサイクル数をカウン
トし、そのカウント値が、定義命令のうち最長サイクル
数を持つ命令のサイクル数を超えているか否かを検出す
るようにしなので、ノイズ等によって未定義命令が発生
した場合、カウント数の管理のみで、簡単かつ的確に未
定義命令の検出が行なえる。しかも、最長サイクル数に
少なくとも1サイクル加えたサイクル数で未定義命令の
検出が行なえるため、検出時間も短く、速やかにマイク
ロプロセッサ内の他の回路に未定義命令の発生を知らせ
ることができる。
実行の際にその命令の実行に必要なサイクル数をカウン
トし、そのカウント値が、定義命令のうち最長サイクル
数を持つ命令のサイクル数を超えているか否かを検出す
るようにしなので、ノイズ等によって未定義命令が発生
した場合、カウント数の管理のみで、簡単かつ的確に未
定義命令の検出が行なえる。しかも、最長サイクル数に
少なくとも1サイクル加えたサイクル数で未定義命令の
検出が行なえるため、検出時間も短く、速やかにマイク
ロプロセッサ内の他の回路に未定義命令の発生を知らせ
ることができる。
第2の発明によれば、本来、マイクロプロセッサに必要
不可欠なサイクルカウンタを用い、そのサイクルカウン
タに、カラン1−値オーバー検出機能を持つ論理回路を
付加するのみで、未定義命令発生の検出が行なえる。こ
の論理回路は、最長サイクル数を持つ命令のサイクル数
を超えたか否かの検出を行なえば良いので、簡単かつ小
規模な回路で構成することができ、それによってチップ
サイズを増大することなく、未定義命令の発生を精度良
く検出することができる。しかも、マイクロプロセッサ
が有している最長サイクル命令に対し、少なくとも1サ
イクル加えたサイクル数で未定義命令の発生を検出でき
るため、短時間で未定義命令発生の検出が可能となる。
不可欠なサイクルカウンタを用い、そのサイクルカウン
タに、カラン1−値オーバー検出機能を持つ論理回路を
付加するのみで、未定義命令発生の検出が行なえる。こ
の論理回路は、最長サイクル数を持つ命令のサイクル数
を超えたか否かの検出を行なえば良いので、簡単かつ小
規模な回路で構成することができ、それによってチップ
サイズを増大することなく、未定義命令の発生を精度良
く検出することができる。しかも、マイクロプロセッサ
が有している最長サイクル命令に対し、少なくとも1サ
イクル加えたサイクル数で未定義命令の発生を検出でき
るため、短時間で未定義命令発生の検出が可能となる。
第1図は本発明の実施例を示す1チツプマイコンの要部
の構成ブロック図、第2図は第1−図のサイクルカウン
タ部の回路図、第3図(a)、(b)は第2図の動作タ
イミング図である。 10・・・・・・制御部、11・・・・・・命令レジス
タ、]2・・・・・命令レジスタ用デコーダ、13・・
・・・・命令デコーダ、14・・・・・・タイミング制
御回路、20・・・・・・サイクルカウンタ部、2OA
・・・・・・サイクルカウンタ、20B・・・・・・論
理回路。
の構成ブロック図、第2図は第1−図のサイクルカウン
タ部の回路図、第3図(a)、(b)は第2図の動作タ
イミング図である。 10・・・・・・制御部、11・・・・・・命令レジス
タ、]2・・・・・命令レジスタ用デコーダ、13・・
・・・・命令デコーダ、14・・・・・・タイミング制
御回路、20・・・・・・サイクルカウンタ部、2OA
・・・・・・サイクルカウンタ、20B・・・・・・論
理回路。
Claims (1)
- 【特許請求の範囲】 1、マイクロプロセッサによってメモリから読み出され
た命令が、定義された定義命令以外の未定義命令か否か
を検出するマイクロプロセッサの未定義命令検出方法に
おいて、 前記命令の実行の際、その命令の実行に必要なサイクル
数をカウントし、 前記カウントされたサイクル数が、前記定義命令のうち
最長サイクル数を持つ命令のサイクル数を超えているか
否かを検出する、 ことを特徴とするマイクロプロセッサの未定義命令検出
方法。 2、命令のサイクル数をカウントするサイクルカウンタ
を有するマイクロプロセッサによってメモリから読み出
された命令が、定義された定義命令以外の未定義命令か
否かを検出するマイクロプロセッサの未定義命令検出回
路において、 前記サイクルカウンタでカウントされた命令のサイクル
数が、前記定義命令のうち最長サイクル数を持つ命令の
サイクル数を超えているか否かを検出する論理回路を、 前記サイクルカウンタに設けたことを特徴とするマイク
ロプロセッサの未定義命令検出回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2151812A JPH0444123A (ja) | 1990-06-11 | 1990-06-11 | マイクロプロセッサの末定義命令検出方法及びその回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2151812A JPH0444123A (ja) | 1990-06-11 | 1990-06-11 | マイクロプロセッサの末定義命令検出方法及びその回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0444123A true JPH0444123A (ja) | 1992-02-13 |
Family
ID=15526849
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2151812A Pending JPH0444123A (ja) | 1990-06-11 | 1990-06-11 | マイクロプロセッサの末定義命令検出方法及びその回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0444123A (ja) |
-
1990
- 1990-06-11 JP JP2151812A patent/JPH0444123A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2847681B1 (en) | Device having configurable breakpoint based on interrupt status | |
| US5473767A (en) | Method and apparatus for asynchronously stopping the clock in a processor | |
| EP2783266B1 (en) | Microprocessor, and method of managing reset events therefor | |
| US20030233622A1 (en) | Method and apparatus for an asynchronous pulse logic circuit | |
| US20030070013A1 (en) | Method and apparatus for reducing power consumption in a digital processor | |
| JP2009533738A (ja) | プロセッサを段階的減速動作モードに移行させる発行ユニット | |
| JP4628521B2 (ja) | 割り込み可能なマルチサイクル命令を処理する方法および装置 | |
| US5535376A (en) | Data processor having a timer circuit for performing a buffered pulse width modulation function and method therefor | |
| JPH0444123A (ja) | マイクロプロセッサの末定義命令検出方法及びその回路 | |
| CN100410911C (zh) | 中断控制器、中断信号预处理电路及其中断控制方法 | |
| EP0462622B1 (en) | Microprocessor capable of ensuring flexible recovery time for I/O device | |
| Yadav | Microcontrollers: Features and Applications | |
| JP2864663B2 (ja) | ウォッチドッグ・タイマ | |
| WO2002057893A2 (en) | Method and apparatus for reducing power consuption in a digital processor | |
| Currie | Embedded system processing and I/O protocols | |
| KR100631495B1 (ko) | 마이크로 프로세서 | |
| JP2693885B2 (ja) | マイクロコンピュータ | |
| CN2588451Y (zh) | 8位新型构架微处理器以及使用该处理器的多用途芯片电路 | |
| JPH03217988A (ja) | 1チップマイクロコンピュータ | |
| KR970066903A (ko) | 인터럽트 제어 장치 | |
| JPS6354630A (ja) | デ−タ処理装置 | |
| JPS63268044A (ja) | ウオツチ・ドツグ・タイマ | |
| JPH10333920A (ja) | 割込み処理回路 | |
| Siemers et al. | Design methodology for small Real-Time capable embedded systems | |
| JPH06250857A (ja) | マイクロコンピュータ |