JPH0619752A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH0619752A JPH0619752A JP4175131A JP17513192A JPH0619752A JP H0619752 A JPH0619752 A JP H0619752A JP 4175131 A JP4175131 A JP 4175131A JP 17513192 A JP17513192 A JP 17513192A JP H0619752 A JPH0619752 A JP H0619752A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- execution
- execution time
- address
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【目的】プログラムの実行時間を計測する際に、被計測
プログラムの実行時のCPUやその他周辺ハードウエア
等を本来実行しようとする環境を維持したまま、しかも
被計測プログラムが真に実行されている時間のみを極め
て正確に計ることにある。 【構成】マイクロコンピュータ100は、プログラムメ
モリ170と、PC150,IR130およびIR13
0に基づきタイミング信号を発生するタイミング信号発
生回路140を備えたCPU110と、PC150の出
力とタイミング信号により所定のプログラムの実行時間
を計測するプログラム実行時間計測回路160とを有す
る。このプログラム実行時間計測回路160は、PC1
50の出力と比較し被計測プログラムの開始アドレスお
よび終了アドレスをそれぞれ格納するコンペアレジスタ
161,162と、命令読出し指示信号141,命令実
行終了指示信行142,比較一致信号EQSおよびEQ
Eに基づき命令の実行時間内のみインクリメントを行な
うタイマ165とを備えている。
プログラムの実行時のCPUやその他周辺ハードウエア
等を本来実行しようとする環境を維持したまま、しかも
被計測プログラムが真に実行されている時間のみを極め
て正確に計ることにある。 【構成】マイクロコンピュータ100は、プログラムメ
モリ170と、PC150,IR130およびIR13
0に基づきタイミング信号を発生するタイミング信号発
生回路140を備えたCPU110と、PC150の出
力とタイミング信号により所定のプログラムの実行時間
を計測するプログラム実行時間計測回路160とを有す
る。このプログラム実行時間計測回路160は、PC1
50の出力と比較し被計測プログラムの開始アドレスお
よび終了アドレスをそれぞれ格納するコンペアレジスタ
161,162と、命令読出し指示信号141,命令実
行終了指示信行142,比較一致信号EQSおよびEQ
Eに基づき命令の実行時間内のみインクリメントを行な
うタイマ165とを備えている。
Description
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関し、特にプログラムの実行時間を計測する機能を備え
たマイクロコンピュータに関する。
関し、特にプログラムの実行時間を計測する機能を備え
たマイクロコンピュータに関する。
【0002】
【従来の技術】近年、マイクロコンピュータを用いたシ
ステムにおいて、マイクロコンピュータの高速化に対応
し、またマイクロコンピュータ処理の高精度化をはかる
ために、高機能な周辺ハードウエアをマイクロコンピュ
ータに内蔵したり、より高速な周辺ハードウエアを外部
に接続することが増えている。しかも、マイクロコンピ
ュータのCPUとこれらの周辺ハードウエアのインター
ヘェースをとるために、割り込み制御回路をマイクロコ
ンピュータ内部に搭載するなどして、より高速かつ高精
度の処理を実現しようとしている。
ステムにおいて、マイクロコンピュータの高速化に対応
し、またマイクロコンピュータ処理の高精度化をはかる
ために、高機能な周辺ハードウエアをマイクロコンピュ
ータに内蔵したり、より高速な周辺ハードウエアを外部
に接続することが増えている。しかも、マイクロコンピ
ュータのCPUとこれらの周辺ハードウエアのインター
ヘェースをとるために、割り込み制御回路をマイクロコ
ンピュータ内部に搭載するなどして、より高速かつ高精
度の処理を実現しようとしている。
【0003】従って、プログラム開発において、例えば
周辺ハードウエアに対するCPUの割り込み処理の実行
時間等を常に意識し、その応答時間を正しく認識してプ
ログラム開発(デバッグ)にあたる必要がある。そこ
で、作成されたプログラムの実行時間を計測するため
に、例えば計測しようとするプログラムの直前および直
後に、マイクロコンピュータ内部あるいは外部に被計測
プログラムの開始と終了に相当するタイミングを知らし
めることができる命令をおき、これらの命令の実行によ
っておこる事象を観測することにより、その実行時間を
計測している。
周辺ハードウエアに対するCPUの割り込み処理の実行
時間等を常に意識し、その応答時間を正しく認識してプ
ログラム開発(デバッグ)にあたる必要がある。そこ
で、作成されたプログラムの実行時間を計測するため
に、例えば計測しようとするプログラムの直前および直
後に、マイクロコンピュータ内部あるいは外部に被計測
プログラムの開始と終了に相当するタイミングを知らし
めることができる命令をおき、これらの命令の実行によ
っておこる事象を観測することにより、その実行時間を
計測している。
【0004】具体的な方法としては、例えば被計測プロ
グラムの直前に且つ周辺ハードウエアのポートに”1”
をセットする命令を行い、被計測プログラムの直後にポ
ートを”0”にリセットする命令を行い、そしてポート
の変化を観測しポートが”1”の期間を計測することで
被計測プログラムの実行時間を計測するという方法があ
る。
グラムの直前に且つ周辺ハードウエアのポートに”1”
をセットする命令を行い、被計測プログラムの直後にポ
ートを”0”にリセットする命令を行い、そしてポート
の変化を観測しポートが”1”の期間を計測することで
被計測プログラムの実行時間を計測するという方法があ
る。
【0005】また、内部および外部の周辺ハードウエア
にタイマがある場合には、被計測プログラムの直前にタ
イマをリードする命令を実行することにより、そのタイ
マのリードデータから被計測プログラムの実行時間を計
測する等の方法もある。
にタイマがある場合には、被計測プログラムの直前にタ
イマをリードする命令を実行することにより、そのタイ
マのリードデータから被計測プログラムの実行時間を計
測する等の方法もある。
【0006】要するに、かかるプログラムの開発はプロ
グラムの実行時間を知り、それをプログラム開発の際の
デバッグ情報として用いることにより進められる。
グラムの実行時間を知り、それをプログラム開発の際の
デバッグ情報として用いることにより進められる。
【0007】
【発明が解決しようとする課題】上述した従来のマイク
ロコンピュータは、その実行時間を計測するにあたり、
被計測プログラムの直前および直後においたマイクロコ
ンピュータ外部および内部に事象の変化を与える命令を
行うことは、被計測プログラムの実行開始および実行終
了に相当するタイミングを知るための代替の行為であ
り。被計測プログラムの真の実行終了タイミングとは必
ずしも一致していない。すなわち、これらの命令が実行
され、マイクロコンピュータ外部および内部に事象の変
化を生じる際の応答の遅れが発生する事は避けられな
い。
ロコンピュータは、その実行時間を計測するにあたり、
被計測プログラムの直前および直後においたマイクロコ
ンピュータ外部および内部に事象の変化を与える命令を
行うことは、被計測プログラムの実行開始および実行終
了に相当するタイミングを知るための代替の行為であ
り。被計測プログラムの真の実行終了タイミングとは必
ずしも一致していない。すなわち、これらの命令が実行
され、マイクロコンピュータ外部および内部に事象の変
化を生じる際の応答の遅れが発生する事は避けられな
い。
【0008】また、被計測プログラムの直前・直後に本
来必要のない命令をおき、しかも周辺ハードウエアの一
部を計測手段として使用するため、非計測プログラムが
本来実行されようとしていた環境とは異なってしまう可
能性がある。
来必要のない命令をおき、しかも周辺ハードウエアの一
部を計測手段として使用するため、非計測プログラムが
本来実行されようとしていた環境とは異なってしまう可
能性がある。
【0009】さらに、被計測プログラムの直前および直
後においた命令により周辺ハードウエアを動作させるこ
とから、被計測プログラム内では同一の周辺ハードウエ
アを使用できないことになり、これを避けるためには計
測プログラムに応じて複数の周辺ハードウエアを計測手
段として使い分けること等が必要となるため、実行時間
の計測のための操作が非常に繁雑になってしまう。
後においた命令により周辺ハードウエアを動作させるこ
とから、被計測プログラム内では同一の周辺ハードウエ
アを使用できないことになり、これを避けるためには計
測プログラムに応じて複数の周辺ハードウエアを計測手
段として使い分けること等が必要となるため、実行時間
の計測のための操作が非常に繁雑になってしまう。
【0010】本発明の目的は、プログラムの実行時間を
計測する際に、被計測プログラムの実行時のCPUやそ
の他周辺ハードウエア等を本来実行しようとする環境を
維持したまま、しかも被計測プログラムが真に実行され
ている時間のみを極めて正確に測ることのできるマイク
ロコンピュータを提供することにある。
計測する際に、被計測プログラムの実行時のCPUやそ
の他周辺ハードウエア等を本来実行しようとする環境を
維持したまま、しかも被計測プログラムが真に実行され
ている時間のみを極めて正確に測ることのできるマイク
ロコンピュータを提供することにある。
【0011】
【課題を解決するための手段】本発明のマイクロコンピ
ュータは、プログラムを格納するプログラムメモリと、
命令の実行アドレスを示すプログラムカウンタ,実行す
る命令を格納する命令格納レジスタおよび前記命令格納
レジスタの内容をデコードし種々のタイミング信号を発
生するタイミング信号発生回路を備えた中央処理装置
と、前記プログラムカウンタおよび前記タイミング信号
発生回路が出力するタイミング信号に基づき所定のプロ
グラムの実行時間を計測するプログラム実行時間計測回
路とを有し、前記プログラム実行時間計測回路は、被計
測プログラムの開始および終了アドレスを記憶するアド
レス記憶手段と、前記プログラムカウンタと前記アドレ
ス記憶手段および前記タイミング信号発生回路が出力す
るタイミング信号に基づき前記被計測プログラムの実行
開始時刻から実行終了時刻までを測定する測定手段とを
備え、前記被計測プログラムの開始アドレスおよび終了
アドレスを前記アドレス記憶手段に設定することにより
前記被計測プログラムの実行時間を計測するように構成
される。
ュータは、プログラムを格納するプログラムメモリと、
命令の実行アドレスを示すプログラムカウンタ,実行す
る命令を格納する命令格納レジスタおよび前記命令格納
レジスタの内容をデコードし種々のタイミング信号を発
生するタイミング信号発生回路を備えた中央処理装置
と、前記プログラムカウンタおよび前記タイミング信号
発生回路が出力するタイミング信号に基づき所定のプロ
グラムの実行時間を計測するプログラム実行時間計測回
路とを有し、前記プログラム実行時間計測回路は、被計
測プログラムの開始および終了アドレスを記憶するアド
レス記憶手段と、前記プログラムカウンタと前記アドレ
ス記憶手段および前記タイミング信号発生回路が出力す
るタイミング信号に基づき前記被計測プログラムの実行
開始時刻から実行終了時刻までを測定する測定手段とを
備え、前記被計測プログラムの開始アドレスおよび終了
アドレスを前記アドレス記憶手段に設定することにより
前記被計測プログラムの実行時間を計測するように構成
される。
【0012】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。図1は本発明の第1の実施例を示すマイク
ロコンピュータのブロック図である。図1に示すよう
に、本実施例のマイクロコンピュータ100は、中央処
理装置(以下CPLと記す)100と実行時間計測回路
160およびプログラムメモリ170とを有し、これら
は互いにアドレス・データバス180により接続され
る。CPU110はアドレス・データバス制御回路12
0と、命令格納レジスタ(以下IRと記す)130と、
タイミング信号発生回路140と、プログラムカウンタ
(以下PCと記す)150とからなる。
て説明する。図1は本発明の第1の実施例を示すマイク
ロコンピュータのブロック図である。図1に示すよう
に、本実施例のマイクロコンピュータ100は、中央処
理装置(以下CPLと記す)100と実行時間計測回路
160およびプログラムメモリ170とを有し、これら
は互いにアドレス・データバス180により接続され
る。CPU110はアドレス・データバス制御回路12
0と、命令格納レジスタ(以下IRと記す)130と、
タイミング信号発生回路140と、プログラムカウンタ
(以下PCと記す)150とからなる。
【0013】まず、かかるマイクロコンピュータ100
において、アドレス・データバス制御回路120は、ア
ドレス・データバス180を介してプログラムメモリ1
70からのプログラムのリード制御を行なう。また、I
R130は、プログラムメモリ170から読み出された
オペコードを格納するレジスタであり、その内容はタイ
ミング信号発生回路140に出力される。このタイミン
グ信号発生回路140はIR130に格納されているオ
ペコードをデコードしマイクロコンピュータ100の各
部の動作を制御するための種々の制御信号を発生する回
路である。ここでは、プログラムメモリ170からのオ
ペコードの読みだしを指示する信号(以下PRD信号と
記す)141や、命令の実行終了タイミングを示す信号
(以下PEND信号と記す)142等を出力している。
において、アドレス・データバス制御回路120は、ア
ドレス・データバス180を介してプログラムメモリ1
70からのプログラムのリード制御を行なう。また、I
R130は、プログラムメモリ170から読み出された
オペコードを格納するレジスタであり、その内容はタイ
ミング信号発生回路140に出力される。このタイミン
グ信号発生回路140はIR130に格納されているオ
ペコードをデコードしマイクロコンピュータ100の各
部の動作を制御するための種々の制御信号を発生する回
路である。ここでは、プログラムメモリ170からのオ
ペコードの読みだしを指示する信号(以下PRD信号と
記す)141や、命令の実行終了タイミングを示す信号
(以下PEND信号と記す)142等を出力している。
【0014】次に、PC150はプログラムメモリ17
0からのプログラムの読みだしアドレスを示すカウンタ
であり、タイミング信号発生回路140からPRD信号
141が出力されると+1インクリメントする。このP
C150の内容は実行時間計測回路160に出力されて
いる。
0からのプログラムの読みだしアドレスを示すカウンタ
であり、タイミング信号発生回路140からPRD信号
141が出力されると+1インクリメントする。このP
C150の内容は実行時間計測回路160に出力されて
いる。
【0015】一方、プログラムメモリ170は実行する
プログラムを格納するメモリである。しかも、PC15
0およびアドレス・データバス制御回路120が出力す
るアドレスに基づいて命令(オペコード)のリードがア
ドレス・データバス180を介して行なわれる。また、
アドレス・データバス180はCPU110と実行時間
計測回路160とプログラムメモリ170およびマイク
ロコンピュータ内部および外部の周辺ハードウエアとの
接続を行なうためのバスであり、アドレスおよびデータ
がこのバスを介しやりとりされる。
プログラムを格納するメモリである。しかも、PC15
0およびアドレス・データバス制御回路120が出力す
るアドレスに基づいて命令(オペコード)のリードがア
ドレス・データバス180を介して行なわれる。また、
アドレス・データバス180はCPU110と実行時間
計測回路160とプログラムメモリ170およびマイク
ロコンピュータ内部および外部の周辺ハードウエアとの
接続を行なうためのバスであり、アドレスおよびデータ
がこのバスを介しやりとりされる。
【0016】図2は図1に示す実行時間計測回路の構成
図である。図2に示すように、この実行時間計測回路1
60は、プログラムメモリ170からのオペコードの読
みだしを指示するPRD信号141と命令の実行終了タ
イミングを示すPEND信号142およびPC150の
内容が入力され、2つのコンペアレジスタ(以下CMS
およびCMEと記す)161および162を有する。こ
れらのレジスタ161,162はアドレス・データバス
180を介し、CPU110からのデータの読み出しと
書き込みが可能なレジスタであり、その保持値とPC1
50の内容とを常に比較し、一致した場合にはそれぞれ
一致信号EQSおよびEQEをアクティブ”1”にす
る。
図である。図2に示すように、この実行時間計測回路1
60は、プログラムメモリ170からのオペコードの読
みだしを指示するPRD信号141と命令の実行終了タ
イミングを示すPEND信号142およびPC150の
内容が入力され、2つのコンペアレジスタ(以下CMS
およびCMEと記す)161および162を有する。こ
れらのレジスタ161,162はアドレス・データバス
180を介し、CPU110からのデータの読み出しと
書き込みが可能なレジスタであり、その保持値とPC1
50の内容とを常に比較し、一致した場合にはそれぞれ
一致信号EQSおよびEQEをアクティブ”1”にす
る。
【0017】また、実行時間計測回路160は、各種の
ゲートとフリップフロップ163,164およびタイマ
165とを備えている。ゲートG6とG7は反転素子で
あり、それぞれEQEおよびEQSを入力する。また、
ゲートG1〜G5およびG8は論理積(AND)素子で
あり、ANDゲートG1はPRD信号141とEQSを
入力し、ANDゲートG2はANDゲートG1の出力と
反転素子G6の出力を入力する。更に、ANDゲートG
3はEQEとPRD信号141を入力し、ANDゲート
G4PEND信号142とフリップフロップ163の出
力および反転素子G6の出力を入力する。しかもAND
ゲートG5はフリップフロップ164の出力とクロック
φを入力し、ANDゲートG8はEQSとANDゲート
G1の出力を入力する。
ゲートとフリップフロップ163,164およびタイマ
165とを備えている。ゲートG6とG7は反転素子で
あり、それぞれEQEおよびEQSを入力する。また、
ゲートG1〜G5およびG8は論理積(AND)素子で
あり、ANDゲートG1はPRD信号141とEQSを
入力し、ANDゲートG2はANDゲートG1の出力と
反転素子G6の出力を入力する。更に、ANDゲートG
3はEQEとPRD信号141を入力し、ANDゲート
G4PEND信号142とフリップフロップ163の出
力および反転素子G6の出力を入力する。しかもAND
ゲートG5はフリップフロップ164の出力とクロック
φを入力し、ANDゲートG8はEQSとANDゲート
G1の出力を入力する。
【0018】一方、フリップフロップ(以下F/Fと記
す)163はANDゲートG3の出力が”1”の時に”
1”にセットされ、ANDゲートG2の出力が”1”の
時に”0”にリセットされ、その出力はANDゲートG
4に入力される。また、F/F164は、ANDゲート
G1の出力が”1”の時に”0”にリセットされ、その
出力はANDゲートG5に入力される。タイマ(以下T
Mと記す)165はANDゲートG8の出力が”1”の
時にゼロにクリアされ、ANDゲートG5の出力が”
1”の時に+1のインクリメントを行うタイマである。
これにより、アドレス・データバス180を介しCPU
110からTM165のタイマ値をリードすることがで
きる。
す)163はANDゲートG3の出力が”1”の時に”
1”にセットされ、ANDゲートG2の出力が”1”の
時に”0”にリセットされ、その出力はANDゲートG
4に入力される。また、F/F164は、ANDゲート
G1の出力が”1”の時に”0”にリセットされ、その
出力はANDゲートG5に入力される。タイマ(以下T
Mと記す)165はANDゲートG8の出力が”1”の
時にゼロにクリアされ、ANDゲートG5の出力が”
1”の時に+1のインクリメントを行うタイマである。
これにより、アドレス・データバス180を介しCPU
110からTM165のタイマ値をリードすることがで
きる。
【0019】次に、マイクロコンピュータ100が、プ
ログラムメモリ170に格納された命令(オペコード
群)をCPU110で実行する動作を説明する。
ログラムメモリ170に格納された命令(オペコード
群)をCPU110で実行する動作を説明する。
【0020】まず、オペコードの読みだしを指示するP
RD信号141がアクティブ”1”になると、CPU1
10はプログラムメモリ170からPC150が示すア
ドレスのオペコードをアドレス・データバス180を介
して読みだし、命令格納レジスタIR130に格納す
る。この時、PC150はPRD信号141により+1
インクリメントされる。次に、IR130に格納された
オペコードはタイミング信号発生回路140に入力され
るので、タイミング信号発生回路140はこれをデコー
ドしてマイクロコンピュータ100内の各部の動作を制
御する信号を発生し、命令実行を開始する。以下、順次
命令を構成するオペコードの数だけの読みだし動作を行
い、1つ命令の実行が終了すると、タイミング信号発生
回路140は命令実行終了タイミングであるPRD信号
142をアクティブ”1”にするとともに、PRD信号
141をアクティブ”1”にし、次の命令実行のために
オペコードの読みだし動作を行なう。以上の動作が1命
令におけるオペコードの読みだし動作および実行動作で
あり、以下順次同様の動作を続けて行く。
RD信号141がアクティブ”1”になると、CPU1
10はプログラムメモリ170からPC150が示すア
ドレスのオペコードをアドレス・データバス180を介
して読みだし、命令格納レジスタIR130に格納す
る。この時、PC150はPRD信号141により+1
インクリメントされる。次に、IR130に格納された
オペコードはタイミング信号発生回路140に入力され
るので、タイミング信号発生回路140はこれをデコー
ドしてマイクロコンピュータ100内の各部の動作を制
御する信号を発生し、命令実行を開始する。以下、順次
命令を構成するオペコードの数だけの読みだし動作を行
い、1つ命令の実行が終了すると、タイミング信号発生
回路140は命令実行終了タイミングであるPRD信号
142をアクティブ”1”にするとともに、PRD信号
141をアクティブ”1”にし、次の命令実行のために
オペコードの読みだし動作を行なう。以上の動作が1命
令におけるオペコードの読みだし動作および実行動作で
あり、以下順次同様の動作を続けて行く。
【0021】次に、マイクロコンピュータ100のプロ
グラム実行時間を計測する場合の動作を図3を参照して
説明する。
グラム実行時間を計測する場合の動作を図3を参照して
説明する。
【0022】図3は図2に示す実行時間計測回路の動作
を説明するためのタイミング図である。図3に示すよう
に、この実行時間計測回路160は、まずCPU110
がプログラムの実行時間の計測に先立ち、計測しようと
するプログラムの先頭アドレスおよび終了アドレスをC
MS161およびCME162に格納しておく。ここで
は、被計測プログラムが命令1で始まり命令Nで終わる
プログラムとし且つその先頭アドレスを0100H(H
は16進表記を示す)および終了アドレスを0200H
であるとして説明する。
を説明するためのタイミング図である。図3に示すよう
に、この実行時間計測回路160は、まずCPU110
がプログラムの実行時間の計測に先立ち、計測しようと
するプログラムの先頭アドレスおよび終了アドレスをC
MS161およびCME162に格納しておく。ここで
は、被計測プログラムが命令1で始まり命令Nで終わる
プログラムとし且つその先頭アドレスを0100H(H
は16進表記を示す)および終了アドレスを0200H
であるとして説明する。
【0023】まず、PC150が0100Hとなった
時、CMS161の格納値0100Hと一致するので、
一致信号EQSがアクティブ”1”になる。この時、E
QSが”1”であり、しかもPRD信号141が”0”
の時にゲートG7の出力が”1”であるので、ゲートG
8の出力は”1”となる。従ってTM165はゼロにク
リアされる。また、PC150は常に次に実行すべき命
令のアドレスを示しているので、この時点ではまだプロ
グラムメモリ170からは0100H番地の命令は読み
出されておらず、00FFHまでの命令が実行されてい
る。
時、CMS161の格納値0100Hと一致するので、
一致信号EQSがアクティブ”1”になる。この時、E
QSが”1”であり、しかもPRD信号141が”0”
の時にゲートG7の出力が”1”であるので、ゲートG
8の出力は”1”となる。従ってTM165はゼロにク
リアされる。また、PC150は常に次に実行すべき命
令のアドレスを示しているので、この時点ではまだプロ
グラムメモリ170からは0100H番地の命令は読み
出されておらず、00FFHまでの命令が実行されてい
る。
【0024】次に、PRD信号141がアクティブ”
1”になると、プログラムメモリ170から0100番
地のオペコードが読み出され、IR0130を経てタイ
ミング信号発生回路140でデコードされることによ
り、命令実行がスタートする。この時、EQSがすで
に”1”であるため、ゲートG1の出力が”1”にな
る。また、EQEが”0”であるため、ゲートG6が”
1”になり、しかもG1の出力が”1”となるので、ゲ
ートG2の出力が”1”になる。よって、F/F163
は”0”にリセットされ、またF/F164は”1”に
セットされる。さらに、G8が”0”となることでTM
165に対するクリア動作が解除され、またゲートG5
の出力がクロックφ毎にアクティブ”1”となるため、
TM165は0000Hから0001H,0002H,
のように、+1のインクリメント動作を開始する。な
お、本実施例ではPRD信号141がアクティブ”1”
になった時点を命令の開始タイミングとしている。
1”になると、プログラムメモリ170から0100番
地のオペコードが読み出され、IR0130を経てタイ
ミング信号発生回路140でデコードされることによ
り、命令実行がスタートする。この時、EQSがすで
に”1”であるため、ゲートG1の出力が”1”にな
る。また、EQEが”0”であるため、ゲートG6が”
1”になり、しかもG1の出力が”1”となるので、ゲ
ートG2の出力が”1”になる。よって、F/F163
は”0”にリセットされ、またF/F164は”1”に
セットされる。さらに、G8が”0”となることでTM
165に対するクリア動作が解除され、またゲートG5
の出力がクロックφ毎にアクティブ”1”となるため、
TM165は0000Hから0001H,0002H,
のように、+1のインクリメント動作を開始する。な
お、本実施例ではPRD信号141がアクティブ”1”
になった時点を命令の開始タイミングとしている。
【0025】次に、PC150がインクリメントされ0
101Hとなったため、CMS161の一致信号EQS
は不一致となり、インアクティブ”0”となる。さら
に、PRD信号141がアクティブ”1”になると、P
C150が示す0101Hのオペコードがプログラムメ
モリ170から読み出され、IR130を経てタイミン
グ信号発生回路140でデコードされるので、さらに命
令実行動作を行う。このとき、EQSはすでに”0”で
あるため、ゲートG1〜G7およびF/F163,16
4に変化を与えない。なお、最初に実行している命令
は、0100H番地と0100H番地の2つのオペコー
ドからなる命令であるとし、これを命令1と呼ぶことに
する。
101Hとなったため、CMS161の一致信号EQS
は不一致となり、インアクティブ”0”となる。さら
に、PRD信号141がアクティブ”1”になると、P
C150が示す0101Hのオペコードがプログラムメ
モリ170から読み出され、IR130を経てタイミン
グ信号発生回路140でデコードされるので、さらに命
令実行動作を行う。このとき、EQSはすでに”0”で
あるため、ゲートG1〜G7およびF/F163,16
4に変化を与えない。なお、最初に実行している命令
は、0100H番地と0100H番地の2つのオペコー
ドからなる命令であるとし、これを命令1と呼ぶことに
する。
【0026】かかる命令1の実行が終了する時、タイミ
ング発生回路140は命令実行の終了タイミングを示す
PEND信号142をアクティブ”1”にするととも
に、次なる命令2を読み出すためにPRD信号141を
アクティブ”1”にし、0102H番地のオペコードを
読み出す動作を行う。以下、順次同様の動作を継続する
とともに、TM165はインクリメント動作を継続して
行く。
ング発生回路140は命令実行の終了タイミングを示す
PEND信号142をアクティブ”1”にするととも
に、次なる命令2を読み出すためにPRD信号141を
アクティブ”1”にし、0102H番地のオペコードを
読み出す動作を行う。以下、順次同様の動作を継続する
とともに、TM165はインクリメント動作を継続して
行く。
【0027】さらに、命令の実行が進み、PC150が
0200Hとなったとき、CME162は一致信号EQ
Eをアクティブ”1”とする。この時点では、まだ01
FFHまでの命令N−1が実行されている。次に、02
00Hのオペコードを読み出すためにPRD信号141
がアクティブ”1”になると、EQEが”1”であるこ
とからゲートG3の出力が”1”となり、F/F163
は”1”にセットされる。このとき同時に、命令N−1
の実行終了を示すPEND信号142がアクティブ”
1”になるが、G6が”0”であることから、ゲートG
4は”0”のままである。なお、0200Hのオペコー
ドは1つで命令Nを構成するものとする。
0200Hとなったとき、CME162は一致信号EQ
Eをアクティブ”1”とする。この時点では、まだ01
FFHまでの命令N−1が実行されている。次に、02
00Hのオペコードを読み出すためにPRD信号141
がアクティブ”1”になると、EQEが”1”であるこ
とからゲートG3の出力が”1”となり、F/F163
は”1”にセットされる。このとき同時に、命令N−1
の実行終了を示すPEND信号142がアクティブ”
1”になるが、G6が”0”であることから、ゲートG
4は”0”のままである。なお、0200Hのオペコー
ドは1つで命令Nを構成するものとする。
【0028】次に、命令Nの終了タイミングを示すPE
ND信号142がアクティブ”1”になると、F/F1
63が”1”で且つG6が”0”であることから、ゲー
トG4が”1”となり、F/F164は”0”にリセッ
トされる。これ以降、ゲートG5は常に”0”となるの
で、TM165のインクリメント動作は停止する。
ND信号142がアクティブ”1”になると、F/F1
63が”1”で且つG6が”0”であることから、ゲー
トG4が”1”となり、F/F164は”0”にリセッ
トされる。これ以降、ゲートG5は常に”0”となるの
で、TM165のインクリメント動作は停止する。
【0029】以上の動作により、プログラムの開始アド
レスと終了アドレスを予め設定しプログラムの開始から
終了時間までタイマのインクリメント動作を行うことに
より、プログラムの実行時間の計測が行える。この後、
CPU110はTM165の値をリードすることで、そ
のリード値とクロックφから計測しようとしたプログラ
ムの実行時間を知ることができる。
レスと終了アドレスを予め設定しプログラムの開始から
終了時間までタイマのインクリメント動作を行うことに
より、プログラムの実行時間の計測が行える。この後、
CPU110はTM165の値をリードすることで、そ
のリード値とクロックφから計測しようとしたプログラ
ムの実行時間を知ることができる。
【0030】また、CMS161とCME162への開
始と終了アドレスの設定は、被計測プログラムの実行前
であればいつの時点でも良い。従って、被計測プログラ
ムの実行時の環境に影響を与えることがない。さらに、
コンペアレジスタCMS161およびCME162に設
定する被計測プログラムの先頭および終了アドレスを同
一にすれば、最低1つのオペコードからなる命令の実行
時間の計測を行うことも可能であり、複数の命令の中か
らより命令実行時間の少ない命令を選択する際の手段と
することができる。なお、本実施例では、PC150お
よびTM165に格納されるアドレスおよびデータを4
桁の16進数(すなわち16ビット)で表記したが、特
にこれに限定されるものではない。
始と終了アドレスの設定は、被計測プログラムの実行前
であればいつの時点でも良い。従って、被計測プログラ
ムの実行時の環境に影響を与えることがない。さらに、
コンペアレジスタCMS161およびCME162に設
定する被計測プログラムの先頭および終了アドレスを同
一にすれば、最低1つのオペコードからなる命令の実行
時間の計測を行うことも可能であり、複数の命令の中か
らより命令実行時間の少ない命令を選択する際の手段と
することができる。なお、本実施例では、PC150お
よびTM165に格納されるアドレスおよびデータを4
桁の16進数(すなわち16ビット)で表記したが、特
にこれに限定されるものではない。
【0031】図4は本発明の第2の実施例を示すマイク
ロコンピュータのブロック図であり、図5は図4に示す
実行時間計測回路の構成図である。図4および図5に示
すように、本実施例は、前述した第1の実施例で述べた
実行時間計測回路160にTM165に対するクリア動
作を許可するフラグ166およびこのフラグ166の出
力とゲートG8の出力からTM165に対するクリア信
号を生成するAND素子G9を新たに追加した実行時間
計測回路160aを用いている。これ以外の構成および
動作は第1の実施例で述べたものと同一であるので、こ
こでの説明は省略する。
ロコンピュータのブロック図であり、図5は図4に示す
実行時間計測回路の構成図である。図4および図5に示
すように、本実施例は、前述した第1の実施例で述べた
実行時間計測回路160にTM165に対するクリア動
作を許可するフラグ166およびこのフラグ166の出
力とゲートG8の出力からTM165に対するクリア信
号を生成するAND素子G9を新たに追加した実行時間
計測回路160aを用いている。これ以外の構成および
動作は第1の実施例で述べたものと同一であるので、こ
こでの説明は省略する。
【0032】本実施例では、第1の実施例で被計測プロ
グラムの開始時に、EQSが”1”で且つゲートG8
が”1”になることで行っていたTM165に対するク
リア動作を変更している。すなわち、フラグ166な”
1”を設定すると、プログラム開始のTM165に対す
るクリア動作を許可し、ゲートG9が”1”となること
でTM165をクリアする。また、フラグ166を”
0”に設定すると、プログラム開始時のTM168に対
するクリア動作を禁止し、ゲートG8が”1”になって
もゲート9が”0”となることでTM165に対するク
リア動作を行わないようにしている。
グラムの開始時に、EQSが”1”で且つゲートG8
が”1”になることで行っていたTM165に対するク
リア動作を変更している。すなわち、フラグ166な”
1”を設定すると、プログラム開始のTM165に対す
るクリア動作を許可し、ゲートG9が”1”となること
でTM165をクリアする。また、フラグ166を”
0”に設定すると、プログラム開始時のTM168に対
するクリア動作を禁止し、ゲートG8が”1”になって
もゲート9が”0”となることでTM165に対するク
リア動作を行わないようにしている。
【0033】これは、複数のプログラムの実行時間を計
測する際に、それらの実行時間を通算して計測する事を
可能とするものである。その使用例を以下に図6
(a),(b)を用いて説明する。
測する際に、それらの実行時間を通算して計測する事を
可能とするものである。その使用例を以下に図6
(a),(b)を用いて説明する。
【0034】図6(a),(b)はそれぞれ図5に示す
実行時間計測回路およびその内部のタイマ(TM)の動
作を説明するためのフロー図である。図(a),(b)
に示すように、実行時間計測回160aにおいて、まず
第1の計測プログラムの実行開始に先立ち、開始アドレ
スと終了アドレスをCMS161とCME162に設定
するが、この時はフラグ166に”1”を設定してお
く。従って、第1の計測プログラムの開始時にTM16
5はクリアされ、タイマ値0000Hからインクリメン
ト動作を開始する。
実行時間計測回路およびその内部のタイマ(TM)の動
作を説明するためのフロー図である。図(a),(b)
に示すように、実行時間計測回160aにおいて、まず
第1の計測プログラムの実行開始に先立ち、開始アドレ
スと終了アドレスをCMS161とCME162に設定
するが、この時はフラグ166に”1”を設定してお
く。従って、第1の計測プログラムの開始時にTM16
5はクリアされ、タイマ値0000Hからインクリメン
ト動作を開始する。
【0035】次に、第1の計測プログラムの実行終了
後、第2の計測プログラムの開始アドレスと終了アドレ
スをCMS161とCME162に設定するが、この時
はフラグ166を”0”に設定する。従って、第2の計
測プログラムの実行開始時にはTM165をクリアせず
に、第1の計測プログラムの実行終了時のタイマ値から
インクリメントを開始する。
後、第2の計測プログラムの開始アドレスと終了アドレ
スをCMS161とCME162に設定するが、この時
はフラグ166を”0”に設定する。従って、第2の計
測プログラムの実行開始時にはTM165をクリアせず
に、第1の計測プログラムの実行終了時のタイマ値から
インクリメントを開始する。
【0036】以下、第3の計測プログラム以降の計測プ
ログラムを計測する場合も同様に行うが、フラグ166
は”0”のまま設定を行わず、フラグ166を再度”
1”と設定するまで、TM165は継続してインクリメ
ント動作を行うため、プログラム1からプログラムNま
での通算の実行時間を計測することができる。
ログラムを計測する場合も同様に行うが、フラグ166
は”0”のまま設定を行わず、フラグ166を再度”
1”と設定するまで、TM165は継続してインクリメ
ント動作を行うため、プログラム1からプログラムNま
での通算の実行時間を計測することができる。
【0037】
【発明の効果】以上述べたように、本発明のマイクロコ
ンピュータは、プログラムの実行時間を計測する際に、
プログラムの開始アドレスと終了アドレスを実行時間計
測回路のコンペアレジスタに設定し、プログラムカウン
タ(PC)との常なる比較動作に基づき発生する一致信
号と、タイミング信号発生回路が発生する命令の読み出
し指示信号および命令実行終了信号により直接専用のタ
イマをプログラムの実行時間内だけインクリメントしプ
ログラム実行終了後にこのタイマをリードすることでプ
ログラムの実行時間を計測するので、被計測プログラム
の内容によらず、またプログラムの実行前後の動作を全
く含まないため、極めて正確にプログラムの実行時間を
計測することができるという効果がある。
ンピュータは、プログラムの実行時間を計測する際に、
プログラムの開始アドレスと終了アドレスを実行時間計
測回路のコンペアレジスタに設定し、プログラムカウン
タ(PC)との常なる比較動作に基づき発生する一致信
号と、タイミング信号発生回路が発生する命令の読み出
し指示信号および命令実行終了信号により直接専用のタ
イマをプログラムの実行時間内だけインクリメントしプ
ログラム実行終了後にこのタイマをリードすることでプ
ログラムの実行時間を計測するので、被計測プログラム
の内容によらず、またプログラムの実行前後の動作を全
く含まないため、極めて正確にプログラムの実行時間を
計測することができるという効果がある。
【0038】また、本発明のマイクロコンピュータにお
ける計測動作は、すべて専用のハードウエアにより行わ
れるため、被計測プログラム内で使用されるCPUおよ
び周辺ハードウエアの動作には全く影響を与える事な
く、しかも被計測プログラムが実行されようとした本来
の環境を保持したまま実行時間の計測を行なうことがで
きるという効果がある。
ける計測動作は、すべて専用のハードウエアにより行わ
れるため、被計測プログラム内で使用されるCPUおよ
び周辺ハードウエアの動作には全く影響を与える事な
く、しかも被計測プログラムが実行されようとした本来
の環境を保持したまま実行時間の計測を行なうことがで
きるという効果がある。
【0039】さらに、本発明は実行時間を計測するタイ
マのクリア動作を制御するフラグの指定により、プログ
ラム開始時のタイマのクリア/非クリアを指定すること
ができるので、複数の計測プログラムの通算の実行時間
を計測することもできるという効果がある。
マのクリア動作を制御するフラグの指定により、プログ
ラム開始時のタイマのクリア/非クリアを指定すること
ができるので、複数の計測プログラムの通算の実行時間
を計測することもできるという効果がある。
【図1】本発明の第1の実施例を示すマイクロコンピュ
ータのブロック図である。
ータのブロック図である。
【図2】図1に示す実行時間計測回路の構成図である。
【図3】図2に示す実行時間計測回路の動作を説明する
ためのタイミング図である。
ためのタイミング図である。
【図4】本発明の第2の実施例を示すマイクロコンピュ
ータのブロック図である。
ータのブロック図である。
【図5】図4に示す実行時間計測回路の構成図である。
【図6】図5に示す実行時間計測回路およびその内部の
タイマの動作を説明するための、フロー図である。
タイマの動作を説明するための、フロー図である。
100 マイクロコンピュータ 110 CPU 120 アドレス・データバス制御回路 130 命令格納レジスタ(IR) 140 タイミング信号発生回路 141 命令読みだし指示信号 142 命令実行終了信号 150 プログラムカウンタ(PC) 160,160a 実行時間計測回路 161,162 コンペアレジスタ 163,164 フリップフロップ 165 タイマ(TM) 166 タイマクリア許可フラグ 170 プログラムメモリ 180 アドレス・データバス EQS,EQE 一致信号 G1〜G5,G8,G9 論理積素子 G6,G7 反転素子
Claims (1)
- 【請求項1】 プログラムを格納するプログラムメモリ
と、命令の実行アドレスを示すプログラムカウンタ,実
行する命令を格納する命令格納レジスタおよび前記命令
格納レジスタの内容をデコードし種々のタイミング信号
を発生するタイミング信号発生回路を備えた中央処理装
置と、前記プログラムカウンタおよび前記タイミング信
号発生回路が出力するタイミング信号に基づき所定のプ
ログラムの実行時間を計測するプログラム実行時間計測
回路とを有し、前記プログラム実行時間計測回路は、被
計測プログラムの開始および終了アドレスを記憶するア
ドレス記憶手段と、前記プログラムカウンタと前記アド
レス記憶手段および前記タイミング信号発生回路が出力
するタイミング信号に基づき前記被計測プログラムの実
行開始時刻から実行終了時刻までを測定する測定手段と
を備え、前記被計測プログラムの開始アドレスおよび終
了アドレスを前記アドレス記憶手段に設定することによ
り前記被計測プログラムの実行時間を計測することを特
徴とするマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4175131A JPH0619752A (ja) | 1992-07-02 | 1992-07-02 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4175131A JPH0619752A (ja) | 1992-07-02 | 1992-07-02 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0619752A true JPH0619752A (ja) | 1994-01-28 |
Family
ID=15990833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4175131A Pending JPH0619752A (ja) | 1992-07-02 | 1992-07-02 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0619752A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9447370B2 (en) | 2007-06-14 | 2016-09-20 | Suntory Holdings Limited | Distilled liquors and spirits having the fresh and natural fragrance of shiso and processes for producing the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6284347A (ja) * | 1985-10-08 | 1987-04-17 | Mitsubishi Electric Corp | 電子計算機 |
JPH01243140A (ja) * | 1988-03-25 | 1989-09-27 | Hitachi Ltd | コントローラ |
-
1992
- 1992-07-02 JP JP4175131A patent/JPH0619752A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6284347A (ja) * | 1985-10-08 | 1987-04-17 | Mitsubishi Electric Corp | 電子計算機 |
JPH01243140A (ja) * | 1988-03-25 | 1989-09-27 | Hitachi Ltd | コントローラ |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9447370B2 (en) | 2007-06-14 | 2016-09-20 | Suntory Holdings Limited | Distilled liquors and spirits having the fresh and natural fragrance of shiso and processes for producing the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6915416B2 (en) | Apparatus and method for microcontroller debugging | |
JPH0619752A (ja) | マイクロコンピュータ | |
JPS61267858A (ja) | マイクロコンピユ−タ | |
JPS62197831A (ja) | デ−タ処理装置 | |
JPS60124746A (ja) | デ−タ処理装置 | |
JP2575025B2 (ja) | インサ−キット・エミュレ−タ | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JPS6242301B2 (ja) | ||
JPS594051B2 (ja) | ワンチツプ・マイクロプロセツサのテスト処理方式 | |
JP2786033B2 (ja) | 時間測定装置 | |
JP2020140290A (ja) | 中央演算処理装置 | |
JPH0231247A (ja) | データ処理装置 | |
JPH05333956A (ja) | タイマ回路 | |
JPH08292903A (ja) | 情報処理装置 | |
JPS6131481B2 (ja) | ||
JPH0354645A (ja) | プログラム実行時間測定装置 | |
JPH04245332A (ja) | データ処理装置 | |
JPS6232509B2 (ja) | ||
JPS59221710A (ja) | シ−ケンスプログラムの演算処理時間測定方式 | |
JPH0433136A (ja) | マイクロプロセッサ | |
JPH0296848A (ja) | 命令の実行時間測定方法 | |
JPS619733A (ja) | テスト装置 | |
JPS6146857B2 (ja) | ||
JPH0343842A (ja) | トレーサメモリ | |
JPS6144346B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19980616 |