JP3037295B1 - イベント検出回路 - Google Patents
イベント検出回路Info
- Publication number
- JP3037295B1 JP3037295B1 JP10345154A JP34515498A JP3037295B1 JP 3037295 B1 JP3037295 B1 JP 3037295B1 JP 10345154 A JP10345154 A JP 10345154A JP 34515498 A JP34515498 A JP 34515498A JP 3037295 B1 JP3037295 B1 JP 3037295B1
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- signal
- execution
- address
- instruction queue
- 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.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
ン方式のプロセッサにおいて、予め設定されたアドレス
で複数の命令のいずれかの命令の実行タイミングをとら
えてデバッグ用割込みを発生させ所望の状態を観測可能
とするイベント検出回路の提供。 【解決手段】イベントレジスタ6に保持されるアドレス
と、フェッチアドレス19をアドレス比較器8で比較し
一致した場合一致検出信号9を出力し、アドレス変換回
路10は、バスインタフェース部3より、命令キュー選
択信号16と命令キュー書き込み許可信号15を、命令
デコード部4より実行ユニットAと実行ユニットB25
へのコード出力信号26、27を受け取り、命令実行順
をエミュレーションすることにより、実行ユニットA、
に対する割込み要求信号11、12をそれぞれ生成し、
割り込み処理部32に出力する。
Description
ント検出を行なう装置に関し、特に、1クロックで複数
の命令実行が同時に行われるパイプライン機能を有する
プロセッサ応用システムのデバッグを行なう開発支援装
置に搭載されるデバッグ用プロセッサに用いて好適とさ
れるイベント検出回路及びデバッグ用プロセッサに関す
る。
るパイプライン機能を有するプロセッサを搭載した応用
システムを開発する際、このプロセッサ応用システムを
機能・動作させるプログラムのデバッグを行なう為に、
開発支援装置を用いてデバッグする工程が必要となる。
そして、通常、デバッグの対象となるプロセッサ(「タ
ーゲットプロセッサ」という)の代わりに、デバッグ用
のプロセッサ(「エバチップ」という)を用いてデバッ
グが行われる。
サの機能に加えて、ターゲットプロセッサが持つ割込み
機能よりも優先順位の高いデバッグ用割込み機能を具備
しており、このデバッグ用割込みにより、デバッグプロ
グラム(「モニタ」という)に遷移する。
込み信号を生成するエバチップ制御回路が接続され、タ
ーゲットシステムに搭載されるべきターゲットプロセッ
サの代わりに、デバッグ対象プログラムの実行の制御と
デバッグを行う機能(ブレークポイント設定、ステップ
実行、命令トレース等)を具備することが要求される。
検出回路の構成を示す図である。図7を参照すると、マ
イクロプロセッサ(エバチップ)1Aは、アドレス端子
Aよりアドレスバス19Aに、命令フェッチのためのフ
ェッチアドレスを出力し、ハイ側データ要求端子BUE
からハイ側データ要求信号28A、ロウ側データ要求端
子BLEからロウ側データ要求信号29Aを出力する。
エバチップは、データバス38Aを通して、データ端子
Dより命令を取り込む。
たいアドレスがあらかじめ設定されているイベントレジ
スタ6Aからの出力7Aと、アドレスバス19Aの状態
とを比較器8Aで比較し、一致した場合に、一致検出信
号9Aを出力する。
ハイ側データ要求信号28Aと論理積演算され、ハイ側
割込み要求信号12Aとして出力され、ロウ側データ要
求信号29Aは、AND回路40Aで論理積演算され、
ロウ側割込み要求信号11Aとして出力される。
プ1Aのハイ側割込み要求端子TRAP1に入力され、
またロウ側割込み要求信号11Aは、ロウ側割込み要求
端子TRAP0に入力される。
NTは、エバチップ1Aに対して強制ブレーク要求を行
うための信号端子である。また発振器41Aからのクロ
ックがシステムクロック42Aとしてクロック端子CL
Kに供給される。
特公平3−32818号公報に開示されているように、
エバチップ内部で検出されたイベントにより、ブレーク
割込みを発生させている。
に記載されるエバチップ1Aの構成を示す図である。
3Aと命令実行部5Aとからなるパイプライン方式のプ
ロセッサ1Aは、命令キュー13A、命令キュー制御部
14A、アドレス制御部18A、制御情報デコード34
Aからなるインタフェース部3Aと、命令デコーダ21
A、割り込み制御部32A、実行ユニット24A、3入
力OR回路37Aからなる命令実行部5Aとを備えてい
る。
基本長命令幅と同じデータ幅のQ0、Q1、Q2、Q3、Q
4、Q5、Q6、Q7の8つのレジスタで構成され、命令の
書き込みと読み出しは、いずれも、レジスタQ0、Q1、
Q2、Q3、Q4、Q5、Q6、Q7の順に行われる命令キュ
ー13Aと、命令キュー13Aの各レジスタに対応して
いる8個のビットT0、T1、T2、T3、T4、T5、T
6、T7とから構成されているブレークポイント検出用ビ
ット群35Aと、命令キュー制御部14Aから出力され
る外部データバスハイ側、ロウ側(併せてデータ幅が基
本長命令幅の2倍となる)上のデータを、命令キュー1
3A内のレジスタ群に格納させる信号を命令キュー13
Aに送るための制御信号路15Aと、命令キュー制御部
14Aから出力される命令キュー13A内のレジスタ内
容を命令実行部5Aへ送ることを指示する信号を命令キ
ュー13Aに送るための制御信号路16Aと、外部から
のコード化された制御信号をプロッセサ1Aに入力する
ためのデータ信号路11A、12Aと、データ信号路1
1A、12Aによって入力された制御情報をデコードし
てブレークポイント検出用ビット群35Aに書き込む制
御情報デコード34Aとを備えて構成されている。
2Aは、外部からの割込み要求に対してプロセッサ1A
の内部を、割込み処理が行える状態にして、プロセッサ
1Aで実行中であったプログラムをモニタへ分岐させ
る。
からデータ信号路20を介して送られてくる命令を解読
する。
込み要求信号は、データ信号路45Aを通してOR回路
37Aに入力され、OR回路37Aは、データ信号路3
6A、37Bを通して送られてくる信号の論理和をとっ
た結果を、データ信号路46Aを介して割込み処理部3
2Aへ送る。
容を出力するように要求する信号を制御信号路33Aを
介して命令キュー制御部14Aに送る。
具体的な回路構成を示す図である。図9において、信号
線aは、図8のデータ信号路11Aに、信号線bは、図
8のデータ信号路12Aに、信号線cは図8のデータ信
号線45Aにそれぞれ対応している。
結果は、命令ブレークポイント検出用ビットT1、T
3、T5、T7のいずれかに格納され、信号線eを通し
て出力されるデコード結果は、命令キュー13Aのブレ
ークポイント検出用ビットT0、T2、T4、T6のい
ずれかに格納される。
ベント検出回路の動作について説明する。ここで、各ブ
レークポイント検出用ビットT0〜T7が“1”の時に
ブレークポイントであることを示すものとし、割込み処
理部32Aは、データ信号路46Aから“1”が入力さ
れた時に動作するものとする。
り込み制御部32Aへのデータ信号路46Aが“1”と
なるのは、外部からのコード化された制御信号を、プロ
セッサ1Aに入力するためのデータ信号路11Aによ
り、制御情報デコード34Aに対して“1”が入力さ
れ、制御信号路15A、16Aにより命令キュー13A
を通過しデータ信号路36Aを通してOR回路37Aで
論理和出力される場合である。
データ信号路46Aが“1”となるのは、外部からのコ
ード化された制御信号をプロッセサ1Aに入力するため
のデータ信号路12Aにより制御情報デコード34Aに
対して“1”が入力され、制御信号路15A、16Aに
より、命令キュー13Aを通過しデータ信号路36Aを
通してOR回路37で論理和出力される場合である。
とハイ側のいずれかの命令で、割込み処理部32Aを動
作させ、割込み処理を行わせる。なお、図8に示した構
成の詳細は、上記公報の記載が参照される。
は、高速化のために、最高動作周波数を向上させたり、
1クロック内で複数の命令を実行できるように並列に動
作可能な複数の実行ユニットを持つものも出現してきて
おり、エバチップ制御回路を外部回路で実現することが
困難となってきている。
エバチップ制御回路を、エバチップ内に組み込んだ構成
の一例を示す図である。
バスインタフェース部3B、命令デコード部4B、命令
実行部5B、イベント回路2Bを備えて構成されてい
る。イベント検出部2Bは,検出したいアドレスを保持
するイベントレジスタ6Bと、アドレス比較器8Bと、
アドレス変換回路10Bとを備え、アドレス比較器8B
は、アドレス制御部18Bよりフェッチアドレス19B
と、イベントレジスタ6Bからのイベントレジスタ出力
7Bを接続する信号路を有する。
ッチアドレス19Bとイベントレジスタ出力7Bを比較
し、両者が一致したときに、一致検出信号9Bを出力す
る。
14Bから命令キュー選択信号群16Bと、命令キュー
書き込み許可信号群15Bとが入力される。
1Bは、命令キュー13Bより命令コード出力信号20
Bを通して命令コードを受け取り、デコードを行う。こ
のデコード結果により、命令実行部5Bの実行ユニット
A24Bに,命令コード出力A22Bと、命令有効信号
であるIDENA26Bを出力する。
が同時に実行可能な組み合わせの場合には、実行ユニッ
トB25Bにも命令コード出力B23Bと、命令有効信
号であるIDENB27Bが出力される。この命令有効
信号であるIDENA、IDENBは、割込み処理部3
2Bにも接続される。
ス制御部18Bから上位アドレス有効信号28Bと下位
アドレス有効信号29Bが接続されており、アドレス変
換回路10Bは、これらの信号データにより、命令の入
力に応じて、実行ユニットA24Bに対する割込み要求
信号12B、実行ユニットB25Bに対する割込み要求
信号11Bを出力する。
Bは、実行ユニットA24Bに対する割込み信号31実
行ユニットB25Bに対する割込み信号30Bをそれぞ
れ出力する。
ドレス変換回路10Bの構成を示す図である。図11を
参照すると、AND回路701によりアドレス比較器8
Bの一致検出信号aと、下位アドレス有効信号bが論理
積演算(AND)され実行ユニットA24Bに対する割
込み要求信号eを出力し、AND回路702によりアド
レス比較器8Bの一致検出信号aと上位アドレス有効信
号cが論理積演算(AND)されて実行ユニットB25
Bに対する割込み要求信号dを出力する。
及び図11を参照して説明した上記した従来の技術にお
いては、命令が同時に実行された場合に、どちらか一方
の命令の実行タイミングをとらえて、割込み要求信号を
出力するという構成を有していない。
令と基本長の無条件分岐命令(BR命令)が連続する場
合、図12に示すように、基本長命令の実行(図12の
(1))と共に、無条件分岐命令が実行されてしまうこ
とになる。
に遷移した場合、次に実行する命令アドレスが、無条件
分岐命令の実行によって、更新された後のアドレス値と
なってしまう。
命令によって更新される前にモニタに遷移させるため
に、無条件分岐命令の実行前にデバッグ割込みを発生さ
せた場合には、この無条件分岐命令と同時に実行される
べき1クロックで動作する基本長命令も実行されない。
後の状態をモニタ実行状態にて観測することができなく
なるという問題点がある。
しておく。
テージは、命令のフェッチを行い、フェッチポインタを
インクリメントする。
テージでは、命令をデコードし、イミーディエイト・デ
ータを作成し、レジスタの読み出しを行う。
ジでは、デコードした命令を実行する。ここで、EX
1、EX2がある場合、2つの命令が同時に実行される
ことを示す。
は、対象となるアドレスのメモリをアクセスする。
行した結果をレジスタに書き込む。
任意のフラグを更新しない命令と、フラグを更新しない
基本長命令と、基本長の条件分岐命令(Bcc命令)が連
続する場合も、同様にフラグを更新しない基本長命令
(図13の(2−a)、図14の(2−b))が終了し
た直後の状態を観測することができなくなる、という問
題点もある。
間接メモリアクセスに使うレジスタを変更しない命令、
またはメモリアクセス命令や分岐命令以外の基本長命令
と、基本長のレジスタ間接のメモリリード命令とが連続
する場合、基本長命令の実行直後に基本長のレジスタ間
接のメモリリード命令を実行しない状態を観測すること
ができなくなるという問題点もある。すなわち、命令実
行後にデバッグ割り込みを発生すると、基本長命令の実
行と共に、基本長のレジスタ間接のメモリリード命令が
実行されてしまい(図15の(3))、命令実行前にデ
バッグ割込みを発生させた場合には、基本長命令と同時
に実行されるべき基本長のレジスタ間接のメモリリード
命令も実行されないためである。
てなされたものであって、その目的は、1クロックで複
数の命令実行が行われるプロセッサにおいて、あらかじ
め設定されたアドレスで、複数の命令のいずれかの命令
の実行タイミングをとらえて、デバッグ用割込みを発生
させることで、所望の状態を観測可能とするイベント検
出回路を提供することにある。
め、本発明は、1クロックで複数の命令を実行するパイ
プライン方式のプロセッサにおいて、イベントレジスタ
に保持されているアドレスとフェッチアドレスとを比較
し、両者が一致した場合に、命令キュー制御部から命令
キュー選択信号及び書き込み信号を受けて、同時実行さ
れる複数の命令に関する命令実行順のエミュレーション
することで、複数の命令を同時実行する各ユニットに対
して、それぞれ個別に、割込み信号を生成する手段を備
え、イベント検出時に、同時実行される複数の命令の各
命令について、個別に実行前又は実行後の状態をモニタ
可能としたものである。
する。本発明のプロセッサは、その好ましい実施の形態
において、図1を参照すると、1クロックで複数の命令
を実行するパイプライン方式のプロセッサであって、命
令キュー(13)と、命令キューを制御する命令キュー
制御部(14)と、アドレス制御部(18)とを備えた
バスインタフェース部(3)と、命令キュー(13)か
ら命令を受け取りデコードする命令デコーダ(21)
と、複数の実行ユニット(24、25)と割り込み処理
部(32)とを備えた命令実行部(5)と、検出対象ア
ドレスを設定保持するイベントレジスタ(6)と、イベ
ントレジスタ(6)に保持されているアドレスとアドレ
ス制御部(18)からのフェッチアドレスとを比較し、
両者が一致した場合に一致検出信号(9)を出力するア
ドレス比較器(8)と、アドレス変換回路(10)と、
を備えたイベント検出回路(2)と、を含み、アドレス
変換回路(10)は、アドレス比較器(8)からの一致
検出信号(9)を受け取った際に、命令キュー制御部
(14)からの命令キュー(13)への命令キュー選択
信号(16)及び命令キュー書き込み許可信号(15)
と、命令デコーダ(21)からの複数の実行ユニットに
対する命令有効信号(26、27)を受け取り、命令実
行順をエミュレーションすることにより、複数の実行ユ
ニット(24、25)に対して、それぞれ個別に割込み
要求信号(11、12)を生成し、割り込み処理部(3
2)は、アドレス変換回路(10)からの割込み要求信
号(11、12)に基づき、複数の実行ユニット(2
4、25)にそれぞれ割り込み信号(30、31)を出
力する構成とされている。
換回路は、図2を参照すると、イベントレジスタの出力
アドレス情報(k)と一致検出信号(a)から、複数の
有効信号(119、120)を生成する手段(101、
102)と、命令キューと等価のキュー構造を備え、命
令キュー書き込み許可信号(g−1〜g−3)に基づき
複数の有効信号を記憶保持する命令キューレジスタ群
(108、109、110)と、命令キュー選択信号
(f−1〜f−5)に基づき、複数の有効信号(11
9、120)の命令キューレジスタ群への経路を選択制
御するセレクタ群(103〜107)と、命令キューレ
ジスタ群のうちの出力と命令デコーダから前記複数の実
行ユニットの各々に出力される命令有効信号とに基づ
き、複数の割り込み要求信号を生成する手段(111〜
113、115、117、118)とを備える。
変換回路が、検出されたイベントによる割り込み信号の
出力タイミングを命令実行前か命令実行後にするかを選
択する信号(j)を入力とし、検出されたイベントによ
る割り込み信号の出力タイミングを命令実行後を選択さ
れた場合、タイミング調整した上で割り込み要求信号を
出力する手段(115)を備える。
明する。図1を参照すると、イベントレジスタ(6)に
保持されている検出アドレスと、バスインタフェース部
(3)から出力されるフェッチアドレス(19)をアド
レス比較器(8)で比較し、一致した場合に、一致検出
信号(9)を出力する。
フェース部(3)より、命令キュー選択信号(16)と
命令キュー書き込み許可信号(15)を、命令デコード
部(4)より実行ユニットA(24)へのコード出力信
号(26)と実行ユニットB(25)へのコード出力信
号(27)を受け取り、命令実行順をエミュレーション
することにより、実行ユニットA(24)、及び/又
は、実行ユニットB(25)に対する割込み要求信号
(11、12)をそれぞれ生成して、割り込み処理部
(32)に出力する。
ち、割り込み処理部(32)からの割り込みを受けた実
行ユニットが命令実行を中断し、複数命令を同時実行す
る際に、各命令毎に、該命令実行時の状態をモニタ可能
としている。すなわち2つの命令が同時に実行している
場合でも、イベントレジスタ(6)に設定したアドレス
で、各命令の実行に関する所望の状態を検出可能とな
る。
する。図1は、本発明の一実施例の構成を示す図であ
る。図1を参照すると、本発明の一実施例において、デ
バッグ用プロセッサ1(以下「エバチップ」という)
は、イベント回路2と、バスインタフェース部3と、命
令デコード部4と、命令実行部5と、を備えて構成され
ている。
保持するイベントレジスタ6とアドレス比較器8と、ア
ドレス変換回路10を備えている。
8からのフェッチアドレス19と、イベントレジスタ6
からイベントレジスタ出力7とが入力され、入力したフ
ェッチアドレス19とイベントレジスタ出力7とを比較
し、両者が一致した場合に、一致検出信号9をアドレス
変換回路10に出力する。
路10は、命令キュー制御部14から命令キュー13に
出力される命令キュー選択信号群16と、命令キュー書
き込み許可信号群15を受け取る。
換回路10のf端子群に入力され、命令キュー書き込み
許可信号群15はアドレス変換回路10のg端子群に入
力される。
は、命令キュー13より命令コード出力信号20を通し
て転送された命令コードを受け取ってデコードし、デコ
ード結果により、命令実行部5の実行ユニットA24
に、命令コード出力A22と命令有効信号であるIDE
NA26を出力する。
ドした結果、2つの命令が同時に実行可能な組み合わせ
である場合には、実行ユニットB25にも、命令コード
出力B23と命令有効信号であるIDENB27を出力
する。
ENA26、IDENB27は、割込み処理部32、お
よびアドレス変換回路10にも接続されている。
スタ出力7の最下位ビット44と、検出されたイベント
により、割込み要求信号を出力するタイミングを、命令
実行前にするか、命令実行後にするかを選択する信号
(「実行前後選択信号」という)43が接続される。
入力して、命令の実行をエミュレーションし、実行ユニ
ットA24に対する割込み要求信号12、実行ユニット
B25に対する割込み要求信号11を割込み処理部32
に出力する。
号を受け取った割込み処理部32では、実行ユニットA
24に対する割込み信号31と、実行ユニットB25に
対する割込み信号30を出力する。
ス変換回路10の構成を示す図である。図2を参照する
と、図1のアドレス比較器8からの一致検出信号9は端
子aに、イベントレジスタ6の最下位ビットが端子kよ
り入力される。
より、フェッチアドレスのハイ側有効信号119とロウ
側有効信号120を生成する。
第2入力端に入力されるとともに、命令キューレジスタ
(IRX)108のデータ入力端(D)に入力され、命
令キューレジスタ(IRX)108のデータ出力端は、
第1入力端が接地電位に接続されたセレクタ103の第
2入力端に接続され、セレクタ103の出力端がセレク
タ104の第1入力端に接続され、セレクタ104の出
力端は、セレクタ105の第2入力端とセレクタ107
の第1入力端に接続されている。
の第2入力端、セレクタ105の第1入力端に接続さ
れ、セレクタ105の出力端は、命令キューレジスタ
(IRH)109のデータ入力端に入力され、命令キュ
ーレジスタ(IRH)109のデータ出力端はセレクタ
106の第1入力端に接続されるとともに、AND回路
111の第1入力端に接続されており、AND回路11
1の第2入力端には、命令デコーダ21からの命令有効
信号IDENB27が入力されるh端子が接続されてい
る。
ジスタ(IRL)110のデータ入力端に入力され、命
令キューレジスタ(IRL)110のデータ出力端はA
ND回路112、113の第1入力端に接続され、AN
D回路112、113の第2入力端には、命令デコーダ
21からの命令有効信号IDENA26、IDENB2
7が入力されるh端子が接続されている。
ロップ115のデータ入力端(D)とセレクタ118の
第2入力端に接続され、D型フリップフロップ115の
データ出力端はセレクタ117の第1入力端に接続され
ており、AND回路112の出力はセレクタ117の第
2入力端に接続されており、AND回路113の出力は
セレクタ118の第1入力端に接続されている。
子には、命令キュー選択信号群16のIRXBEN、I
RXXEN、IRHHEN、IRLHEN、IRLXE
Nが入力され、g−1〜g−3端子には命令キュー書き
込み許可信号群15のIRXWR、IRHWR、IRL
WRが入力される。
セレクタ104のセレクト信号f−2、セレクタ105
のセレクト信号はf−3、セレクタ106のセレクト信
号はf−4、セレクタ107のセレクト信号はf−5の
端子からの信号が用いられ、各セレクタは、セレクト信
号が“0”の時第1入力端の信号を選択し、セレクト信
号が“1”の時第2入力端の信号を選択して出力する。
RL)108、109、110に入力されるハイ側有効
信号119やロウ側有効信号120は、IRX書き込み
許可信号g−1、IRH書き込み許可信号g−2、IR
L書き込み許可信号g−3が有効(アクティブ)のとき
に、クロック信号clkのタイミングエッジに同期して
書き込まれる。
令キューレジスタ(IRL)120の出力は、AND回
路111、112、113にて、命令有効信号IDEN
B(h)、IDENA(i)、IDENB(h)とそれぞ
れ論理積演算(AND)されて実行有効信号となる。
るなるレジスタ115により、出力タイミングが調整さ
れて、セレクタ117、セレクタ118により、命令実
行前に出力するか、命令実行後にするかが選択される。
セレクタ117、セレクタ118の選択信号としては、
割込み要求信号を出力するタイミングを命令実行前にす
るか命令実行後にするかを選択するための実行前後選択
信号43が接続されるj端子からの信号が用いられる。
る。
ップは、命令長として、基本長命令で短い命令長の命令
と、基本長命令の2倍の長さの命令(以下「2倍長命
令」という)の2種類の命令長の命令を有しているもの
とする。
前後の命令は特に説明が無い限り、2倍長命令とし、同
時実行する命令組は、1回のフェッチで取り込まれるも
のとする。
トタイミングについて、図3のタイミング図を参照して
説明する。
IFステージの先頭で確定する。この時、アドレス変換
回路10では、ハイ側有効信号119は“0”の状態
を、ロウ側有効信号120は“1”の状態を持つ。
択信号群16の信号IRXBEN(f−1)が“0”、
IRXXEN(f−2)が“1”、IRHHEN(f−
3)が“1”、IRLHEN(f−4)が“1”、IR
LXEN(f−5)が“1”、命令キュー書き込み許可
信号群15の信号IRXWR(g−1)が“0”、IR
HWR(g−2)が“1”、IRLWR(g−3)が
“1”の状態になったとすると、ハイ側有効信号119
はセレクタ104、セレクタ105を通過して、命令キ
ューレジスタ(IRH)109の入力に到達する。
106、セレクタ107を通過して命令キューレジスタ
(IRL)110の入力に到達する。
タ(IRH)109は“0”、命令キューレジスタ(I
RL)110は“1”の値を出力する。
NA26(i)、IDENB27(h)に“1”の値を
出力するため、AND回路111の出力は“0”、AN
D回路112とAND回路113の出力は“1”とな
る。
信号jが“0”であるため、実行ユニットAへの割込み
要求信号eは、レジスタ115の出力を使用する。
“1”のタイミングでは、命令キューレジスタ(IR
H)108が“0”であるため、AND回路111の出
力は“0”であり、実行ユニットAへの割込み要求信号
eは“0”となるため割込み要求をおこさない。
dは、AND回路113の出力を使用するが、IRLの
値が“1”であるため、IDENB(h)が“1”のタ
イミングでは、AND回路113の出力が“1”にな
り、実行ユニットBへの割込み要求信号dは“1”とな
り、実行ユニットBへの割込み要求だけが発生する。
への割込み要求信号を受け取って、有効な信号を、実行
ユニットBのみ出力する。
実行しようとしている1クロックで動作する基本長命令
を実行するが、実行ユニットB25は、基本長の無条件
分岐命令(BR命令)の実行を中断する。
フラグを更新しない基本長命令と基本長の条件分岐命令
(Bcc命令)が連続する場合の動作について、図4の条
件不成立時、図5の条件成立時のタイミング図に従って
説明する。
ントタイミングについて、図4を参照して説明する。
a)のIFステージの先頭で確定する。この時、アドレ
ス変換回路10では、ハイ側有効信号119は“1”の
状態を、ロウ側有効信号120は“0”の状態を持つ。
N(f−2)が1、IRHHEN(f−3)が1、IR
LHEN(f−4)が1、IRLXEN(f−5)が
1、IRXWR(g−1)が0、IRHWR(g−2)
が1、IRLWR(g−3)が1の状態になったとする
と、ハイ側有効信号119は、セレクタ104、セレク
タ105を通過して、命令キューレジスタ(IRH)1
09の入力に到達する。一方、ロウ側有効信号120
は、セレクタ106、セレクタ107を通過して、命令
キューレジスタ(IRL)110の入力に到達する。
タ(IRH)109は“1”、命令キューレジスタ(I
RL)110は“0”の値を出力する。
A(i)、IDENB(h)に“1”の値を出力するた
め、AND回路111の出力は“1”、AND回路11
2とAND回路113の出力は“0”となる。
信号jが“1”であるため、実行ユニットAへの割込み
要求信号eとして、AND回路112の出力を選択出力
する。
“1”のタイミングでは、命令キューレジスタ(IR
H)109の値が“0”であるため、AND回路112
の出力は“0”になり、実行ユニットAへの割込み要求
信号eは“0”となるため、割込み要求は発生しない。
dはAND回路111の出力を使用するが、AND回路
111の出力が“1”のために、実行ユニットBへの割
込み要求信号eは“1”となり、実行ユニットBへの割
込み要求が発生する。
Bへの割込み要求信号d、eを受け取って、有効な信号
を、実行ユニットB25にのみ出力する。これにより、
実行ユニットA24のみ実行する。
ベントタイミングについて、図5を参照して説明する。
b)のIFステージの先頭で確定する。この時、アドレ
ス変換回路10では、ハイ側有効信号119は“0”の
状態を、ロウ側有効信号120は“1”の状態を持つ。
N(f−2)が1、IRHHEN(f−3)が1、IR
LHEN(f−4)が1、IRLXEN(f−5)が
1、IRXWR(g−1)が0、IRHWR(g−2)
が1、IRLWR(g−3)が1の状態になったとする
と、ハイ側有効信号119は、セレクタ104、セレク
タ105を通過して、命令キューレジスタ(IRH)1
09の入力に到達する。一方、ロウ側有効信号120
は、セレクタ106、セレクタ107を通過して命令キ
ューレジスタ(IRL)110の入力に到達する。
タ(IRH)109は“0”、命令キューレジスタ(I
RL)110は“1”の値を出力する。
A(i)、IDENB(h)に“1”の値を出力するた
め、AND回路111の出力は“0”、AND回路11
2とAND回路113の出力は“1”となる。
信号jが“1”であるため、実行ユニットAへの割込み
要求信号eとしてAND回路112の出力を選択する。
“1”のタイミングでは、AND回路112の出力は
“1”であるため、実行ユニットAへの割込み要求信号
eは“1”となり、割込み要求を発生する。
dは、AND回路111の出力を使用するが、AND回
路111の出力が“0”となり、実行ユニットBへの割
込み要求信号eは“0”となり、実行ユニットBへの割
込み要求は発生はしない。
への割込み要求信号を受け取って、有効な信号を実行ユ
ニットA24のみ出力する。これにより実行ユニットA
24、実効ユニットB25は共に、命令実行しない。
ジスタを変更しない命令またはメモリアクセス命令や分
岐命令以外の基本長命令と基本長のレジスタ間接のメモ
リリード命令が連続する場合の動作について、図6のタ
イミング図を参照して説明する。
ベントタイミングについて図6を参照して説明する。
Fステージの先頭で確定する。この時、アドレス変換回
路10において、ハイ側有効信号119は“1”の状態
を、ロウ側有効信号120は“0”の状態を持つ。IR
XBEN(f−1)が0、IRXXEN(f−2)が
1、IRHHEN(f−3)が1、IRLHEN(f−
4)が1、IRLXEN(f−5)が1、IRXWR
(g−1)が0、IRHWR(g−2)が1、IRLW
R(g−3)が1の状態になったとすると、ハイ側有効
信号119は、セレクタ104、セレクタ105を通過
して、命令キューレジスタ(IRH)109の入力に到
達する。
106、セレクタ107を通過して命令キューレジスタ
(IRL)110の入力に到達する。
タ(IRH)109は“1”、命令キューレジスタ(I
RL)110は“0”の値を出力する。
NA(i)、IDENB(h)が共に“1”の値を出力
するため、AND回路111の出力は“1”、AND回
路112とAND回路113の出力は“0”となる。
信号jが“0”であるため、実行ユニットAへの割込み
要求信号eとしてはレジスタ115の出力を選択する。
“1”のタイミングでは、1クロック前には、AND回
路111の出力は“0”であるため、実行ユニットAへ
の割込み要求信号eは“0”となり、割込み要求は発生
しない。
dは、AND回路113の出力を使用するが、AND回
路113の出力が“0”のために実行ユニットBへの割
込み要求信号eも“0”となり、実行ユニットBへの割
込み要求も発生しない。
D回路111の出力“1”を取り込むため、”1”を出
力する。
実行ユニットBが実行しようとしていた命令は完了さ
れ、その後に続く命令は実行されなかったことになる。
ーレジスタ(IRH、IRL)109、110に存在す
るとして説明を行ったが、命令キューレジスタ(IR
X)108に命令がすでに格納されている場合には、セ
レクタ103、セレクタ104、セレクタ106、セレ
クタ107を通して、命令キューレジスタ(IRL)1
10に命令が送られる場合もある。
04、セレクタ105を通して命令キューレジスタ(I
RH)109に命令が送られることもある。
する。
実行後のイベント動作については、図3に示したような
タイミングに従って実行される。
た場合、実行ユニットBの実行が行われていないため
に、次に実行する命令アドレスが無条件分岐命令のアド
レスとなり、従来、無条件分岐命令によってアドレスが
更新された後の値になってしまうという問題を防ぐこと
ができる。
命令によって更新される前にモニタに遷移させようと無
条件分岐命令の実行前にデバッグ割込みを発生させた場
合にも、同時に実行されるべき1クロックで動作する基
本長命令は実行されるため、基本長命令の実行が終了し
た直後の状態をモニタ実行状態にて観測することができ
るようになり、デバッグの効率を向上することができ
る。
前の動作については、図4に示したような動作タイミン
グに従って実行される。
タに遷移した場合、実行ユニットBの実行が行われてい
ないために、次に実行する命令アドレスが条件分岐命令
のアドレスとなり、従来に条件分岐命令によってアドレ
スが更新された後の値になってしまうという問題を防ぐ
ことができる。また、次に実行するアドレスが条件分岐
命令によって更新される前にモニタに遷移させようと条
件分岐命令の実行前にデバッグ割込みを発生させた場合
にも、同時に実行されるべきフラグを更新しない基本長
命令は実行されるため、基本長命令の実行が終了した直
後の状態をモニタ実行状態にて観測することができるよ
うになり、デバッグの効率を向上することができる。
前の動作については図5のタイミング図に従って実行さ
れる。この時の効果は前述の2命令目の実行前の動作と
同じため省略する。
作については図6のタイミング図に従って実行される。
のレジスタ間接のメモリリード命令を実行しない状態を
観測することができるためレジスタや各種フラグが更新
されないという利点がある。また余計なメモリリードサ
イクルが発生しないためデバッグするターゲットシステ
ムにリードサイクルにより起動される回路がある場合に
誤動作を起こさないという更なる利点も発生する。
ニットが2つの場合について説明したが、同時に動作を
行う実行ユニットの数は2に限定されるものでなく、2
を超える実行ユニットが同時に動作する構成にも本発明
を適用できることは勿論である。
実行前にするか、命令実行後にするかを設定する構成を
例に説明したが、命令実行前のみの設定とした場合、タ
イミング調整の回路とセレクタが不要とされ、回路の高
速動作を図ることができる。
複数の命令が同時に実行している場合でも、イベントレ
ジスタに設定したアドレスにて、各命令の実行に関する
所望の状態を検出することができるという効果を奏す
る。本発明によれば、例えば2命令同時実行時の一命令
目、2命令目の各命令について実行前、実行後の状態を
観測することができる。
検出時、同時実行される複数の命令に関する命令実行順
のエミュレーションすることで、複数の命令を同時実行
する各ユニットに対して、それぞれ個別に、割込み信号
を生成する手段を備え、イベント検出時に、同時実行さ
れる複数の命令の各命令について、個別に実行前又は実
行後の状態をモニタ可能としたためである。
構成を示す図である。
ミング図である。
ミング図である。
ミング図である。
ミング図である。
る。
の構成を示す図である。
数命令を実行するパイプライン方式のエバチップの構成
を示す図である。
成を示す図である。
作を説明するためのタイミング図である。
作を説明するためのタイミング図である。
作を説明するためのタイミング図である。
作を説明するためのタイミング図である。
18 セレクタ 108、109、110 命令キューレジスタ 119 ハイ側有効信号 120 ロウ側有効信号 1A マイクロプロセッサ(エバチップ) 2A イベント検出回路 3A バスインターフェイス部 5A 命令実行部 6A イベントレジスタ 7A 出力 8A 比較器 9A 一致検出信号 11A ロウ側割込み要求信号 12A ハイ側割込み要求信号 13A 命令キュー 14A 命令キュー制御部 16A 制御信号路 18A アドレス制御部 19A アドレスバス 21A 命令デコーダ 24A 実行ユニット 28A ハイ側データ要求信号 29A ロウ側データ要求信号 32A 割り込み制御部 33A 制御信号路 34A 制御情報デコード 35A ブレークポイント検出用ビット群 36A、37B、45A、46A データ信号路 37A 3入力OR回路 38A データバス 39A AND回路 40A AND回路 41A 発振器 42A 501、502、504 NOR回路 503、505 インバータ 1B エバチップ 3B バスインタフェース部 4B 命令デコード部 5B 命令実行部 2B イベント回路 6B イベントレジスタ 8B アドレス比較器 10B アドレス変換回路 18B アドレス制御部 19B フェッチアドレス 17B イベントレジスタ出力 9B 一致検出信号 10B アドレス変換回路 14B 命令キュー制御部 13B 命令キュー 16B 命令キュー選択信号群 15B 命令キュー書き込み許可信号群 4B 命令デコード部 21B 命令デコーダ 20B 命令コード出力信号 24B 実行ユニットA 22B 命令コード出力A 26B IDENA 25B 実行ユニットB 23B 命令コード出力B 27B IDENB 32B 割込み処理部 28B 位アドレス有効信号 29B 下位アドレス有効信号 11B、12B 割込み要求信号 30、31、割込み信号 701、702 AND回路
Claims (7)
- 【請求項1】1クロックで複数の命令を実行するパイプ
ライン方式のプロセッサにおいて、イベントレジスタに
保持されているアドレスとフェッチアドレスとを比較
し、両者が一致した場合に、命令キュー制御部から命令
キュー選択信号及び書き込み信号を受けて、同時実行さ
れる複数の命令に関する命令実行順をエミュレーション
することで、複数の命令を同時実行する各実行ユニット
に対して、それぞれ個別に、割込み信号を生成する手段
を備え、イベント検出時に、同時実行される複数の命令
のいずれかの命令について、個別に、命令実行前又は命
令実行後の状態をモニタ可能としたことを特徴とするイ
ベント検出回路。 - 【請求項2】1クロックで複数の命令を実行するパイプ
ライン方式のプロセッサであって、 命令キューと、前記命令キューを制御する命令キュー制
御部と、アドレス制御部とを備えたバスインタフェース
部と、 前記命令キューから命令を受け取りデコードする命令デ
コード部と、 複数の実行ユニットと、割り込み処理部とを備えた命令
実行部と、 検出対象アドレスを設定保持するイベントレジスタと、
前記イベントレジスタに保持されている検出アドレスと
前記アドレス制御部からのフェッチアドレスとを比較
し、両者が一致した場合に一致検出信号を出力するアド
レス比較器と、アドレス変換回路と、を備えたイベント
検出回路と、 を含み、 前記アドレス変換回路は、前記アドレス比較器からの一
致検出信号を受け取った際に、前記命令キュー制御部か
らの前記命令キューへの命令キュー選択信号及び命令キ
ュー書き込み許可信号と、前記命令デコード部からの複
数の実行ユニットに対する命令有効信号を受け取り、命
令実行順をエミュレーションすることにより、前期複数
の実行ユニットに対して、それぞれ個別に割込み要求信
号を生成し、 前記割り込み処理部は、前記アドレス変換回路からの割
込み要求信号に基づき、前記複数の実行ユニットにそれ
ぞれ割り込み信号を出力する、ことを特徴とするプロセ
ッサ装置。 - 【請求項3】前記複数の実行ユニットのうち、前記割り
込み処理部からの割り込みを受けた実行ユニットが命令
実行を中断し、複数命令を同時実行する際に、各命令毎
に、該命令実行前及び/又は命令実行後の状態をモニタ
可能とした、ことを特徴とする請求項2記載のプロセッ
サ装置。 - 【請求項4】前記アドレス変換回路が、同時実行される
複数の命令の有効信号を生成する手段と、 前記命令キューと等価のキュー構成をなす命令キューレ
ジスタ群と、を備え、 前記生成された有効信号を、入力された前記命令キュー
選択信号及び命令キュー書き込み許可信号に基づいて前
記命令キューレジスタ群に書き込み、 前記命令キューレジスタ群からの有効信号の出力と、前
記命令デコーダからの前記複数の実行ユニットに対して
それぞれ出力される命令有効信号とに基づき、前記複数
の実行ユニットに対する割り込み要求信号を生成する手
段と、 を備えたことを特徴とする請求項2記載のプロセッサ装
置。 - 【請求項5】前記アドレス変換回路が、前記イベントレ
ジスタの出力アドレス情報と前記一致検出信号から、複
数の有効信号を生成する手段と、 前記命令キューと等価のキュー構造を備え、前記命令キ
ュー書き込み許可信号に基づき前記複数の有効信号を記
憶保持する命令キューレジスタ群と、 前記命令キュー選択信号に基づき、前記複数の有効信号
の前期命令キューレジスタ群への経路を選択制御するセ
レクタ群と、 前記命令キューレジスタ群の出力と、前記命令デコーダ
から前記複数の実行ユニットの各々に出力される命令有
効信号とに基づき、複数の割り込み要求信号を生成する
手段と、 を備えたことを特徴とする請求項2記載のプロセッサ装
置。 - 【請求項6】前記プロセッサが、第1、第2の実行ユニ
ットを備え、2命令を同時実行し、 前記アドレス変換回路が、前記イベントレジスタの出力
アドレスの最下位ビットと前記一致検出信号から、第
1、第2の有効信号を生成する手段と、 前記命令キューと等価のキュー構造を備え、前記命令キ
ュー書き込み許可信号に基づき前記第1、第2の有効信
号を記憶保持する命令キューレジスタ群と、 前記命令キュー選択信号に基づき、前記第1、第2の有
効信号の前期命令キューレジスタ群への経路を選択制御
するセレクタ群と、 前記命令キューレジスタ群からの出力と、前記命令デコ
ーダから前記第1、第2の実行ユニットに出力される第
1、第2の命令有効信号とに基づき、それぞれ前記第
1、第2の実行ユニットに対する第1、第2の割り込み
要求信号を生成する手段と、 を備えたことを特徴とする請求項2記載のプロセッサ装
置。 - 【請求項7】前記アドレス変換回路が、検出されたイベ
ントによる割り込み信号の出力タイミングを命令実行前
か命令実行後にするかを選択する信号を入力し、 検出されたイベントによる割り込み信号の出力タイミン
グとして命令実行後を選択された場合、タイミング調整
した上で割り込み要求信号を出力する手段を備えたこと
を特徴とする請求項2記載のプロセッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10345154A JP3037295B1 (ja) | 1998-12-04 | 1998-12-04 | イベント検出回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10345154A JP3037295B1 (ja) | 1998-12-04 | 1998-12-04 | イベント検出回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3037295B1 true JP3037295B1 (ja) | 2000-04-24 |
JP2000172533A JP2000172533A (ja) | 2000-06-23 |
Family
ID=18374657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10345154A Expired - Fee Related JP3037295B1 (ja) | 1998-12-04 | 1998-12-04 | イベント検出回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3037295B1 (ja) |
-
1998
- 1998-12-04 JP JP10345154A patent/JP3037295B1/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000172533A (ja) | 2000-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6311292B1 (en) | Circuit, architecture and method for analyzing the operation of a digital processing system | |
JP2005317023A (ja) | データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法 | |
US20100153786A1 (en) | Processor, multiprocessor, and debugging method | |
US7013409B2 (en) | Method and apparatus for debugging a data processing system | |
US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
JP2011501265A (ja) | データ処理システムにおいて用いるためのデバッグ命令 | |
JP2513417B2 (ja) | 情報処理装置 | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
JP4564011B2 (ja) | 情報処理装置、例外制御回路 | |
EP0497485A2 (en) | Computer for implementing two-operand instructions | |
JP3260083B2 (ja) | デバッグシステム及びデバッグ方法 | |
JP3037295B1 (ja) | イベント検出回路 | |
CN111177067A (zh) | 一种片上系统 | |
JPH03201031A (ja) | 情報処理装置 | |
US8200943B2 (en) | Microprocessor | |
KR100705872B1 (ko) | 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법 | |
JPH10326203A (ja) | 複数のハードウェア環境上においてプログラムを別々に動作させつつも、ハードウェア環境間で動作状態を継承し合うことができるデバッグ装置 | |
JPH08171504A (ja) | エミュレ−ション装置 | |
US20030204707A1 (en) | Real-time tracing microprocessor unit and operating method | |
JP2808757B2 (ja) | デバッグ用マイクロプロセッサ | |
KR100658485B1 (ko) | 마이크로프로세서 개발시스템 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JP2569693B2 (ja) | マイクロコンピュータ | |
JP2701799B2 (ja) | マイクロコンピュータ | |
JPS6316350A (ja) | マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000201 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080225 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090225 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100225 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100225 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110225 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120225 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130225 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |