JPH05158734A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH05158734A JPH05158734A JP3324405A JP32440591A JPH05158734A JP H05158734 A JPH05158734 A JP H05158734A JP 3324405 A JP3324405 A JP 3324405A JP 32440591 A JP32440591 A JP 32440591A JP H05158734 A JPH05158734 A JP H05158734A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- address
- signal
- execution
- 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)
Abstract
(57)【要約】
【目的】 マイクロプロセッサにおいて、命令のトレー
スを行うために必要な情報を低減、又は、マイクロプロ
セッサの性能低下を防止する。 【構成】 命令実行カウンタ85は、命令終了信号5
2、および分岐命令信号51を入力し、各分岐命令間に
おいて実行された命令の数をカウントすると共に、分岐
先の命令のアドレスを分岐先アドレスレジスタ70へ格
納し、分岐顔粉割れた場合に、命令実行カウンタの内容
を命令実行情報63へ出力する。さらに分岐アドレスレ
ジスタ70の内容をアドレスバス61へ出力する。
スを行うために必要な情報を低減、又は、マイクロプロ
セッサの性能低下を防止する。 【構成】 命令実行カウンタ85は、命令終了信号5
2、および分岐命令信号51を入力し、各分岐命令間に
おいて実行された命令の数をカウントすると共に、分岐
先の命令のアドレスを分岐先アドレスレジスタ70へ格
納し、分岐顔粉割れた場合に、命令実行カウンタの内容
を命令実行情報63へ出力する。さらに分岐アドレスレ
ジスタ70の内容をアドレスバス61へ出力する。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサの
実行状態をマイクロプロセッサ外部に出力する装置に関
し、特に、コンピュータの処理の高速化技術の一つであ
る命令用キャッシュメモリ装置を内蔵するマイクロプロ
セッサに関するものである。
実行状態をマイクロプロセッサ外部に出力する装置に関
し、特に、コンピュータの処理の高速化技術の一つであ
る命令用キャッシュメモリ装置を内蔵するマイクロプロ
セッサに関するものである。
【0002】
【従来の技術】近年、マイクロプロセッサは、処理速度
の高速化のためにパイプライン処理やキャッシュメモリ
装置などの技術を導入すると共に、マイクロプロセッサ
を用いた回路やプログラムの開発時にその開発効率を高
めるために必要となるマイクロプロセッサの実行状態を
示す情報をマイクロプロセッサの外部に出力するための
機構が利用されている。命令用のキャッシュを内蔵する
場合、内蔵キャッシュがヒットしている場合命令の実行
状況がマイクロプロセッサの外部に出力されず、マイク
ロプロセッサのアドレスバスおよびデータバスの情報を
記録するだけでは、マイクロプロセッサの実行する命令
をトレースすることはできない。
の高速化のためにパイプライン処理やキャッシュメモリ
装置などの技術を導入すると共に、マイクロプロセッサ
を用いた回路やプログラムの開発時にその開発効率を高
めるために必要となるマイクロプロセッサの実行状態を
示す情報をマイクロプロセッサの外部に出力するための
機構が利用されている。命令用のキャッシュを内蔵する
場合、内蔵キャッシュがヒットしている場合命令の実行
状況がマイクロプロセッサの外部に出力されず、マイク
ロプロセッサのアドレスバスおよびデータバスの情報を
記録するだけでは、マイクロプロセッサの実行する命令
をトレースすることはできない。
【0003】以下図面を参照しながら、上記した従来の
マイクロプロセッサの一例について説明する。
マイクロプロセッサの一例について説明する。
【0004】図3は従来のマイクロプロセッサの実行状
態を示す情報をマイクロプロセッサの外部に出力するた
めの装置の構成を示すものである。図3において、10
1はフェッチアドレスレジスタ、102は実行アドレス
レジスタで、各々命令フェッチアドレス及びマイクロプ
ロセッサの実行している命令のアドレスを保持する。1
03はバス制御部、104は出力バス、106はラッ
チ、107はバッファ、125はアドレスバス、127
はフェッチアドレスストローブ信号、128は実行アド
レスストローブ信号である。
態を示す情報をマイクロプロセッサの外部に出力するた
めの装置の構成を示すものである。図3において、10
1はフェッチアドレスレジスタ、102は実行アドレス
レジスタで、各々命令フェッチアドレス及びマイクロプ
ロセッサの実行している命令のアドレスを保持する。1
03はバス制御部、104は出力バス、106はラッ
チ、107はバッファ、125はアドレスバス、127
はフェッチアドレスストローブ信号、128は実行アド
レスストローブ信号である。
【0005】以上のように構成されたマイクロプロセッ
サについて、以下その動作について説明する。まず、マ
イクロプロセッサは、フェッチサイクルおよび実行サイ
クルにおいて、それぞれ命令フェッチアドレスレジスタ
101と実行アドレスレジスタ102に対応するアドレ
スを格納する。バス制御部103は、フェッチアドレス
レジスタ101にアドレスが格納された場合は出力バス
104にフェッチアドレスレジスタ101の内容を出力
するよう制御すると共に、ラッチ106に格納しバッフ
ァ107によってアドレスバス125へ出力する。バス
制御部103は、さらにフェッチアドレスストローブ信
号127によりアドレスバス125上にフェッチアドレ
スが出力されていることを示す。
サについて、以下その動作について説明する。まず、マ
イクロプロセッサは、フェッチサイクルおよび実行サイ
クルにおいて、それぞれ命令フェッチアドレスレジスタ
101と実行アドレスレジスタ102に対応するアドレ
スを格納する。バス制御部103は、フェッチアドレス
レジスタ101にアドレスが格納された場合は出力バス
104にフェッチアドレスレジスタ101の内容を出力
するよう制御すると共に、ラッチ106に格納しバッフ
ァ107によってアドレスバス125へ出力する。バス
制御部103は、さらにフェッチアドレスストローブ信
号127によりアドレスバス125上にフェッチアドレ
スが出力されていることを示す。
【0006】実行アドレスレジスタ102にアドレスが
格納された場合は、バス制御部はそのサイクルにおいて
フェッチアドレスレジスタ101にアドレスが格納され
ない場合はそのサイクルにおいて、同一サイクルにおい
てフェッチアドレスが格納された場合は次サイクルにお
いて実行アドレスレジスタ102の内容を出力バス10
4に出力させ、ラッチ106に格納すると共に、バッフ
ァ107によりアドレスバス125へ出力する。さら
に、実行アドレスストローブ128により実行アドレス
がアドレスバス125上に出力されているをこと示す。
(例えば、特開平1ー154255号公報)。
格納された場合は、バス制御部はそのサイクルにおいて
フェッチアドレスレジスタ101にアドレスが格納され
ない場合はそのサイクルにおいて、同一サイクルにおい
てフェッチアドレスが格納された場合は次サイクルにお
いて実行アドレスレジスタ102の内容を出力バス10
4に出力させ、ラッチ106に格納すると共に、バッフ
ァ107によりアドレスバス125へ出力する。さら
に、実行アドレスストローブ128により実行アドレス
がアドレスバス125上に出力されているをこと示す。
(例えば、特開平1ー154255号公報)。
【0007】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、マイクロプロセッサが出力する情報に基
づいて、マイクロプロセッサの実行命令のトレースを行
う場合、マイクロプロセッサが実行する全ての命令のア
ドレスを記録する必要があり容量の大きい記憶装置を必
要とするという問題点を有していた。また、マイクロプ
ロセッサの高速化に伴い、常にマイクロプロセッサの実
行情報をプロセッサの外部に出力することによって、バ
スの競合が発生しマイクロプロセッサの性能の低下を招
く。さらに、マイクロプロセッサの実行する命令のトレ
ースを行う場合のみマイクロプロセッサの実行情報を出
力する方法もあるが、トレースを行う場合とそうでない
場合の実行環境が大きく変化し、正確な情報を得る事が
困難である。
うな構成では、マイクロプロセッサが出力する情報に基
づいて、マイクロプロセッサの実行命令のトレースを行
う場合、マイクロプロセッサが実行する全ての命令のア
ドレスを記録する必要があり容量の大きい記憶装置を必
要とするという問題点を有していた。また、マイクロプ
ロセッサの高速化に伴い、常にマイクロプロセッサの実
行情報をプロセッサの外部に出力することによって、バ
スの競合が発生しマイクロプロセッサの性能の低下を招
く。さらに、マイクロプロセッサの実行する命令のトレ
ースを行う場合のみマイクロプロセッサの実行情報を出
力する方法もあるが、トレースを行う場合とそうでない
場合の実行環境が大きく変化し、正確な情報を得る事が
困難である。
【0008】本発明は上記問題点に鑑み、多大な記憶装
置を必要とすることなく、また、マイクロプロセッサの
実行する命令をトレースする際にマイクロプロセッサの
性能の低下を抑えるマイクロプロセッサの実行トレース
を行う事が可能なマイクロプロセッサを提供することを
目的とする。
置を必要とすることなく、また、マイクロプロセッサの
実行する命令をトレースする際にマイクロプロセッサの
性能の低下を抑えるマイクロプロセッサの実行トレース
を行う事が可能なマイクロプロセッサを提供することを
目的とする。
【0009】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のマイクロプロセッサは、命令の実行の終了
を示す命令終了信号と、分岐命令実行時に分岐条件が成
立し、あるいは無条件に分岐を行うことを示す分岐信号
と、前記命令終了信号を入力し実行した命令数をカウン
トし前記分岐信号を入力することにより内容をリセット
する命令実行カウンタと、前記命令実行カウンタより命
令実行数を入力し保持する第一のレジスタと、分岐先の
命令のアドレスを計算し出力するアドレス計算部と、前
記アドレス計算部が出力する分岐先アドレスを入力し保
持する第二のレジスタと、前記分岐信号を入力し前記第
一及び第二のレジスタの内容をそれぞれ端子に出力する
バス制御部とを備えたものである。
めに本発明のマイクロプロセッサは、命令の実行の終了
を示す命令終了信号と、分岐命令実行時に分岐条件が成
立し、あるいは無条件に分岐を行うことを示す分岐信号
と、前記命令終了信号を入力し実行した命令数をカウン
トし前記分岐信号を入力することにより内容をリセット
する命令実行カウンタと、前記命令実行カウンタより命
令実行数を入力し保持する第一のレジスタと、分岐先の
命令のアドレスを計算し出力するアドレス計算部と、前
記アドレス計算部が出力する分岐先アドレスを入力し保
持する第二のレジスタと、前記分岐信号を入力し前記第
一及び第二のレジスタの内容をそれぞれ端子に出力する
バス制御部とを備えたものである。
【0010】さらに、計算される分岐先の命令のアドレ
スが、メモリまたはレジスタの内容を参照する場合にの
み出力される間接分岐信号を備えたものである。
スが、メモリまたはレジスタの内容を参照する場合にの
み出力される間接分岐信号を備えたものである。
【0011】
【作用】本発明は上記した構成によって、キャッシュを
使用中にマイクロプロセッサが分岐命令を実行する毎に
実行を終了した命令の個数と、分岐先の命令のアドレス
を出力する。命令のトレースの開始アドレスは既知であ
るため、分岐命令が実行されない場合はメモリ上の命令
列よりマイクロプロセッサの実行トレースを行うことが
可能である。分岐命令をマイクロプロセッサが実行した
場合は、その分岐先がマイクロプロセッサにより示され
る。従って、命令の実行トレースを行うために、トレー
スの開始アドレス、または分岐命令による分岐先のアド
レスから実行の終了した命令の個数とにより分岐を行な
った命令を決定できる。従って、マイクロプロセッサの
外部に設ける命令のトレース用装置は、マイクロプロセ
ッサが分岐を行なった場合に分岐先の命令のアドレスと
そのアドレスへ分岐するまでに実行された命令の個数を
マイクロプロセッサの実行情報として保持すればよい。
従って、容量の少ない記憶装置を用いて効率よくトレ
ースが行えることとなる。また、分岐命令によって分岐
する場合のみマイクロプロセッサの実行情報をアドレス
バスを用いて出力する為、マイクロプロセッサの性能の
低下を低減する。
使用中にマイクロプロセッサが分岐命令を実行する毎に
実行を終了した命令の個数と、分岐先の命令のアドレス
を出力する。命令のトレースの開始アドレスは既知であ
るため、分岐命令が実行されない場合はメモリ上の命令
列よりマイクロプロセッサの実行トレースを行うことが
可能である。分岐命令をマイクロプロセッサが実行した
場合は、その分岐先がマイクロプロセッサにより示され
る。従って、命令の実行トレースを行うために、トレー
スの開始アドレス、または分岐命令による分岐先のアド
レスから実行の終了した命令の個数とにより分岐を行な
った命令を決定できる。従って、マイクロプロセッサの
外部に設ける命令のトレース用装置は、マイクロプロセ
ッサが分岐を行なった場合に分岐先の命令のアドレスと
そのアドレスへ分岐するまでに実行された命令の個数を
マイクロプロセッサの実行情報として保持すればよい。
従って、容量の少ない記憶装置を用いて効率よくトレ
ースが行えることとなる。また、分岐命令によって分岐
する場合のみマイクロプロセッサの実行情報をアドレス
バスを用いて出力する為、マイクロプロセッサの性能の
低下を低減する。
【0012】さらに、メモリまたはレジスタの内容を参
照する場合にのみ分岐先の命令のアドレス出力される間
接分岐信号を備えることにより、メモリ上の命令からは
分岐先の命令のアドレスを決定できない場合のみ分岐先
命令のアドレスを出力することが可能となる。即ち、分
岐命令によって分岐する分岐先が絶対アドレッシング等
で示される場合はメモリ上の命令列より実行トレースが
可能であり、分岐先がレジスタやメモリ上のデータによ
り示される場合にのみ分岐先の命令のアドレスとその分
岐命令を実行するまでに実行した命令の個数を実行情報
として出力し、他のアドレッシングモードで分岐先の命
令アドレスが決定される場合はその分岐命令までに実行
された命令の個数のみを出力することで、マイクロプロ
セッサの実行環境に与える影響を抑え、性能の低下を少
なくし、さらに、命令のトレースに必要な情報をさらに
減少させることとなる。
照する場合にのみ分岐先の命令のアドレス出力される間
接分岐信号を備えることにより、メモリ上の命令からは
分岐先の命令のアドレスを決定できない場合のみ分岐先
命令のアドレスを出力することが可能となる。即ち、分
岐命令によって分岐する分岐先が絶対アドレッシング等
で示される場合はメモリ上の命令列より実行トレースが
可能であり、分岐先がレジスタやメモリ上のデータによ
り示される場合にのみ分岐先の命令のアドレスとその分
岐命令を実行するまでに実行した命令の個数を実行情報
として出力し、他のアドレッシングモードで分岐先の命
令アドレスが決定される場合はその分岐命令までに実行
された命令の個数のみを出力することで、マイクロプロ
セッサの実行環境に与える影響を抑え、性能の低下を少
なくし、さらに、命令のトレースに必要な情報をさらに
減少させることとなる。
【0013】
【実施例】以下本発明の一実施例のマイクロプロセッサ
について、図面を参照しながら説明する。
について、図面を参照しながら説明する。
【0014】図1は本発明の実施例におけるマイクロプ
ロセッサの構成例を示すものである。図1において、1
0は命令プリフェッチ部、20は命令キャッシュ、30
は命令デコーダ、40はアドレス計算部、50は命令実
行部、60はバスインタフェース制御部、70は分岐ア
ドレスレジスタ、80は実行命令カウンタで、41は分
岐アドレス、51は分岐信号、52は命令終了信号、6
1はアドレスバス、62はバスアクセス情報、63は命
令実行情報である。
ロセッサの構成例を示すものである。図1において、1
0は命令プリフェッチ部、20は命令キャッシュ、30
は命令デコーダ、40はアドレス計算部、50は命令実
行部、60はバスインタフェース制御部、70は分岐ア
ドレスレジスタ、80は実行命令カウンタで、41は分
岐アドレス、51は分岐信号、52は命令終了信号、6
1はアドレスバス、62はバスアクセス情報、63は命
令実行情報である。
【0015】以上のように構成されたマイクロプロセッ
サについて、以下、図1を用いてその動作を説明する。
キャッシュイネーブル信号12により命令キャッシュ2
0の使用が許可されている場合、命令プリフェッチ部1
0において次サイクルにおいて実行する命令のアドレス
が計算され(分岐が発生しない場合)、命令キュッシュ
10内にある命令が読みだされ、読みだされた命令は命
令デコーダ30においてデコードされる。命令デコーダ
30のデコード結果に基づき命令実行部50は命令の実
行を行う。命令実行部50は命令デコーダ30により指
示された命令の実行を終了するサイクルにおいて命令実
行終了信号52を出力する。さらに、命令実行カウンタ
80は命令実行終了信号52が出力される毎にその内容
を1づつ加算し、命令実行部50において実行の終了し
た命令の数をカウントする。なお、この命令実行カウン
タ80は図1には示していないが、マイクロプロセッサ
のリセット時に同時に0にリセットされる。
サについて、以下、図1を用いてその動作を説明する。
キャッシュイネーブル信号12により命令キャッシュ2
0の使用が許可されている場合、命令プリフェッチ部1
0において次サイクルにおいて実行する命令のアドレス
が計算され(分岐が発生しない場合)、命令キュッシュ
10内にある命令が読みだされ、読みだされた命令は命
令デコーダ30においてデコードされる。命令デコーダ
30のデコード結果に基づき命令実行部50は命令の実
行を行う。命令実行部50は命令デコーダ30により指
示された命令の実行を終了するサイクルにおいて命令実
行終了信号52を出力する。さらに、命令実行カウンタ
80は命令実行終了信号52が出力される毎にその内容
を1づつ加算し、命令実行部50において実行の終了し
た命令の数をカウントする。なお、この命令実行カウン
タ80は図1には示していないが、マイクロプロセッサ
のリセット時に同時に0にリセットされる。
【0016】命令デコーダ30においてデコードされた
命令が分岐命令で合った場合、命令実行部50は分岐先
命令のアドレスをアドレス計算部40において求め、そ
の結果を分岐アドレスバス41へ出力すると共に、分岐
条件が成立し、あるいは無条件に分岐が行なわれる事を
示すために分岐命令信号51を出力する。バス制御部6
0は、ユニット内の分岐アドレスレジスタ70に分岐先
アドレスバス41に分岐アドレスが出力される毎に分岐
アドレスを取り込み格納する。また、命令プリフェッチ
部10は分岐先アドレスを分岐アドレスバス41より取
り込み命令キャッシュ20内に分岐先の命令が格納され
ているかどうか検索を行う。さらに、分岐信号51が出
力されると命令実行カウンタ80は、そのカウンタ内に
保持している内容をラッチ85に出力すると共にカウン
タの内容を0にクリアする。バス制御部60は、キャッ
シュイネーブル信号12が出力されている場合は、分岐
命令信号51が出力される毎に分岐アドレスレジスタ7
0の内容をセレクタ65により選択しアドレスバス61
に出力すると共に、バスアクセス情報62によりアドレ
スバス61上に分岐アドレスが出力されていることを示
す。さらに、バス制御部は同時にラッチ85の内容を命
令実行情報63に出力する。
命令が分岐命令で合った場合、命令実行部50は分岐先
命令のアドレスをアドレス計算部40において求め、そ
の結果を分岐アドレスバス41へ出力すると共に、分岐
条件が成立し、あるいは無条件に分岐が行なわれる事を
示すために分岐命令信号51を出力する。バス制御部6
0は、ユニット内の分岐アドレスレジスタ70に分岐先
アドレスバス41に分岐アドレスが出力される毎に分岐
アドレスを取り込み格納する。また、命令プリフェッチ
部10は分岐先アドレスを分岐アドレスバス41より取
り込み命令キャッシュ20内に分岐先の命令が格納され
ているかどうか検索を行う。さらに、分岐信号51が出
力されると命令実行カウンタ80は、そのカウンタ内に
保持している内容をラッチ85に出力すると共にカウン
タの内容を0にクリアする。バス制御部60は、キャッ
シュイネーブル信号12が出力されている場合は、分岐
命令信号51が出力される毎に分岐アドレスレジスタ7
0の内容をセレクタ65により選択しアドレスバス61
に出力すると共に、バスアクセス情報62によりアドレ
スバス61上に分岐アドレスが出力されていることを示
す。さらに、バス制御部は同時にラッチ85の内容を命
令実行情報63に出力する。
【0017】本図には図示していないが、本マイクロプ
ロセッサに接続されている実行状況をトレースする装置
によりアドレスバス61、バスアクセス情報62、およ
び命令実行情報63がトレースされており、バスアクセ
ス情報により分岐命令に関する情報がアドレスバス61
および命令実行情報63に出力が確認された場合のみそ
れらの内容をトレース装置は格納する。アドレスバス6
1および命令実行情報63により、分岐先命令のアドレ
スが得られ、前回の分岐命令のアドレスから実行された
命令の数が確認できる。したがって、命令のトレースは
メモリ上の前回の分岐命令から連続する命令実行情報6
3により示される命令数を逆アセンブラ等により求める
事が可能である。
ロセッサに接続されている実行状況をトレースする装置
によりアドレスバス61、バスアクセス情報62、およ
び命令実行情報63がトレースされており、バスアクセ
ス情報により分岐命令に関する情報がアドレスバス61
および命令実行情報63に出力が確認された場合のみそ
れらの内容をトレース装置は格納する。アドレスバス6
1および命令実行情報63により、分岐先命令のアドレ
スが得られ、前回の分岐命令のアドレスから実行された
命令の数が確認できる。したがって、命令のトレースは
メモリ上の前回の分岐命令から連続する命令実行情報6
3により示される命令数を逆アセンブラ等により求める
事が可能である。
【0018】以上のように本実施例のよれば、命令の実
行の終了を示すための命令終了信号52と、分岐命令実
行時に分岐を行うことを示す分岐信号51と、前記命令
終了信号を入力し実行した命令の数をカウントし前記分
岐信号を入力することにより内容をリセットする命令実
行カウンタ80と、前記命令実行カウンタより入力し保
持するラッチ85と、アドレス計算部40が出力する分
岐先アドレス41を入力し保持するレジスタ70と、端
子としてアドレスバス61、バスアクセス情報62およ
び命令実行情報63とを設けることにより、命令のトレ
ースを命令キャッシュの使用中においても、プロセッサ
外部で多くの情報を保持することなくマイクロプロセッ
サの実行する命令のトレースを行うことができる。
行の終了を示すための命令終了信号52と、分岐命令実
行時に分岐を行うことを示す分岐信号51と、前記命令
終了信号を入力し実行した命令の数をカウントし前記分
岐信号を入力することにより内容をリセットする命令実
行カウンタ80と、前記命令実行カウンタより入力し保
持するラッチ85と、アドレス計算部40が出力する分
岐先アドレス41を入力し保持するレジスタ70と、端
子としてアドレスバス61、バスアクセス情報62およ
び命令実行情報63とを設けることにより、命令のトレ
ースを命令キャッシュの使用中においても、プロセッサ
外部で多くの情報を保持することなくマイクロプロセッ
サの実行する命令のトレースを行うことができる。
【0019】以下本発明の第2の実施例について図面を
参照しながら説明する。図2は本発明の第2の実施例を
示すマイクロプロセッサの構成図である。10は命令プ
リフェッチ部、20は命令キャッシュ、30は命令デコ
ーダ、40はアドレス計算部、50は命令実行部、60
はバスインタフェース制御部、70は分岐アドレスレジ
スタである。以上は図1の構成と同様なものである。図
1と異なるのは間接分岐信号53を設けた点である。
参照しながら説明する。図2は本発明の第2の実施例を
示すマイクロプロセッサの構成図である。10は命令プ
リフェッチ部、20は命令キャッシュ、30は命令デコ
ーダ、40はアドレス計算部、50は命令実行部、60
はバスインタフェース制御部、70は分岐アドレスレジ
スタである。以上は図1の構成と同様なものである。図
1と異なるのは間接分岐信号53を設けた点である。
【0020】以上のように構成されたマイクロプロセッ
サについて、 以下その動作を説明する。命令実行部5
0において実行される分岐命令にって分岐する先の命令
のアドレスが、レジスタ又はメモリ上の値を用いて決定
される場合に間接分岐信号53が出力される。また、こ
の間接分岐信号53は分岐命令のアドレスと分岐命令内
にあるディスプレースメント情報即ち偏差により指定さ
れる場合は出力されない。バス制御部60は、分岐命令
信号51および間接分岐信号53が出力された場合の
み、アドレスバス61に分岐先の命令のアドレスを出力
し、さらにバスアクセス情報62および命令実行情報6
3を出力する。間接分岐信号53が出力されず分岐命令
信号51のみが出力された場合は、バス制御部60は、
命令実行情報63のみを出力する。即ち、間接分岐命令
を実行した場合はその命令の実行により分岐するアドレ
スとバスアクセス情報を、命令実行情報即ち前回の分岐
から今回の分岐までに実行した命令数とともに出力し、
他の方法により分岐先が決定され分岐が実行された場合
は、命令実行情報のみを出力する。
サについて、 以下その動作を説明する。命令実行部5
0において実行される分岐命令にって分岐する先の命令
のアドレスが、レジスタ又はメモリ上の値を用いて決定
される場合に間接分岐信号53が出力される。また、こ
の間接分岐信号53は分岐命令のアドレスと分岐命令内
にあるディスプレースメント情報即ち偏差により指定さ
れる場合は出力されない。バス制御部60は、分岐命令
信号51および間接分岐信号53が出力された場合の
み、アドレスバス61に分岐先の命令のアドレスを出力
し、さらにバスアクセス情報62および命令実行情報6
3を出力する。間接分岐信号53が出力されず分岐命令
信号51のみが出力された場合は、バス制御部60は、
命令実行情報63のみを出力する。即ち、間接分岐命令
を実行した場合はその命令の実行により分岐するアドレ
スとバスアクセス情報を、命令実行情報即ち前回の分岐
から今回の分岐までに実行した命令数とともに出力し、
他の方法により分岐先が決定され分岐が実行された場合
は、命令実行情報のみを出力する。
【0021】以上のように、間接分岐命令を実行する際
に出力される間接分岐信号53を設けることにより、マ
イクロプロセッサの実行する命令のトレースを行う場合
に記録する情報を減少できるとともに、分岐アドレスを
アドレスバスに出力する回数を減少でき、マイクロプロ
セッサの実行環境および性能に与える影響を減おさえる
ことができる。
に出力される間接分岐信号53を設けることにより、マ
イクロプロセッサの実行する命令のトレースを行う場合
に記録する情報を減少できるとともに、分岐アドレスを
アドレスバスに出力する回数を減少でき、マイクロプロ
セッサの実行環境および性能に与える影響を減おさえる
ことができる。
【0022】
【発明の効果】以上のように本発明は、キャッシュの使
用を有効にするキャッシュ有効信号と、命令の実行の終
了を示す命令終了信号と、分岐命令実行時に分岐を行う
ことを示す分岐信号とを出力する実行部と、前記命令終
了信号を入力する毎に保持している内容をカウントアッ
プすることで実行した命令の数をカウントし前記分岐信
号を入力することにより内容をリセットする命令実行カ
ウンタと、前記命令実行カウンタより実行命令数を入力
し保持する第一のレジスタと、分岐先の命令のアドレス
を計算し出力するアドレス計算部と、前記アドレス計算
部が出力する分岐先アドレスを入力し保持する第二のレ
ジスタと、前記キャッシュ有効信号と前記分岐信号を入
力し前記第一及び第二のレジスタの内容をそれぞれ出力
するバス制御部を設けることにより、マイクロプロセッ
サの外部に大規模なトレース装置を設けることなく少な
い容量の記憶装置によりマイクロプロセッサの実行した
命令のトレースを行うことができる。
用を有効にするキャッシュ有効信号と、命令の実行の終
了を示す命令終了信号と、分岐命令実行時に分岐を行う
ことを示す分岐信号とを出力する実行部と、前記命令終
了信号を入力する毎に保持している内容をカウントアッ
プすることで実行した命令の数をカウントし前記分岐信
号を入力することにより内容をリセットする命令実行カ
ウンタと、前記命令実行カウンタより実行命令数を入力
し保持する第一のレジスタと、分岐先の命令のアドレス
を計算し出力するアドレス計算部と、前記アドレス計算
部が出力する分岐先アドレスを入力し保持する第二のレ
ジスタと、前記キャッシュ有効信号と前記分岐信号を入
力し前記第一及び第二のレジスタの内容をそれぞれ出力
するバス制御部を設けることにより、マイクロプロセッ
サの外部に大規模なトレース装置を設けることなく少な
い容量の記憶装置によりマイクロプロセッサの実行した
命令のトレースを行うことができる。
【0023】また、間接分岐命令を実行する際に出力さ
れる間接分岐信号を設けることにより、分岐先アドレス
を出力する回数を減らすことができ、よりマイクロプロ
セッサの実行環境への影響および性能の低下を招くこと
なくマイクロプロセッサの実行した命令のトレースを行
うことができる。
れる間接分岐信号を設けることにより、分岐先アドレス
を出力する回数を減らすことができ、よりマイクロプロ
セッサの実行環境への影響および性能の低下を招くこと
なくマイクロプロセッサの実行した命令のトレースを行
うことができる。
【図1】本発明の第1の実施例におけるマイクロプロセ
ッサの構成図である。
ッサの構成図である。
【図2】本発明の第2の実施例におけるマイクロプロセ
ッサの構成図である。
ッサの構成図である。
【図3】従来のマイクロプロセッサの実行状態を示す情
報をマイクロプロセッサの外部に出力する装置の構成図
である。
報をマイクロプロセッサの外部に出力する装置の構成図
である。
10 命令プリフェッチ部 20 命令キャッシュ 30 命令レコーダ 40 アドレス計算部 50 命令実行部 60 バス制御部 70 分岐アドレスレジスタ 80 命令実行カウンタ
Claims (2)
- 【請求項1】 命令用のキャッシュと、 前記キャッシュの使用を有効にするキャッシュ有効信号
と、命令を入力しデコードおよび実行を行うとともに命
令の実行の終了するサイクルにおいて命令の終了を示す
命令終了信号と分岐命令実行時に分岐を行うことを示す
分岐信号とを出力する実行部と、 前記命令終了信号を入力する毎に保持している内容をカ
ウントアップすることで実行した命令の数をカウントし
前記分岐信号を入力することにより内容をリセットする
命令実行カウンタと、 前記命令実行カウンタより実行命令数を入力し保持する
第一のレジスタと、 分岐先の命令のアドレスを計算し出力するアドレス計算
部と、 前記アドレス計算部が出力する分岐先アドレスを入力し
保持する第二のレジスタと、 前記キャッシュ有効信号と前記分岐信号を入力し前記第
一及び第二のレジスタの内容をそれぞれ端子に出力する
バス制御部を備えたことを特徴とするマイクロプロセッ
サ。 - 【請求項2】 命令用のキャッシュと、 前記キャッシュの使用を有効にするキャッシュ有効信号
と、命令を入力しデコードおよび実行を行うとともに命
令の実行の終了するサイクルにおいて命令の終了を示す
命令終了信号と分岐命令実行時に分岐を行うことを示す
分岐信号と前記アドレス計算部において計算される分岐
先の命令のアドレスがメモリまたはレジスタの内容に基
づいて決定される場合にのみ間接分岐信号を出力する命
令実行部と、 前記命令終了信号を入力する毎に保持している内容をカ
ウントアップすることで実行した命令の数をカウントし
前記分岐信号を入力することにより内容をリセットする
命令実行カウンタと、 前記命令実行カウンタより実行命令数を入力し保持する
第一のレジスタと、 分岐先の命令のアドレスを計算し出力するアドレス計算
部と、 前記アドレス計算部が出力する分岐先アドレスを入力し
保持する第二のレジスタと、 前記間接分岐信号を入力し前記間接分岐信号と前記分岐
信号とが入力された場合に前記第一および第二のレジス
タの内容を出力し前記分岐信号のみが入力された場合に
は前記第一のレジスタの内容のみを出力するバス制御部
とを備えたことを特徴とするマイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3324405A JPH05158734A (ja) | 1991-12-09 | 1991-12-09 | マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3324405A JPH05158734A (ja) | 1991-12-09 | 1991-12-09 | マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05158734A true JPH05158734A (ja) | 1993-06-25 |
Family
ID=18165435
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3324405A Pending JPH05158734A (ja) | 1991-12-09 | 1991-12-09 | マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05158734A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6594782B1 (en) | 1998-12-28 | 2003-07-15 | Fujitsu Limited | Information processing apparatus |
| JP2020184329A (ja) * | 2019-04-16 | 2020-11-12 | ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited | 命令実行のトレース |
-
1991
- 1991-12-09 JP JP3324405A patent/JPH05158734A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6594782B1 (en) | 1998-12-28 | 2003-07-15 | Fujitsu Limited | Information processing apparatus |
| JP2020184329A (ja) * | 2019-04-16 | 2020-11-12 | ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited | 命令実行のトレース |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
| KR920006275B1 (ko) | 데이타 처리 장치 | |
| US5502827A (en) | Pipelined data processor for floating point and integer operation with exception handling | |
| JP2693678B2 (ja) | データ処理装置 | |
| JP2773471B2 (ja) | 情報処理装置 | |
| US6742110B2 (en) | Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution | |
| US8578135B2 (en) | Apparatus for calculating and prefetching a branch target address | |
| US5615375A (en) | Interrupt control circuit | |
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| US4028670A (en) | Fetch instruction for operand address calculation | |
| US5237664A (en) | Pipeline circuit | |
| JP2553200B2 (ja) | 情報処理装置 | |
| JP2581565B2 (ja) | ガード付命令を実行するデータ処理装置 | |
| JPH07110769A (ja) | Vliw型計算機 | |
| JP2917384B2 (ja) | 情報処理装置 | |
| JP2987281B2 (ja) | プロセッサ | |
| JP3523407B2 (ja) | 情報処理装置 | |
| JPS60179844A (ja) | 命令再読出し制御方式 | |
| JPH0752402B2 (ja) | データ処理装置 | |
| JPS59125443A (ja) | 命令アドレス比較方式 | |
| JPS62219128A (ja) | デ−タ処理装置 | |
| JPH064283A (ja) | マイクロプロセッサ | |
| JPH02206836A (ja) | データ処理装置 | |
| JPH05158690A (ja) | 並列演算回路 | |
| JPS6255738A (ja) | プログラムカウンタトレ−ス機構をもつデ−タ処理装置 |