JP2780555B2 - キャッシュ・メモリ内蔵型マイクロプロセッサ - Google Patents

キャッシュ・メモリ内蔵型マイクロプロセッサ

Info

Publication number
JP2780555B2
JP2780555B2 JP4013579A JP1357992A JP2780555B2 JP 2780555 B2 JP2780555 B2 JP 2780555B2 JP 4013579 A JP4013579 A JP 4013579A JP 1357992 A JP1357992 A JP 1357992A JP 2780555 B2 JP2780555 B2 JP 2780555B2
Authority
JP
Japan
Prior art keywords
address
cache
memory
microprocessor
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4013579A
Other languages
English (en)
Other versions
JPH05250257A (ja
Inventor
博昭 金子
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4013579A priority Critical patent/JP2780555B2/ja
Publication of JPH05250257A publication Critical patent/JPH05250257A/ja
Application granted granted Critical
Publication of JP2780555B2 publication Critical patent/JP2780555B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュ・メモリを
内蔵したマイクロプロセッサに関し、特にマルチプロセ
ッサ対応のパージ機能を採用したマイクロプロセッサの
デバッグ方式に関する。
【0002】
【従来の技術】キャッシュ・メモリを内蔵したマイクロ
プロセッサでは、外部メモリと内蔵キャッシュ・メモリ
(以下キャッシュという)の一致を常に保つこと(一貫
性:Coherency)が要求される。
【0003】通常キャッシュは、外部メモリ(主記憶
部)のコピーとして外部メモリの構成単位「ブロック」
(1ブロックは通常16バイトまたは4ワード程度)に
対応した大きさの情報を保持している。プログラムの実
行や、オペランド・データは、主記憶部にある情報を用
いる必要があるが、主記憶部の書換えが生じない限り主
記憶部の情報と対応するキャッシュの内容とは変化しな
い。このため主記憶部をアクセスする代りにキャッシュ
をアクセスすることで、低速なバス・サイクルを避ける
ことができる。プロセッサが主記憶部上の情報を必要に
なった場合、対応するブロックがキャッシュに存在する
ことを「ヒット」と呼び、逆にキャッシュに存在しない
ことを「ミスヒット」と呼ぶ。
【0004】ミスヒットが生じた場合は、主記憶部の内
容をキャッシュに取り込んでおき、次回の同一ブロック
のアクセスに備える。この動作は、「入替え」または
「リプレーズ」動作と呼ばれる。
【0005】一方、プロセッサが主記憶部に書込みを行
った時、対応するブロックが既に一時的に主記憶部と対
応するキャッシュに不一致が生ずる。このため一般にキ
ャッシュと主記憶部を同時に書換えを行うライト・スル
ー方式、あるいはキャッシュだけの書換えを行い主記憶
部は必要な時点で更新するライト・バック方式によっ
て、キャッシュと主記憶部の一貫性を保つことが行われ
る。いずれの場合にしてもメモリ書換えはプロセッサ自
身が行うため、キャッシュあるいは主記憶部の更新が必
要であることを簡単に知ることができる。
【0006】ところで複数のプロセッサが共有の主記憶
部を用いて処理を行うマルチプロセッサ・システムで
は、主記憶部の書換えは他のプロセッサから行われるこ
とがある。このため他のプロセッサから共有主記憶部の
内容が書き換えられた場合には、キャッシュに登録され
ているブロックの内容にかかわらず(書き換えられる主
記憶部のブロックがあるか/ないかに関係なしに)、キ
ャッシュの内容をすべての内容を無効化(パージ)して
しまうことが行われる。
【0007】プロセッサ自身が関知せずに行う主記憶部
の書換えは、マルチプロセッサ・システムの他に、ダイ
レクト・メモリ・アクセス(DMA)による入出力(I
/O)装置から主記憶部へのデータ転送を行う場合にも
生ずるが、他のプロセッサ類(バス・マスタ)によって
主記憶部の書換えが発生する度にキャッシュ全体のパー
ジを行うと、次のような問題が生じる。
【0008】(1)実際に書き換えられる主記憶部に対
応するブロックをキャッシュが持っておらず、既に登録
されている他のブロックのキャッシング効果が無くな
る。 (2)パージすべきブロック以外のブロックのすべてパ
ージされる。
【0009】(3)(1)または(2)で無効にされた
ブロックのリプレースを再度行わなくてはならない。
【0010】従って、本来主記憶部に対応するブロック
のみをパージすれば必要/十分であるので、ブロック単
位にキャッシュのパージを行う改良が行われている。
【0011】図5は、ブロック単位にキャッシュのパー
ジを行うことのできるマイクロプロセッサを用いた共有
メモリ型のマルチプロセッサ・システムの構成を示すブ
ロック図である。
【0012】図において、プロセッサ・ユニット10,
10aは、共通のアドレス・バスAB、データ・バスD
Bを介して、共通メモリ(CMEM)30をアクセスす
ることができる。それぞれのプロセッサ・ユニット1
0,10aはマイクロプロセッサ(CPU1,CPU
2)11,11aとアドレス・バスAn、データ・バス
Dnを介して、それぞれのローカル・メモリ(LM1,
LM2)12,12aをアクセスする。
【0013】マイクロプロセッサ11,11aのメモリ
・アクセスがローカル・メモリ12,12aの配置され
る範囲を越えた場合、アクセスは共有メモリ30に対し
て行われる。モニタリング・アドレス・バスMAnは、
共有メモリ30に対して行われるライト・アクセスの発
生、ならびにそのアドレスをマイクロプロセッサ11,
11aに伝達するためのものである。モニタリング・ア
ドレスMAnで通知されたアドレスを含むブロックがマ
イクロプロセッサ11,11aキャッシュに登録されて
いることが検知されると、そのブロックだけがパージさ
れる。
【0014】図6は、図5のマイクロプロセッサ11,
11aのキャッシュ、アドレス端子まわりの構成を示す
ブロック図である。キャッシュ・ユニット(CHE)4
1へは、アドレス制御ユニット(ACU)42で生成さ
れる主記憶部に対するアドレスRA31−RA32が供
給され、ヒットすれば対応するブロックの内容がDOか
らマルチプレクサ(MPX)56を介して、16バイト
のデータが命令コードあるいはオペランドとしてプロセ
ッサ内部に供給される。
【0015】キャッシュ・ユニット41でミスヒットが
検出されると、ミスヒット信号MISSがアクティブと
なり、バス制御ユニット(BCU)43に通知される。
バス制御ユニット43はバス・サイクルの起動を行い、
キャッシュ・ユニット41へ送られた主記憶部に対する
アドレスを保持しているアドレス・レジスタ(ARE
G)51を介して、アドレス端子A31−A2から主記
憶部に対するアドレスが出力される。
【0016】バス・サイクルの終了時に主記憶部から読
み出されるデータは、データ端子D31−D0から内部
データ・バスDBを経由して、オペランド・レジスタ
(OREG)55へ転送される。このオペランド・レジ
スタ55に適切な量だけのデータが蓄積されると、マル
チプレクサ56を介してプロセッサ内部へ命令コードあ
るいはオペランドとして供給される。オペランド・レジ
スタ55への転送と同時に、キャッシュ・ユニット41
に対して登録が行われる。
【0017】図7は、図6のキャッシュ・ユニット41
の詳細な構成を示すブロック図であり、中心となるキャ
ッシュ・メモリは、連想方式として2ウェイ・セット・
アソシアティブ方式を採用しているが、この図では1ウ
ェイ分だけが示されている。キャッシュ・メモリは、1
つのエントリあたりアドレス・タグ情報TAGnならび
にTAGnの有効性を示すバリット・ビットVを保持す
るタグ・メモリ部(TMEM)61、ならびに1ブロッ
ク分(16バイト)のデータDATAnを保持するデー
タ・メモリ部(DMEM)62で構成される。1つのウ
ェイに関して、32のエントリで構成され、全体で1K
バイトの容量を持つキャッシュが構成されている。
【0018】主記憶部に対するアドレスRA31−RA
2のうち、下位7ビット(RA8−RA2)は、アドレ
ス・デコーダ(RDEC)63によりデコードされ、タ
グ・メモリ部61の中で対応するエントリを選択する。
選択されたエントリの22ビット長のタグ情報TAGn
は、コンパレータ(CMPD)65によって、主記憶部
に対するアドレスRA31−RA2のうち、上位22ビ
ット(RA31−RA9)と比較が行われる。この比較
の結果、アドレスの上位が登録されておらず、しかも選
択されたバリッド・ビットが無効を示していれば、イン
バータ74、および2入力ANDゲート73により、ミ
スヒットがミスヒット信号MISSにより通知される。
【0019】アドレスの上位が登録されており、しかも
選択されたバリッド・ビットが有効(バリッド)を示し
ていれば、2入力ANDゲート72によりヒットが検知
され、ヒット信号HITが発生する。この時、タグ・メ
モリ部61と同様に主記憶部に対するアドレスRA31
−RA2のうち、下位7ビット(RA8−RA2)で選
択されるデータ・メモリ部62の16バイト・データ
が、トライ・ステート・バッファ75を介して出力D0
として出力される。
【0020】タグ・メモリ部61のタグ情報TAGnは
RA31−RA2の値を、データ・メモリ部62のデー
タDATAnはデータバスDBの値をそれぞれRA8−
RA2で選択されるエントリに書き込むことができる。
選択されたエントリのバリッド・ビットVは、この書込
みによってセットされる(エントリの有効を示す)。
【0021】一方、モニタリング・アドレスMA31−
MA2のうち下位7ビット(MA8−MA2)はアドレ
ス・デコーダ(MDEC)64に接続され、タグ・メモ
リ61、およびデータ・メモリ部62のエントリを選択
し、残りの上位22ビット(MA31−MA9)はコン
パレータ(CMPM)66に接続され、選択されたタグ
情報TAGnとの比較が行われる。
【0022】外部から入力されるモニタリング・アドレ
ス・ストローブ信号MASTBが、モニタリング・アド
レスMA31−MA2の有効なタイミングを示すと、タ
イミング発生回路(TGEN)67でタイミング信号を
成形され、2入力ANDゲート71によりクリア信号C
LRが発生する。クリア信号CLRは、選択されている
エントリのバリッド・ビットVをクリア(エントリの無
効を示す)1ブロック分のパージを行う。
【0023】以上、キャッシュに関する一貫性を解決す
る従来技術について述べたが、キャッシュを内蔵したマ
イクロプロセッサで問題とされる他の重要な要件に、外
部からの観測性が挙げられる。
【0024】マイクロプロセッサのプログラム開発時、
あるいはシステムにおける何等かの不具合が発見された
場合、デバッグの方法の一つとして、プログラムにおけ
る命令シーケンスをトレースすることが行われる。トレ
ースの目的には次のようなものがある。
【0025】(1)実際にどのような順序で命令が実行
されているかを知る (2)プログラムのどの付近で問題が発生するかを知る (3)プログラムを本来の実行状況と同一の環境で
(1),(2)を実現する このうち、(3)は本来のプログラムに対してデバッグ
用の命令シーケンスを加えたり、あるいはバス・サイク
ルを延長することで、プロセッサの動作タイミングが実
際のプログラム動作状況とデバッグ動作時で変ってしま
い、本来の動作が再現できないことを避けるために重要
である。
【0026】このため、マイクロプロセッサの外部端
子、特にアドレス、データ、ステータスの各端子を外部
で観測するのが普通である。ところがキャッシュを内蔵
したマイクロプロセッサ、例えば図6の内部構成を持つ
ものでは、アドレス制御ユニット42で生成された主記
憶部に対するアドレスRA31−RA2がバス・サイク
ルに同期してアドレス端子A31−A2に現われるの
は、キャッシュ・ユニット41でミスヒットが発生した
場合である。キャッシュ・ユニット41でヒットが続く
限り、アドレス制御ユニット42で生成されるアドレス
はアドレス端子A31−A2に現われない。
【0027】図8は、図に示す命令シーケンスがプロセ
ッサ内部で実行される時(アドレス制御ユニット42が
対応するアドレスを発生する時)、外部のアドレス端子
(図8ではアドレス・バスと表記)A31−A0に現わ
れるアドレスの配列を示す配置図である。
【0028】命令シーケンスに示すとおり、I00,I
01,I02,I03,I00,I01,I02,I0
3,I10,I11,I12,I21,I22の順序で
命令が実行される。この時、1回目のI00,I01,
I02,I03命令の実行の際にはこれらの命令はミス
ヒットを生じるため、リプレースのためにアドレス端子
A31−A0に対応するアドレスが現われる。2回目に
I00,I01,I02,I03命令を実行する際に
は、これらの命令は前回のミス・ヒットにより既にキャ
ッシュ・ユニット41に登録されているためヒットし、
アドレス端子A31−A0には対応するアドレスが現わ
れない。I10,I11,I12命令は、これらの命令
シーケンスを実行する以前にキャッシュ・ユニット41
にヒットするため、アドレス端子A31−A0には対応
するアドレスが現われない。I21,I22命令は、ミ
スヒットを生じるため、アドレス端子A31−A0には
対応するアドレスが現われる。
【0029】このようにアドレス端子A31−A0を観
測する限り、I00,I01,I02,I03(1回
目),I21,I22命令が実行されたように見えてし
まい、正しい命令シーケンスをトレースすることができ
ない。
【0030】図6のマイクロプロセッサでは、デバッグ
機能の一つとして主記憶部に対するアドレスが特定の値
であった時に、命令シーケンスを中断するトラップを発
生するアドレス・トラップ機能が実装されている。
【0031】アドレス端子A31−A2に出力される主
記憶部に対するアドレスは、コンパレータ(CMP)5
3によって、実行ユニット(EXU)44内のデータ・
バスMDBから、実行ユニット44の指定によって設定
される値を保持しているレジスタ(TREG)52の値
との比較が行われる(AMATCH信号を発生する)。
2つの値が一致した時、バス制御ユニット44によって
バス・サイクルが発行されたことをBCYST信号によ
って検知すると、トラップ検出回路(TDET)54が
実行ユニット44にトラップ要求信号ATRAPを発生
する。ATRAP信号を受けて、実行ユニット44は現
在の命令シーケンスの続行を中断し、トラップ処理を行
うようにプロセッサ全体を制御する。このように、特定
のアドレスに対するアクセスが行われた時に、トラップ
をかけることができる。しかしながら、アクセスがキャ
ッシュ・ユニット41にヒットする場合には、バス・サ
イクルが起動されないためアドレス・トラップ機能が使
用できないことになる。
【0032】
【発明が解決しようとする課題】上述した従来のキャッ
シュ・メモリを内蔵するマイクロプロセッサにおいて
は、ブロック単位のパージが可能なため、不要なブロッ
クのパージを避けることができ、内蔵キャッシュ・メモ
リのより有効な使用が可能であるが、モニタリングによ
るパージ実現のために、通常のアドレス端子Anと同等
数の端子MAnを必要とし、マイクロプロセッサ全体の
端子数増加を招くという欠点がある。
【0033】また、デバッグに関しては、キャッシュさ
れた命令あるいはオペランドに対して、トレースまたは
トラップがかけられないため、デバッグ段階ではキャッ
シュ動作を禁止することが行われるが、この際、実際動
作時のマイクロプロセッサの動作タイミングと異なるた
め本質的な解決にならないことがあるという問題もあ
る。
【0034】本発明の目的は、このような問題を解決
し、ブロック単位のパージにおいてアドレス入力に使用
する端子を用い、パージ以外の場合にヒット時のアクセ
スに関するアドレス情報を出力できるようにしたキャッ
シュ・メモリ内蔵型マイクロプロセッサを提供すること
にある。
【0035】
【課題を解決するための手段】本発明の構成は、パージ
対象となるブロック単位のアドレスを外部から指定する
機能を持つキャッシュ・メモリを内蔵したキャッシュメ
モリ内蔵型マイクロプロセッサにおいて、外部とマイク
ロプロセッサの間で前記アドレスを双方向的に接続する
アドレス接続手段と、前記外部からパージ動作の指定を
通知する通知手段と、キャッシュ・メモリへの連想アド
レスを前記アドレス接続手段へ出力するアドレス出力手
段とを備え、前記指定手段がパージ動作を指定していな
い場合に、前記出力手段を活性化し前記キャッシュ・メ
モリへの連想アドレスを前記接続手段から外部へ通知
し、前記指定手段がパージ動作を指定した場合に、前記
接続手段からパージ対象のアドレスを入力するようにし
たことを特徴とする。
【0036】
【実施例】図1は本発明の一実施例のキャッシュ・ユニ
ットの構成を示すブロック図である。本実施例では、図
7と同様に生成されたアドレスRA31−RA2に対し
て、1ブロックあたり4ワード(16バイト)のエント
リを32もつセットを2組有する2ウェイ・セット・ア
ソシアティブ方式を採用しており、ここでは説明を簡易
にするため1ウェイ分だけを示している。本実施例は、
タグ・メモリ61、データ・メモリ部62、アドレス・
デコーダ63,64、コンパレータ65,66、連想お
よびモニタリング(パージ)に関する構成、機能が従来
例と同等であり、さらに遅延回路81,トライステート
・バッファ82,およびタイミング発生回路83が付加
されている。
【0037】遅延回路81はキャッシュ・ユニットに連
想を要求された主記憶部に対するアドレスRA31−R
A2を、キャッシュ・ユニット41およびマイクロプロ
セッサ全体の内部動作クロック単位に遅延させる。トラ
イステート・バッファ82は遅延回路81の出力をモニ
タリング・アドレス端子MA31−MA2に選択的に接
続するバッファであり、MASTB端子がインアクティ
ブ、すなわちモニタリング・アドレス端子MA31−M
A2によるパージ動作が指定されない時に出力をドライ
ブする。モニタリング・アドレス・イネーブル端子MA
ENは、アクティブ状態がモニタリング・アドレス端子
MA31−MA2にキャッシュ・ユニットでヒットした
アドレスが出力されていることを示す。このモニタリン
グ・アドレス・イネーブル端子MEANの状態は、タイ
ミング発生回路(TGEN)83によって生成される。
タイミング発生回路83は、アドレスRA31−RA2
のストローブ・タイミング信号RASTB(図示せず)
をきっかけにヒット状態であることを示すパルス信号を
発生する。
【0038】図2は図1の動作タイミング図である。こ
こでCLK信号は、内部動作クロックである。アドレス
RA31−RA2がキャッシュ・ユニットに転送される
と、ストローブ信号RASTBが発生し連想動作が開始
される。この連想動作自体は従来例の場合と同等であ
る。
【0039】アドレスRA31−RA2の転送から1.
5クロック経過すると、タグ・メモリ部61のアクセス
ならびにコンパレータ65による比較動作が完了し、ヒ
ット状態が判定され、HIT信号が発生する。さらに、
0.5クロック経過すると、データ・メモリ部62のア
クセスが完了し、データ出力DOには、連想されたエン
トリのブロック単位のデータが出力される。
【0040】この時、モニタリング・アドレス・ストロ
ーブ信号MASTBがインアクティブのため、トライス
テート・バッファ82がドライブ状態となり、遅延回路
81によって2クロック遅延された主記憶部に対するア
ドレスRA31−RA2の値が、モニタリング・アドレ
ス端子MA31−MA2に出力される。また、同一のタ
イミングでヒット信号HITがアクティブであったた
め、タイミング発生器83はMAEN端子に1クロック
幅のパルスを発生する。
【0041】与えられたアドレスRA31−RA2に対
し、ミスヒットが発生する場合、アドレスRA31−R
A2の転送から1.5クロック経過すると、ミスヒット
状態が判定され、MISS信号は発生する。MASTB
端子がインアクティブのため、遅延回路81によって遅
延されたアドレスがモニタリング・アドレス端子MA3
1−MA2に出力されるが、この値はキャッシュ・ユニ
ットにヒットしたアドレスとしては無効な情報である。
この場合、ヒット信号HITが発生しないため、MEA
N端子にはパルスが発生しない。ただし、この場合はリ
プレースのためにアドレス端子A31−A2に主記憶へ
のアドレスが出力される。
【0042】ブロック単位のパージを行う場合、モニタ
リング・アドレス・ストローブ端子MASTBをアクテ
ィブにすることで、トライステート・バッファ82の出
力をハイ・インピーダンス(HI−Z)状態にし、モニ
タリング・アドレス端子MA31−MA2に外部からモ
ニタリング・アドレスを与えることで、パージ動作を実
現することができる。
【0043】図3は、本実施例を用いてアドレスをトレ
ースすることを実現するシステムのブロック図を示す。
簡略のため、主記憶装置は省略している。マイクロプロ
セッサ(CPU)40は本実施例を採用したマイクロプ
ロセッサである。アドレス・メモリ(AMEM)11は
マイクロプロセッサ40で実行するプログラムが参照す
る主記憶部のアドレス履歴を記憶するメモリで、アドレ
ス情報の記憶を順々に書き込んでいくFIFOあるいは
LIFO形式のメモリ構成を取る。マルチプレクサ13
は、アドレス・メモリ11に書き込むアドレス情報を選
択するもので、マイクロプロセッサ40がアドレス端子
A31−A2から出力する主記憶部へのアドレス、また
はモニタリング・アドレス端子MA31−MA2から出
力するキャッシュ・ユニットへのアドレスを選択する。
【0044】制御回路(CNT)14は、アドレス端子
A31−A2にバス・サイクルに同期して主記憶部に対
するアドレスが出力されたことのステータス情報(St
atus)からの検知、モニタリング・アドレス・イネ
ーブル端子MAENの状態によってモニタリング・アド
レス端子MA31−MA2にキャッシュ・ユニットにビ
ットしたアドレスが出力されたことの検知、マルチプレ
クサ13の切替え制御信号SELの発生、およびアドレ
ス・メモリ11への書込みパルス信号WRの発生を行
う。トライステート・バッファ15は、パージを行う場
合に外部からのモニタリング・アドレスをモニタリング
要求信号により、モニタリング・アドレス端子MA31
−MA2に加えるためのバッファである。
【0045】この応用例では、マイクロプロセッサ40
内のキャッシュがミスヒットした場合には、アドレス端
子A31−A2からヒットした場合にはモニタリング・
アドレス端子MA31−MA2からアドレス情報をアド
レス・メモリ11に書き残すことができるため、命令シ
ーケンスに応じたアドレス参照のすべてを記憶すること
ができる。アドレスの記憶後、アドレス・メモリ11の
内容をチェックすることで、正確な命令シーケンスを再
現することができる。
【0046】図4は本発明の別の実施例のブロック図で
ある。本実施例は、第一の実施例がモニタリング・アド
レス・ストローブ端子MASTBによるパージ要求があ
った時に、モニタリング・アドレス端子からヒットした
アドレスが出力されないために(パージすべきアドレ
ス)、トレースすべきアドレスの一部が欠落する可能性
があるのを避ける改良が加えられ、図1に対して衝突検
出器84,アドレスレジスタ85,状態フリップフロッ
プ86,トライステートバッファ87および2入力OR
ゲート88が付加されている。
【0047】衝突検出器(CDET)84は、パージの
要求とヒット状態が同時に発生したことを示す状態信号
NRDを発生し、アドレス・レジスタ(AR)85は、
その状態信号NRDが発生した時に、遅延回路84の出
力を保持するレジスタである。状態フリップフロップ
(FF)86は、状態信号NRDは発生した時にリセッ
トされ、異常事態を解除するクリア端子RESUMEが
アクティブになるとクリアされるフラグであり、その異
常状態は、異常状態を示す状態端子ERRによって外部
に通知される。その異常状態の解除が指定されると、ア
ドレス・レジスタ85に保持されたアドレス情報が、ト
タイステート・バッファ87によってモニタリング・ア
ドレス端子MA31−MA2に出力される。この時、遅
延回路84の出力トライステート・バッファ82によっ
てモニタリング・アドレス端子MA31−MA2に出力
され、衝突が起きないよう2入力ORゲート88がトラ
イステート・バッファ82の動作を抑制する。
【0048】本実施例では、外部のアドレス・トレース
系は、状態端子ERRを監視しつつトレースを行い、異
常状態が発生したことを検知した場合は、次のような手
順によってアドレスをトレースする。
【0049】(1)キャッシュの機能を抑制する外部端
子CBYP(図面では省略)をアクティブにし、一時的
にキャッシュ機能を停止させ、ヒット状態が発生しない
ようにする(リードされないアドレスがこれ以上発生し
ないようにする)。
【0050】(2)クリア端子RESUMEをアクティ
ブにし、アドレス・レジスタ85に保持されているアド
レスをトライステート・バッファ87を介してモニタリ
ング・アドレス・バスMA31−MA2に読み出す。同
時に状態FF86をクリアする(状態端子ERRがイン
アクティブになる)。
【0051】(3)キャッシュの機能を抑制する外部端
子CBYPをインアクティブにし、再びキャッシュ動作
を活性化する。
【0052】ここで一時的にキャッシュ動作が抑制され
るが、(2)の動作は数クロックの間で完了するので、
全体的な動作タイミングのずれはごくわずかである。
【0053】
【発明の効果】以上説明したように、本発明は、キャッ
シュのブロック単位のパージに用いる端子を、パージが
必要な時以外はキャッシュのヒットしたアドレスを出力
することに使用でき、そのためマイクロプロセッサ外部
でキャッシュのヒット/ミスヒットに関係なしにマイク
ロプロセッサがアクセスする主記憶部のアドレスがトレ
ースができ、その結果、正確な命令シーケンスがトレー
スでき、簡便でしかも効率的なプログラムのデバッグが
可能となるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図。
【図2】図1の動作を説明するタイミング図。
【図3】図1を応用したデバッグシステムのブロック
図。
【図4】本発明の第2の実施例を示すブロック図。
【図5】従来のマイクロプロセッサを用いたマルチプロ
セッサ・システムの一例のブロック図。
【図6】従来のキャッシュメモリを内蔵したマイクロプ
ロセッサのブロック図。
【図7】図6のキャッシュメモリの構成を示すブロック
図。
【図8】図6の命令シーケンスとアドレスの関係を示す
アドレス配列図。
【符号の説明】
10,20 プロセッサユニット 11,21,30 CPU(マイクロプロセッサ) 12,22 ローカルメモリ(LM) 20 共有メモリ(CMEM) 31 アドレスメモリ 32,56 マルチプレクサ(MPX) 33 制御回路 34,75,82,87 トライステート・バッファ 41 キャッシュ・ユニット 42 アクセス制御ユニット(ACU) 43 バス制御ユニット(BCU) 44 実行ユニット(EXU) 51,85 アドレスレジスタ(AREG) 52 トラップレジスタ(TREG) 53,65,66 コンパレータ(CMP) 54 トラップ検出回路(TDET) 55 オペランドレジスタ(OREG) 61 タグメモリ部(TMEM) 62 データメモリ部(DMEM) 63,64 デコーダ 67,83 タイミング発生回路(TGEN) 71〜73 2入力ANDゲート 74 インバータ 81 遅延回路 84 衝突検出器 86 状態フリップフロップ 88 2入力ORゲート

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 パージ対象となるブロック単位のアドレ
    スを外部から指定する機能を持つキャッシュ・メモリを
    内蔵したキャッシュメモリ内蔵型マイクロプロセッサに
    おいて、外部とマイクロプロセッサの間で前記アドレス
    を双方向的に接続するアドレス接続手段と、前記外部か
    らパージ動作の指定を通知する通知手段と、キャッシュ
    ・メモリへの連想アドレスを前記アドレス接続手段へ出
    力するアドレス出力手段とを備え、前記指定手段がパー
    ジ動作を指定していない場合に、前記出力手段を活性化
    し前記キャッシュ・メモリへの連想アドレスを前記接続
    手段から外部へ通知し、前記指定手段がパージ動作を指
    定した場合に、前記接続手段からパージ対象のアドレス
    を入力するようにしたことを特徴とするキャッシュ・メ
    モリ内蔵型マイクロプロセッサ。
JP4013579A 1992-01-29 1992-01-29 キャッシュ・メモリ内蔵型マイクロプロセッサ Expired - Fee Related JP2780555B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4013579A JP2780555B2 (ja) 1992-01-29 1992-01-29 キャッシュ・メモリ内蔵型マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4013579A JP2780555B2 (ja) 1992-01-29 1992-01-29 キャッシュ・メモリ内蔵型マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH05250257A JPH05250257A (ja) 1993-09-28
JP2780555B2 true JP2780555B2 (ja) 1998-07-30

Family

ID=11837084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4013579A Expired - Fee Related JP2780555B2 (ja) 1992-01-29 1992-01-29 キャッシュ・メモリ内蔵型マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2780555B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6943580B2 (en) * 2003-02-10 2005-09-13 Altera Corporation Fracturable lookup table and logic element

Also Published As

Publication number Publication date
JPH05250257A (ja) 1993-09-28

Similar Documents

Publication Publication Date Title
USRE49305E1 (en) Data processing system having cache memory debugging support and method therefor
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
JP4225851B2 (ja) データ処理装置用トレース要素生成システム
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
JP3272664B2 (ja) プロセッサインターフェイス回路
US7055003B2 (en) Data cache scrub mechanism for large L2/L3 data cache structures
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
US7447845B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality
JP3176129B2 (ja) マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法
US7447844B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule
US8688910B2 (en) Debug control for snoop operations in a multiprocessor system and method thereof
US8918591B2 (en) Data processing system having selective invalidation of snoop requests and method therefor
JP4434534B2 (ja) プロセッサ・システム
JP2004030527A (ja) 記憶制御装置、および記憶制御方法
JP2780555B2 (ja) キャッシュ・メモリ内蔵型マイクロプロセッサ
JP2780552B2 (ja) キャッシュ・メモリ内蔵型マイクロプロセッサ
JPS5927994B2 (ja) コンピユ−タシステム
JP3735373B2 (ja) マイクロコンピュータ
JPH05189318A (ja) 情報処理装置
JP3145479B2 (ja) マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置
Lindsay Cache memory for microprocessors
JPH113246A (ja) キャッシュメモリ内蔵型マイクロコンピュータ
JPH04319746A (ja) 情報処理装置
JPH0981458A (ja) データ処理システムにおけるキャッシュのアクセス方法
JPH03129440A (ja) マイクロ・プロセッサ用アクセス・モニタ装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980414

LAPS Cancellation because of no payment of annual fees