JP2001202270A - 内部バストレース機能付プロセッサ - Google Patents

内部バストレース機能付プロセッサ

Info

Publication number
JP2001202270A
JP2001202270A JP2000012719A JP2000012719A JP2001202270A JP 2001202270 A JP2001202270 A JP 2001202270A JP 2000012719 A JP2000012719 A JP 2000012719A JP 2000012719 A JP2000012719 A JP 2000012719A JP 2001202270 A JP2001202270 A JP 2001202270A
Authority
JP
Japan
Prior art keywords
trace
internal
bus
address
data
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.)
Withdrawn
Application number
JP2000012719A
Other languages
English (en)
Inventor
Akira Yamada
朗 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000012719A priority Critical patent/JP2001202270A/ja
Priority to US09/624,602 priority patent/US6687811B1/en
Publication of JP2001202270A publication Critical patent/JP2001202270A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 チップ面積を増大させることなく内部バスア
クセス情報を格納する内部バスアクセス情報格納用トレ
ースメモリをプロセッサ内に設ける。 【解決手段】 プロセッサ(10)内に、トレースモー
ド時においては内部バスアクセス情報を格納し、通常動
作モード時には、CPUに対する内蔵メモリとして格納
する内蔵トレースメモリ(13)を設ける。この内蔵ト
レースメモリのトレースモード時の入出力データビット
数を内部データバス(25)のビット幅の自然数倍に設
定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、内部バスのアク
セス情報を格納するためのトレースメモリを内蔵するプ
ロセッサに関する。
【0002】
【従来の技術】プロセッサなどのソフトウェアで動作す
る処理装置に対しては、そのソフトウェアの検証などの
デバッグ作業が行なわれる。このデバッグ作業におい
て、プロセッサの命令の実行順序およびその命令を実行
する際にアクセスしたデータの情報を利用し、エラーが
発生した原因を検出する。このような情報を収集するこ
とを、プロセッサの実行のトレースをとると一般的に呼
ばれている。このトレース情報により、プロセッサが実
際に動作した状態をモニタすることができ、エラー発生
の原因を検出するのが容易となり、ソフトウェアデバッ
グが効率的に行なわれる。
【0003】プロセッサの実行のトレースをとるために
は、通常、プロセッサ(チップ)外部にトレースメモリ
を設け、プロセッサの生成するアドレス、データおよび
バス制御信号等のバスアクセス情報をこの外部に設けら
れたトレースメモリに格納し、この格納情報を利用し
て、ソフトウェアのデバッグを実行する。
【0004】しかしながら、このトレースメモリへのバ
スアクセス情報の格納は、専用のインターフェイス回路
またはプロセッサに設けられた通常のインターフェイス
回路を介して実行される。プロセッサの内部動作周波数
がたとえば200MHzまたは300MHzと高速化す
ると、このプロセッサ内部動作速度は、外部バスの周波
数よりもはるかに高速である。インターフェイス回路
は、この外部バスとプロセッサ内部の動作速度の差をバ
ッファするために設けられており、内部データ/信号な
どのバスアクセス情報をトレースメモリへ格納する場合
には、外部バスの動作周波数に合せて低速で転送する。
したがって、プロセッサの内部動作速度に合せてバスア
クセス情報をトレースメモリに格納することができなく
なり、内部バスアクセス情報のうち外部バスの動作周波
数に応じて適当に間引いた情報しか直接トレースメモリ
へ読込むことしかできない。
【0005】このような高速プロセッサにおいても、バ
スアクセス情報をトレースするために、プロセッサ内部
にトレースメモリを内蔵する構成が、たとえば特開平2
−310738号公報、特開平2−208785号公報
等において提案されている。トレース完了後、この内蔵
トレースメモリからバスアクセス情報を読出して、ソフ
トウェア等のデバッグを実行する。
【0006】
【発明が解決しようとする課題】このように、プロセッ
サにトレースメモリを内蔵した場合、製品として出荷さ
れた場合において、このトレースメモリはプロセッサ内
に存在したまま出荷される。このトレースメモリは、プ
ロセッサのソフトウェアデバッグ等のためだけに用いら
れており、実際のデータ処理には用いられない。したが
って、プログラムのデバッグ時にしか利用されないトレ
ースメモリのために、このプロセッサのチップ面積が増
大し、プロセッサのコストが増大するという問題があっ
た。
【0007】それゆえ、この発明の目的は、チップ面積
を増大させることなく高速動作するプロセッサのバスア
クセスのトレースを容易にとることのできる内部バスデ
バッグ機能付プロセッサを提供することである。
【0008】
【課題を解決するための手段】請求項1に係る内部バス
トレース機能付プロセッサは、少なくとも内部データを
転送する内部データバスおよびアドレス信号を伝達する
アドレスバスを含む内部バスと、この内部バスに結合さ
れ、内部データバス上の内部データを格納するための第
1の内蔵メモリと、内部バスに結合され、少なくとも内
部データバス上のデータを処理する処理装置と、内部バ
スに結合され、トレースモード時内部バス上の情報を格
納し、トレースモード以外の動作モード時処理装置が使
用するためのデータを格納する第2の内蔵メモリを備え
る。
【0009】請求項2に係る内部バストレース機能付プ
ロセッサは、請求項1のプロセッサにおいて、第2の内
蔵メモリが、トレースモード時第2の内蔵メモリの入出
力データビット幅を内部データバスのビット幅以上に設
定し、かつトレースモード以外の動作モード時第2の内
蔵メモリの入出力データのビット幅を内部データバスの
ビット幅と同じに設定するための制御回路を含む。
【0010】請求項3に係る内部バストレース機能付プ
ロセッサは、請求項2の制御回路が、第2の内蔵メモリ
のトレースモード時における入出力データのビット幅を
内部データバスのビット幅の自然数倍に設定する。
【0011】請求項4に係る内部バストレース機能付プ
ロセッサは、請求項2または3のプロセッサにおいて制
御回路が、予め定められたアドレスと内部バス上のアド
レスとの一致を検出するための検出手段と、検出手段か
らの一致検出信号によりセットされるフリップフロップ
と、固定電圧発生手段と、検出手段、フリップフロップ
および固定電圧発生手段の出力の1つを動作モード指示
に従って選択するための選択手段と、トレースモード時
この選択手段の出力信号に従って第2の内蔵メモリへの
内部バス上の情報の書込をイネーブルする書込イネーブ
ル手段を備える。
【0012】請求項5に係る内部バストレース機能付プ
ロセッサは、請求項4のプロセッサにおいて書込イネー
ブル手段は、内部バス上の有効データ存在を示すストロ
ーブ信号に応答して書込イネーブルの活性化回数が所定
値に到達するとトレースモード終了信号を生成する手段
を含む。
【0013】プロセッサ内部に第1および第2の内蔵メ
モリを設け、この第2の内蔵メモリを、トレースモード
時には、内部バスのアクセス情報を格納するトレースメ
モリとして使用し、このトレースモード以外の動作モー
ド時には、第1および第2の内蔵メモリを、プロセッサ
がアクセス可能なアドレス空間を形成する内蔵メモリと
して利用することにより、メモリの利用効率が改善さ
れ、実使用時において不要となる構成要素がプロセッサ
内に存在するのを防止することができ、このプロセッサ
のチップサイズが増大するのを抑制することができる。
【0014】
【発明の実施の形態】[実施の形態1]図1は、この発
明の実施の形態1に従う内部バストレース機能付プロセ
ッサの全体の構成を概略的に示す図である。図1におい
て、プロセッサ10は、たとえば200MHzのクロッ
ク信号に同期して動作する中央演算処理装置(CPU)
11と、CPU11の32ビットの命令およびデータを
格納する32ビット・16Kワードの記憶容量を有する
内蔵メモリ12と、トレースモード時、内部バス19上
の情報を格納し、かつトレースモード以外の動作モード
時には、CPU11の32ビットの命令またはデータを
格納する内蔵トレースメモリ13と、CPU11の動作
速度を規定する200MHzのクロック信号を発生する
クロックジェネレータ16と、外部装置との間のインタ
ーフェイスをとる外部バスインターフェイス(I/F)
回路14を含む。
【0015】外部バスインターフェイス(I/F)回路
14は、外部バス29と、たとえば20MHzの速度で
データ/信号群15を送受する。
【0016】内部バス19は、クロックジェネレータ1
6からのクロック信号を伝達するクロック信号線20
と、内蔵メモリ12および内蔵トレースメモリ13に対
するアドレスを指定する24ビットのアドレス信号を伝
達する内部アドレスバス21と、この内部バス上に有効
データ/命令が存在するか否か、すなわち内蔵メモリ1
2または内蔵トレースメモリ13または外部装置へアク
セスが行なわれるか否かを示すバスストローブ信号を伝
達するバスストローブ信号線22と、データの書込/読
出を指示するリード/ライト指示信号R/Wを伝達する
リード/ライト信号線23と、内部バス上のアクセスさ
れる情報が命令であるのかデータであるのかを指示する
命令(Ins)/データ(Data)識別信号を伝達す
る命令/データ識別信号線24と、32ビットの内部デ
ータを伝達する内部データバス25を含む。内部バス1
9は、外部バスインターフェイス回路14、CPU1
1、内部メモリ12および内蔵トレースメモリ13に結
合される。
【0017】内蔵トレースメモリ13は、外部のたとえ
ばテスタからトレース指示信号線26を介して与えられ
るトレースモード指示信号に従って、その動作モードが
決定される。この内蔵トレースメモリは、64ビット・
1Kの記憶容量を有する。トレースモード時には内蔵ト
レースメモリ13は、64ビットの情報を格納し、トレ
ースモード以外の動作モード時、すなわちトレース結果
の読出モード時および通常動作モード時には、32ビッ
トのデータを内部データバス25と送受する。この内蔵
トレースメモリ13は、また、トレース動作モード時所
定の条件が満たされるとトレース終了指示信号を発生し
て信号線27を介してCPU11に内部バスアクセス情
報のトレース完了を通知する。
【0018】内蔵トレースメモリ13は、60ビットの
ビット幅の内部バス19のクロック信号線20上のクロ
ック信号を除く情報をトレースモード時格納する。すな
わち、この内蔵トレースメモリ13は、32ビットの内
部データと、24ビットの内部アドレス信号と、1ビッ
トのバスストローブ信号と1ビットのリード/ライト指
示信号R/Wと、命令/データ識別信号Ins/Dat
aの合計59ビットのバスアクセス情報を格納する。
【0019】図2は、図1に示す内蔵トレースメモリ1
3の構成を概略的に示す図である。図2において、内蔵
トレースメモリ13は、64ビットのIOブロック♯0
−♯63を有するメモリセルアレイ33と、トレース信
号線26上のトレースモード指示信号TRMと内部アド
レスバス21上の24ビットのアドレス[0:23]と
内部データバス25上の内部データ[0:31]とを受
け、トレースモード時には、内部データバス25へ与え
られた初期アドレスに従って、8バイト境界のアドレス
を生成しかつトレースモード以外の動作モード時には、
内部アドレスバス21上のアドレス[0:23]に従っ
てアドレス信号を生成するトレースアドレス信号生成回
路30と、トレースアドレス信号生成回路30からのア
ドレス信号をデコードし、メモリセルアレイ33のアド
レス指定されたメモリセルを選択するメモリアドレスデ
コーダ32と、メモリセルアレイ33のIOブロック♯
0−♯63に対応して設けられる書込/読出回路群35
を含む。このメモリセルアレイ33のIOブロック♯0
−♯63それぞれにおいて、メモリアドレスデコーダ3
2により、1ビットのメモリセルが選択される。
【0020】内蔵トレースメモリ13は、さらに、トレ
ースモード指示信号TRMとリード/ライト指示信号R
/Wと内部アドレス[0:23]と内部データ[0:3
1]とに従って、メモリセルアレイ33のIOブロック
に対する書込を制御するトレースライトイネーブル信号
TW0およびTW1を生成するトレースライト信号生成
回路40と、アドレスバス21上の24ビットのアドレ
ス[0:23]とバスストローブ信号線22上のバスス
トローブ信号BSTRとリード/ライト指示信号R/W
とに従って、メモリセルアレイ33の64ビットのIO
ブロックのうち32ビットのIOブロックからのメモリ
セルデータの読出を制御するトレースリード信号TR0
およびTR1を生成するトレースリード信号生成回路5
0とを含む。
【0021】トレースライト信号生成回路40からのト
レースライトイネーブル信号TW0は、メモリセルアレ
イ33のIOブロック♯0−♯31に対する書込を、活
性化時イネーブルする。トレースライトイネーブル信号
TW1は、活性化時、IOブロック♯32−♯63に対
するデータの書込をイネーブルする。IOブロック♯0
−♯31の書込/読出回路群に設けられる書込ドライブ
回路43へは、トレースライトイネーブル信号TW0が
与えられ、IOブロック♯32−♯63に対して設けら
れる書込/読出回路群35のライトドライブ回路44へ
は、トレースライトイネーブル信号TW1が与えられ
る。これらのライトドライブ回路43および44は、ト
レースライトイネーブル信号TW0およびTW1の活性
化時活性化され、与えられた内部書込データに従って対
応のIOブロックへデータ(情報)を伝達する。
【0022】IOブロック♯0−♯31に対して設けら
れる読出アンプ回路53は、トレースリード信号生成回
路50からのトレースリードイネーブル信号TR0を受
ける。一方、IOブロック♯32−♯63に対して設け
られる書込/読出回路群35に含まれる読出アンプ回路
54は、トレースリードイネーブル信号TR1を受け
る。IOブロック♯32−♯63に対して設けられる書
込/読出回路群35においては、各IOブロックに対応
して、内部データバス25上の対応のビットとトレース
データバス34上の対応のビットの一方をトレースモー
ド指示信号TRMに従って選択するセレクタ49が設け
られる。セレクタ49の出力信号(データ)が、対応の
ライトドライブ回路44へ与えられる。また、IOブロ
ック♯0−♯31は、トレースモード時およびそれ以外
の動作モード時においては、選択時、内部データバス2
5とデータビットの授受を行なう。一方IOブロック♯
32−♯63については、トレースモード時にはセレク
タ49がトレースデータバス34上の情報ビットを選択
し、一方それ以外の動作モード時には、内部データバス
25上のデータビットをセレクタ49が選択する。した
がって、IOブロック♯32−♯63は、トレースモー
ド時には、トレースデータバス34上の情報ビットを格
納し、それ以外の動作モード時においては内部データバ
ス25上のデータビットを格納する。
【0023】読出動作モード時においては、トレース情
報を外部の装置へ内部データバス25を介して転送する
必要があり、この書込/読出回路群35に含まれる読出
アンプ回路53および54は、活性化時内部データバス
25上に対応のデータビットを伝達する。
【0024】トレースデータバス34へは、内部アドレ
スバス21上のアドレス[0:23]、バスストローブ
信号BSTR、リード/ライト指示信号R/W、命令/
データ識別信号Ins/Dataが与えられる。したが
って、このトレースデータバス34は、27ビットの信
号を受ける。対応のIOブロック♯32−♯63は、3
2ビットであり、この5ビットのIOブロックは、トレ
ースすべきアクセス情報が増加した場合のために保存さ
れる。
【0025】内蔵トレースメモリ13は、さらに、トレ
ースライト信号生成回路40からのトレースライトイネ
ーブル信号TW0およびTW1に従って所定の条件が満
足されたとき、トレース終了信号EOTRを信号線27
を介してCPU11へ与えるトレース終了信号生成回路
60を含む。このトレース終了信号生成回路60のトレ
ース終了検出動作は後に詳細に説明するが、ある回数、
バスアクセス情報が格納されたときに、トレース終了指
示信号EOTRが活性化される。
【0026】次に、内蔵トレースメモリ13への、内部
バスアクセス情報(トレース情報)の書込および読出動
作について説明する。
【0027】CPU11は、内蔵メモリ12に格納され
た命令を内部バス19を介して読出し、読出した命令を
実行する。命令の実行に必要なデータが内蔵メモリ12
に格納されている場合には、再び、CPU11は内部バ
ス19を介して内蔵メモリ12に格納されたデータを読
出す。また、この命令実行後の処理結果に相当するデー
タを内蔵メモリ12に格納する場合には、内部バス19
を経由して、この処理結果データを内蔵メモリ12に格
納する。したがって、内部バス19上の命令およびデー
タの転送についての情報は、CPU11がどのように動
作したかを知る上で重要な情報である。CPU11のプ
ログラムの開発およびデバッグ時には、これらの内部バ
ス19上を転送される情報を利用することにより、プロ
グラムの開発およびデバッグの効率を上げることができ
る。
【0028】トレースモードに設定されるとき、図1に
示すトレース信号線26上のトレースモード指示信号T
RMが活性状態の“1”に設定される。このトレースモ
ード指示信号TRMが活性状態となると、トレースアド
レス信号生成回路30、トレースライト信号生成回路4
0およびトレースリード信号生成回路50がトレースモ
ード動作に入り、バスストローブ信号線22上のバスス
トローブ信号BSTRが活性化されると、内部バス19
上の情報をメモリセルアレイ33に格納する。すなわ
ち、図2に示すアドレスバス21上のアドレス[0:2
3]、バスストローブ信号線22上のバスストローブ信
号BSTR、リード/ライト信号線23上のリード/ラ
イト指示信号R/W、信号線24上の命令/データ識別
信号Ins/Dataが、内部データバス25上の内部
データ[0:31]とともにトレースメモリ13に格納
される。
【0029】メモリセルアレイ33においては、内部デ
ータバス25上の32ビットのデータ[0:31]が、
IOブロック♯0−♯31に格納される。残りのアクセ
ス制御情報は、トレースデータバス34を介してかつセ
レクタ49を介してIOブロック♯32−♯58に書込
まれる。内部バスアクセス情報は、32ビットの内部デ
ータを含めて59ビットであり、IOブロック♯32−
♯58に、バスアクセス制御情報が書込まれる。CPU
11は、200MHzのクロック信号に従って動作して
内部バス19上の情報を転送しており、内蔵トレースメ
モリ13への内部バスアクセス情報の書込も、このクロ
ックジェネレータ16からの内部クロック信号に同期し
て200MHzの動作速度で行なわれる。
【0030】内蔵トレースメモリ13への内部バス19
のアクセス情報の書込モードは、以下の3種類から選択
することができる:第1は、内部バス19がアクセスさ
れたとき(バスストローブ信号が活性化されたとき)、
この内部バスアクセスすべてについて内部バス19の情
報を内蔵トレースメモリ13に格納する、第2は、CP
U11のアドレス空間のうち指定されたアドレス領域内
に対する内部バスアクセスについて内部バス19の情報
を内蔵トレースメモリ13に格納する、および第3は、
あるアドレスのアクセスの後、所定回数の内部バスアク
セスについて内部バス19の情報を内蔵トレースメモリ
13に書込む。これらの内部バスアクセス情報(トレー
ス情報)の書込の制御は、図2に示すトレースライト信
号生成回路40の制御の下に動作モードに応じて設定さ
れた条件が成立したときに、内部バスアクセス情報の内
蔵トレースメモリ13への格納が行なわれる。
【0031】内蔵トレースメモリ13への内部バス19
の情報の書込の終了条件は、以下のいずれかの条件であ
る:第1は、内蔵トレースメモリ13への書込回数が、
予め設定された書込回数に達したときに、この内蔵トレ
ースメモリ13への内部バス19の情報の書込が終了す
る;第2は、トレースモードが終了したときに、すなわ
ちトレース信号線26上のトレースモード指示信号TR
Mが“1”から“0”に設定されたときに、内蔵トレー
スメモリ13への内部バス19の情報の書込が終了す
る。この内蔵トレースメモリ13への書込の終了検出お
よび制御は、トレース終了信号生成回路60により行な
われる。トレース終了信号生成回路60は、これらの条
件のいずれかが成立した場合、トレースモード終了指示
信号EOTRを活性化してCPU11に内部バスアクセ
ス情報書込完了を告知する。
【0032】CPU11は、この信号線27を介して与
えられるトレースモード終了指示信号EOTRに従っ
て、内部バス19のアクセスの停止および/または外部
バスインターフェイス回路(I/F)14を介して、外
部バス29に内蔵トレースメモリ13への内部バスアク
セス情報書込完了を告知する。外部のテスタまたはデバ
ッグ装置は、トレースモード指示信号TRMを“0”に
設定する(上述の第1の条件で書込が終了するとき)。
【0033】内蔵トレースメモリ13への内部バスアク
セス情報の書込が終了すると、トレースモード信号線2
6上のトレースモード指示信号TRMが“0”に設定さ
れ、通常モードの動作が行なわれる。通常動作モードに
従って、内蔵トレースメモリ13に格納された内部バス
アクセス情報の読出が行なわれこの場合、外部からのテ
スタまたはデバッグ装置が、外部バス29から外部バス
インターフェイス回路(I/F)14を介して内蔵トレ
ースメモリ13にアクセスし、内蔵トレースメモリ13
に格納された内部バスアクセス情報を読出す。外部バス
インターフェイス回路(I/F)14は、CPU11の
動作周波数(200MHz)よりも低速の20MHzの
動作周波数での動作を仮定している。したがって、内部
の高速のバスアクセス情報を、低速で動作する外部バス
インターフェイス回路(I/F)14を介してすべて読
出すことができる。
【0034】内蔵メモリ13は、IOビットが64ビッ
トであり、そのビット幅は、内部データバス25のビッ
ト幅32の自然数倍(2倍)である。したがって、内蔵
トレースメモリ13に対し32ビット単位で容易にアク
セスすることができ(上位32ビットおよび下位32ビ
ットのIOブロック群に分割してアドレス指定する)、
内蔵メモリとして通常動作モード時利用することができ
る。
【0035】また、トレース情報(内部バスアクセス情
報)の読出時にも、32ビット単位で情報の読出が行な
われる。したがって、この内部データバス25を用い
て、この内部データバス25のビット幅よりも広いビッ
ト幅を有する内部バスアクセス情報を内部データバス2
5を介して外部バス29へ読出すことができる。なお、
IOブロックの数は内部データバスのビット幅の自然数
倍であればよい。次に、この内部バストレース機能付プ
ロセッサ10の具体的動作および各部の構成について説
明する。
【0036】図3は、この発明に従う内部バストレース
機能付プロセッサ10のメモリマップの一例を示す図で
ある。図3においては、内蔵メモリ12は、64Kバイ
トの記憶容量を有する。この内蔵メモリ12に対して
は、アドレス領域H’000000からH’00fff
fの領域が割当てられる。このアドレス領域のうち、ア
ドレス領域H’000000からH’007fffが命
令を格納する命令領域として用いられる。アドレスH’
008000からH’00ffffの領域が、データを
格納する領域として使用される。ここで、「H’」は、
16進表示を示す。
【0037】内蔵トレースメモリ13には、アドレス領
域H’200000からH’201fffの領域が割当
てられる。内蔵トレースメモリ13は、8Kバイトの記
憶容量を有する。
【0038】外部の記憶装置(ディスク記憶装置、DR
AM(ダイナミック・ランダム・アクセス・メモリ)、
フラッシュメモリ等)に対しては、アドレス領域H’8
00000からH’ffffffのアドレス領域が割当
てられる。この外部領域には、8Mバイトの記憶容量が
準備される。アドレスH’00ffffからH’1ff
fffおよびH’202000からH’7fffffは
使用禁止領域である。
【0039】内蔵メモリ12、内蔵トレースメモリ1
3、および外部記憶装置は、外部装置のアドレス割当が
バイト単位割当となるため、内蔵メモリ12に対して
は、4バイト境界(32ビット単位)のアドレスが与え
られる。内蔵トレースメモリ13には、トレースモード
時には、64ビットの内部バスアクセス情報を格納する
ため、8バイト境界のアドレスが与えられる。それ以外
の通常動作モード時には、トレースメモリ13には、4
バイト境界のアドレスが与えられる。ここで、4バイト
境界のアドレスは、4単位でアドレスが割当てられる状
態を示し、8バイト境界アドレスは、アドレスが8単位
で更新される状態を示す。
【0040】図4は、トレースモード時における内部バ
スの信号/データおよび内蔵トレースメモリ内の制御信
号の状態を示すタイミングチャートである。以下、図2
から図4を参照して、具体的なトレースモード時の内部
バスアクセス情報格納動作について説明する。
【0041】サイクルCY0において、CPU11が、
内蔵メモリ12に対し命令リードを行なう。このときア
ドレスH’000000が内部アドレスバス21上に送
出される。また内部バス19上に有効信号が出力された
ため、バスストローブ信号BSTRがHレベルの活性状
態とされる。命令読出であるため、リード/ライト指示
信号R/Wは、Hレベルの読出指示状態に設定される。
また命令/データ識別信号I/D(Ins/Data)
が、命令の読出であるため、Hレベル(“1”)に保持
される。このサイクルCY0において、内部データバス
25上に、アクセスされた命令Da1が読出される。一
方、内蔵トレースメモリ13においては、トレースアド
レス信号生成回路30が、アドレスH’200000を
生成する。トレースモード時においては、内蔵トレース
メモリ13へは、内部アクセス情報の書込のみが行なわ
れるため、トレースリードイネーブル信号TR0および
TR1はともにLレベル(“0”)に保持される。バス
ストローブ信号BSTRが活性化されると、図2に示す
トレースライト信号生成回路40からのトレースライト
イネーブル信号TW0およびTW1が活性化される。こ
れにより、内蔵トレースメモリ13に、内部データバス
上に読出されたデータDa1およびトレースデータバス
34上に読出されたトレースデータ(アドレス、バスス
トローブ、リード/ライト指示信号、命令/データ識別
信号)Da2が格納される。
【0042】次のサイクルCY1は、CPU11が読出
した命令を実行しており、内部バスはアイドル状態であ
る。したがって、バスストローブ信号BSTRは、非活
性状態のLレベルとなる。
【0043】サイクルCY2において、再びCPU11
が、内蔵メモリ12に対しデータ読出を実行する。この
ときのアドレスH’008000であり、このアドレス
上の32ビットのデータDb1が内部データバス25上
に読出される。一方、トレースメモリ13においては、
再びこのバスストローブ信号BSTRの活性化に応答し
てトレースアドレス信号生成回路30がアドレスH’2
00008を生成し、またトレースライトイネーブル信
号TW0およびTW1が、トレースライト信号生成回路
40により活性化され、そのトレースメモリ13に、6
4ビットのデータDb1およびDb2が格納される。
【0044】サイクルCY3は、アイドルサイクルであ
り、バスストローブ信号BSTRはLレベルにあり、応
じてトレースライトイネーブル信号TW0およびTW1
も非活性状態のLレベルとなる。
【0045】サイクルCY4において、内蔵メモリ12
のアドレスH’000004の命令を読出す命令リード
が実行される。命令を読出すため、命令/データ識別信
号I/D(Int/Data)がHレベルに保持され
る。この命令リードサイクルにおいて、内蔵メモリ12
から、32ビットの命令Dc1が読出される。
【0046】一方、内蔵トレースメモリ13に対して
は、8バイトの情報が先に格納されているため、アドレ
スが8増分され、アドレスH’200010がトレース
アドレスとして生成される。バスストローブ信号BST
Rの活性化に従って活性化されたトレースライトイネー
ブル信号TW0およびTW1の活性化に従って、内蔵ト
レースメモリ13に、この内部データバス上の命令Dc
1、アドレスバス上の内蔵メモリアドレスH’0000
04、読出/書込指示信号R/W、命令/データ識別信
号I/Dおよびバスストローブ信号BSTRが書込まれ
る。
【0047】サイクルCY5において、内部アドレスバ
ス上にアドレスH’008100が送出され、またリー
ド/ライト指示信号R/Wが、Lレベルに設定され、デ
ータ書込が指示される。データの書込であるため、命令
/データ識別信号I/Dが、データを示すLレベルに設
定される。サイクルCY5において内部データバス上に
有効データが出力されるため、またバスストローブ信号
BSTRはHレベルの活性状態を維持する。したがっ
て、内部データバス上の32ビットのデータDd1が内
蔵メモリ12のアドレスH’008100に書込まれ
る。
【0048】このサイクルCY5において、内蔵メモリ
12に対するデータDd1の書込と並行して、バススト
ローブ信号BSTRがHレベルの活性状態にあるため、
トレースライトイネーブル信号TW0およびTW1がと
もにHレベルの活性状態を維持し、内蔵トレースメモリ
13への内部バスアクセス情報の書込が許可される。ト
レースアドレスは8増分されてH’200018とな
り、このアドレスに、内部データバス上のデータDd
1、内部アドレスバス上のH’008100、バススト
ローブ信号BSTR、リード/ライト指示信号R/W、
および命令/データ指示信号I/Dからなるトレースデ
ータDd2が書込まれる。このトレース情報は、IOブ
ロック♯0−♯58に書込まれる(IOブロック♯32
−♯58に、トレース情報が書込まれ、IOブロック♯
0−♯31に、内部データバス上の32ビットのデータ
が書込まれる)。
【0049】図4に示すように、バスストローブ信号B
STRの活性化に従って、内部バスアクセスと並行し
て、内蔵トレースメモリ13のビット0−58の位置に
内部バスアクセス情報が格納される。トレースモード時
においては、トレースアドレスは、8単位で更新され、
内蔵メモリ12と同じ動作速度(200MHz)で動作
し、各内部バスアクセスサイクルにおける内部バスアク
セス情報を確実に格納する。
【0050】図5は、通常モード時の各信号の状態を示
すタイミングチャートである。この通常モードにおいて
は、トレースモード指示信号TRMは、Lレベル
(“0”)に設定される。
【0051】クロックサイクルCY♯0において、命令
リード指示が与えられる。このとき、リード/ライト指
示信号R/Wは、Hレベルのデータ読出状態に設定さ
れ、また命令/データ識別信号I/DもHレベルに設定
される。アドレスは、命令の読出であり、命令領域内の
アドレスH’000100が指定される。内蔵トレース
メモリ13においては、通常モード時においては、この
アドレスH’000100は、トレースメモリに割当て
られたアドレス領域と異なるため、アクセスは行なわれ
ず、イネーブル信号TR0、TR1、TW0およびTW
1はすべてLレベルに設定される。この状態において
は、内部データバス上には、内蔵メモリ12から32ビ
ットのデータ(命令)De1が読出される。
【0052】次のサイクルCY♯1はアイドルサイクル
であり、内部データバスのデータ/命令の転送は行なわ
れない。
【0053】クロックサイクルCY♯2において、アド
レスH’200000が与えられ、またバスストローブ
信号BSTRが活性化される。命令/データ識別信号I
/DがLレベルに設定され、データの読出が指定され
る。このときリード/ライト指示信号R/Wは、Hレベ
ルである。アドレスH’200000は、トレースメモ
リ13に割当てられたアドレスであり、このアドレスの
64ビットのデータが選択される。しかしながら、通常
モード時においては、32ビットのデータが内蔵トレー
スメモリから読出されるため、このトレースメモリのア
ドレスは、4バイト境界のアドレスとなる。このアドレ
ス割当については後に詳細に説明するが、下位4ビット
がH’0、H’8のときには、図2に示すIOブロック
♯0−♯31がアクセスされ、一方、下位4ビットが
H’4、およびH’Cのときには、図2に示すIOブロ
ック♯32−♯63がアクセスされる。したがって、こ
の下位4ビットの値により、トレースリードイネーブル
信号TR0およびTR1の一方が活性化される。これは
トレースライトイネーブル信号TW0およびTW1につ
いても同様である。したがって、このサイクルCY♯2
においては、トレースメモリ13において選択された6
4ビットのデータDa1およびDa2のうち、32ビッ
トのデータDa1が内部データバス上に読出される。
【0054】サイクルCY♯3はアイドルサイクルであ
り、バスストローブ信号BSTRはLレベルの非活性状
態にあり、内部バス上での転送動作は行なわれない。
【0055】サイクルCY♯4においては再びアドレス
H’000104が与えられまた命令/データ識別信号
I/DがHレベルに設定される(ここで、アイドルサイ
クルにおいては、命令/データ識別信号I/Dは、Hレ
ベルに設定される)。したがって、このサイクルCY♯
4においては、アドレスH’000104の32ビット
の命令Df1が内蔵メモリ12から内部データバス上に
読出される。
【0056】サイクルCY♯5において、アドレスH’
200004が与えられ、またリード/ライト指示信号
R/WがHレベルのデータ読出状態に設定され、また命
令/データ識別信号I/Dがデータアクセスを示すLレ
ベルに設定される。したがって、この場合、トレースメ
モリ13においては、アドレスH’200004におい
て選択された64ビットのデータ(Da1およびDa
2)のうち、32ビットのデータDa2(IOブロック
♯33−♯63に格納されたデータ)が内部データバス
上に読出される。アドレスH’200004の下位4ビ
ットがH’4であり、トレースリードイネーブル信号T
R1が活性化される。
【0057】上述のように、通常モード時においては4
バイト境界のアドレスをトレースメモリに与え、トレー
スモード時には、8バイト境界のアドレスをトレースメ
モリへ与えることにより、トレースモード時には、64
ビット幅の内部バスアクセス情報を格納し、かつ通常モ
ード時には、32ビットデータのアクセスを内部データ
バスを介して行なうことができる。したがって、このト
レースメモリを通常モード時、内蔵メモリとして利用す
ることができ、プロセッサ内構成要素を効率的に(有効
に)使用することができ、不必要な構成要素による面積
増加を抑制することができる。
【0058】なお、トレースモード時に格納された内部
バスアクセス情報を、デバッグのために読出す場合に
も、この図5に示すタイミングチャートと同様、トレー
スメモリリードサイクルが実行される(外部のテスタま
たはデバッグ装置が直接アクセスしてもよくCPU11
の制御の下にリードアクセスが行なわれてもよい)。4
バイト単位でトレースメモリアドレスを更新することに
より、内部データバス上のデータとトレースデータバス
上のアドレス情報とを対応付けて外部装置が内部データ
バスアクセス情報を受けることができる(2つの連続サ
イクルで読出されるデータをリンクさせることにより、
プロセッサ内部の1クロックサイクルの内部バスアクセ
ス情報を得ることができる)。なお、図1に示す外部バ
ス29のバス幅は、任意であり、この外部バスインター
フェイス回路(I/F)14が、内部データバスと内部
データバスのバス幅の調整を行なうように構成されても
よい。したがって、特に内部データバス25と外部バス
29に含まれる外部データバスのビット幅が同じである
ことは特に要求されない。
【0059】なお、図5においては、トレースメモリに
対するデータ書込サイクルは示していない。しかしなが
ら、このトレースメモリリードサイクルCY♯2および
CY♯5において、リード/ライト指示信号R/WをL
レベルに設定してデータ書込を設定すれば、トレースラ
イトイネーブル信号TW0およびTW1が、それぞれア
ドレスに従って選択的に活性化され、内部データバス上
の32ビットのデータが、トレースメモリのIOブロッ
ク♯0−♯31および♯31−♯63にそれぞれ書込ま
れる(サイクルCY♯2およびCY♯5それぞれにおい
て)。
【0060】次に、各部の構成について説明する。 [トレースアドレス信号生成回路の構成]図6は、図2
に示すトレースアドレス信号生成回路30の構成を概略
的に示す図である。図6において、トレースアドレス信
号生成回路30は、トレースベースアドレスを格納する
トレースベースアドレスレジスタ70と、トレースベー
スアドレスレジスタ70の出力するトレースベースアド
レスと+8とを加算する加算器71と、加算器71の出
力するアドレスとアドレスバス21上のアドレス[0:
23]の一方をトレースモード指示信号TRMに従って
選択してトレースアドレスを生成するセレクタ76と、
加算器71の出力するアドレスと初期設定時内部データ
バス25を介して与えられる格納アドレス初期値の一方
を選択してトレースベースアドレスレジスタ70へ与え
るセレクタ73を含む。トレースベースアドレスレジス
タ70は、たとえば、内部クロック信号の立上がりに同
期して格納アドレスを出力し、またこのクロック信号の
立下がり時においてバスストローブ信号BSTRがHレ
ベルの活性状態のときに、セレクタ73から与えられる
アドレスを格納する。
【0061】図7は、このトレースアドレス信号生成回
路30への初期アドレス設定動作を示すフロー図であ
る。以下、図6および図7を参照して、トレースベース
アドレスレジスタ70に対する初期値設定動作について
説明する。
【0062】まず、外部のテスタまたはデバッグ装置か
ら初期設定コマンドがベースアドレスとともに発行さ
れ、CPU11に与えられる(ステップS1)。このベ
ースアドレスは、インターフェイス回路(I/F)14
を介してCPU11へ与えられ、CPU11がこの初期
設定コマンドをデコードし、セレクタ73の接続経路
を、内部データバス25を選択する状態に設定し、かつ
トレースベースアドレスレジスタ70を、このセレクタ
73の出力を格納する状態に設定する(ステップS
2)。このCPUによるセレクタ73の経路設定時、内
部データバスに、与えられたベースアドレスがまた出力
される。このとき、バスストローブ信号BSTRは非活
性状態のLレベルに固定され、内蔵メモリ12および1
3へのベースアドレス格納動作を禁止する。またこれに
代えて、図3に示す使用禁止アドレス領域のアドレス
が、バスストローブ信号BSTRの活性化とともに発行
されてもよい。
【0063】次いでこのトレースベースアドレスレジス
タ70への初期値の格納が完了すると、CPUはセレク
タ73の経路を加算器71の出力アドレスを選択する状
態に設定する(ステップS3)。このセレクタ73の接
続経路を切換えた後、CPUは、外部へ、初期設定完了
すなわちトレースモードに対する準備動作が完了したこ
とを告知する(ステップS4)。
【0064】なお、CPU11の制御ではなく、外部の
テスタまたはデバッグ装置が直接初期設定を実行しても
よい。
【0065】図8は、この図6に示すトレースアドレス
信号生成回路30の動作を示すタイミングチャートであ
る。
【0066】クロックサイクル♯aにおいて、レジスタ
70には、初期値1ffff8(H)が格納される。レ
ジスタ70からは、クロック信号CLKの立上がりに応
答してこのレジスタ70の格納内容が初期アドレス1f
fff8(16進表示)として出力される。レジスタ7
0から出力されるアドレスは加算器71により8が加算
され、セレクタ76は、トレースモード指示信号TMR
に従って、トレースモード時、加算器71の出力アドレ
スを選択しており、トレースアドレスは、H’2000
00となる。このサイクル♯aにおいて、バスストロー
ブ信号BSTRがHレベルのとき、クロック信号CLK
の立下がりに同期して、トレースベースアドレスレジス
タ70はセレクタ73を介して与えられたアドレスH’
200000を格納する。クロック信号CLKはLレベ
ルであり、レジスタ70の出力アドレスは変化しない。
【0067】クロックサイクル♯bにおいて、クロック
信号CLKが立上がると、レジスタ70の出力アドレス
がH’200000に変化する。このサイクル♯bにお
いてはバスストローブ信号BSTRはLレベルであり、
レジスタ70の内容の更新は行なわない。したがって、
このクロックサイクル♯bにおいては、トレースアドレ
スは、加算器71により8加算され、H’200008
となる。
【0068】クロックサイクル♯cにおいて再びバスス
トローブ信号BSTRがHレベルの活性状態となり、内
部バスアクセスが実行される。したがって、このときに
は、トレースアドレスH’200008に従ってトレー
スメモリへのバス情報の格納が実行される。クロックサ
イクル♯cにおいてクロック信号CLKがLレベルに立
下がると、このトレースアドレスがトレースベースアド
レスレジスタ70に格納され、レジスタ70の格納アド
レスがH’200008に更新される。
【0069】レジスタ70の出力値は、クロックサイク
ル♯dにおいてクロック信号CLKの立上がりに同期し
て更新され、次いで加算器71が+8加算を実行するた
め、このクロックサイクル♯dにおけるトレースアドレ
スは、H’200010となる。クロックサイクル♯d
においてバスストローブ信号BSTRはHレベルである
ため、トレースベースアドレスレジスタ70は、セレク
タ73を介してトレースアドレスH’200010を取
込み格納する。次いでクロックサイクル♯eにおいてク
ロック信号CLKの立上がりに応答してトレースベース
アドレスレジスタ70の出力アドレスが更新され、この
ときには、トレースアドレスは、H’200018とな
る。このサイクル♯eにおいては、バスストローブ信号
BSTRはLレベルの非活性状態であり、このサイクル
♯eはアイドルサイクルであり、トレースベースアドレ
スレジスタ70の内容の更新は行なわれない。
【0070】以上のように構成することにより、バスア
クセスが行なわれたときに確実に、アドレス更新を行な
って、次の内部バスアクセスに対するトレースメモリア
ドレスを生成することができる。
【0071】通常モード時においては、セレクタ76
は、トレースモード指示信号TRMがLレベル
(“0”)であり、アドレスバス21上のアドレス
[0:23]を選択してトレースメモリアドレスを生成
してメモリアドレスデコーダ32へ与える。
【0072】[変更例]図9は、トレースアドレス信号
生成回路30の変更例を概略的に示す図である。図9に
おいて、トレースアドレス信号生成回路30は、CPU
または外部テスタの制御の下に、トレース情報(内部バ
スアクセス情報)を格納するアドレス領域の初期値を格
納するトレースベースアドレスレジスタ70aと、トレ
ースベースアドレスレジスタ70aの出力アドレスと+
8とを加算する加算器71aと、CPUまたは外部テス
タの制御の下に、内部データバス25上の初期値と加算
器71aの出力の一方を選択するセレクタ73aを含
む。セレクタ73aの出力値がトレースベースアドレス
レジスタ70aへ与えられる。
【0073】このトレースアドレス信号生成回路30
は、さらに、トレースベースアドレスレジスタ70aの
出力アドレスと内部アドレスバス21上のアドレス
[0:23]の一方をトレースモード指示信号TRMに
従って選択してトレースアドレスを生成するセレクタ7
6を含む。
【0074】このトレースベースアドレスレジスタ70
aは、図6に示すトレースベースアドレスレジスタ70
と同様、初期設定時、CPUまたは外部テスタの制御の
下に、セレクタ73aを介して与えられる初期アドレス
を格納する。トレースモード時においては、クロック信
号CLKの立下がり時バスストローブ信号BSTRがH
レベルのときに、セレクタ73aを介して与えられたア
ドレスを格納する。また、トレースベースアドレスレジ
スタ70aは、クロック信号CLKの立上がりに応答し
てその格納アドレスを出力する。
【0075】したがって、この図9に示すトレースアド
レス信号生成回路30の構成では、図10に示すよう
に、トレースベースアドレスレジスタ70aに、初期値
として、内蔵トレースメモリの初期アドレスH’200
000を格納することができ、加算器71aにおける+
8加算を考慮して初期アドレスを設定する必要がなく、
初期アドレス設定動作が容易となる。セレクタ73a
は、初期アドレス設定動作完了後、CPUまたは外部テ
スタの制御の下に、トレースモード時、加算器71aの
出力アドレスを選択する。したがって、トレースベース
アドレスレジスタ70aからは、バスストローブ信号B
STRが活性化されるごとにその内容が更新され、先の
図6に示す構成と同様、トレースメモリアドレスは、ト
レースモード時、8ずつ更新される。
【0076】[トレースライト信号生成回路の構成]図
11は、図2に示すトレースライト信号生成回路40の
構成を概略的に示す図である。図11において、トレー
スライト信号生成回路40は、トレースすべきアドレス
領域を指定するトレース比較アドレスを格納するトレー
ス比較アドレスレジスタ80と、このトレース比較アド
レスの比較すべきビット位置を指定する比較ビットを格
納する比較ビットマスクレジスタ81と、トレース比較
アドレスレジスタ80からのトレース比較アドレスと内
部アドレスバス21上のアドレス[0:23]とを比較
ビットマスクレジスタ81の制御の下に、比較する比較
器82と、比較器82の出力信号が一致を示すときセッ
トされるフリップフロップ(FF)85と、比較器82
の出力信号とフリップフロップ85の出力信号と固定値
(電源電圧レベルの信号)“1”とのいずれかを選択す
るセレクタ87を含む。このセレクタ87により、トレ
ースモード時において内蔵トレースメモリへ書込むべき
内部バスアクセス情報についての3つのモード、すなわ
ち、(1)指定されアドレス領域へのアクセス時のみ書
込む、(2)あるアドレスへのアクセスの後すべての内
部バスアクセス情報をトレースメモリに書込む、および
(3)すべての内部アクセス情報を内蔵トレースメモリ
に書込む、の動作を実現することができる。
【0077】トレースライト信号生成回路40は、さら
に、セレクタ87の出力信号とバスストローブ信号BS
TRとを受けるAND回路90と、リード/ライト指示
信号R/Wを受けるインバータ92と、アドレスビット
[21]を受けるインバータ94と、バスストローブ信
号BSTRとインバータ92および94の出力信号を受
けるAND回路96と、バスストローブ信号BSTRと
インバータ92の出力信号とアドレスビット[21]と
を受けるAND回路98と、トレースモード指示信号T
RMに従ってAND回路90および96の出力信号の一
方を選択してトレースライト指示信号TW0を出力する
セレクタ100と、トレースモード指示信号TRMに従
ってAND回路90および98の出力信号の一方を選択
してトレースライト指示信号TW1を出力するセレクタ
101を含む。アドレスビット[21]を使用すること
により、内部アドレスが4バイト境界のアドレスである
か否かを識別する(これについては後に詳細に説明す
る)。次に、各部の動作について説明する。
【0078】図12(A)は、図11に示す比較ビット
マスクレジスタ81の構成を概略的に示す図である。比
較ビットマスクレジスタ81は、24ビットのアドレス
に対応して24ビットのレジスタ回路を含む。この24
ビットのレジスタ回路内に“0”(Lレベル)または
“1”(Hレベル)のマスクビットが格納される。ビッ
ト“0”が格納されたレジスタ回路に対応するアドレス
ビットは、比較器82において比較がとられる。一方、
“1”が格納されたレジスタ回路に対応するアドレスビ
ットに対する比較は禁止される(マスクされる)。した
がって、図12(B)に示すように、内部メモリのアド
レス領域H’000000からH’00ffffのアド
レス領域において、アドレスAdaからアドレスAdb
の間の領域のアドレスが指定されたとき、比較器82か
ら、一致を示す信号が出力される。このアドレスAda
−Adbの領域は、トレース比較アドレスレジスタ80
に格納されるトレース比較アドレスのビット[0:i]
の値により決定される。したがって、この連続するアド
レス領域内における内部アクセス情報のみを内蔵トレー
スメモリ内に格納することができる。この比較ビットマ
スクレジスタ81を利用することにより、指定されたア
ドレス領域内の内部バスアクセスについての内部バスの
情報のみを、内蔵トレースメモリに書込むことができ
る。
【0079】フリップフロップ85は、比較器82の出
力信号が一致を示すと電源値“1”を取込み出力する。
この場合、比較ビットマスクレジスタ81を全ビット比
較を指示する状態(全ビットについて“0”を書込む場
合)、トレース比較アドレスレジスタ80において格納
されたトレース比較アドレスへのアクセスが行なわれる
と、以後の内部アクセスについての情報を、すべて内蔵
トレースメモリに書込むことができる。
【0080】セレクタ87が、電源値“1”を選択する
場合、すべての内部アクセスについての情報を内蔵トレ
ースメモリに書込む。
【0081】セレクタ100および101は、トレース
モード時にはトレースモード指示信号TRMに従ってA
ND回路90の出力信号を選択する。したがって、バス
ストローブ信号BSTRが活性化されるごとに、このセ
レクタ87による出力信号に従ってトレースライト指示
信号TW0およびTW1が活性化される。これにより、
トレース情報について前述の3つの態様のいずれかに従
って内部アクセスについての内部バス情報をトレースメ
モリに書込むことができる。
【0082】トレースモード指示信号TRMが非活性状
態となると、セレクタ100および101は、AND回
路96および98の出力信号を選択する。通常モード時
においては、アドレスは、4バイト境界で生成される。
【0083】図13(A)は、内蔵トレースメモリのア
ドレスの構成を概略的に示す図である。この内蔵トレー
スメモリにおいては、下位4バイトの書込は、トレース
ライト指示信号TW0により制御され、また上位4バイ
トのデータは、トレースライト指示信号TW1により書
込が制御される。トレースモード時においては、8バイ
トのデータが内蔵トレースメモリに書込まれる。通常動
作モード時においてこの内蔵トレースメモリを通常の内
部メモリとして利用する場合、4バイト単位でデータの
書込を行なう必要がある。この場合、下位4バイトの最
下位アドレスは0または8(16進)であり、また上位
4バイトの16進表示における最下位アドレスビットは
4またはCである。
【0084】したがって、図13(B)に示すように、
アドレスビット[21:23]において、16進表示の
最下位アドレスビットが0または8となるとき、アドレ
スビットAD[21]が0となり、また16進表示の最
下位アドレスビットが4またはCとなるとき、このアド
レスビット[21]が、“1”となる。したがって、こ
のアドレスビット[21]を利用することにより、4バ
イト単位でデータの書込を行なうことができる。すなわ
ち、リード/ライト指示信号R/WがLレベルであり、
データ書込を示しかつバスストローブ信号BSTRが活
性状態のHレベルのとき、アドレスビット[21]がH
レベルであり、上位4バイトの領域を示すときには、A
ND回路98の出力信号がHレベルとなり、セレクタ1
01からのトレースライトイネーブル信号TW1が活性
化され、上位4バイト領域へのデータの書込が行なわれ
る。一方アドレスビット[21]がLレベルのとき、イ
ンバータ94の出力信号がHレベルとなり、AND回路
96の出力信号が応じてHレベルとなる。したがって、
セレクタ100からのトレースライトイネーブル信号T
W0がHレベルとなり、下位4バイトへのデータの書込
が行なわれる。このアドレスビット[21]を利用する
ことにより、内蔵トレースメモリを通常動作モード時に
おいて内蔵メモリとして利用して4バイト単位でのデー
タの書込を行なうことができる。
【0085】なお、セレクタ87の選択態様は、このト
レースモード時において或る指定されたアドレス領域へ
のアクセスを格納するときには、比較器82の出力信号
が選択され、また或る特定のアドレスが指定された後連
続してトレースメモリへデータアクセス情報を書込むと
きにはフリップフロップ(FF)85の出力信号が選択
され、すべての内部バスアクセス情報を内蔵トレースメ
モリへ書込むときには電源値“1”が選択される。この
セレクタ87の経路の指定は、CPUまたは外部テスタ
により設定される。またトレース比較アドレスレジスタ
80および比較ビットマスクレジスタ81への内部デー
タバス25を介してのデータ信号の書込も、CPUまた
は外部テスタの制御の下に実行される(たとえば、CP
Uへ初期設定コマンドを印加することにより実現され
る)。
【0086】[トレースリード信号生成回路の構成]図
14は、図2に示すトレースリード信号生成回路50の
構成を概略的に示す図である。図14において、トレー
スリード信号生成回路50は、アドレスビット[21]
を受けるインバータ110と、バスストローブ信号BS
TR、リード/ライト指示信号R/Wおよびインバータ
110の出力信号を受けるAND回路112と、バスス
トローブ信号BSTR、リード/ライト指示信号R/W
およびアドレスビット[21]を受けるAND回路11
4と、トレースモード指示信号TRMに従って固定値
“0”(接地電圧GND)およびAND回路112の出
力信号の一方を選択してトレースリード指示信号TR0
を出力するセレクタ116と、固定値“0”とAND回
路114の出力信号の一方を選択してトレースリード指
示信号TR1を出力するセレクタ117を含む。
【0087】セレクタ116および117は、トレース
モード時においては、固定値“0”を選択し、トレース
リード指示信号TR0およびTR1をLレベルに固定す
る。
【0088】通常動作モード時においては、セレクタ1
16および117は、AND回路112および114の
出力信号をそれぞれ選択する。リード/ライト指示信号
R/WがHレベルにあり、データ読出を指示するときに
は、バスストローブ信号BSTRの活性化に従ってトレ
ースリード指示信号TR0およびTR1の一方がアドレ
スビット[21]に従って活性化される。すなわちアド
レスビット[21]がLレベルのときには、AND回路
112の出力信号がHレベルとなり、応じてトレースリ
ード指示信号TR0がHレベルの活性状態となる。した
がって、この状態においては、内蔵トレースメモリの下
位4バイトのデータが読出される。一方、アドレスビッ
ト[21]がHレベルのときには、AND回路114の
出力信号がHレベルとなり、応じてトレースリード指示
信号TR1がHレベルとなり、上位4バイトのデータが
内蔵トレースメモリから読出される。
【0089】なお、図11および図14においては、内
蔵トレースメモリの上位4バイトおよび下位4バイトの
識別をアドレスビット[21]を用いて行なっている。
内蔵メモリ12に対するアクセス時においても、リード
指示信号TR0およびTR1またはトレースライト指示
信号TW0およびTW1が、選択的に活性化される。し
かしながら、図2に示すトレースアドレス信号生成回路
30は、通常動作モード時、図6に示すように、内部ア
ドレスバス21上のアドレス[0:23]を選択してお
り、この場合、アドレスレコーダ(32)は非活性化さ
れ、内蔵トレースメモリに割当てられたアドレス領域以
外のアドレスが指定されても、メモリアレイにおけるメ
モリセル選択動作は行なわれないため、内蔵トレースメ
モリに対するデータアクセスは行なわれず、内部データ
バス上でのデータの衝突が防止される。図3に示すアド
レス空間が内蔵トレースメモリに割当てられている場
合、16進表示の上位ビット“20”が指定されたとき
に、これらのトレースリード信号生成回路50およびト
レースライト信号生成回路40が能動化される構成が用
いられてもよい。
【0090】[トレース終了信号生成回路の構成]図1
5は、図2に示すトレース終了信号生成回路60の構成
を概略的に示す図である。図15において、トレース終
了信号生成回路60は、トレース回数を示すデータを格
納するトレース格納回数レジスタ120と、トレース格
納回数レジスタ120の格納された格納回数値を初期値
としてトレースライト指示信号TW0の活性化時カウン
トダウン動作を行なうダウンカウンタ121と、ダウン
カウンタ121のカウント値を固定値0と比較し、ダウ
ンカウンタ121のカウント値が0になるとトレース終
了信号EOTRを活性化する比較器123を含む。
【0091】トレース格納回数レジスタ120は、CP
Uまたは外部テスタの制御の下に、内部データバス25
を介して与えられるデータ信号をトレース格納回数値と
して格納する。内蔵トレースメモリの記憶容量は、8K
バイトであり、トレースモード時8バイト単位で内部バ
スアクセス情報が内蔵トレースメモリへ格納されるた
め、このトレース格納回数レジスタ120に設定するこ
とのできる最大値は、1K(=1024)である。
【0092】トレースライトイネーブル信号TW0は、
図11に示すように、セレクタ87により、設定された
動作モードに応じて活性化される。したがって、このダ
ウンカウンタ121が、カウントダウン動作を行なうこ
とにより、設定された動作モードに応じて、トレース格
納回数レジスタ120に設定された格納回数だけ、内蔵
トレースメモリに内部アクセス情報が格納された後、比
較器123からのトレース終了指示信号EOTRが活性
化される。
【0093】なお、ダウンカウンタ121は、このカウ
ント値が0に到達した後カウント動作が行なわれないよ
うに構成することにより、通常動作モード時のダウンカ
ウンタ121のカウント動作を禁止でき、消費電流の低
減を実現することができる。また、これに代えて、ダウ
ンカウンタ121は、トレースライトイネーブル信号T
W0およびTW1両者が同時に活性化したときに、カウ
ントダウン動作を行なうように構成されてもよい。
【0094】[他の適用例]内蔵メモリおよびトレース
メモリの入出力データビット数および記憶容量は、先の
実施の形態において説明したものに限定されず、他の入
出力データビット数および記憶容量であってもよい。ま
たCPUの入出力データビット数も同様、他のビット数
であってもよい。また、CPUおよび外部バスインター
フェイス回路(I/F)の動作周波数も、200MHz
および20MHzに限定されず、他の動作周波数であっ
てもよい。
【0095】
【発明の効果】以上のように、この発明に従えば、内部
バスアクセス情報を格納する内蔵トレースメモリを、チ
ップ面積を増大させることなくプロセッサ内部に設ける
ことができ、高速プロセッサの内部バス情報を容易に外
部で読出すことができる。
【0096】すなわち、請求項1に係る発明に従えば、
内部バスに結合される第1および第2の内蔵メモリのう
ち第2の内蔵メモリをトレースモード時のこの内部バス
上の情報を格納するトレースメモリとして利用してお
り、専用のトレースメモリを設ける必要がなく、チップ
面積を増大させることなく、高速動作するプロセッサの
内部情報を外部へ読出すことができる。
【0097】請求項2に係る発明に従えば、この第2の
内蔵メモリのトレースモード時の入出力データビット幅
を内部バスのビット幅以上に設定しており、内部データ
バス上のデータのみならず、内部制御情報をも容易に格
納することができる。
【0098】請求項3に係る発明に従えば、この第2の
内部メモリのトレースモード時における入出力データの
ビット幅を内部データバスのビット幅を自然数倍に設定
しており、複雑なアドレス切換を行なうことなく第2の
内蔵メモリを、トレースモード時のトレースメモリとし
て使用し、かつ通常動作モード時に内蔵メモリとして使
用することができる。
【0099】請求項4に係る発明に従えば、第2の内蔵
メモリの制御回路として、アドレス一致検出手段、およ
びこの検出手段からの一致検出信号に従ってセットされ
るフリップフロップおよび固定電圧発生手段とこれらの
一致検出手段、フリップフロップおよび固定電圧の1つ
を選択して第2の内部メモリのトレースモード時の書込
動作を制御するように構成しており、トレースモード
時、必要とされるアドレス領域の内部アクセス情報を容
易に第2の内蔵メモリに格納することができる。
【0100】請求項5に係る発明に従えば、トレースモ
ード時、この第2の内蔵メモリへの書込が行なわれる回
数をカウントし、この所定回数に到達するとトレースモ
ード完了信号を生成するように構成しており、必要な数
の内部アクセス情報を容易に抽出することができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に従うプロセッサの
全体の構成を概略的に示す図である。
【図2】 図1に示す内蔵トレースメモリの構成を概略
的に示す図である。
【図3】 この発明の実施の形態1に従うプロセッサの
アドレス割当を概略的に示す図である。
【図4】 この発明の実施の形態1に従うプロセッサの
動作を示すタイミングチャート図である。
【図5】 この発明の実施の形態1に従うプロセッサの
通常動作モード時の動作を示すタイミングチャート図で
ある。
【図6】 図2に示すトレースアドレス信号生成回路の
構成を概略的に示す図である。
【図7】 図6に示すトレースアドレス信号生成回路の
動作を示すフロー図である。
【図8】 図6に示すトレースアドレス信号生成回路の
動作を示すタイミングチャート図である。
【図9】 図2に示すトレースアドレス信号生成回路の
変更例を示す図である。
【図10】 図9に示すトレースアドレス信号生成回路
の動作を示すタイミングチャート図である。
【図11】 図2に示すトレースライト信号生成回路の
構成を示す図である。
【図12】 (A)は図11に示す比較ビットマスクレ
ジスタの構成を概略的に示し、(B)は、(A)に示す
比較ビットマスクレジスタの検出アドレス領域を概略的
に示す図である。
【図13】 (A)は、この発明の実施の形態1に従う
内蔵トレースメモリの通常動作モード時のアドレス割当
を概略的に示し、(B)は、アドレスビット[21]と
アドレス領域との対応関係を概略的に示す図である。
【図14】 図2に示すトレースリード信号生成回路の
構成を概略的に示す図である。
【図15】 図2に示すトレース終了信号生成回路の構
成を概略的に示す図である。
【符号の説明】
10 プロセッサ、11 CPU、12 内蔵メモリ、
13 内蔵トレースメモリ、14 外部バスインターフ
ェイス回路(I/F)、16 クロックジェネレータ、
19 内部バス、20 クロック信号線、21 内部ア
ドレスバス、22 バスストローブ信号線、25 内部
データバス、26 トレース信号線、29 外部バス、
30 トレースアドレス信号生成回路、32 メモリア
ドレスデコーダ、33 メモリセルアレイ、35 書込
/読出回路群、40 トレースライト信号生成回路、5
0 トレースリード信号生成回路、34 トレースデー
タバス、60 トレース終了信号生成回路、80 トレ
ース比較アドレスレジスタ、81 比較ビットマスクレ
ジスタ、82 比較器、85 フリップフロップ、87
セレクタ、90,96,98,112,114 AN
D回路、100,101,116,117 セレクタ、
120 トレース格納回数レジスタ、121ダウンカウ
ンタ、123 比較器。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 内部データを転送する内部データバスお
    よびアドレス信号を伝達するアドレスバスを少なくとも
    含む内部バス、 前記内部バスに結合され、前記内部データバス上の内部
    データを格納するための第1の内蔵メモリ、 前記内部バスに結合され、少なくとも前記内部データバ
    ス上のデータを処理する処理装置、 前記内部バスに結合され、トレースモード時前記内部バ
    ス上の情報を格納し、前記トレースモード以外の動作モ
    ード時前記処理装置が使用するためのデータを格納する
    第2の内蔵メモリを備える、内部バストレース機能付プ
    ロセッサ。
  2. 【請求項2】 前記第2の内蔵メモリは、前記トレース
    モード時前記第2の内蔵メモリの入出力データビット幅
    を前記内部データバスのビット幅以上に設定し、かつ前
    記トレースモード以外の動作モード時前記第2の内蔵メ
    モリの入出力データのビット幅を前記内部データバスの
    ビット幅と同じに設定するための制御回路を含む、請求
    項1記載の内部バストレース機能付プロセッサ。
  3. 【請求項3】 前記制御回路は、前記第2の内蔵メモリ
    の前記トレースモード時における入出力データのビット
    幅を前記内部データバスのビット幅の自然数倍に設定す
    る手段を備える、請求項2記載の内部バストレース機能
    付プロセッサ。
  4. 【請求項4】 前記制御回路は、 予め定められたアドレスと前記内部バス上のアドレスと
    の一致を検出するための検出手段と、 前記検出手段からの一致検出信号に応答してセットされ
    るフリップフロップと、 固定電圧を発生する手段と、 前記検出手段、前記フリップフロップおよび前記固定電
    圧発生手段の出力の1つを動作モード指示に従って選択
    する選択手段と、 前記トレースモード時、前記選択手段の出力信号に従っ
    て前記第2の内蔵メモリへの前記内部バス上のデータの
    書込をイネーブルする書込イネーブル手段を備える、請
    求項2または3記載の内部バストレース機能付プロセッ
    サ。
  5. 【請求項5】 前記書込イネーブル手段は、前記内部バ
    ス上の有効データ存在を示すストローブ信号に応答して
    前記書込をイネーブルする手段を含み、 前記制御回路は、さらに、前記トレースモード時におけ
    る前記書込イネーブル手段からの書込イネーブル発生回
    数が所定値に到達すると前記トレースモードの終了を指
    示する信号を生成する手段を含む、請求項4記載の内部
    バストレース機能付プロセッサ。
JP2000012719A 2000-01-21 2000-01-21 内部バストレース機能付プロセッサ Withdrawn JP2001202270A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000012719A JP2001202270A (ja) 2000-01-21 2000-01-21 内部バストレース機能付プロセッサ
US09/624,602 US6687811B1 (en) 2000-01-21 2000-07-25 Processor with trace memory for storing access information on internal bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000012719A JP2001202270A (ja) 2000-01-21 2000-01-21 内部バストレース機能付プロセッサ

Publications (1)

Publication Number Publication Date
JP2001202270A true JP2001202270A (ja) 2001-07-27

Family

ID=18540402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000012719A Withdrawn JP2001202270A (ja) 2000-01-21 2000-01-21 内部バストレース機能付プロセッサ

Country Status (2)

Country Link
US (1) US6687811B1 (ja)
JP (1) JP2001202270A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014026645A (ja) * 2012-07-26 2014-02-06 International Business Maschines Corporation 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571364B2 (en) 2005-08-09 2009-08-04 Texas Instruments Incorporated Selectable JTAG or trace access with data store and output
US6877114B2 (en) * 2002-02-14 2005-04-05 Delphi Technologies, Inc. On-chip instrumentation
US20030233601A1 (en) * 2002-06-17 2003-12-18 Vaid Kushagra V. Non-intrusive signal observation techniques usable for real-time internal signal capture for an electronic module or integrated circuit
US7529258B2 (en) * 2002-08-09 2009-05-05 Lecroy Corporation Method and system for cascading analyzer trace memories
US7149933B2 (en) * 2003-08-07 2006-12-12 Arm Limited Data processing system trace bus
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7458078B2 (en) * 2003-11-06 2008-11-25 International Business Machines Corporation Apparatus and method for autonomic hardware assisted thread stack tracking
KR100595632B1 (ko) * 2003-12-17 2006-06-30 엘지전자 주식회사 휴대용 단말기의 디스플레이 제어 방법
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US8015552B1 (en) 2004-07-23 2011-09-06 Green Hills Software, Inc. Post-execution software debugger with coverage display
US8271955B1 (en) 2004-07-23 2012-09-18 Green Hille Software, Inc. Forward post-execution software debugger
US8132159B1 (en) 2004-07-23 2012-03-06 Green Hills Software, Inc. Post-execution software debugger with event display
US8136096B1 (en) 2004-07-23 2012-03-13 Green Hills Software, Inc. Backward post-execution software debugger
US8160084B2 (en) * 2006-09-22 2012-04-17 Nokia Corporation Method for time-stamping messages
DE102007006508B4 (de) * 2007-02-09 2012-11-15 Texas Instruments Deutschland Gmbh Mikrocontroller mit Speicher-Trace-Modul
US7962803B2 (en) * 2008-09-30 2011-06-14 International Business Machines Corporation Apparatus, system, and method for multi-address space tracing
JP2010244327A (ja) * 2009-04-07 2010-10-28 Toshiba Corp キャッシュシステム
KR102608909B1 (ko) * 2017-01-04 2023-12-04 에스케이하이닉스 주식회사 반도체장치
CN112685212B (zh) * 2021-01-05 2024-03-19 上海擎昆信息科技有限公司 一种处理器异常的调试追踪方法、装置和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02208785A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd バス・モニタ・内蔵形の1チップ・マイクロプロセッサ
JPH02310738A (ja) 1989-05-26 1990-12-26 Nec Ic Microcomput Syst Ltd マイクロプロセッサic
JPH03185530A (ja) * 1989-12-14 1991-08-13 Mitsubishi Electric Corp データ処理装置
US5826093A (en) * 1994-12-22 1998-10-20 Adaptec, Inc. Dual function disk drive integrated circuit for master mode and slave mode operations
CN1122226C (zh) * 1994-12-28 2003-09-24 株式会社东芝 微处理器与调试系统
JP3583937B2 (ja) * 1998-12-28 2004-11-04 富士通株式会社 情報処理装置
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6530076B1 (en) * 1999-12-23 2003-03-04 Bull Hn Information Systems Inc. Data processing system processor dynamic selection of internal signal tracing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014026645A (ja) * 2012-07-26 2014-02-06 International Business Maschines Corporation 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法

Also Published As

Publication number Publication date
US6687811B1 (en) 2004-02-03

Similar Documents

Publication Publication Date Title
JP2001202270A (ja) 内部バストレース機能付プロセッサ
US5668815A (en) Method for testing integrated memory using an integrated DMA controller
TW389903B (en) DRAM with integral SRAM and systems and methods using the same
US11640308B2 (en) Serial NAND flash with XiP capability
JPH09219094A (ja) メモリ、メモリサブシステム、メモリ装置およびメモリシステムアドレス方法
JPH01502221A (ja) コンピュータ・アドレス変換装置を備えたコンピュータ・システム
JPH0831060B2 (ja) コンピュータ・システム
JP2002175692A (ja) 半導体記憶装置及びデータ処理システム
JPS6045828A (ja) シングルチツプマイコン
JPH0390942A (ja) 主記憶装置の制御方式
KR100298955B1 (ko) 데이타처리시스템
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JP2002366509A (ja) ダイレクトメモリアクセスコントローラおよびそのアクセス制御方法
JP3600830B2 (ja) プロセッサ
JPH0969072A (ja) メモリマップトi/o制御回路
JPH11259356A (ja) メモリ初期化装置
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2001175586A (ja) データプロセッサ及びデータ処理システム
JP3006487B2 (ja) エミュレーション装置
WO1998007099A1 (en) A microcontroller including an internal memory unit and circuitry to generate an associated enable signal
JPH05120211A (ja) データバス幅制御装置
JPS60230261A (ja) マルチプロセツサシステムにおける初期化制御方式
JPH05143445A (ja) 仮想記憶コンピユータのメモリ高速化機構
JPH03214275A (ja) 半導体集積回路
JPH0561769A (ja) メモリ・アクセス方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070403