JP2003323315A - データ処理装置、プロセッサユニットおよびデバッグユニット - Google Patents
データ処理装置、プロセッサユニットおよびデバッグユニットInfo
- Publication number
- JP2003323315A JP2003323315A JP2003048738A JP2003048738A JP2003323315A JP 2003323315 A JP2003323315 A JP 2003323315A JP 2003048738 A JP2003048738 A JP 2003048738A JP 2003048738 A JP2003048738 A JP 2003048738A JP 2003323315 A JP2003323315 A JP 2003323315A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- instruction code
- code data
- next instruction
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
るのに適した組み込み型プロセッサを提供する。 【解決手段】 システムLSIであるVUPU2を構成
するPU5に、次期命令ポインタデータφaを出力する
接続ポイント31と、次期命令コードデータφcを出力
する接続ポイント32と、次命令実行開始のタイミング
信号φtを出力する接続ポイント33を予め設け、オプ
ションユニットとして提供されるデバックユニット7が
それらの信号φa、φcおよびφtを利用可能にする。
これにより、デバッグユニット7のハードウェア負担を
減らし、低コストでオプションユニットを装着可能な埋
め込み型プロセッサを提供できる。
Description
タ処理装置およびそれに組み込まれるプロセッサに関す
るものである。
システム全体を単一の半導体チップ上に構築することが
可能となりつつある。これに伴って、システムを構成す
るのに必要不可欠であるプロセッサ(プロセッサユニッ
ト)と、目的に応じた性能を最大限に引き出すために専
用LSIとして開発されてきた機能とを単一の半導体チ
ップ上に組み込んで1つにしたシステムLSIの開発が
行われれている。この大規模システムLSI向けに開発
されているプロセッサは、組み込み用途プロセッサ(エ
ンベッデド・プロセッサ)と称されている。
ッサは、従来の単一チップでCPUを構成するのとは主
旨が根本的に異なるものであるが、現状で提供されてい
る組み込み用途のプロセッサは単一チップのCPU用の
プロセッサに対して明確に組み込み用途であることが認
識されているとは云い難い。
は、オプション機能が豊富である必要があることであ
る。すなわち、従来の単一チップで構成したCPU(ま
たは出来上がり品CPU)の場合は、広範囲のユーザの
ニーズに対応するために、必要とされるであろう機能を
予めフル実装させている。これに対し、システムLSI
に組み込まれるエンベッデド・プロセッサでは、その都
度必要とされる機能のみが要求される。したがって、従
来、1つのプロセッサとして提供されていた機能も、オ
プションモジュール化され、プロセッサユニットと、モ
ジュール化された機能とが1つのシステムLSIに搭載
されて所望の機能を備えたプロセッサがシステムLSI
の内部に構築されることになる。
の場合には内蔵されるのが一般的であったデバッグモジ
ュール(デバッグ機能)も、組み込み用途のプロセッサ
ユニットではオプションとしてシステムLSIに組み込
み可能な別ユニットとして提供されることが望ましい。
デバッグユニットとは、パーソナルコンピュータなどか
らプロセッサをブレーク(一時停止)させるためのター
ゲットとなる命令ポインタデータあるいは命令コードデ
ータを設定し、プロセッサがプログラムを実行中にブレ
ーク条件である命令ポインタデータあるいは命令コード
データを発見した場合にプロセッサユニットの処理を一
旦停止させるハードウェアである。そして、プロセッサ
の内部レジスタの内容を観測したり、内部レジスタに特
定の値を注入したりして、デバッグを行なう。
として提供するとなると、デバッグユニットの制御も組
み込み型プロセッサとは別に行われることが望ましい。
これによってデバッグの信頼性も向上する。たとえば、
デバッグユニットを操作するデバッガーソフトをパーソ
ナルコンピュータ上で走行させることができる。従来の
出来上がり品CPUであれば、デバッガがあることが前
提でソフトウェアが作成されるのに対し、組み込み型プ
ロセッサでは、デバッガを設けるか否かはユーザの仕様
となり、デバッガがあることを前提としたソフトウェア
の開発は無駄で冗長なものになる可能性があるからであ
る。また、デバッガがないシステムでデバッガがあるこ
とを前提としたソフトウェアを稼動させることは、シス
テムエラーの要因ともなりかねず、信頼性が低下する可
能性もある。
ットと独立して稼動させようとすると、ブレーク条件で
ある命令バス(命令ポインタおよび命令コード)の内容
に応じてプロセッサユニットをブレークさせるために
は、命令ポインタおよび命令コードを生成するフェッチ
およびデコード機能をプロセッサユニットと同様にデバ
ッガユニットにも設けておく必要がある。このため、シ
ステムLSIにデバッグ機能を持たせようとすると、複
雑な構成で、回路規模も比較的大きなデバッグユニット
を搭載する必要がある。そして、システムLSI全体と
してみると、フェッチおよびデコードするためのハード
ウェアが二重に保有されたかたちになってしまう。特
に、命令長が1語ないし2語といった不定長(または可
変長)の命令セットに対応するプロセッサユニットを搭
載している場合は、フェッチおよびデコードするために
以下の機能が要求されるので、二重に保有されるハード
ウェア規模も大きくなる。
バスのバス幅が命令長と一致していない場合は、次期命
令コードデータがデータ中のどこにいるかが判明せず、
また、フェッチしたデータに跨って次期命令コードデー
タが存在する可能性がある。したがって、ブレークさせ
る命令ポインタデータと、命令コードを含むデータのフ
ェッチに使用した命令ポインタとが一致するか否かを判
断するためには、個々の命令長を監視して次期命令ポイ
ンタの位置を決定する機能が必要になる。また、データ
バス幅が命令長と一致していないと、分岐が発生したと
きに、分岐先のアドレスがフェッチアドレスと常に一致
するとは限らないので、それを調整して次期命令ポイン
タの位置を決定する機能が必要になる。さらに、データ
バス幅が命令長と一致していないと、上述したように、
フェッチされたデータの中から、次期命令コードデータ
を選択して整列させたり、前後のデータに跨ぐ次期命令
コードデータをアライメントする機能が必要になる。
サの実行ユニットで実行される次期命令コードを適切に
デバッグユニットで判断するには、以下のような機能も
必要になる。命令コードの中に、実行に複数の実行サイ
クルが費やされるマルチサイクル型の命令コードが含ま
れていると、実行ユニットで次期命令コードが実行され
るタイミングが不明となる。このため、命令フェッチか
ら、その命令が実行されるまでのタイミング検出を行な
うための機能が必要になる。このマルチサイクル命令処
理に対応できるようにするとハードウェアが非常に大規
模になる。
ェッチされた命令コードであっても実行ユニットが実行
していない命令コードは実際には実行されない命令コー
ドであり次期命令コードとはならない。実行されない命
令コードに対してデバッグ用のブレーク信号を出力する
ことは無意味なので、分岐が発生するか否かを判別する
機能も必要になる。
大規模になるので、システムLSIの小型化および低価
格化を考慮すると省きたいハードウェアである。しか
も、これらの機能は基本的にプロセッサユニットのフェ
ッチ機能としてプロセッサユニットのハードウェアによ
りサポートされている機能であり、ハードウェアが重複
していることになる。
み用途のプロセッサと、デバッグ機能を備えていない埋
め込み用途のプロセッサの両方を開発することは、さら
に重複する部分の大きな投資となる。また、プロセッサ
の機能を変更したり、向上するときに、デバッグ機能の
あるものと、デバッグ機能のないものの両方を同時にバ
ージョンアップすることは大きな負荷であり、大きな重
複投資となる。また、デバッグ機能付きのプロセッサ用
のソフトウェアと、デバッグ機能なしのプロセッサ用の
ソフトウェアを2重に開発およびメンテナンスするため
の投資も必要になる。したがって、これらのディメリッ
トと比較し、デバッグユニットとプロセッサユニットと
が多少重複するハードウェアを備えている程度の重複す
るハードウェアは容認すべきことであると判断すること
も可能である。
グユニットをオプションとして搭載することが可能なシ
ステムLSIにおいて、プロセッサユニットと重複する
ようなハードウェアをデバッグユニットから省くことが
できるシステムを提供することを目的としている。それ
により、ハードウェアおよびソフトウェアの設計・開発
あるいはメンテナンスにおける二重投資を防止すると共
に、コンパクトで低コストなシステムLSIを提供可能
とすることを本発明の目的としている。
込み型のプロセッサユニットとして、次期命令ポインタ
データと、次期命令コードデータとをプロセッサユニッ
トの外部に出力するインターフェイスを備えたプロセッ
サユニットを提供する。このプロセッサユニットであれ
ば、システムLSIにデバッグユニットと共に組み込ん
だときに、デバッグユニットは、ブレーク条件をプロセ
ッサユニットから提供される次期命令ポインタデータお
よび/または次期命令コードデータにより判断すること
が可能となり、重複するハードウェアを省くことができ
る。その一方で、プロセッサユニット側は、デバッグユ
ニットの有無に関わらず、次期命令ポインタデータと次
期命令コードデータを出力するだけなので、ハードウェ
アおよびソフトウェアともデバッグユニットの有無に左
右されずに開発・設計およびメンテナンスを行うことが
できる。
タデータに基づきフェッチアドレスを出力し、得られた
データから命令コードデータを生成可能なフェッチユニ
ットと、命令コードデータに基づく処理を実行可能な実
行ユニットとを有するプロセッサユニットであって、次
に実行ユニットで実行される次期命令コードデータの次
期命令ポインタデータを当該プロセッサユニットから外
部に出力する第1の出力手段と、次期命令コードデータ
を当該プロセッサユニットから外部に出力する第2の出
力手段とを有するプロセッサユニットを提供する。この
プロセッサユニットであれば、ブレーク条件が成立する
とプロセッサユニットに対して一時停止を要求するブレ
ーク信号を供給するブレーク信号出力手段を有するデバ
ッグユニットであって、ブレーク条件として設定されて
いるターゲットの命令ポインタデータと比較する次期命
令ポインタデータを当該デバッグユニットの外部から受
け入れる第1の入力手段と、ブレーク条件として設定さ
れているターゲットの命令コードデータと比較する次期
命令コードデータを当該デバッグユニットの外部から受
け入れる第2の入力手段とを有するデバッグユニットと
組み合わせて、デバッグユニットを動作させることがで
きる。
御方法も提供される。この制御方法は、ブレーク条件が
成立するとプロセッサユニットに対して一時停止を要求
するブレーク信号を供給するブレーク要求工程を有して
おり、さらに、ブレーク条件として設定されているター
ゲットの命令ポインタデータと比較する次期命令ポイン
タデータと、ブレーク条件として設定されているターゲ
ットの命令コードデータと比較する次期命令コードデー
タとの少なくともいずれかを当該デバッグユニットの外
部から受け入れる工程を有する。したがって、デバッグ
ユニットには、プロセッサユニットのフェッチユニット
に相当するようなハードウェアは不要となる。
デバッグユニットとを有するデータ処理装置では、フェ
ッチユニットに相当するハードウェアを重複させずにデ
バッグ機能を搭載できる。また、デバッグユニットはオ
プションユニットなので、このデバッグユニットを搭載
しなくても、本発明のプロセッサユニットを埋め込みプ
ロセッサとしてデータ処理装置、すなわちシステムLS
Iを形成することができる。
ドが含まれている場合は、次期命令コードデータの実行
時期を判断する必要がある。また、分岐の発生に伴う無
駄なブレーク信号の発信を防止するためには次期命令コ
ードデータの実行直前でブレーク信号の要否を判断する
ことが望ましい。したがって、次期命令コードデータに
基づく処理を開始するタイミングを当該プロセッサユニ
ットから外部に出力する第3の出力手段を有するプロセ
ッサユニットを提供することがさらに好ましい。この次
期命令コードデータに基づく処理を開始するタイミング
は、実行ユニットにおける現在の命令コードデータに基
づく処理を完了したタイミングであり、このタイミング
を当該プロセッサユニットから外部に出力しても良い。
これに対応して、デバッグユニットにおいても、次期命
令コードデータが実行開始されるタイミングを当該デバ
ッグユニットの外部から受け入れる第3の入力手段を設
け、ブレーク信号出力手段では、少なくともターゲット
の命令ポインタデータおよびターゲットの命令コードデ
ータのいずれかと、次期命令ポインタデータおよび次期
命令コードデータのいずれかが一致し、次期命令コード
データが実行開始されるときにブレーク信号を出力すれ
ばよい。デバッグユニットの制御方法においては、次期
命令コードデータが実行開始されるタイミングを当該デ
バッグユニットの外部から受け入れる工程を設け、ブレ
ーク要求工程では、少なくともターゲットの命令ポイン
タデータおよびターゲットの命令コードデータのいずれ
かと、次期命令ポインタデータおよび次期命令コードデ
ータのいずれかが一致し、次期命令コードデータが実行
開始されるときにブレーク信号を出力する。
路を備えた専用処理ユニットを有し、プロセッサユニッ
トのフェッチユニットは、命令コードデータとしてプロ
セッサユニットにおける処理を規定する汎用命令コード
データを実行ユニットに供給し、専用処理ユニットにお
ける処理を規定する専用命令コードデータを専用処理ユ
ニットに供給するデータ処理装置、すなわちシステムL
SIを提案しているが、本発明のプロセッサユニット
を、このシステムLSIの埋め込みプロセッサとして用
いることにより、低コストでデバッグユニットを追加す
ることが可能となる。
らに詳しく説明する。図1に本発明に係るプロセッサユ
ニットを有するデータ処理装置、すなわちシステムLS
I2が搭載されたシステムボード1の概略を示してあ
る。システムボード1に搭載されたシステムLSI2
は、VUPUと称される本願の出願人が提案しているア
ーキテクチャによるLSI(以降ではVUPU)であ
り、プロセッサユニットあるいは汎用データ処理ユニッ
ト(以降ではPU)5と、特定の処理に特化した専用デ
ータ処理ユニット(以降ではVU)6とを搭載してい
る。さらに、本例のVUPU2は、PU5のデバッグを
行なうデバッグユニット(以降ではDU)7と、DU7
に対して信号を入出力するためのユーザインターフェイ
ス9を備えている。ユーザインターフェイス9として
は、JTAGバウンダリースキャンテストインターフェ
イスなどが採用でき、システムボード1に設けられたデ
バッグインターフェイス3を介してパーソナルコンピュ
ータ4で稼動するデバッガソフトウェア10によりDU
7を制御することができる。
より示してある。VUPU2は、PU5を組み込み型プ
ロセッサとして、PU5を介してVU6をプログラムに
より制御するLSIである。PU5は、汎用的な構成の
プロセッサユニットであり、実行形式のプログラムコー
ド(マイクロプログラムコード)11aを内蔵したコー
ドRAM11と、このコードRAM11から命令をフェ
ッチし、PU5の実行ユニット(EU)13とVU6と
にデコードされた制御信号を提供するフェッチユニット
(FU)12を備えている。さらに、PU5は、汎用レ
ジスタ、フラグレジスタおよび演算ユニット(ALU)
などから構成される汎用性の高い実行ユニット13を備
えており、データRAM14を一時的な記録領域として
データを入出力しながら汎用処理を実行する。
はステートレジスタ15の状態、割込み信号などによっ
て決まる命令ポインタからフェッチアドレスを算出して
出力し、コードRAM11の所定のアドレスから命令コ
ードを含むデータをフェッチする。さらに、フェッチさ
れたデータをデコードして、コードRAM11から得ら
れたデータから専用命令(VU命令)あるいは汎用命令
(一般命令、PU命令)を生成し、専用命令を制御信号
(デコーデド・コントロールシグナル:Decoded Contro
l Signal)φvとしてVU6に供給し、デコードした汎
用命令を制御信号(デコーデド・コントロール・シグナ
ル:Decoded Control Signal)φpとして実行ユニット
13に供給する。実行ユニット13からは実行状態を示
すステータス信号(Exec unit Status Signal)φsが
返され、実行ユニット13およびVU6の実行結果がス
テートレジスタ(状態レジスタ)15に反映される。た
とえば、実行ユニット13で分岐条件が満足されると、
フェッチユニット12ではそれにしたがって分岐先の命
令コードをフェッチする。
ット12に対して、PU2の実行ユニット13とVU6
とが同じ階層の処理ユニットである。したがって、フェ
ッチユニット12を実行ユニット13とVU6に共通し
た命令発行ユニットとし、実行ユニット13をVU6に
対比されるPUとしたアーキテクチャであると捉えるこ
とも可能である。
ユニット宛てのVU命令φvを選択してデコードするユ
ニット21と、予め特定のデータ処理を行なうように制
御信号をハードウェア的に出力するシーケンサ(FSM
(Finite State Machine)、ファイナイトステートマシ
ン)22と、このシーケンサ22からの制御信号に従っ
て特定のデータ処理を行なうようにデザインされたデー
タパス部23を備えている。また、VU6は、PU5か
らアクセス可能なレジスタ24を備えており、データパ
ス部23の処理に必要なデータをインターフェイスレジ
スタ24を介してPU5で制御したり、VU6の内部状
態をレジスタ24を介してPU5で参照できるようにな
っている。さらに、データパス部23で処理された結果
はPU5に供給され、PU5ではその結果を利用した処
理が行なわれる。
令)および専用命令(VU命令)を含んだプログラム1
1aが記憶されており、フェッチユニット12により、
VU6には、自己を起動するVU命令を含む制御信号φ
vが供給され、VU命令デコーダ21がそれを選択して
動作する。一方、実行ユニット13には、PU命令がデ
コードされた制御信号φpだけが供給される。VU命令
をデコードした制御信号φvは実行ユニット13には発
行されず、その代わりに、実行を伴わないnop命令を
示す制御信号が発行され、実行ユニット13ではその処
理をスキップする。したがって、実行ユニット13では
解釈できないVU命令は実行ユニット13には提供され
ず、PU5の構成は変えることなく、新たな、あるいは
様々なVU命令を含んだプログラム11aをVUPU2
で実行することができる。なお、本明細書の幾つかの記
載においては、PU命令とそれをデコードした制御信号
φpとが同じ意味で用いられ、VU命令とそれをデコー
ドした制御信号φvとが同じ意味で用いられている。
6がアプリケーションなどによって変更されるものであ
り、VU6に指示を出す専用命令(VU命令)もアプリ
ケーションによって変わることが多い。一方、PU5
は、nop命令が出力されることにより、VU用に特化
した命令に対処する必要がなく、基本命令あるいは汎用
命令であるPU命令を解釈して実行できる機能があれば
よい。したがって、PU5は、汎用型の埋め込みプロセ
ッサであると共に、VU6が稼動する汎用性のあるプラ
ットフォームとしての機能を提供する。そして、汎用性
のあるPU5と、専用回路を備えたVU6とを組み合わ
せることにより、PU5を介してプログラムによりVU
6も合わせて制御することができる。このため、VUP
Uアーキテクチャにより、リアルタイム応答性を犠牲に
することなく、設計および開発期間を短縮でき、さら
に、その後の変更や修正にも柔軟に対処できるシステム
LSIを提供できる。
ら、多くのオプショナルな機能を搭載できることがVU
PU2として重要であり、本例のVUPU2では、オプ
ショナルなユニットとしてデバッグユニット(DU)7
が搭載されている。図3にPU5とDU7との間で交換
される信号を示してある。本例のPU5は、フェッチユ
ニット12でフェッチおよびデコードされて次に実行ユ
ニット13に供給される次期命令コードデータφcを外
部出力する配線あるいは接続点(第2の出力手段)32
と、その次期命令コードデータφcを示す次期命令ポイ
ンタデータφaを外部出力する配線あるいは接続点(第
1の出力手段)31を備えている。また、PU5は、次
期命令コードデータφcに基づく処理を実行ユニット1
3で実行開始するタイミングを示す信号φtを外部出力
する配線あるいは接続点(第3の出力手段)33を備え
ている。この次命令の実行を開始するタイミングを示す
信号φtは、実行ユニット13において命令完了により
次の命令をラッチするタイミングを示す信号である。
号φbを受信する配線あるいは接続点34を備えてお
り、DU7からブレーク信号φbを受信すると実行ユニ
ット13における命令コードデータに基づく処理を停止
する。
たデバッグ用のインターフェイス8に対応し、DU7に
は、次期命令ポイントデータφaを受信する接続点(第
1の入力手段)61と、次期命令コードデータφcを受
信する接続点(第2の入力手段)62と、実行開始のタ
イミング信号φtを受信する接続点(第3の入力手段)
63と、ブレーク信号φbを出力する接続点64とを備
えたインターフェイス60が設けられている。DU7の
ブレーク条件一致検出機能50は、ユーザインターフェ
イス9を介して設定されたターゲットの命令ポインタデ
ータφtaが受信した次期命令ポイントデータφaと一
致し、設定されたターゲットの命令コードデータφtc
が受信した次期命令コードデータφcと一致し、さら
に、タイミング信号φtから、その次期命令コードデー
タφcが実行開始される状態になるとブレーク信号φb
を出力する。
びDU7のさらに詳しい構成を示してある。PU5のフ
ェッチユニット12は、フェッチおよびデコードされた
命令と、実行ユニット13からのステータス信号φsに
基づき、次の命令コードを得るためのフェッチアドレス
を生成する次命令ポインタ発生部35を備えている。こ
の次命令ポインタ発生部35は、命令ポインタデータを
更新して、それからフェッチアドレスを計算する機能に
加え、フェッチおよびデコードされた命令が分岐命令の
ときは、実行ユニット13の結果から分岐条件が成立す
れば命令ポインタデータを分岐先のポインタに移行する
機能を備えている。この発生部35で生成されたフェッ
チアドレスはレジスタ36に格納されて、アドレスバス
71を介してコードRAM11に供給される。そのフェ
ッチアドレスに対応したデータがデータバス72を介し
てフェッチデータφdとして得られる。データバス72
は、2語長のバス幅を備えているので、得られるデータ
は常に2語長である。したがって、命令コードが2語長
のみではなく、1語長あるいは3語長などの不定長また
は可変長であると、フェッチデータφdから適切な位置
にある命令コードデータφcを切り出したり、複数のフ
ェッチデータφdに跨った命令コードデータφcを生成
する必要がある。したがって、データアライメント部3
7は、フェッチデータφdをデコードして命令コードデ
ータφcを生成する作業を行う。そして、命令コードデ
ータφcが生成されるタイミングになるとリードタイミ
ング信号φrが出力されて、次に実行ユニット13に供
給される次期命令コードデータがレジスタ39にラッチ
される。同時に、その次期命令コードデータφcをフェ
ッチするために発生部35から出力されている次期命令
ポインタデータφaがレジスタ38にラッチされる。
び次期命令コードデータφcは、実行ユニット13に供
給される。実行ユニット13では、内部で実行中の現命
令に伴う処理が終了して次命令実行開始タイミング信号
φtが出力されると、次期命令ポインタデータφaが現
命令ポインタのレジスタ41にラッチされ、次期命令コ
ードデータφcが現命令コードのレジスタ42にラッチ
される。これにより、次期命令コードφcに基づく処理
が実行ユニット13で開始される。実行ユニット13
は、デバッグ機能としてブレーク信号φbを解釈する機
能44を備えており、ブレーク信号φbを受信するとデ
バッグ用のタイミング信号φdtを出力する。セレクタ
43は、通常のタイミング信号φtと、デバッグ用のタ
イミング信号φdtとを選択し、デバッグが開始される
とデバッグ用のタイミング信号φdtで次期命令ポイン
タφaおよび次期命令コードφcをラッチし、デバッグ
のタイミングで実行ユニット13を制御可能とする。
よび39にラッチされた次期命令ポインタデータφaお
よび次期命令コードデータφcとを外部出力する接続ポ
イント31および32が予め設けられている。また、通
常の次命令実行タイミング信号φtを外部出力する接続
ポイント33が予め設けられている。これらの外部出力
31、32および33には、単にデータφa、φcおよ
びφtが出力されているだけであり、これらのデータが
外部で利用されてもされなくても、そのこと自体ではP
U5の制御に影響を及ぼさない構成となっている。ただ
し、図4に示したVUPU2では、これらのデータφ
a、φcおよびφtに基づいてDU7からブレーク信号
φbがフィードバックされるので、デバッグモードに移
行することができる。すなわち、本例では、PU5とD
U7とが機能を協調することにより、フェッチおよびデ
コードするハードウェアを重複させたり、タイミングを
監視する手間やハードウェアを省いてデバッグを行うこ
とができる構成となっている。
してパーソナルコンピュータ4からブレーク条件を設定
可能な条件設定部51と、その条件とPU5から得られ
たデータを比較してブレーク信号φbを出力するブレー
ク検出部55とを備えている。条件設定部51は、ブレ
ークのターゲットとなるブレークアドレス条件φtaが
セットされるレジスタ52と、ブレークデータ条件φt
cがセットされるレジスタ53とを備えている。ブレー
ク検出部55は、ブレークアドレス条件φtaと、接続
ポイント61を介して得られたPU5の次期命令ポイン
タデータφaとを比較するコンパレータ56と、ブレー
クデータ条件φtcと、接続ポイント62を介して得ら
れたPU5の次期命令コードデータφcとを比較するコ
ンパレータ57と、これらの出力結果と接続ポイント6
3を介して得られたタイミングデータφtとの論理和を
演算してブレーク信号φbを出力するアンドゲート58
とを備えている。ブレーク信号φbはレジスタ59を経
由してPU5に供給される。
件となるデータを保存するレジスタ群51と、それらの
データとプロセッサ側から得られたデータとを比較して
ブレーク信号φbを出力する検出部55とを備えた極め
て簡易な構成でPU5に対して所望のタイミングでブレ
ーク信号φbを供給することができる。一方、PU5で
も、特にDU7を意識した制御を行う必要はなく、所望
のブレーク条件が整うとDU7からブレーク信号φbが
供給されてデバッグモードに移行する。
U側の処理をフローチャートを用いて示してある。ま
ず、PU5では、ステップ81において、フェッチユニ
ット12で実行されるフェッチステージにて、次の命令
コード(次期命令コードデータ)を取得するためにデー
タをフェッチするためのフェッチアドレスを算出し、コ
ードRAM11に対してそのデータの読出をかける。こ
のとき、1語または2語長の可変長命令では、2語長幅
のデータバスに対応する2語長幅のデータの先頭アドレ
スで読出をかける。これにより、ステップ82におい
て、コードRAM11から所望の次期命令コードデータ
を含んだデータが読み出される。さらに、ステップ83
において、フェッチユニット12で実行されるデコード
ステージにて、フェッチされたデータφdから所望の次
期命令コードデータφcをデコードし、その次期命令コ
ードデータφcおよび次期命令ポインタデータφaをレ
ジスタ39および38に格納する。本例のPU5では、
このステップ83で、生成された次期命令コードデータ
φcおよび次期命令ポインタデータφaが自動的にDU
7に供給される。
で、現命令に基づく処理が完了するステップ84になる
と、フェッチユニット12で用意された次期命令コード
データφcと次期命令ポインタデータφaが実行ユニッ
ト13に取り込まれる。このとき、本例のPU5では自
動的にこれらのデータφaおよびφcを取り込む信号で
あるタイミング信号φtがDU7に供給される。そし
て、ステップ85で次期命令コードデータφcに基づく
処理を実行する際に、ブレーク信号φbがDU7から供
給されると一時的に処理を中断してデバッグモードに入
る。したがって、このPU5は、ブレーク信号φbが供
給されないかぎり、DU7の有無にかかわらず通常通
り、順番に次期命令コードデータφcを取得し、それに
よる処理を行う。
ホスト4からブレーク条件であるブレークアドレスφt
aおよびブレークデータφtcを外部指定条件として読
み込む。PU5でデバッグ対象のプログラムが実行され
て、次期命令ポインタデータφaおよび次期命令コード
データφcが供給されると、ステップ92において、次
期命令ポインタデータφaおよび次期命令コードデータ
φcを取得し、それらとブレークアドレスφtaおよび
ブレークデータφtcとをそれぞれ比較する。ステップ
93において、それらが一致すると、ステップ94にお
いて、タイミング信号φtが供給されたときにブレーク
要求信号φbをPU5に出力する。これにより、PU5
では、ステップ85においてブレーク要求信号φbを受
けて一時停止する。
レークデータφtaとしてアドレスA3がセットされ、
ブレークデータφtcとして命令C3がセットされてい
るときに、時刻t1に次期命令ポインタデータφaがア
ドレスA3となり、次期命令コードデータφcがコード
C3になるとDU7で一致状態となる。そして、時刻t
2に次命令の実行タイミング信号φtが入力されるとブ
レーク信号φbが生成され、次期命令コードデータφc
が実行ユニット13で実行される次のクロックのタイミ
ングである時刻t3にブレーク信号φbがPU5に供給
される。その結果、PU5は命令C3を実行する段階で
一時停止する。
ポインタデータφaの出力端31、次期命令コードデー
タφcの出力端32および次命令実行開始タイミング信
号φtの出力端33を有するインターフェイス8が用意
されているので、DU7はPU5から供給されるこれら
の信号φa、φcおよびφtを利用してブレーク信号φ
bを生成しPU5に供給することができる。このため、
DU7には、次期命令ポインタデータφa、次期命令コ
ードデータφcおよび次命令実行開始タイミング信号φ
tを生成するハードウェアは必要なく、1つのLSI2
の内部に重複したハードウェアが搭載されるのを防止す
ることができる。
令コードデータφcを出力するハードウェアは、上述し
たように、命令コードが可変長であったり、命令コード
長がデータバス幅と一致しない場合は大きなものにな
る。しかしながら、本例のPU5およびDU7を組み合
わせたLSI2では、プロセッサ5の側でデコードされ
た命令コードデータをDU7が利用できるので、命令コ
ードが可変長であろうとなかろうと、同一構成のDU7
を利用してデバッグ機能を付加できる。すなわち、PU
5にデータφa、φcおよびφtを出力する機能を付加
することにより、DU7では、次期命令ポインタデータ
φaに対してアドレス一致検出を行うことで、命令長の
監視は不要となり、次期命令コードデータφcに対して
コード一致検出を行うことでバスのデータをアドレスに
合わせて整列するようなデコード処理も不要となる。さ
らに、分岐制御もPU5の側で行われた結果の命令コー
ドが得られるので、その制御も不要となる。そして、実
行ステージの命令完了タイミングは実行ユニット13か
らのタイミング信号φtで分かるので、命令コードがマ
ルチサイクルであるか否かなどの解析も不要となる。
りして、読み捨てられる命令コードを意識するハードウ
ェアも必要ない。PU5では、実行されない命令は実行
ステージに渡されることがないので、次期命令コードデ
ータφcと、それを実行ステージでラッチするための次
命令実行開始タイミング信号φtとを組み合わせること
により、DU7で実行ステージに渡される命令コードデ
ータを確実にモニタリングできるからである。
データφa、φcおよびφtを出力するポイント31〜
33を予め設けてあるだけなので、デバッグ機能の有無
を問題にせずにソフトウェアおよびハードウェアを設
計、開発およびメンテナンスすることができる。これら
の接続ポイント31〜33のハードウェア構成は上記に
限定されることはなく、LSI2のPU5のバウンダリ
において、デバッグユニットなどのオプションユニット
に対して信号あるいはデータを伝達できるようになって
いれば良い。また、上記の例のデバッグユニットにおい
ては、次期命令ポインタデータφaと、次期命令コード
データφcの両方を受け取り、それぞれのデータφaお
よびφcをブレークアドレスφtaおよびブレークデー
タφcと比較しているが、次期命令ポインタデータφa
あるいは次期命令コードデータφcの少なくともいずれ
か一方をターゲットとなる値と比較してブレーク信号を
出力するようにしても良い。
ニットに限定されるものではないが、これらの信号をも
っとも有効に活用できるユーザユニットはデバッグユニ
ットである。このようなプロセッサであれば、システム
LSIの埋め込み用途のプロセッサ用として、拡張性は
あるが単一仕様のプロセッサを設計、開発およびメンテ
ナンスするだけでよく、余分な投資を省くことができ
る。このため、本発明により、エンベッデド・プロセッ
サに適したオプション機能の豊富なプロセッサを提供す
ることが可能となり、VUPUアーキテクチャにさらに
適したPU5を提供することができる。また、VUPU
アーキテクチャに限らず、他のタイプのエンベッデド・
プロセッサにも本発明を提供することにより、オプショ
ン機能がさらに豊富なプロセッサを提供することができ
る。
は、プロセッサユニットに次期命令ポインタデータおよ
び次期命令コードデータを外部に出力するインターフェ
イスを設けることにより、組み込み型プロセッサとオプ
ション化されたデバッグユニットとの間に有効な状態伝
達信号線を設置することが可能となる。したがって、プ
ロセッサ本体とデバッグユニットとの機能を協調させる
ことができ、デバッガのハードウェア負担を削減するこ
とができる。また、システムLSIを構築したときにハ
ードウェアの重複を防止し、デバッグ機能などのオプシ
ョン機能を容易に搭載することができる。このため、コ
ンパクトで低コストな多機能型のシステムLSIを提供
することができる。
搭載システムボードの概略を示す図である。
ック図である。
明するための図である。
処理を示すフローチャートである。
行ユニットにおける処理が停止される処理を説明するた
めのタイミングチャートである。
Claims (12)
- 【請求項1】 命令ポインタデータに基づきフェッチア
ドレスを出力し、得られたデータから命令コードデータ
を生成可能なフェッチユニットと、前記命令コードデー
タに基づく処理を実行可能な実行ユニットとを備えたプ
ロセッサユニットを有するデータ処理装置であって、 前記プロセッサユニットは、さらに、次に前記実行ユニ
ットで実行される次期命令コードデータの次期命令ポイ
ンタデータを当該プロセッサユニットから外部に出力す
る第1の出力手段と、 前記次期命令コードデータを当該プロセッサユニットか
ら外部に出力する第2の出力手段とを備えている、デー
タ処理装置。 - 【請求項2】 請求項1において、さらに、ブレーク条
件が成立するとプロセッサユニットに対して一時停止を
要求するブレーク信号を供給するブレーク信号出力手段
を有するデバッグユニットを有し、 このデバッグユニットは、さらに、前記ブレーク条件と
して設定されているターゲットの命令ポインタデータと
比較する前記次期命令ポインタデータを受け入れる第1
の入力手段と、 前記ブレーク条件として設定されているターゲットの命
令コードデータと比較する前記次期命令コードデータを
受け入れる第2の入力手段とを備えているデータ処理装
置。 - 【請求項3】 請求項2において、前記プロセッサユニ
ットは、さらに、前記次期命令コードデータに基づく処
理を開始する開始タイミングを当該プロセッサユニット
から外部に出力する第3の出力手段を備えており、 前記デバッグユニットは、さらに、前記開始タイミング
を受け入れる第3の入力手段を備えており、さらに、前
記ブレーク信号出力手段は、少なくとも前記ターゲット
の命令ポインタデータおよび前記ターゲットの命令コー
ドデータのいずれかと、前記次期命令ポインタデータお
よび前記次期命令コードデータのいずれかが一致し、前
記次期命令コードデータが実行開始されるときに前記ブ
レーク信号を出力するデータ処理装置。 - 【請求項4】 請求項2において、前記プロセッサユニ
ットは、さらに、前記実行ユニットにおける現在の命令
コードデータに基づく処理を完了した完了タイミングを
当該プロセッサユニットから外部に出力する第3の出力
手段を備えており、 前記デバッグユニットは、さらに、前記完了タイミング
を受け入れる第3の入力手段を備えており、さらに、前
記ブレーク信号出力手段は、少なくとも前記ターゲット
の命令ポインタデータおよび前記ターゲットの命令コー
ドデータのいずれかと、前記次期命令ポインタデータお
よび前記次期命令コードデータのいずれかが一致し、前
記次期命令コードデータが実行開始されるときに前記ブ
レーク信号を出力するデータ処理装置。 - 【請求項5】 請求項1において、さらに、専用処理に
適した専用回路を備えた専用処理ユニットを有し、 前記プロセッサユニットのフェッチユニットは、前記命
令コードデータとして前記プロセッサユニットにおける
処理を規定する汎用命令コードデータを前記実行ユニッ
トに供給し、前記専用処理ユニットにおける処理を規定
する専用命令コードデータを前記専用処理ユニットに供
給するデータ処理装置。 - 【請求項6】 命令ポインタデータに基づきフェッチア
ドレスを出力し、得られたデータから命令コードデータ
を生成可能なフェッチユニットと、 前記命令コードデータに基づく処理を実行可能な実行ユ
ニットとを有するプロセッサユニットであって、 次に前記実行ユニットで実行される次期命令コードデー
タの次期命令ポインタデータを当該プロセッサユニット
から外部に出力する第1の出力手段と、 前記次期命令コードデータを当該プロセッサユニットか
ら外部に出力する第2の出力手段とを有するプロセッサ
ユニット。 - 【請求項7】 請求項6において、さらに、前記次期命
令コードデータに基づく処理を開始するタイミングを当
該プロセッサユニットから外部に出力する第3の出力手
段を有するプロセッサユニット。 - 【請求項8】 請求項6において、さらに、前記実行ユ
ニットにおける現在の命令コードデータに基づく処理を
完了したタイミングを当該プロセッサユニットから外部
に出力する第3の出力手段を有するプロセッサユニッ
ト。 - 【請求項9】 ブレーク条件が成立するとプロセッサユ
ニットに対して一時停止を要求するブレーク信号を供給
するブレーク信号出力手段を有するデバッグユニットで
あって、 前記ブレーク条件として設定されているターゲットの命
令ポインタデータと比較する次期命令ポインタデータを
当該デバッグユニットの外部から受け入れる第1の入力
手段と、 前記ブレーク条件として設定されているターゲットの命
令コードデータと比較する次期命令コードデータを当該
デバッグユニットの外部から受け入れる第2の入力手段
とを有するデバッグユニット。 - 【請求項10】 請求項9において、前記次期命令コー
ドデータが実行開始されるタイミングを当該デバッグユ
ニットの外部から受け入れる第3の入力手段を有し、 前記ブレーク信号出力手段は、少なくとも前記ターゲッ
トの命令ポインタデータおよび前記ターゲットの命令コ
ードデータのいずれかと、前記次期命令ポインタデータ
および前記次期命令コードデータのいずれかが一致し、
前記次期命令コードデータが実行開始されるときに前記
ブレーク信号を出力するデバッグユニット。 - 【請求項11】 ブレーク条件として設定されているタ
ーゲットの命令ポインタデータと比較する次期命令ポイ
ンタデータと、前記ブレーク条件として設定されている
ターゲットの命令コードデータと比較する次期命令コー
ドデータとの少なくともいずれかを当該デバッグユニッ
トの外部から受け入れる工程と、 前記ブレーク条件が成立するとプロセッサユニットに対
して一時停止を要求するブレーク信号を供給するブレー
ク要求工程とを有するデバッグユニットの制御方法。 - 【請求項12】 請求項11において、前記次期命令コ
ードデータが実行開始されるタイミングを当該デバッグ
ユニットの外部から受け入れる工程を有し、 前記ブレーク要求工程では、少なくとも前記ターゲット
の命令ポインタデータおよび前記ターゲットの命令コー
ドデータのいずれかと、前記次期命令ポインタデータお
よび前記次期命令コードデータのいずれかが一致し、前
記次期命令コードデータが実行開始されるときに前記ブ
レーク信号を出力するデバッグユニットの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003048738A JP4641708B2 (ja) | 2002-02-26 | 2003-02-26 | データ処理装置およびプロセッサユニット |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002049981 | 2002-02-26 | ||
JP2002-49981 | 2002-02-26 | ||
JP2003048738A JP4641708B2 (ja) | 2002-02-26 | 2003-02-26 | データ処理装置およびプロセッサユニット |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003323315A true JP2003323315A (ja) | 2003-11-14 |
JP4641708B2 JP4641708B2 (ja) | 2011-03-02 |
Family
ID=29551987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003048738A Expired - Fee Related JP4641708B2 (ja) | 2002-02-26 | 2003-02-26 | データ処理装置およびプロセッサユニット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4641708B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008071227A (ja) * | 2006-09-15 | 2008-03-27 | Nec Electronics Corp | 半導体集積回路 |
JP2011222985A (ja) * | 2010-03-25 | 2011-11-04 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
-
2003
- 2003-02-26 JP JP2003048738A patent/JP4641708B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008071227A (ja) * | 2006-09-15 | 2008-03-27 | Nec Electronics Corp | 半導体集積回路 |
JP2011222985A (ja) * | 2010-03-25 | 2011-11-04 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
US8472235B2 (en) | 2010-03-25 | 2013-06-25 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
JP4641708B2 (ja) | 2011-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6055649A (en) | Processor test port with scan chains and data streaming | |
US6385742B1 (en) | Microprocessor debugging mechanism employing scan interface | |
US6065106A (en) | Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing | |
US5970241A (en) | Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system | |
US6016555A (en) | Non-intrusive software breakpoints in a processor instruction execution pipeline | |
US6112298A (en) | Method for managing an instruction execution pipeline during debugging of a data processing system | |
US6081885A (en) | Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis | |
US6591378B1 (en) | Debug controller in a data processor and method therefor | |
US20060117224A1 (en) | Trace and debug method and system for a processor | |
US5488728A (en) | Microprocessor having a run/stop pin for accessing an idle mode | |
JP2001525568A (ja) | 命令デコーダ | |
US20100153786A1 (en) | Processor, multiprocessor, and debugging method | |
JP4641708B2 (ja) | データ処理装置およびプロセッサユニット | |
JPH11203146A (ja) | マイクロコンピュータ | |
US20030163674A1 (en) | Data processing apparatus, processor unit and debugging unit | |
JP2001092661A (ja) | データ処理装置 | |
EP0849672B1 (en) | Non-intrusive software breakpoints in a processor instructions execution pipeline | |
JP2002535749A (ja) | 複数の命令ソースからの命令を実行するプロセッサおよび方法 | |
EP0854422B1 (en) | A processor test port with scan chains and data streaming | |
JP2536726B2 (ja) | マイクロプロセッサ | |
JP2646957B2 (ja) | キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム | |
JP3719241B2 (ja) | 演算装置 | |
JP2004199630A (ja) | データ処理装置 | |
JP3716635B2 (ja) | 情報処理装置、及びその割込み制御方法 | |
JP2734382B2 (ja) | インサーキットエミュレータおよびそのデバッグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071217 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080520 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080826 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20081030 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090403 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4641708 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |