JPH07271705A - データプロセッサ及びこれを用いたトレース回路 - Google Patents

データプロセッサ及びこれを用いたトレース回路

Info

Publication number
JPH07271705A
JPH07271705A JP6259727A JP25972794A JPH07271705A JP H07271705 A JPH07271705 A JP H07271705A JP 6259727 A JP6259727 A JP 6259727A JP 25972794 A JP25972794 A JP 25972794A JP H07271705 A JPH07271705 A JP H07271705A
Authority
JP
Japan
Prior art keywords
bus
signal
cache
access
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.)
Pending
Application number
JP6259727A
Other languages
English (en)
Inventor
Hideya Fujita
秀哉 藤田
Giichi Aoto
義一 青砥
Atsushi Hasegawa
淳 長谷川
Hideaki Koyama
英昭 小山
Noboru Sugihara
昇 杉原
Shunpei Kawasaki
俊平 河崎
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP6259727A priority Critical patent/JPH07271705A/ja
Priority to TW084100845A priority patent/TW305960B/zh
Priority to KR1019950002035A priority patent/KR950033860A/ko
Priority to EP95101798A priority patent/EP0667576A1/en
Publication of JPH07271705A publication Critical patent/JPH07271705A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 キャッシュヒットに係る情報のトレース取得
を可能にし、且つトレース取得タイミングを外部で容易
に認識できるようにする。 【構成】 CPU10による内蔵キャッシュメモリ装置
30のアクセスがキャッシュヒットの場合にも当該キャ
ッシュヒットに係るアドレス及びデータなどのアクセス
情報を外部バスインタフェース70へ与える。外部バス
インタフェース70は、上記キャッシュヒットに係る上
記複数のアクセス情報の外部出力に同期して当該複数の
アクセス情報が並列的に確定するタイミングを通知する
トレーススタート信号123を外部に出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュメモリ装置
を内蔵するデータプロセッサに係り、特にキャッシュヒ
ットに係るアクセス情報、さらにはそれをトレース取得
するためのタイミング情報を外部に出力可能にするデー
タプロセッサ、そして、そのデータプロセッサを用いた
トレース回路に関し、例えば、エミュレーション用の評
価チップと実チップの双方の用途にモードを切り換えて
利用可能なシングルチップマイクロコンピュータに適用
して有効な技術に関する。
【0002】
【従来の技術】エミュレータなどを用いたプログラムデ
バッグやシステム評価において、プログラムの実行軌跡
を把握できることは非常に有効である。従来、エミュレ
ータ等のデバッガ装置はデータプロセッサの外部に出力
されるアドレス、データ、及び制御信号などの各種バス
情報をトレース取得し、これを後から解析することによ
ってシステムデバッグやプログラムデバッグを支援す
る。そのようなデータプロセッサがキャッシュメモリ装
置を内蔵する場合、キャッシュヒットに係るアクセス情
報を外部に出力しなくても中央処理装置は必要な情報を
得ることができる。しかしながら、デバッグにおいて単
にデータプロセッサの外部に出力される情報をトレース
取得するだけでは、プログラムの実行軌跡を十分に把握
することができない。尚、キャッシュメモリを内蔵した
データプロセッサについて記載された文献の例としては
日経BP社発行の日経エレクトロニクス(1993年3
月29日発行のNo.577)第121頁がある。
【0003】キャッシュヒットに係るアクセス情報のト
レース取得を考慮した技術としては、リード時にヒット
が起こるとキャッシュメモリからのデータ及びアドレス
を外部に出力するようにしたキャッシュメモリ内蔵マイ
クロプロセッサ(特開平5−134892号)、ヒット
信号、アドレス及びデータを外部に出力できるようにし
たキャッシュメモリ内蔵データ処理装置(特開平3−2
08139号)、キャッシュメモリに対するアクセス要
求とアドレス及びヒット信号などを外部に出力できるキ
ャッシュメモリ内蔵マイクロプロセッサ(特開昭63−
58552号)などがある。
【0004】
【発明が解決しようとする課題】本発明者はキャッシュ
ヒットに係るアクセス情報のトレース取得の容易化をさ
らに検討した。すなわち、データプロセッサが出力する
アドレスバス、データバス、及び制御バスの情報をトレ
ース取得する場合、これらの情報を各バスの状態が有効
なタイミングを以ってバスサイクル単位でトレース取得
する必要がある。例えば、アドレス100番地のメモリ
をリードする場合、アドレスバス上で100番地のアド
レス情報が有効にされると共に、制御バス上でリードを
示す状態のリード信号が有効にされた後、データバス上
では100番地のリードデータが有効にされる。トレー
ス取得は、アドレスバスにおける100番地、制御バス
におけるリード状態、データバスにおける100番地の
メモリリードデータを夫々取得しなければならない。と
ころが、これらのバスの内容は、一般的に同時に有効と
はならず、あるバス情報が他よりも早く有効になった
り、或は他のバス情報が有効な期間に無効とされるバス
情報もある。このため、プログラムの実行軌跡をトレー
ス取得する装置は、トレース取得すべき情報が全て有効
となるタイミングを各種ストローブ信号やタイミング信
号などを用いてバスアクセスの態様毎に特別に生成する
複雑な回路を用意しなければならない。このようなトレ
ース取得のための回路は一般にデータプロセッサのユー
ザがデータプロセッサの種類毎に用意するものでユーザ
にとっては大きな負担になり、また、データプロセッサ
のメーカにとってもデータプロセッサの高機能化に対す
るデバッグ環境の整備の一環としてトレース取得の容易
化を考慮する必要性が見い出された。
【0005】本発明の目的は、キャッシュヒットに係る
アドレスやデータについても外部でトレース取得可能に
すると共に、トレース取得タイミングを外部で容易に認
識できるデータプロセッサを提供することにある。本発
明の更に別の目的は、キャッシュヒットに係るアドレス
やデータを含む各種トレース情報のトレース取得を容易
に行うことができるトレース回路を提供することにあ
る。
【0006】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0007】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0008】〔1〕中央処理装置による内蔵キャッシュ
メモリ装置のアクセスがキャッシュヒットの場合にも当
該キャッシュヒットに係るアドレス及びデータなどのア
クセス情報を外部に出力させる第1の信号(114)を
外部バスインタフェースへ与えるキャッシュコントロー
ラ(32)を採用する。更に、上記キャッシュヒットに
係る上記複数のアクセス情報の外部出力に同期して当該
複数のアクセス情報が並列的に確定するタイミングを通
知する第2の信号(123)を外部に出力するバスコン
トローラ(71)を採用する。
【0009】〔2〕キャッシュヒットに係るアクセス情
報も含めて全てのアクセス情報のトレース取得の便を考
慮する場合には、上記バスコントローラはさらに、上記
キャッシュヒットに係るアクセス情報の他にこれが入出
力すべき複数のアクセス情報が外部で並列的に確定する
タイミングにおいてもそれを通知するために上記第2の
信号を外部に出力する
【0010】〔3〕更に具体的な態様の発明によれば、
データプロセッサは、中央処理装置(10)と、中央処
理装置にキャッシュバス(CB)を介して接続されたキ
ャッシュメモリ装置(30)と、キャッシュメモリ装置
に内部バス(IB)を介して接続された外部バスインタ
フェース(70)とを含んで1チップ化される。このと
き、上記中央処理装置はキャッシュバスを介するアクセ
ス要求をキャッシュバスアクセス信号(102)にてキ
ャッシュメモリ装置に与え、キャッシュメモリ装置はそ
のアクセス要求に応答するリードデータの出力又はライ
トデータの取り込みをキャッシュバスレディー信号(1
03)にて中央処理装置に与え、キャッシュメモリ装置
は内部バスを介するアクセス要求を内部バスアクセス信
号(112)又は第1の信号(114)にて外部バスイ
ンタフェースに与え、外部バスインタフェースはそのア
クセス要求に応答するリードデータの出力又はライトデ
ータの取り込みを内部バスレディー信号(113)にて
キャッシュメモリ装置に与える。そして、上記キャッシ
ュメモリ装置は、上記キャッシュバスアクセス信号にて
要求されるアクセスがキャッシュヒットである場合には
第1の信号(114)を外部バスインタフェースに与え
て当該キャッシュヒットに係る複数のアクセスアドレス
及びデータの外部出力を要求し、また、上記外部バスイ
ンタフェースは、上記第1の信号によって指示されるキ
ャッシュヒットに係るアクセスアドレス及びデータの外
部出力が並列的に確定するタイミングと、上記内部バス
アクセス信号にて指示されるその他のアクセス要求に係
るアクセスアドレス及びデータの外部出力が並列的に確
定するタイミングとをそれぞれ通知するための双方に共
通の第2の信号(123)を外部に出力する
【0011】〔4〕キャッシュヒットに係るアクセス情
報の外部出力や第2の信号の外部出力というトレース取
得容易化のための各種出力機能が、システムデバッグ若
しくはプログラムデバッグに際して一時的に邪魔になる
ような利用形態にも容易に対応できるようにするには、
上記キャッシュヒットに係る複数のアクセス情報の外部
出力と内蔵回路モジュールをアクセス対象とするときの
複数のアクセス情報の外部出力とを選択的に禁止させる
ための第3の信号(142)を生成するモード設定手段
を採用する。更にこのとき、データプロセッサのチップ
をエミュレーション用の評価チップと実チップの双方の
用途にモードを切り換えて利用可能とすることを考慮す
るならば、上記モード設定手段は、外部信号(143)
が第1の状態にされたときに中央処理装置によってアク
セス可能な記憶手段(90)に設定されるデータに応じ
て上記アクセス情報の外部出力を禁止するか否を決定す
る回路構成にするとよい。例えば上記外部信号の第1の
状態において外部バスインタフェースにデバッグモード
を設定しデータプロセッサをエミュレーション用の評価
チップに適合させ、上記外部信号の第1の状態以外にお
いて外部バスインタフェースに通常モードを設定しデー
タプロセッサを実チップに適合させることができる。
【0012】〔5〕上記キャッシュコントローラ及びバ
スコントローラを採用したデータプロセッサを用いたト
レース回路は、このデータプロセッサの外部バスインタ
フェースに外部バス(120,121)が結合されると
共に、この外部バスに現れる情報を貯えるためのトレー
スメモリ(4)を備え、当該データプロセッサが出力す
る上記第2の信号に基づいて外部バス上のアクセス情報
をトレースメモリに格納させるタイミング発生回路
(5,6)を設けて構成される。
【0013】
【作用】上記した手段〔1〕によれば、キャッシュコン
トローラは、データプロセッサ内蔵キャッシュメモリ装
置におけるキャッシュヒットに係るアクセス情報の外部
出力を可能にする。バスコントローラは、キャッシュヒ
ットに係る複数のアクセス情報のトレースタイミングを
第2の信号によって外部で容易に認識可能にする。さら
に上記手段〔2〕及び〔3〕のバスコントローラは、外
部バスインタフェースが入出力するバスサイクル毎の複
数のアクセス情報のトレースタイミングを第2の信号に
よって外部で容易に認識可能にする。
【0014】上記した手段〔4〕のモード設定手段は、
キャッシュヒットに係るアクセス情報の外部出力や第2
の信号の外部出力というトレース取得容易化のための各
種出力機能が、システムデバッグ若しくはプログラムデ
バッグに際して一時的に邪魔になるような利用形態にも
容易に対応できるようにし、また、データプロセッサチ
ップをエミュレーション用の評価チップと実チップの双
方の用途にモードを切り換えて利用可能にする。
【0015】上記手段〔5〕のトレース回路においてタ
イミング発生回路は、バスサイクル毎の複数のアクセス
情報の並列確立タイミングを各種ストローブ信号などを
参照することなく第2の信号によって取得でき、データ
プロセッサの動作サイクル信号若しくはそれと位相のず
れた信号に同期してトレースメモリに対するトレースタ
イミングを生成する。
【0016】
【実施例】
《マイクロコンピュータのモジュール構成》 図1には
本発明の一実施例に係るマイクロコンピュータのブロッ
ク図が示される。同図に示されるマイクロコンピュータ
1は、例えば公知の半導体集積回路製造技術によって単
結晶シリコンのような1個の半導体基板に形成される。
【0017】このマイクロコンピュータ1は、特に制限
されないが、キャッシュバスCB、内部バスIB、及び
ペリフェラルバスPBから成るスリーバス構成を有す
る。キャッシュバスCBは、キャッシュアドレスバス1
00と、キャッシュデータバス101と、キャッシュバ
スアクセス信号102、キャッシュバスレディ信号10
3及びキャッシュバスリードライト信号105に代表さ
れるようなキャッシュコントロールバスとから構成さ
れ、それらには、中央処理装置(以下単にCPUとも記
す)10、乗算器11、ブレークコントローラ20及び
キャッシュメモリ装置30が結合される。ブレークコン
トローラ20は、キャッシュバスCBや内部バスIB上
の情報を監視し、これが予じめ設定されたブレーク条件
に一致したときにCPU10にブレーク割り込みを発生
させて、CPU10による命令実行を所望のポイントで
停止できるようにする。
【0018】上記内部バスIBは、内部アドレスバス1
10と、内部データバス111と、内部バスアクセス信
号112、内部バスレディ信号113、キャッシュトレ
ース信号114及び内部バスリードライト信号115に
代表されるような内部コントロールバスとから構成さ
れ、例えばそれらには、ブレークコントローラ20、キ
ャッシュメモリ装置30、ダイレクトメモリアクセスコ
ントローラ(以下単にDMACとも記す)40、除算器
50、ペリフェラルバスインタフェース60、及び外部
バスインタフェイス70が接続される。キャッシュトレ
ース信号114はキャッシュメモリ装置30から外部バ
スインタフェース70に供給される。
【0019】上記ペリフェラルバスPBは、ペリフェラ
ルアドレスバス130と、ペリフェラルデータバス13
1と、ペリフェラルバスアクセス信号132及びペリフ
ェラルバスリードライト信号135に代表されるペリフ
ェラルコントロールバスとから構成され、例えばそれら
にはペリフェラルバスインタフェイス60、シリアルイ
ンタフェイス80、タイマ81、ウォッチドッグタイマ
82が接続される。
【0020】外部バスインタフェイス70は外部アドレ
スバス120と、外部データバス121と、外部バスア
クセス信号122、トレーススタート信号(以下単にT
S信号とも記す)123及び外部バスリードライト信号
125に代表される外部コントロールバスとから成る外
部バスに接続される。特に制限されないが、本実施例に
おける各種制御信号は特に記載のない限りハイレベルが
アクティブレベルとされる。
【0021】上記キャッシュデータバス101、内部デ
ータバス111は32ビット(4バイト)とされる。特
に制限されないが、上記キャッシュメモリ装置30は1
エントリあたりのデータ部の容量が16バイトとされ
る。したがって、キャッシュメモリ装置30に対するエ
ントリのリプレースは16バイト単位で行われる。キャ
ッシュメモリ装置30のインデックスは、16バイト単
位で行われることになる。特に制限されないが、このキ
ャッシュメモリ装置30はライトスルー制御にて図示し
ない外部メモリとの間でのデータの整合を保つようにな
っており、CPU10によるライトアクセスにおいては
キャッシュミス又はヒットの何れにおいても外部バスサ
イクルが起動されることになる。
【0022】本実施例のマイクロコンピュータ1は、ク
ロックパルスジェネレータ(以下単にCPGとも記す)
2で生成されるクロック信号CLKに同期して動作され
る。キャッシュバスCBおよび内部バスIBの各信号は
上記クロック信号CLKのローレベルからハイレベルへ
の立ち上がりに同期して変化され、チップ外部に接続さ
れる各信号は当該クロック信号CLKのハイレベルから
ローレベルへの立ち下がりに同期して変化される。
【0023】上記CPU10は、特に制限されないが、
RISCタイプの命令セットを有し、パイプライン制御
方式によって命令を実行する。例えば図11に示される
ように、命令フェッチ、命令デコード、実効アドレスの
演算などの計算実行、メモリアクセス、及びライトバッ
クの5段のパイプラインステージを備える。一般的なパ
イプライン制御方式においては図12の(A)に示され
るようにメモリアクセスステージにおいてアドレス転送
とデータ転送を同時に行うことができる。すなわち、リ
ードサイクルにおいてCPUから計算実行ステージで計
算されたアドレスが出力され、それに伴う読み出しデー
タが外部からCPUに入力される。入力されたデータは
ライトバックステージでレジスタに書き込まれる。ライ
トサイクルにおいては計算実行ステージで計算されたア
ドレスを出力すると同時にレジスタから読み出したデー
タを書き込みデータとしてデータバスに出力する。本実
施例のCPU10においては図12の(B)に示される
ようにメモリアクセスステージもアドレス転送ステージ
とデータ転送ステージの2段のパイプライン制御方式で
行われる。CPU10の各ステージはクロック信号の立
ち下がりから次のクロック信号の立ち下がりまでを1ス
テージとして制御される。計算実行ステージで計算され
たアドレスは、計算実行ステージの先頭から半サイクル
後のアドレス転送ステージにおいてメモリアクセスの種
類を示すコマンドと一緒にキャッシュアドレスバス10
0に出力される。例えばキャッシュメモリ装置30から
読出されたデータはメモリアクセスステージの先頭から
半サイクル後のデータ転送ステージでキャッシュデータ
バス101に与えられる。次の命令がメモリアクセスを
行う命令の場合、前の命令のデータ転送ステージと同時
に次の命令のアドレス転送ステージが開始され、メモリ
アクセスもパイプライン的に行われる。メモリアクセス
に比べ、アクセスアドレスの計算やレジスタへのデータ
書込みは短時間に実行できるため本実施例のようにメモ
リアクセスをパイプライン制御化することによってほぼ
2サイクルのメモリアクセス時間を確保することが可能
になる。換言すれば、データ処理性能を低下させること
なく低速のキャッシュメモリや内蔵メモリを利用するこ
とが可能になる。
【0024】《マイクロコンピュータの動作モード》
本実施例のマイクロコンピュータ1はこれを所謂評価チ
ップとしてのエミュレーション用マイクロコンピュータ
として用いるためのデバッグモードと所謂実チップとし
てのマイクロコンピュータとして用いるための通常モー
ドとを有する。そのような動作モードは信号143のレ
ベルによって決定される。信号143はチップ内部で抵
抗92を介して電源電圧Vccにプルアップされた信号
であり、そのハイレベルが通常モードを指示する。した
がって、マイクロコンピュータ1を通常モードで動作さ
せる場合には当該信号143の配線はハイレベルに固
定、又はフローティングのままにすればよい。一般に通
常モードで使用される実チップと、デバッグモードで使
用される評価チップとはパッケージが相違されることが
多い。特に制限されないが、本実施例のマイクロコンピ
ュータ1においては実チップとして使用される場合には
製造時のワイヤーボンディング工程で信号143の配線
をパッケージ外部の端子に非接続として、信号143を
ハイレベルに固定する。信号143はインバータ93で
反転されて内部信号141とされる。信号141は外部
バスインタフェース70などに供給され、例えば通常モ
ードでは外部に出力していないアドレス信号の上位ビッ
トを外部に出力可能にするような動作が可能にされて、
デバッグを支援できるようになっている。
【0025】更に、本実施例のマイクロコンピュータ1
はデバッグモードが設定されたとき、内部バスIBやキ
ャッシュバスCBの情報を外部で容易にトレース取得可
能にするためのトレースサポート機能を備える。この機
能の詳細については後述するが、上記キャッシュメモリ
装置30におけるキャッシュヒット時にそのアドレス及
びデータなどのアクセス情報を並列的に1サイクルだけ
外部バスインタフェース70から出力可能にする。通
常、キャッシュヒットのときは外部に対するメモリアク
セスを行う必要はなく外部バスが空いているので、これ
を利用してキャッシュヒットに係るデータやアドレスを
外部に出力して、それらをトレース取得可能にする。更
に、ペリフェラルバスPBの周辺回路モジュールに対す
るアクセス情報などもトレース取得のために外部に出力
する。それら情報や外部バスを介する本来の外部アクセ
スの情報に対するトレース取得タイミングを容易に把握
できるようにするために、各情報が確定するタイミング
に合わせてトレースのタイミングを通知するための信号
として上記トレーススタート信号123を出力する。そ
のようなトレースサポート機能を選択可能にするため
に、CPU10によってリードライト可能なレジスタ9
0の出力信号140と上記信号141とを2入力とする
アンドゲート91が設けられ、アンドゲート91の出力
信号142(第3の信号)が上記キャッシュメモリ装置
30及び外部バスインタフェイス70に接続される。デ
バッグモードが設定され且つレジスタ90に論理値1の
データが設定されることによって信号142がハイレベ
ルにされたときに、上記トレースサポート機能が選択さ
れる。レジスタ90は上記ペリフェラルデータバス13
1に接続され、ペリフェラルアドレスバス130のアド
レスをデコードするデコーダ83からのレジスタ選択信
号94にて選択される。レジスタ選択信号94にはリー
ド/ライト動作を指示する情報も含まれる。
【0026】《マイクロコンピュータによるアクセス制
御の概要》 CPU10によるアクセスは、キャッシュ
メモリ装置30におけるキャッシュミス/ヒットの状態
およびアクセス対象アドレスに応じて、キャッシュバス
CB、内部バスIB、ペリフェラルバスPB、そして外
部バスへと及ぶ。このとき、キャッシュメモリ装置30
に含まれるキャッシュコントローラ32はキャッシュバ
スCBと内部バスIB(及びペリフェラルバスPB)と
の間のインタフェース制御を行う。外部バスインタフェ
ース70に含まれるバスコントローラ71は内部バスI
Bと外部バスとの間のインタフェース制御を行う。アク
セス制御やバス制御を行う主な回路モジュールであるC
PU10(アクセス指示を行う上流側モジュール)、キ
ャッシュコントローラ32、及びバスコントローラ71
(アクセス指示を行う下流側モジュール)において、上
流側から下流側へのアクセスの要求は、キャッシュアク
セス信号102(CPU10→キャッシュコントローラ
32)、内部バスアクセス信号112(キャッシュコン
トローラ32→バスコントローラ71)にて行われる。
アクセス信号102,112がアクティブレベル(ハイ
レベル)にされるときにはそのアクセスに必要なアドレ
ス信号も下流側の回路に供給される。アクセス要求を受
けた下流側の回路モジュールが当該要求を受け付けた状
態(リードアクセスの要求に対してはリードデータの出
力、ライトアクセスの要求に対してはライトデータの取
り込み)は応答信号としての内部バスレディー信号11
3(バスコントローラ71→キャッシュコントローラ3
2)、キャッシュレディー信号103(キャッシュコン
トローラ32→CPU10)によって上流側回路モジュ
ールに通知される。上記レディー信号103,113を
受ける夫々の回路モジュールは、それがアクティブレベ
ルにされているときは現在のバス状態を変化させ、それ
がインアクティブレベルにされているときは別のアクセ
ス要求を出さずに現在のバスアクセス制御状態を維持す
る。
【0027】例えば通常モードにおけるバスアクセスの
タイミングチャートを示す図6においてCPU10によ
るアクセスはサイクル1(アドレスAに対するリードサ
イクルであってキャッシュヒット)、サイクル2(アド
レスBに対するライトサイクル)、サイクル3(アドレ
スA+4に対するリードサイクルであってキャッシュヒ
ット)、サイクル4(アドレスCに対するライトサイク
ル)が順次連続されている。アドレスB,Cに対するラ
イトサイクルは外部メモリアクセスとされる。外部バス
サイクルは基本的にクロック信号CLKの2サイクルと
され、その後半でデータが確定される。このとき、サイ
クル3において内部バスレディー信号113はハイレベ
ルであるからキャッシュコントローラ32はサイクル3
において内部バスアクセス信号112をハイレベルにす
ると共にアドレスBを内部アドレスバス110に出力
し、サイクル4において書込みデータD(B)を内部デ
ータバスに出力する。バスコントローラ71はサイクル
3でハイレベルにされた内部バスアクセス信号112に
応答して外部バスアクセス信号122をハイレベルにし
てアドレスBに対するデータD(B)の外部書込みサイ
クルを起動する。外部バスサイクルはクロック信号CL
Kの2サイクル要するため、バスコントローラ71はサ
イクル4において内部バスレディー信号113をローレ
ベルにネゲートする。キャッシュコントローラ32は内
部バスレディー信号113のローレベル期間中(サイク
ル4)は内部バスアクセス信号112をローレベルにし
て新たなバス要求を行わず、サイクル5に内部バスアク
セス信号112をハイレベルにして次のアドレスCに対
する書込み要求を行う。仮に外部バスサイクルがウェイ
ト要求などによってクロック信号CLKの3サイクル以
上必要とされる場合にはそれに応じて内部バスレディー
信号113のネゲート期間が延長され(内部バスアクセ
ス信号112のハイレベルへのアサートタイミングが遅
延され)、その期間は内部アドレスバス110及び内部
データバス111の状態がそのまま維持され、その後で
次のアドレスCに対する外部バスアクセスが起動され
る。
【0028】上記アクセス信号102,112とレディ
ー信号103,113に基づくバス制御に加えて、デバ
ッグモードが設定され且つ上記トレースサポート機能が
選択される場合には、キャッシュトレース信号114及
びトレーススタート信号123が有意とされる。トレー
スサポート機能が選択されている場合にはキャッシュヒ
ットに係るアクセス情報を外部に出力させるため、キャ
ッシュトレース信号114にてバスコントローラ71に
アクセス要求を与える。したがって、キャッシュヒット
に係るアクセス情報を外部に出力させるときは、内部バ
スアクセス信号112はアサートされず、その機能はキ
ャッシュトレース信号114が代替する。トレースサポ
ート機能においてバスコントローラ71が特別に外部に
出力すべき情報は、上記キャッシュヒットに係るアクセ
ス情報など通常モードにおいてマイクロコンピュータ1
の内部だけで行われるアクセス情報も対象とされる。ト
レーススタート信号123はそれら情報が外部において
確定するタイミングをトレースタイミングとして与える
ための信号とされる。したがってバスコントローラ71
は、当該信号123の生成に当たり、キャッシュヒット
に係る情報出力に際してはキャッシュトレース信号11
4によるアクセス要求を考慮し、その他の外部バスアク
セスに際しては内部バスアクセス信号112によるアク
セス要求を考慮することになる。
【0029】例えばデバッグモードにおいてトレースサ
ポート機能を選択している場合におけるバスアクセスの
タイミングチャートを示す図7においてCPU10によ
るアクセスは、サイクル1(アドレスAに対するリード
サイクルであってキャッシュヒット)、サイクル2(ア
ドレスBに対するライトサイクル)、サイクル3(アド
レスA+4に対するリードサイクルであってキャッシュ
ヒット)、及びサイクル4(アドレスCに対するライト
サイクル)が順次連続されている。アドレスB,Cに対
するライトサイクルは外部メモリアクセスとされる。外
部バスサイクルは基本的にクロック信号CLKの2サイ
クルとされ、その後半でデータが確定される。このと
き、アドレスAに対するリードアクセスのキャッシュヒ
ットが検出されると、キャッシュコントローラ32はサ
イクル2においてキャッシュトレース信号114をハイ
レベルにする。これを受けてバスコントローラ71はキ
ャッシュヒットに係るアドレスA及びデータD(A)を
外部バスに出力する。このときバスコントローラ32に
よるその出力タイミングは、内部バスレディー信号11
3及びキャッシュトレース信号114がハイレベルにさ
れる時刻t1からクロック信号CLKの1.5サイクル
経過後とされる。このときの外部バスサイクルは通常の
外部バスサイクル(クロック信号CLKの2サイクル)
における後半の1サイクルの期間にアドレスとデータを
並列的に出力するものとされる。この外部バスアクセス
はサイクル3においてアドレスBの内部バス上のアクセ
ス要求と重なるためサイクル4において内部バスレディ
ー信号113はローレベルにネゲートされ、これを受け
るキャッシュコントローラ32はその期間内部のバス状
態をそのまま維持している。サイクル3において内部バ
スアクセス信号112で要求されたアドレスBに対する
外部書込みサイクルは、アドレスA及びデータD(A)
に対する外部バスサイクルの終了後に開始される。トレ
ーススタート信号123はキャッシュヒットに係るデー
タD(A),D(A+4)や書込みデータD(B)が外
部データバスに出力されるタイミング(対応するアクセ
スアドレスも確定されているタイミングでもある)に同
期してハイレベルにされる。トレーススタート信号12
3の生成論理については図5に基づいてその詳細な一例
を後述する。
【0030】《キャッシュメモリ装置》 図2にはキャ
ッシュメモリ装置30の一例ブロック図が示される。同
図に示されるキャッシュメモリ装置30はデータ部とタ
グ部から成るキャッシュエントリを保有するnウェイセ
ットアソシアティブ形式のキャッシュメモリ31、キャ
ッシュバスCB側のキャッシュアドレスバス100及び
キャッシュデータバス101と内部バス側IBの内部ア
ドレスバス110及び内部データバス111との間に配
置されたレジスタ33〜36及びスリーステートバッフ
ァ37〜39、そしてそれらを制御するキャッシュコン
トローラ32によって構成される。
【0031】上記キャッシュコントローラ32は、キャ
ッシュバスCB側においてキャッシュバスアクセス信号
102とキャッシュバスリードライト信号105を入力
し、キャッシュバスレディ信号103を出力する。ま
た、内部バスIB側においては、内部バスレディ信号1
13を受けると共に、内部バスアクセス信号112、キ
ャッシュトレース信号114、及び内部バスリードライ
ト信号115を出力する。このキャッシュコントローラ
32は、信号142がハイレベルのとき、CPU10に
よるキャッシュメモリ装置30のアクセスがキャッシュ
ヒットの場合にも当該キャッシュヒットに係るアドレ
ス、データなどのアクセス情報を外部バスインタフェー
ス70へ与えるようにトライステートバッファ37,3
8などを制御し、さらに外部バスインタフェース70に
は、キャッシュトレース信号114(第1の信号)をア
クティブレベルにして供給することによって、外部バス
インタフェース70に当該キャッシュヒットに係るデー
タ及びアドレスなどの外部出力を指示する。
【0032】上記キャッシュメモリ31はアドレスバス
100、データバス101と直接接続され、その読出し
動作と書込み動作は読み出し信号301及び書き込み信
号302によってキャッシュコントローラ32で制御さ
れる。キャッシュコントローラ32は、ハイレベルのキ
ャッシュバスアクセス信号102にてCPU10からの
アクセスが要求されると、読み出し信号301をハイレ
ベルにして、キャッシュメモリ31にキャッシュアドレ
スバス100のアドレスに対応するデータが存在するか
を検索させる。そのアドレスに対応するエントリが存在
する場合(キャッシュヒット)にはヒット信号303が
ハイレベルとされ、対応するエントリが存在しない場合
(キャッシュミス)にはヒット信号303がローレベル
にされて、キャッシュコントローラ32に与えられる。
キャッシュアドレスバス100は、レジスタ33,35
とスリーステートバッファ37を介して内部アドレスバ
ス110に接続される。キャッシュデータバス101の
値はレジスタ34,36とスリーステートバッファ38
を介して内部データバス111に出力され、逆に内部デ
ータバス111の値はスリーステートバッファ39を介
してキャッシュデータバス101に出力される。レジス
タ33、34はクロック信号CLKの立下りでキャッシ
ュコントローラ32の制御によってラッチ動作を行い、
レジスタ35,36はクロック信号CLKの立上りでデ
ータのラッチ動作を行う。スリーステートバッファ37
〜39はキャッシュコントローラ32によって制御さ
れ、内部バスアクセス時のリードサイクルではスリース
テートバッファ39が、ライトサイクルではスリーステ
ートバッファ38が入出力動作可能にされる。レジスタ
33〜36は、キャッシュバスCBと内部バスIBとの
間での情報伝達にクロック信号CLKの1サイクル分の
遅延時間を作り出すために設けられている。すなわち、
図6及び図7に代表的に示されるように、キャッシュデ
ータバス101,キャッシュアドレスバス100の情報
が変化されると、クロック信号CLKの1サイクル遅延
してその変化が内部データバス111,内部アドレスバ
ス110に反映される。
【0033】CPU10によるリードサイクルではクロ
ック信号CLKの1サイクルの期間にキャッシュメモリ
31の検索が行われ、キャッシュコントローラ32はア
クセスアドレスに対応するデータがキャッシュメモリ3
1に存在するか否かによって内部バスサイクルの起動を
行うかどうかを決定する。キャッシュコントローラ32
がキャッシュヒット信号303によって所要のデータが
キャッシュメモリ31に存在することを認識した場合、
キャッシュメモリ31から読み出したデータをキャッシ
ュデータバス101に出力すると共に、キャッシュレデ
ィ信号103をハイレベルとして、CPU10にデータ
読み出しの完了を通知する。存在しない場合にはキャッ
シュコントローラ32は、スリーステートバッファ37
を介して当該アドレスを内部アドレスバス110に出力
すると同時に内部バスアクセス信号112をハイレベル
にしてバスコントローラ71にバスサイクルの起動を要
求する。内部バスサイクルの完了は外部バスインタフェ
ース70などから返される内部バスレディ信号113が
アクティブレベルにされることを確認することによって
行う。キャッシュコントローラ32はそれを確認する
と、スリーステートバッファ39を介して当該データを
CPU10に送ると共にキャッシュレディ信号103を
アクティブレベルにし、また書き込み信号302をアク
ティブレベルにして当該データを新たなエントリとして
キャッシュメモリ31に書き込み制御する。図2におい
て361はレジスタ36の加算入力データであり、キャ
ッシュミスに際してエントリの16バイト分のデータ部
を取り込むためのアドレス情報である。即ち、一つのキ
ャッシュエントリのデータ部は16バイトとされ、デー
タアクセスは32ビット(4バイト)単位で行われ、ア
ドレスはバイトアドレスとされるから、加算入力データ
361は、レジスタ36における下位側から第3ビット
及び4ビット目のアドレスビットを任意に変化させるた
めの情報とされる。この加算入力361は、キャッシュ
ミスに際して当該ミスに係るデータから連続するデータ
を全部で16バイト取り込むための4回のアクセス(4
バイト単位)アドレスを生成するのに利用される。
【0034】CPU10によるライトサイクルにおいて
は、特に制限されないが、キャッシュコントローラ32
は、キャッシュメモリ31に所要のデータが存在するか
否かに拘らず、そのときの書込みアドレスとデータを内
部アドレスバス110と内部データバス111にも供給
して、ライトスルーの制御を行う。
【0035】トレースサポート機能が選択されて信号1
42がハイレベルにされているときは、上記リードサイ
クルにおいてキャッシュヒットの場合にもスリーステー
トバッファ37、38を用いてそのアドレス及びデータ
は内部バスIBに向けて出力される。このとき、キャッ
シュコントローラ32は、内部アクセス信号112をア
クティブレベルにする代わりに上記キャッシュトレース
信号114をアクティブレベルにすることによってトレ
ース用のデータ出力であることを外部バスインタフェー
ス70に知らせる。
【0036】上記内部バスレディ信号113がインアク
ティブなローレベルにされていることによって内部バス
IBが以前のアクセスを完了していないことを示してい
る場合、キャッシュコントローラ32は、レジスタ33
及びレジスタ34のラッチ動作を行わずに前の値を保持
して、内部バスIBへの出力状態を維持することができ
る。
【0037】図3にはキャッシュコントローラ32の内
部におけるキャッシュバスレディ信号103の生成論理
が示される。同図において350は信号310と311
の論理積を採るアンドゲート、351は信号311とキ
ャッシュヒット信号303の論理積を採るアンドゲー
ト、352は信号310と内部バスレディ信号113と
の論理積を採るアンドゲート、354はアンドゲート3
50,351,352の各出力に対する論理和をキャッ
シュバスレディ信号103として出力するオアゲートで
ある。キャッシュメモリ31からの読出しサイクルにお
いては信号310はローレベルにされ且つ信号311は
ハイレベルにされ、この状態においてキャッシュメモリ
31からのヒット情報を現す信号303の値がオアゲー
ト354からキャッシュバスレディ信号103として出
力される。内部バスIBからの読出し、ライトデータの
出力、そして上記キャッシュヒットに係るデータなどの
ような専らトレースのために出力されるトレースデータ
の出力など、内部バスIBを使用する必要がある場合に
は信号310がハイレベルにされ且つ信号311がロー
レベルにされ、この状態においては内部バスレディ信号
113の値がオアゲート354からキャッシュバスレデ
ィ信号103として出力される。上記の何れのアクセス
も行わない場合には信号310及び311の双方はハイ
レベルにされてアンドゲート350の出力がハイレベル
とされ、これによってキャッシュバスレディ信号103
はハイレベルに固定される。
【0038】《外部バスインタフェース》 図4には上
記外部バスインタフェース70の一例ブロック図が示さ
れる。同図に示される外部バスインタフェース70は、
内部アドレスバス110と外部アドレスバス120との
間に配置されたレジスタ72〜74及びスリーステート
バッファ75,701と、内部データバス111と外部
データバス121との間に配置されたレジスタ76,7
8及びスリーステートバッファ77,79と、それらを
制御すると共に外部に対してバスサイクルの起動制御を
行うバスコントローラ71とによって構成される。
【0039】上記バスコントローラ71は、内部バスI
B側において内部バスアクセス信号112、キャッシュ
トレース信号114、及び内部バスリードライト信号1
15を入力し、内部バススレディ信号113を出力す
る。また、外部バス側においては、外部バスアクセス信
号122、トレーススタート信号123、及び外部バス
リードライト信号125を出力する。このバスコントロ
ーラ71は、デバッグモードにおいてトレースサポート
機能が選択されて信号142がハイレベルにされている
ときは、実チップにおけるような通常のバス制御に加え
て、トレース情報取得を容易化するための以下の制御を
行う。キャッシュトレース信号114のアクティブレ
ベルに基づいてキャッシュヒットに係るデータ及びアド
レスなどのアクセス情報を外部に出力する。上記キャ
ッシュヒットに係る複数のアクセス情報の出力が並列的
に確定するタイミングを通知するようにトレーススター
ト信号(第2の信号)123を外部に出力する。本来
外部アクセスサイクルの起動を必要としないペリフェラ
ルバスPBに結合されている回路ブロックに対するアク
セスデータ及びアドレスなどのアクセス情報を外部に出
力すると共に、該複数のアクセス情報の外部出力が並列
的に確定するタイミングを通知するようにトレーススタ
ート信号(第2の信号)123を外部に出力する。本
来的に外部アクセスサイクルの起動が必要とされる場合
にも当該外部アクセスのためのデータ及びアドレスなど
のアクセス情報が外部で並列的に確定するタイミングを
通知するようにトレーススタート信号(第2の信号)1
23を外部に出力する。すなわち、バスコントローラ7
1は、キャッシュヒットに係るアクセス情報も含めて全
てのアクセス情報のトレース取得の便を考慮して、外部
バスインタフェース70が入出力するバスサイクル単位
における複数のアクセス情報が外部で並列的に確定する
タイミングを通知するようにトレーススタート信号12
3を外部に出力する。本実施例に従えば、外部データバ
ス121においてデータが確定されるタイミングとされ
る。トレースサポート機能が選択されずに信号142が
ローレベルにされてい場合には、上記〜に示される
ような専らトレース取得のための出力動作は行われな
い。
【0040】この外部バスインタフェース70におい
て、内部アドレスバス110はレジスタ72,73,7
4、及びスリーステートバッファ75を介し、またレジ
スタ72及びスリーステートバッファ701を介して外
部アドレスバス120に接続される。内部データバス1
11のデータはレジスタ76及びスリーステートバッフ
ァ77を介して外部データバス121に出力される。外
部データバス121のデータはレジスタ78及びスリー
ステートバッファ79を介して内部データバス111に
取り込まれる。レジスタ72,76はクロック信号CL
Kの立下りで入力のラッチ動作を行い、それはバスコン
トローラ71によって制御される。レジスタ73はクロ
ック信号CLKの立上りで、レジスタ74はクロック信
号CLKの立下りでラッチ動作を行う。したがってスリ
ーステートバッファ75を経由するアドレス出力は、内
部アドレスバス110のアドレス変化から少なくともク
ロック信号CLKの1.5サイクル遅延して外部アドレ
スバス120に与えられる。一方、スリーステートバッ
ファ701を経由するアドレス出力は、内部アドレスバ
ス110のアドレス変化から少なくともクロック信号C
LKの0.5サイクル遅延して外部アドレスバス120
に与えられる。2種類のアドレス出力経路の内の前者は
通常の外部アクセスで利用されると共にキャッシュヒッ
トに係るアドレスをデータと一緒にクロック信号CLK
の1サイクルで外部に出力させるために利用され、後者
の経路は通常の外部アクセスに利用されるものであって
外部データバス121上におけるデータの確定に先立っ
て外部アドレスバス120上でアドレスを確定させるた
めの経路である。バスコントローラ71は、内部バスレ
ディー信号113をネゲートして内部バス制御状態をそ
の期間維持させる指示をキャッシュコントローラ32に
出したときは、それに応じてレジスタ72,76のラッ
チ動作を抑止して対応する。例えば、図7においてキャ
ッシュリードヒットに係るアクセス情報を外部バスに出
力するとき、時刻t1における内部アドレスバス110
のアドレスAへのアドレス変化から時刻t4における外
部アドレスバス120のアドレスAへのアドレス変化ま
では1.5サイクル費やされている。それに対して時刻
t5における内部アドレスバス110のアドレスA+4
へのアドレス変化から時刻t10における外部アドレス
バス120のアドレスA+4へのアドレス変化までは
2.5サイクル費やされている。これは、サイクル4に
おいて内部バスレディー信号113が1サイクルの間ネ
ゲートされた結果である。また、図7のアドレスBに対
するライトアクセスにおいて、サイクル4では内部バス
レディー信号113がネゲートされているから、トライ
ステートバッファ701の出力が抑止され且つレジスタ
72のラッチ動作も抑止されているので、通常よりも1
サイクル遅れた時刻t6からライトアドレスBを外部ア
ドレスバス120に出力している。
【0041】バスコントローラ71は、内部アドレスバ
ス110上のアドレスが外部アクセスのためのアドレス
(外部回路に割当てられたアドレス)であって内部バス
アクセス信号112がハイレベルのとき、当該アドレス
をレジスタ72およびスリーステートバッファ701を
介して上述のように外部アドレスバス120に出力す
る。これと同時に外部バスアクセス信号122がハイレ
ベルにされて外部アクセスが起動される。このアクセス
サイクルがライトサイクルである場合、アドレスの出力
から1サイクル遅れて到着するデータをレジスタ76、
スリーステートバッファ77を介して上述のように外部
データバス121に出力する。リードアクセスの場合
は、外部データバス121のデータをレジスタ78で一
端ラッチしてスリーステートバッファ79を介して内部
データバス111に取り込む。バスコントローラ71
は、キャッシュトレース信号114がハイレベルの時に
は内部アドレスバス110の値をレジスタ72,73,
74及びスリーステートバッファ75を介して上述のよ
うに外部アドレスバス120に出力する。データは通常
のライト動作と同じ制御で外部データバス121に出力
される。すなわち、キャッシュヒットに係るデータ及び
アドレスは上述のようにクロック信号CLKの1サイク
ルの期間に並列的に外部バスに出力される。また、バス
コントローラ71は、信号142がハイレベルにされて
いるとき、ペリフェラルバスPBに接続された周辺モジ
ュールのアクセスをそのアクセスアドレスのデコードに
よって検出したとき、上記と同様に内部アドレスバス1
10及び内部データバス111の情報を外部アドレスバ
ス120及び外部データバス121に出力する。
【0042】図5にはバスコントローラ71内において
トレーススタート信号123を生成する論理の一例が示
される。レジスタ721は内部バスレディ信号113が
ハイレベルで且つクロック信号CLKがローレベルの期
間に入力をラッチする。レジスタ722はクロック信号
CLKがハイレベルの期間に、レジスタ724はクロッ
ク信号CLKがローレベルの期間に入力をラッチする。
720はキャッシュトレース信号114と内部バスアク
セス信号112との論理和を出力するオアゲート、72
3は信号710とレジスタ722の出力との論理積を出
力するアンドゲートである。内部バスアクセス信号11
2及びキャッシュトレース信号114の値に対して論理
和を採った値がレジスタ721に取り込まれる。信号7
10は、特に制限されないが、デバッグモードにおいて
トレースサポート機能が選択された状態(信号14がハ
イレベル)におけるバスレディー信号113と等価な信
号とされる。
【0043】上記レジスタ721はキャッシュトレース
信号114又は内部バスアクセス信号112がハイレベ
ルであって内部バスレディ信号113がハイレベルにさ
れているときクロック信号CLKの立ち下がりに同期し
てハイレベルをラッチする。図7におけるL721がそ
のラッチタイミングの一例である。クロック信号CLK
の次のサイクルではクロック信号CLKの立ち上がりに
同期して次段レジスタ722が前段レジスタ721のラ
ッチデータをラッチする。図7におけるL722がその
ラッチタイミングの一例である。終段ラッチ回路724
は当該サイクルにおけるクロック信号CLKの立ち下が
りに同期してアンドゲート723の出力をラッチする。
図7におけるL723がそのラッチタイミングの一例で
ある。レジスタ724のラッチデータは信号710がハ
イレベルであればレジスタ722の出力値とされる。レ
ジスタ724のラッチタイミングにおいて内部バスレデ
ィー信号113がハイレベルを維持しているならば信号
710はハイレベルにされるので、当該サイクルにおけ
るクロック信号CLKの立ち下がりに同期して終段ラッ
チ回路724がラッチ回路722のハイレベル出力デー
タをラッチする。このラッチ期間(クロック信号CLK
の1サイクル)がトレーススタート信号123のハイレ
ベル期間とされる。これは、内部バスアクセス要求やキ
ャッシュトレース要求があったとき当該サイクル若しく
はその後のサイクルで内部バスレディー信号113がロ
ーレベルにネゲートされなければ、当該要求の後クロッ
ク信号CLKの1.5サイクル後にリードデータ/ライ
トデータがアドレスと共に外部バス上で確定されること
に対応されている。例えば図7において、サイクル2の
ようにキャッシュトレース信号114がハイレベルであ
って内部バスレディ信号113がハイレベルにされるク
ロック信号CLKのサイクルに当該クロック信号CLK
の立ち下がりに同期して(時刻t2)レジスタ721が
ハイレベルをラッチする。クロック信号CLKの次のサ
イクルであるサイクル3では次段レジスタ722が時刻
t3に前段レジスタ721のラッチデータをラッチす
る。当該サイクル3において内部バスレディー信号11
3はハイレベルを維持しているから信号710はハイレ
ベルとされ、当該サイクル3におけるクロック信号CL
Kの立ち下がりに同期して(時刻4)終段ラッチ回路7
24がラッチ回路722のハイレベル出力データをラッ
チし、これによってトレーススタート信号123が時刻
t4からt6にハイレベルにされる。このラッチ期間は
外部バス上でアドレスと共にデータが確定される期間と
される。
【0044】一方、レジスタ724のラッチタイミング
において内部バスレディー信号113がローレベルにさ
れるならば信号710はローレベルにされるので、当該
サイクルにおけるクロック信号CLKの立ち下がりに同
期して終段ラッチ回路724はレジスタ722のラッチ
データに拘わらずローレベルのデータをラッチして、ト
レーススタート信号123をローレベルにする。その状
態は内部バスレディー信号113がハイレベルにされる
まで維持される。その間レジスタ721に対するラッチ
動作も阻止されるので当該レジスタ721はその直前に
ラッチしたハイレベルデータを維持する。したがって、
その後に内部バスレディー信号113がハイレベルに反
転されることに応じて信号710がハイレベルにされる
と、そのサイクルにおけるクロック信号CLKの立ち下
がりに同期して終段ラッチ回路724がラッチ回路72
2のハイレベルラッチデータをラッチする。このラッチ
期間(クロック信号CLKの1サイクル)がトレースス
タート信号123のハイレベル期間とされる。これは、
内部バスアクセス要求やキャッシュトレース要求があっ
たとき当該サイクル若しくはその後のサイクルで内部バ
スレディー信号113がローレベルにネゲートされた場
合にデータ及びアドレスの確定は上記1.5サイクルに
対して更に内部バスレディー信号113のネゲート期間
だけ遅延されることに対応されている。例えば図7にお
いて、サイクル3のように内部バスアクセス信号112
がハイレベルであって内部バスレディ信号113がハイ
レベルにされるクロック信号CLKのサイクルに当該ク
ロック信号CLKの立ち下がりに同期して(時刻t4)
レジスタ721がハイレベルをラッチする。クロック信
号CLKの次のサイクルであるサイクル4では次段レジ
スタ722が前段レジスタ721のラッチデータをラッ
チする(時刻t5)。当該サイクル4において内部バス
レディー信号113がローレベルにされることに応じて
信号710がローレベルにされると、当該サイクル4に
おけるクロック信号CLKの立ち下がりに同期して(時
刻t6)終段ラッチ回路724はレジスタ722のラッ
チデータに拘わらずローレベルのデータをラッチし、時
刻t6にトレーススタート信号123をローレベルにす
る。その状態は内部バスレディー信号113がハイレベ
ルにされるまで維持される。その間レジスタ721に対
するラッチ動作も阻止されているのでレジスタ721は
その直前にラッチしたハイレベルデータを維持する。し
たがって、サイクル5に内部バスレディー信号113が
ハイレベルに反転されることに応じて信号710がハイ
レベルにされると、そのサイクル5におけるクロック信
号CLKの立ち下がりに同期して(時刻t8)終段ラッ
チ回路724がラッチ回路722のハイレベルラッチデ
ータをラッチしてトレーススタート信号123をハイレ
ベルとする。このラッチ期間は外部バス上でアドレスと
共にデータが確定される期間に一致される。
【0045】図5に示される論理により、キャッシュヒ
ットに係るアドレス及びデータ、そして外部アクセスに
係るアドレス及びデータが外部バス上において並列的に
確定される期間を一つのトレーススタート信号123に
て外部に通知することができる。例えば外部では当該信
号123のハイレベル期間をトレースメモリのメモリイ
ネーブル信号として利用することによりそれら情報を時
系列的に蓄えていくことができる。
【0046】尚、図5において信号710は、アクセス
の開始からクロック信号CLKに従ってカウントを行う
ことで決定される出力タイミングを以ってハイレベルに
される信号として実現することもできる。すなわちその
場合に信号710は、上記キャッシュヒットに係るアク
セス情報の出力サイクルではキャッシュトレース信号1
14がハイレベルにされ且つ内部バスレディー信号11
3がハイレベルにされた1サイクル後に、外部アクセス
及び内蔵ペリフェラルアクセスではアクセス終了サイク
ルの1サイクル前のクロック信号CLKの立ち上がりに
同期して、夫々1サイクルの期間だけハイレベルにされ
る。後者の場合において、外部アクセス及び内蔵ペリフ
ェラルアクセスの基本的なアクセスサイクル数は特に制
限されないが、クロック信号CLKの2サイクル分とさ
れるが、ウェートが挿入される場合、そのウェートステ
ートは第1のクロックサイクルの後に挿入される。した
がって、ウェートが挿入される場合にも当該ウェートス
テートの有無を監視することによってアクセス終了1サ
イクル前を判定できる。
【0047】《通常モードにおけるキャッシュリードミ
スのアクセス》 図10には通常モードにおけるキャッ
シュリードミスに関するアクセスの一例タイミングチャ
ートが示される。CPU10はサイクル1にキャッシュ
アドレスバス100にアドレスAを出力すると同時にキ
ャッシュバスアクセス信号102をハイレベルにしてア
クセスの開始をキャッシュコントローラ32に通知す
る。このとき、CPU10から出力されるキャッシュバ
スリードライト信号105にてリード動作が指示されて
いる場合、当該サイクル1においてキャッシュコントロ
ーラ32はキャッシュメモリ31に読み出し信号301
を与えてそのアドレスAを検索情報としてエントリの検
索を行う。検索の結果がキャッシュミスの場合、キャッ
シュコントローラはキャッシュバスレディー信号103
をローレベルにネゲートする。CPU10はキャッシュ
バスレディー信号103がハイレベルにされるまで現在
のキャッシュバスCBに対するアクセス制御状態を維持
させる。キャッシュコントローラ32はキャッシュミス
に係るデータのアドレスから連続して16バイトのデー
タを得るために、サイクル2において内部バスアクセス
信号112をハイレベルにしてバスコントローラ71に
アクセスを要求すると共に、A+4のアドレスを内部ア
ドレスバス110に出力する。アドレスAからアドレス
A+4を得るためには図2の加算入力データ361が利
用される。そのアクセス要求を受けてバスコントローラ
71は内部バスアクセス信号112のハイレベルへの変
化からクロック信号CLKの半周期遅れてアドレスA+
4に対する外部バスサイクルを起動する。外部バスサイ
クルはクロック信号CLKの2周期を要することから、
サイクル3において内部バスレディー信号113はロー
レベルにネゲートされ、内部アドレスバス110のアド
レスA+8がその間維持される。そしてデータD(A+
4)がサイクル4に内部データバス111に与えられて
キャッシュコントローラ32は当該4バイトのデータを
取り込む。同様にしてアドレスA+8,A+12,Aに
対する外部バスサイクルが起動されて夫々のデータD
(A+8),D(A+12),D(A)がキャッシュメ
モリ31に取り込まれ、データD(A),D(A+
4),D(A+8),D(A+12)とそれに対応する
アドレスタグが新たなキャッシュエントリとされる。最
後のデータD(A)はキャッシュミスに係るデータであ
るので、キャッシュコントローラ32はサイクル10に
おいてキャッシュバスレディー信号103をハイレベル
にアサートしてCPU10が当該データをフェッチでき
るようにする。尚、アドレスAに対する上記アクセスア
ドレスA+4,A+8,A+12は信号361にてレジ
スタ36の内部で生成される。
【0048】《通常モードにおけるキャッシュリードヒ
ットとライトアクセス》 図6には通常モードにおける
キャッシュリードヒット(アドレスA,A+4,A+8
に対するアクセス)とライトアクセス(アドレスB,C
に対するアクセス)の一例タイミングチャートが示され
る。通常モードにおいてCPU10はメモリ上のデータ
または命令をアクセスする場合、クロック信号CLKに
同期してキャッシュアドレスバス100にアクセスアド
レスを出力すると共にキャッシュアクセス信号102を
ハイレベルにしてキャッシュメモリ装置30にアクセス
要求を行う。図6におけるサイクル1,3,5がそのよ
うな動作サイクルとされる。キャッシュメモリ装置30
はそのようなアクセス要求を受けると当該サイクルにお
いてキャッシュメモリ31の検索を行う。アクセスがメ
モリに対するリードでかつアクセスアドレスのデータが
キャッシュメモリ31内に存在する場合、その次のサイ
クルでクロック信号CLKに同期してキャッシュデータ
バス101にキャッシュメモリ31から読み出したデー
タを出力し、更にキャッシュレディ信号103をハイレ
ベルとする。CPU10はそのハイレベルのキャッシュ
レディー信号103にて、アクセス要求したデータがキ
ャッシュデータバス101上で確定していることを認識
する。
【0049】CPU10がライトアクセスを行うとき、
例えばサイクル2において、CPU10はキャッシュア
ドレスバス100にアドレスBを出力すると同時にキャ
ッシュバスアクセス信号102をハイレベルにしてアク
セスの開始をキャッシュコントローラ32に通知する。
このとき、CPU10から出力されるキャッシュバスリ
ードライト信号105にてライト動作が指示されている
場合、当該サイクル2においてキャッシュコントローラ
32はキャッシュメモリ31に読み出し信号301を与
えてそのアドレスBを検索情報としてエントリの検索を
行う。キャッシュコントローラ32は検索の結果がキャ
ッシュミスの場合には次のサイクル3においてリプレー
スすべきキャッシュラインを選択してデータD(B)を
新たなエントリとして追加する。キャッシュヒットの場
合にはサイクル2においてインデックスされたキャッシ
ュラインに当該書込みデータD(B)を追加する。キャ
ッシュメモリ装置30は書込みアクセスに対してはライ
トスルー制御を行うため、キャッシュミス/キャッシュ
ヒットの区別なくメインメモリなどの外部メモリに対す
る外部ライト動作を行う。したがってキャッシュコント
ローラ32はCPUから書込みアクセスが要求されると
内部バスアクセス信号112にて内部バスアクセスを要
求する。例えばアドレスBに対するライトアクセスを例
に採ると、キャッシュコントローラ32はサイクル3に
おいて内部バスアクセス信号112をハイレベルにして
内部バスアクセスをバスコントローラ71に要求する。
バスコントローラ71はその要求を受けてアドレスBに
対するデータD(B)の書込みを行う。斯る外部書込み
においてCPU10は書込み完了の結果を必要としない
ため、換言すれば、データ書き込みの完了を待つ必要が
ないため、キャッシュコントローラ32は当該書込みに
関してキャッシュバスレディ信号103をローレベルに
ネゲートしない。
【0050】ペリフェラルバスPBに接続される周辺モ
ジュールであるシリアルインタフェース80、タイマ8
1、ウォッチドッグタイマ82にアクセスする場合、キ
ャッシュアドレスバス100からキャッシュメモリ装置
30を経て内部アドレスバス110に出力されるアドレ
スが、これら周辺モジュールのアドレスとされる。この
アドレスはペリフェラルバスインタフェース60を介し
てペリフェラルアドレスバス130に出力されると同時
にペリフェラルアクセス信号132がハイレベルとされ
る。周辺モジュールからペリフェラルデータバス131
への読出しデータの出力またはペリフェラルデータバス
131上の値が周辺モジュールへ書き込み完了されるの
を待って外部バスインタフェース70が内部バスレディ
信号113をハイレベルとしアクセス完了を知らせる。
データ読み出しサイクルの場合には、ペリフェラルバス
インタフェース60がペリフェラルデータバス131上
の読み出しデータを内部データバス111に出力する。
【0051】《デバッグモードにおけるトレースサポー
ト機能選択時のキャッシュリードヒットとライトアクセ
ス》 図7にはデバッグモードにおいてトレースサポー
ト機能が選択された場合におけるキャッシュリードヒッ
トとライトアクセスの一例タイミングチャートが示され
る。この動作モードにおいて、キャッシュメモリ装置3
0はアドレスAに対するアクセスのようにキャッシュヒ
ットの場合にキャッシュアドレスバス100のアドレス
Aを内部アドレスバス110に出力し、キャッシュトレ
ース信号114をハイレベルにする。このときCPU1
0にはキャッシュレディ信号103をハイレベルとし、
アドレスに続いて次のサイクルではキャッシュメモリ3
1から読み出したデータD(A)を内部データバス11
1に出力する。同時に内部アドレスバス110には次の
ライトアクセスのためのアドレスBが出力される。ライ
トアクセスにおいてはキャッシュトレース信号114は
ローレベルとされ、内部バスアクセス信号112がハイ
レベルにされる。トレース対象データとされるアドレス
AとデータD(A)とは並列的に外部アドレスバス12
0に出力され、これに同期してトレーススタート信号
(TS信号)123がハイレベルにされる。サイクル3
ではトレースデータA,D(A)の出力がまだ完了して
いないためアドレスBに対するライトを開始することが
できず次のサイクル4においては内部バスレディ信号1
13がローレベルにされる。内部バスレディ信号113
がローレベルの場合、キャッシュメモリ装置30から出
力される内部アドレスバス110、内部データバス11
1、内部バスアクセス信号112、及びキャッシュトレ
ース信号114の夫々の値は前のサイクルのまま維持さ
れる。サイクル4の途中からはアドレスBに対するライ
ト動作が開始され、次のサイクル5では内部バスレディ
信号113およびキャッシュバスレディ信号103がハ
イレベルとされる。トレーススタート信号123は通常
のライトサイクルであるアドレスBに対するアクセスで
も、また、キャッシュミスの場合にもデータの出力に同
期してアクティブレベルにされる。この場合のアクティ
ブレベルのタイミングは図5に基づいて説明したように
当該アクセスの最終サイクルとされる。
【0052】《キャッシュコントローラにおける状態遷
移制御》 図13にはキャッシュコントローラ32の別
の制御論理が示され、それは状態遷移制御によって上記
各種制御信号を生成するための論理構成とされる。この
論理回路は、第1の組合せ回路321、ラッチ322、
第2の組合せ回路323、及びラッチ324から成るル
ープを主体に、ラッチ325,326及びアンドゲート
329を備えて構成される。同図において371,38
1,391はスリーステートバッファ37,38,39
の制御信号であり、例えばハイレベルは対応するバッフ
ァを出力可能とし、ローレベルは対応するバッファを高
出力インピーダンス状態に制御する。図13において3
27はラッチ324から第1の組合せ回路321に帰還
される複数ビットの第1の状態信号、328はラッチ3
22から第2の組合せ回路323に供給される複数ビッ
トの第2の状態信号である。
【0053】図14には第1の組合せ回路321におけ
る真理値表が示され、図15には第2の組合せ回路32
3における真理値表が示される。状態信号327で表現
すべき状態は8状態とされ、それ故に当該信号327は
3ビットとされ、状態信号328で表現すべき状態は1
9状態とされ、それ故に当該信号328は5ビットとさ
れる。夫々の状態を表す記号は以下に示す意味を持つ。
真理値表中の入力信号における記号*は任意値(don't
care)を意味する。図16は上記真理値表の状態信号3
27,328で示される状態の遷移図である。 IDLE;空きサイクル RCR;キャッシュリード(ヒットの場合同時にトレー
ス情報出力) RCB;キャッシュリード WR,WB;ライトキャッシュチェック WW;ライト内部バス待ち WE;ライト内部バス完了 RHIT,RHITB;トレース情報出力待ち RHITR;トレース情報出力完了 RF;キャッシュミス第1アドレス出力 RF1;キャッシュミス第1データ待ち RF2;キャッシュミス第2データ待ち RF3;キャッシュミス第3データ待ち RF4;キャッシュミス第4データ待ち
【0054】《バスコントローラにおける状態遷移制
御》 図17にはバスコントローラ71の別の制御論理
が示され、それは状態遷移制御によって上記各種制御信
号を生成するための論理構成とされる。この論理回路
は、第1の組合せ回路732、ラッチ733、第2の組
合せ回路734、及びラッチ735から成るループを主
体に、ラッチ730,731及びRSフリップフロップ
741を備えて構成される。同図において751,75
2,771,791はスリーステートバッファ75,7
01,77,79の制御信号であり、例えばハイレベル
は対応するバッファを出力可能とし、ローレベルは対応
するバッファを高出力インピーダンス状態に制御する。
738はラッチ735から第1の組合せ回路732に帰
還される複数ビットの第1の状態信号、739はラッチ
733から第2の組合せ回路734に供給される複数ビ
ットの第2の状態信号である。
【0055】図18には第2の組合せ回路734におけ
る真理値表が示され、図19及び図20には第1の組合
せ回路732における真理値表が示される。状態信号7
38で表現すべき状態は11状態とされ、状態信号73
9で表現すべき状態は14状態とされ、それぞれの信号
734,732は4ビットとされる。夫々の状態を表す
記号は以下に示す意味を持つ。 IDLE;空きサイクル R1;外部リード第1サイクル R2;外部リード第2サイクル W1;外部ライト第1サイクル W2;外部ライト第2サイクル T1;トレース情報出力タイミング合わせ T2;トレース情報出力 IR1;内蔵周辺リードタイミング合わせ IR2;内蔵周辺リード情報出力 IW1;内蔵周辺ライトタイミング合わせ IW2;内蔵周辺ライト情報出力 図19及び図20において記号’が付された信号はそれ
が付されていない信号をラッチ730,731によって
遅延させた信号である。図21は上記真理値表の状態信
号738で示される状態の遷移図である。真理値表中の
入力信号における記号*は任意値(don't care)を意味
する。図18及び図19において状態信号738で表さ
れる状態IDLE,R1,R2,W1,W2以外がトレ
ースサポート機能に対応される状態である。
【0056】《トレース回路》 図8には上記実施例の
マイクロコンピュータ1から出力されるトレーススター
ト信号123(TS)を用いてトレース取得するための
トレース回路の一実施例が示される。同図において7は
エミュレータの一部を構成するものであり、3で示され
るユーザシステムはエミュレーション対象とされるター
ゲットシステムである。この構成においてマイクロコン
ピュータ1はデバッグモードが設定されて評価チップと
され、レジスタ90に論理値1のデータが書き込まれる
ことによって上記トレースサポート機能が選択される。
そしてこのマイクロコンピュータ1は、デバッグ対象と
されるユーザプログラム(ターゲットプログラム)を実
行してユーザシステム3を代行制御する。トレースメモ
リ4は上記代行制御途上においてアドレスバス120や
データバス121に現れる情報を貯えるためのトレース
メモリである。このトレースメモリ4に対する書込み制
御を行うためのタイミング発生手段として、例えばトレ
ース用ラッチ回路5とトレース制御回路6が設けられて
いる。
【0057】図8の実施例に従えば、トレース用ラッチ
回路5の複数のデータ入力端子Dはアドレスバス120
及びデータバス121に並列的に結合され、その複数の
出力端子Qはトレースメモリ4のデータ入力用端子I/
Oに結合される。トレースメモリ4のアクセスアドレス
発生手段については特に図示していないが、ローレベル
がアクティブレベルとされるチップ選択信号CSによる
チップ選択毎にアクセスアドレスを更新してトレースメ
モリ4に供給する図示しないアドレスカウンタが配置さ
れているものと理解されたい。上記トレース制御回路6
はトレーススタート信号123とクロック信号ASEC
LKとに基づいてチップ選択信号CSとトレース用ラッ
チ回路5のラッチパルスCKを生成する。クロック信号
ASECLKはマイクロコンピュータ1のクロックパル
スジェネレータ2から外部に出力されるクロック信号で
あり、マイクロコンピュータ1の内部動作用のクロック
信号CLKと同一周波数で例えば位相が概略1/4周期
遅延されたクロック信号とされる。ラッチパルスCK
は、例えばトレーススタート信号123とクロック信号
ASECLKの反転レベルとの論理積を採るアンドゲー
ト60によって形成される。ローレベルがアクティブレ
ベルとされるチップ選択信号CSは上記ラッチパルスC
Kを遅延回路61で遅延させ、これをインバータ62で
反転させて形成される。
【0058】図9には図8のトレース回路によるトレー
ス取得動作のタイミングチャートが示される。マイクロ
コンピュータ1から出力されるトレーススタート信号1
23はバスサイクル毎にアドレスバス120及びデータ
バス121の夫々においてアドレス及びデータが並列的
に確定されている所定のタイミングを以ってハイレベル
にされる。このハイレベルの期間はクロック信号CLK
の1サイクル期間であり、該クロック信号CLKよりも
位相が約1/4サイクル遅延されたクロック信号ASE
CLKのローレベル期間に当該トレーススタート信号1
23がアンドゲート60から出力されてラッチパルスC
Kとされるから、そのラッチパルスCKのハイレベルへ
の立上がり変化によってラッチ動作を行うトレース用ラ
ッチ回路5はアドレスバス120及びデータバス121
に現れる情報をバスサイクル単位でラッチすることがで
きる。そしてそのラッチパルスCKよりも僅かに遅延さ
れたタイミングを以ってチップ選択信号CSがチップ選
択レベルにされることによって、トレースメモリ4はマ
イクロコンピュータ1の外部バスサイクル単位でトレー
ス取得が可能にされる。
【0059】尚、図1に示されるブレークコントローラ
20はデバッグ機能を強化するために設けられており、
キャッシュバスCBや内部バスIBの状態がブレーク条
件に一致するかを監視し、一致する場合にはCPU10
にブレーク割込みを発生させる。CPU10はデバッグ
若しくはエミュレーション開始前にそのためのサービス
ルーチンを実行してCPU10にアドレスやデータなど
の各種所望のブレーク条件をあらかじめ設定し、ブレー
ク割込みによってデバッグのためのサービスルーチンを
実行可能にされる。したがって、キャッシュヒットに係
る情報や内蔵周辺モジュールとやり取りする情報に関し
てのブレークコントロールをマイクロコンピュータ1の
外部で行わなくても済むようになり、この点においても
デバッグやシステム評価を行い易くなる。尚、図示はし
ないが、デバッグモードを選択できる本実施例のマイク
ロコンピュータにあってはブレークコントローラ20は
デバッグモードにおいてその動作が可能にされる。
【0060】上記実施例によれば以下の作用効果があ
る。〔1〕デバッグモードにおいてトレースサポート機
能が選択されている場合、CPU10による内蔵キャッ
シュメモリ装置30のアクセスがキャッシュヒットの場
合にもキャッシュコントローラ32は当該キャッシュヒ
ットに係るアドレス及びデータなどのアクセス情報を外
部バスインタフェース70へ与え、外部バスインタフェ
ースコントローラ71は上記キャッシュヒットに係る上
記複数のアクセス情報の外部出力に同期して当該複数の
アクセス情報が並列的に確定するタイミングを通知する
トレーススタート信号123を外部に出力するから、マ
イクロコンピュータ1に内蔵されたキャッシュメモリ装
置30のキャッシュヒットに係るアクセス情報を外部で
トレース可能にでき、また、トレーススタート信号12
3によってそのトレースタイミングを外部で容易に認識
可能にできる。
【0061】〔2〕デバッグモードにおいてトレースサ
ポート機能が選択されている場合、バスコントローラ7
1は、ペリフェラルバスPBに結合されている周辺モジ
ュールに対するアクセス情報に対しても外部出力を可能
にすると共に、それらアクセス情報の外部出力に同期し
て当該複数のアクセス情報が並列的に確定するタイミン
グをバスサイクル単位で通知するトレーススタート信号
123を外部に出力するから、マイクロコンピュータ1
に内蔵された周辺モジュールに対するアクセス情報を外
部でトレース可能にでき、且つ、トレーススタート信号
123によってそのトレースタイミングを外部で容易に
認識可能にできる。
【0062】〔3〕デバッグモードにおいてトレースサ
ポート機能が選択されている場合、バスコントローラ7
1は、上記〔1〕及び〔2〕以外においても、内部バス
IBを経由する外部リード動作と外部ライト動作に係る
データ及びアドレスなどのアクセス情報が外部バスで並
列的に確定するタイミングをバスサイクル単位で通知す
るトレーススタート信号123を外部に出力するから、
外部でトレースすべき全ての情報のトレースタイミング
を一種類のトレーススタート信号123にて容易に認識
可能にできる。これにより、マイクロコンピュータの高
機能化によってもトレース取得を容易化でき、良好なデ
バッグ環境の提供を保証できる。
【0063】〔4〕上記により、キャッシュメモリ装置
に格納された命令を実行し、或はキャッシュメモリ装置
のデータを利用してデータ処理を行うプログラムをトレ
ース取得するために、キャッシュの利用を無効にした
り、キャッシュに取り込まれた内容を逐次無効にしなが
らプログラムを実行させることを一切要せず、デバッグ
若しくはシステム評価の効率を向上させることができ
る。
【0064】〔5〕デバッグモードは選択的に設定可能
であるから、本実施例のマイクロコンピュータはデバッ
グや評価のための評価チップと実チップとに兼用でき
る。
【0065】〔6〕本実施例のマイクロコンピュータ1
を利用するトレース回路において、トレースメモリ4に
対するトレース取得タイミングを形成するタイミング発
生手段は、トレース用ラッチ回路5やトレース制御回路
6に代表されるように、マイクロコンピュータ1から出
力されるトレーススタート信号123のような1種類の
ストローブ信号を参照して容易に形成でき、従来のよう
にバスアクセスの種別に応じて各種ストローブ信号など
を参照してトレースタイミングを生成する複雑な回路を
必要とせず、マイクロコンピュータのソフトウェアデバ
ッグ若しくは応用システムのシステムデバッグに伴うユ
ーザの負担を著しく軽減することができる。
【0066】以上本発明者によってなされた発明を実施
例に基づいて説明したが本発明はそれに限定されるもの
ではなく、その要旨を逸脱しない範囲において種々変更
可能であることはいうまでもない。例えば図3及び図5
で説明した論理は適宜変更することができる。同様に、
図8で説明したトレース制御回路6の論理構成も適宜変
更できる。また、専らトレースのために外部に出力する
情報は全てのアクセス情報であることに限定されず、ア
ドレス及びデータだけというように必要に応じて適宜選
択できる。
【0067】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野である実チッ
プと評価チップに兼用のマイクロコンピュータに適用し
た場合について説明したが、評価チップ専用のデータプ
ロセッサとして構成することもできる。本明細書におい
てデータプロセッサとは、マイクロプロセッサ、シング
ルチップマイクロコンピュータ、ディジタル信号処理プ
ロセッサなど、その名称に拘わりなく中央処理装置を備
えてデータ処理を行うデータ処理装置に広く適用でき
る。
【0068】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0069】すなわち、〔1〕データプロセッサに内蔵
されたキャッシュメモリ装置におけるキャッシュヒット
に係るアクセス情報を外部出力することができる。 〔2〕これによって、キャッシュアクセス時に実行速度
を落とさずにトレース取得することができる。 〔3〕キャッシュヒットに係る複数のアクセス情報のト
レースタイミングを第2の信号によって外部で容易に認
識可能にできる。 〔4〕キャッシュミス、書込みアクセス、内蔵周辺回路
アクセスに伴って外部バスインタフェースが入出力する
バスサイクル毎の各種アクセス情報のトレースタイミン
グについても単一の第2の信号によって外部で容易に認
識可能にできる。 〔5〕モード設定手段により、キャッシュヒットに係る
アクセス情報の外部出力や第2の信号の外部出力という
トレース取得容易化のための各種出力機能がシステムデ
バッグ若しくはプログラムデバッグに際して一時的に邪
魔になるような利用形態にも容易に対応でき、また、デ
ータプロセッサチップをエミュレーション用の評価チッ
プと実チップの双方の用途にモードを切り換えて利用可
能にできる。 〔6〕第2の信号を利用することにより、トレース取得
のためのタイミング発生回路の構成を簡単にすることが
できる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るマイクロコンピュータ
のブロック図である。
【図2】キャッシュメモリ装置の一例ブロック図であ
る。
【図3】キャッシュコントローラ32内部におけるキャ
ッシュバスレディ信号を生成する一例論理回路図であ
る。
【図4】外部バスインタフェースの一例ブロック図であ
る。
【図5】バスコントローラ内においてトレーススタート
信号を生成する一例論理回路図である。
【図6】通常モードにおけるキャッシュリードヒットと
ライトアクセスの一例タイミングチャートである。
【図7】デバッグモードにおけるトレースサポート機能
選択時のキャッシュリードヒットとライトアクセスの一
例タイミングチャートである。
【図8】マイクロコンピュータから出力されるトレース
スタート信号を用いてトレース取得するためのトレース
回路の一実施例ブロック図である。
【図9】トレース回路によるトレース取得動作の一例タ
イミングチャートである。
【図10】通常モードにおけるキャッシュリードミスに
おける一例アクセスタイミングチャートである。
【図11】本実施例のマイクロコンピュータにおけるパ
イプラインステージの一例説明図である。
【図12】パイプラインにおけるメモリアクセスステー
ジのアドレス転送とデータ転送の実現態様の説明図であ
る。
【図13】キャッシュコントローラにおける状態遷移制
御を利用した別の制御論理の一例構成図である。
【図14】図13の第1の組合せ回路における真理値を
示す説明図である。
【図15】図13の第2の組合せ回路における真理値を
示す説明図である。
【図16】図13における状態信号で示される状態の遷
移図である。
【図17】バスコントローラにおける状態遷移制御を利
用した別の制御論理の一例構成図である。
【図18】図17の第2の組合せ回路における真理値を
示す説明図である。
【図19】図17の第1の組合せ回路における真理値の
一部を示す説明図である。
【図20】図17の第1の組合せ回路における真理値の
残りを示す説明図である。
【図21】図17における状態信号で示される状態の遷
移図である。
【符号の説明】
1 マイクロコンピュータ CLK クロック信号 4 トレースメモリ 5 トレース用ラッチ回路 6 トレース制御回路 CK ラッチパルス CS チップ選択信号 10 CPU 20 ブレークコントローラ 30 キャッシュメモリ装置 31 キャッシュメモリ 32 キャッシュコントローラ 33〜36 レジスタ 37〜39 スリーステートバッファ 60 ペリフェラルバスインタフェース 70 外部バスインタフェース 71 バスコントローラ 73、74、76、78 レジスタ 75、701、77、79 スリーステートバッファ 80 シリアルインタフェース 81 タイマ 82 ウォッチドッグタイマ 90 レジスタ 91 ANDゲート CB キャッシュバス 100 キャッシュアドレスバス 101 キャッシュデータバス 102 キャッシュバスアクセス信号 103 キャッシュバスレディ信号 IB 内部バス 110 内部アドレスバス 111 内部データバス 112 内部バスアクセス信号 113 内部バスレディ信号 114 キャッシュトレース信号 PB ペリフェラルバス 130 ペリフェラルアドレスバス 131 ペリフェラルデータバス 132 ペリフェラルバスアクセス信号 120 外部アドレスバス 121 外部データバス 122 外部バスアクセス信号 123 トレーススタート信号 141 デバッグモード信号 142 トレースサポート機能選択指示信号 143 外部モード信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長谷川 淳 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 小山 英昭 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 杉原 昇 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 河崎 俊平 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、これに接続されたキャ
    ッシュメモリ装置と、キャッシュメモリ装置に接続され
    た外部バスインタフェースとを含んで1チップ化されて
    成るデータプロセッサにおいて、 上記キャッシュメモリ装置は、キャッシュヒットに係る
    複数のアクセス情報を外部に出力させる第1の信号を外
    部バスインタフェースに供給するキャッシュコントロー
    ラを備え、 上記外部バスインタフェースは、上記第1の信号によっ
    て指示されるキャッシュヒットに係る複数のアクセス情
    報の外部出力が並列的に確定するタイミングを通知する
    ための第2の信号を外部に出力するバスコントローラを
    備えて成るものであることを特徴とするデータプロセッ
    サ。
  2. 【請求項2】 上記バスコントローラはさらに、上記キ
    ャッシュヒットに係るアクセス情報の他にこれが入出力
    すべき複数のアクセス情報が外部で並列的に確定するタ
    イミングにおいてもそれを通知するために上記第2の信
    号を外部に出力するものであることを特徴とする請求項
    1記載のデータプロセッサ。
  3. 【請求項3】 上記キャッシュヒットに係る複数のアク
    セス情報の外部出力と内蔵回路モジュールをアクセス対
    象とするときの複数のアクセス情報の外部出力とを選択
    的に禁止させるための第3の信号を生成するモード設定
    手段を有して成るものであることを特徴とする請求項1
    又は2記載のデータプロセッサ。
  4. 【請求項4】 上記モード設定手段は、外部信号が第1
    の状態にされたときに中央処理装置によってアクセス可
    能な記憶手段に設定されるデータに応じて上記アクセス
    情報の外部出力を禁止するか否かが決定されるものであ
    ることを特徴とする3記載のデータプロセッサ。
  5. 【請求項5】 上記モード設定手段は、上記外部信号の
    第1の状態において外部バスインタフェースにデバッグ
    モードを設定しデータプロセッサをエミュレーション用
    の評価チップに適合させ、上記外部信号の第1の状態以
    外において外部バスインタフェースに通常モードを設定
    しデータプロセッサを実チップに適合させるものである
    ことを特徴とする請求項4記載のデータプロセッサ。
  6. 【請求項6】 中央処理装置と、中央処理装置にキャッ
    シュバスを介して接続されたキャッシュメモリ装置と、
    キャッシュメモリ装置に内部バスを介して接続された外
    部バスインタフェースとを含んで1チップ化されて成る
    データプロセッサにおいて、 上記中央処理装置はキャッシュバスを介するアクセス要
    求をキャッシュバスアクセス信号にてキャッシュメモリ
    装置に与え、キャッシュメモリ装置はそのアクセス要求
    に応答するリードデータの出力又はライトデータの取り
    込みをキャッシュバスレディー信号にて中央処理装置に
    与え、キャッシュメモリ装置は内部バスを介するアクセ
    ス要求を内部バスアクセス信号又は第1の信号にて外部
    バスインタフェースに与え、外部バスインタフェースは
    そのアクセス要求に応答するリードデータの出力又はラ
    イトデータの取り込みを内部バスレディー信号にてキャ
    ッシュメモリ装置に与えるものであって、 上記キャッシュメモリ装置は、上記キャッシュバスアク
    セス信号にて要求されるアクセスがキャッシュヒットで
    ある場合には第1の信号を外部バスインタフェースに与
    えて当該キャッシュヒットに係るアクセスアドレス及び
    データの外部出力を要求し、 上記外部バスインタフェースは、上記第1の信号によっ
    て指示されるキャッシュヒットに係るアクセスアドレス
    及びデータの外部出力が並列的に確定するタイミング
    と、上記内部バスアクセス信号にて指示されるその他の
    アクセス要求に係るアクセスアドレス及びデータの外部
    出力が並列的に確定するタイミングとをそれぞれ通知す
    るための双方に共通の第2の信号を外部に出力するもの
    であることを特徴とするデータプロセッサ。
  7. 【請求項7】 請求項1乃至6の何れか1項記載のデー
    タプロセッサと、このデータプロセッサの外部バスイン
    タフェースに結合される外部バスと、この外部バスに現
    れる情報を記憶するためのトレースメモリと、上記デー
    タプロセッサが出力する上記第2の信号に基づいて外部
    バス上のアクセス情報をそのバスサイクル単位で上記ト
    レースメモリに格納させるタイミング発生手段と、を備
    えて成るものであることを特徴とするトレース回路。
JP6259727A 1994-02-09 1994-09-30 データプロセッサ及びこれを用いたトレース回路 Pending JPH07271705A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP6259727A JPH07271705A (ja) 1994-02-09 1994-09-30 データプロセッサ及びこれを用いたトレース回路
TW084100845A TW305960B (ja) 1994-02-09 1995-01-28
KR1019950002035A KR950033860A (ko) 1994-02-09 1995-02-06 데이타 프로세서 및 이것을 사용한 트레이스회로
EP95101798A EP0667576A1 (en) 1994-02-09 1995-02-09 A data processor and a trace circuit using the data processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3649694 1994-02-09
JP6-36496 1994-02-09
JP6259727A JPH07271705A (ja) 1994-02-09 1994-09-30 データプロセッサ及びこれを用いたトレース回路

Publications (1)

Publication Number Publication Date
JPH07271705A true JPH07271705A (ja) 1995-10-20

Family

ID=26375556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6259727A Pending JPH07271705A (ja) 1994-02-09 1994-09-30 データプロセッサ及びこれを用いたトレース回路

Country Status (4)

Country Link
EP (1) EP0667576A1 (ja)
JP (1) JPH07271705A (ja)
KR (1) KR950033860A (ja)
TW (1) TW305960B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453410B1 (en) 1998-07-03 2002-09-17 Nec Corporation Computer system having a cache memory and a tracing function

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3934710B2 (ja) * 1996-09-13 2007-06-20 株式会社ルネサステクノロジ マイクロプロセッサ
GB2362729B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Memory access debug facility
GB2366006B (en) 1999-12-23 2004-06-30 St Microelectronics Sa A computer system with debug facility
GB2362730B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Computer register watch
GB2365546B (en) 1999-12-23 2004-02-18 St Microelectronics Sa A computer system with two debug watch modes
GB2362968B (en) 1999-12-23 2003-12-10 St Microelectronics Sa Computer system with debug facility
TWI384397B (zh) * 2007-04-18 2013-02-01 Mediatek Inc 資料位址追蹤方法及資料位址追蹤裝置、資料追蹤方法及資料追蹤裝置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0371418A3 (en) * 1988-11-30 1991-09-04 National Semiconductor Corporation Apparatus for and method of providing the program counter of a microprocessor external to the device
EP0453268B1 (en) * 1990-04-20 1997-10-22 Hitachi, Ltd. A microprocessor for inserting a bus cycle to output an internal information for an emulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453410B1 (en) 1998-07-03 2002-09-17 Nec Corporation Computer system having a cache memory and a tracing function

Also Published As

Publication number Publication date
KR950033860A (ko) 1995-12-26
EP0667576A1 (en) 1995-08-16
TW305960B (ja) 1997-05-21

Similar Documents

Publication Publication Date Title
JP3672634B2 (ja) データ処理装置
EP0283115B1 (en) Methods and apparatus for achieving an interface for a reduced instruction set computer system
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US5822779A (en) Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active
JPH06149545A (ja) Cpuと乗算器とを有する半導体集積回路
JP2002539527A (ja) プログラム可能な待ち状態を有するマイクロプロセシング装置
US6678838B1 (en) Method to track master contribution information in a write buffer
US5659760A (en) Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information
JPH07271705A (ja) データプロセッサ及びこれを用いたトレース回路
US6490638B1 (en) General purpose bus with programmable timing
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
US7120915B1 (en) Thread switch circuit design and signal encoding for vertical threading
JP2002304310A (ja) 半導体集積回路
US6594741B1 (en) Versatile write buffer for a microprocessor and method using same
US6006288A (en) Method and apparatus for adaptable burst chip select in a data processing system
US6438627B1 (en) Lower address line prediction and substitution
JP2001184212A (ja) トレース制御回路
JP3822885B2 (ja) 1チップデータプロセッサ
JP2000231550A (ja) マイクロプロセッサ
JP2002140284A (ja) マイクロコントローラ
US7054971B2 (en) Interface between a host and a slave device having a latency greater than the latency of the host
KR100457478B1 (ko) 메모리액세스방법및데이터처리시스템
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
KR100223096B1 (ko) 내부 메모리 맵 레지스터를 관측하는 방법 및 장치
JP4176920B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050315