JPH0713864A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0713864A
JPH0713864A JP5154724A JP15472493A JPH0713864A JP H0713864 A JPH0713864 A JP H0713864A JP 5154724 A JP5154724 A JP 5154724A JP 15472493 A JP15472493 A JP 15472493A JP H0713864 A JPH0713864 A JP H0713864A
Authority
JP
Japan
Prior art keywords
data
bus
cache memory
cache
address
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
JP5154724A
Other languages
English (en)
Inventor
Yuichi Saito
祐一 斎藤
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 JP5154724A priority Critical patent/JPH0713864A/ja
Publication of JPH0713864A publication Critical patent/JPH0713864A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 今後ますます大容量化するであろうと考えら
れる内蔵キャッシュメモリをハードウェアを複雑化する
ことなく高速にテストし得るデータ処理装置の提供を目
的とする。 【構成】 システムバス120 を監視するバススヌープ処
理機構を備えたデータ処理装置であって、テストモード
時に外部から内蔵キャッシュメモリのテスト先アドレス
とテストデータとをバススヌープ処理機構を利用してバ
ススヌープ処理の際と同一の手順により行うことにより
高速に内蔵キャッシュメモリのテストを行うことを可能
としている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、大規模な内蔵キャッシ
ュメモリあるいはアドレス変換用のTLB(Translation Lo
okaside Buffer) を有するデータ処理装置に関するもの
であり、特にマルチプロセッサ対応のバススヌープ処理
機構を備えたデータ処理装置の内蔵キャッシュメモリの
テスト方式に関する。
【0002】
【従来の技術】近年の半導体製造技術の向上に伴い、1
チップのLSI 上に極めて多数の素子の集積が可能になっ
ている。この結果、従来の大型計算機で採られていた手
法をデータ処理装置としてのマイクロプロセッサの機能
として導入することが可能になってきている。
【0003】ところで、一般に計算機(データ処理装
置)の性能は外部の記憶装置に対するデータアクセスの
速度によって制限される場合が多い。この制限を打破す
る目的でキャッシュメモリが開発され、普及している。
即ち、大規模な外部記憶装置はアクセスに要する時間が
長いため、外部記憶装置の一部の領域を高速アクセス可
能なキャッシュメモリに転送して保持させておき、キャ
ッシュメモリとCPU との間でデータアクセスを行うこと
により処理時間の短縮を図る手法が普及している。
【0004】これは、データ処理装置で実行されるプロ
グラムは一般に局所性を有するため、即ちループ命令等
によりプログラムのある範囲が反復して使用される場合
が多いため、キャッシュメモリにプログラムのある範囲
を保持させておけばキャッシュメモリに対するアクセス
のみである程度の間はプログラムの実行が可能になるか
らである。このように、キャッシュメモリはデータ処理
装置の性能を向上させる上で重要な要素となっている。
【0005】また、外部記憶装置との間にキャッシュメ
モリを、データ処理装置のCPU(中央演算装置) に近い側
から一次,二次というように階層的に配置して性能を向
上させる手法も近年では多くのデータ処理装置で採用さ
れている。データ処理装置において、階層的にキャッシ
ュメモリを配置した場合、内蔵キャッシュメモリは一次
キャッシュメモリとなるため最も高速なアクセスタイム
が要求される。
【0006】なお、キャッシュメモリの性能を示す指標
としては、プログラムを実行した場合のミスレシオと、
ミスに伴うキャッシュメモリと外部記憶装置との間また
は一次キャッシュと二次キャッシュとの間のデータ更新
処理速度が用いられることが多い。
【0007】図15にJ.Hennessy, D.Patterson の”Comp
uter Architercture A Quantitative Approach”のpp.4
23に開示されているキャッシュメモリの容量及びブロッ
クサイズ (データを記憶する際の1単位) とミスレシオ
との関係を DEC社のコンピュータであるVAX で評価した
結果を示す。
【0008】ここではキャッシュメモリの容量としては
1Kバイトから 256Kバイトまでが評価されており、64
Kバイト程度までは比較的大きな比率でミスレシオはキ
ャッシュメモリの容量の増大に伴って減少している。一
方、ミスに伴うキャッシュメモリの更新処理は一般にバ
ースト転送などの手法が採られており、キャッシュメモ
リの1つのブロックの読み込みを通常のアクセスよりも
迅速に行う手法を採っている。なお、バースト転送と
は、1個のアドレスを指定することによりそのアドレス
に連続する複数のアドレスをアクセスしてメモリからデ
ータを転送する操作のことである。
【0009】上述のミスレシオを縮小するためにはキャ
ッシュメモリの容量の増加が最も有効な手法である。こ
のため、近年では内蔵キャッシュメモリの容量は半導体
製造における微細化技術の進歩に伴い大規模化してい
る。ところが、内蔵キャッシュメモリが大規模化した場
合にはそのテストにかかる負荷が大きくなる。更に、キ
ャッシュメモリは一般的なメモリとは異なり、 CPUから
アクセスされたアドレスを入力とし、そのアドレスに対
応する領域がキャッシュ内にあるか否かを検索し、なけ
ればアクセスされた領域を含む予め決められているサイ
ズの領域を外部メモリから取り込む。このため、通常の
アドレスを入力して1対1にデータを出力するようなメ
モリに比較してキャッシュメモリのテストは複雑にな
る。
【0010】このような事情から、今後ますます大容量
化するであろうと考えられるデータ処理装置の内蔵キャ
ッシュメモリをハードウェアを複雑化することなく高速
にテストする技術の開発が重要になる。
【0011】従来の内蔵キャッシュメモリを有するデー
タ処理装置において内蔵キャッシュメモリをテストする
には、予め設定されているテスト専用の命令あるいは通
常の転送命令を組合せることにより内蔵キャッシュメモ
リにデータを登録し、ヒットまたはミスさせてテストし
ていた。そのような内蔵キャッシュメモリを有するデー
タ処理装置としてのマイクロプロセッサの例として、米
国モトローラ社製の32ビットマイクロプロセッサMC6803
0 が挙げられる。この MC68030はそれぞれ 256バイトの
命令キャッシュとデータキャッシュとを備えており、そ
れらのテストはMOVES(MOVES SPACE)命令で即値データあ
るいは絶対アドレッシングを指定することによって行わ
れることが”TESTING THE MC68030 CACHES” (1987年、
ITC(International Test Conference)論文34.3、pp.826
-8339)に開示されている。
【0012】また、他の従来例として、図12に米国イン
テル社の32ビットマイクロプロセッサintel486 DX に内
蔵されているキャッシュのテストに使用される専用のレ
ジスタの構成を示す(Intel486 DX Microprocessor Data
Book pp.127-134) 。
【0013】intel486 DX はキャッシュテスト用にTR3,
TR4, TR5 の3本の専用レジスタを備えている。レジス
タTR3 及びTR4 はそれぞれキャッシュデータテストレジ
スタ及びキャッシュステータステストレジスタであり、
キャッシュのデータ部及びタグ部それぞれに書き込まれ
るデータを蓄え、またキャッシュのデータ部及びタグ部
それぞれから読み出したデータを蓄えるレジスタであ
る。また、レジスタTR5はキャッシュコントロールテス
トレジスタであり、キャッシュのいずれのセット及びエ
ントリにデータを書き込むかまたはいずれのセット及び
エントリからデータを読み出すかを指定するレジスタで
ある。
【0014】図13は、図12に示されているキャッシュコ
ントロールテストレジスタTR5 のビット0及びビット1
であるキャッシュ制御ビットの内容を示す表である。キ
ャッシュ制御ビットに図13に示すキャッシュ書き込み又
はキャッシュ読み出しを指定する値を書き込むと、その
値に応じてレジスタTR3, TR4のレジスタ内のデータがキ
ャッシュに書き込まれたり、あるいはキャッシュ内のデ
ータがレジスタTR3, TR4に読み出されたりする。
【0015】図14はintel486 DX がキャッシュライト
(書き込み)を実行する場合のシーケンスを示すプログ
ラムの模式図である。図14において、eax, ebx, ecx, e
dxはいずれも汎用レジスタを示しており、これらにはデ
ータが書き込まれるキャッシュのラインに関する情報
が、 ediにはロードされるタグ情報がそれぞれ格納され
ている。なお、図14においてtr3, tr4, tr5 はそれぞれ
上述の専用レジスタTR3, TR4,TR5 のことである。
【0016】intel486 DX においては、複数回に亙って
キャッシュのロードバッファにデータを登録し、その後
キャッシュへの書き込みを指定する情報をレジスタTR5
に書き込むことにより、キャッシュへの外部からの書き
込みが実行される。更に、キャッシュの書き込みテスト
を実行するには、制御レジスタのキャッシュ使用不可を
指定するビットをセットしておく必要もある。
【0017】このように、従来のキャッシュ内蔵マイク
ロプロセッサはキャッシュメモリをテストするために専
用の命令を予め設定したり、又は既存の命令を組合せる
ことによりキャッシュのテストに必要とされるデータを
書き込んだりあるいは読み出したりしている。しかし、
このような手法では大容量のキャッシュメモリをテスト
する場合にはテストのための非常に長大な命令列が必要
となり、またテスト時間も非常に長くなるという問題が
ある。
【0018】更に、キャッシュメモリのテストのための
他の提案としては、特開平1-311344号公報に開示されて
いる発明がある。
【0019】この特開平1-311344号の発明では、キャッ
シュシステムの通常はアドレスバスが接続されていない
タグメモリにアドレスバスを接続し、このタグメモリの
内容をアドレス指定により書き込み/読み出し可能にす
ることによりキャッシュメモリのテストを行うようにし
ている。
【0020】しかし、キャッシュメモリがプロセッサに
内蔵されている場合には、アドレス指定によりタグメモ
リの内容を読み出すには命令コードを予めプログラムし
ておく必要があり、またパイプライン処理を行うプロセ
ッサ(近年ではほとんどのプロセッサがパイプライン処
理を採用している)ではタイミングの管理が難しくなる
等の問題がある。
【0021】
【発明が解決しようとする課題】上述のように、従来の
キャッシュ内蔵マイクロプロセッサは、大容量のキャッ
シュメモリをテストする場合にはテストのための非常に
長大な命令列が必要となり、またテスト時間も非常に長
くなるという問題がある。
【0022】また、上述の特開平1-311344号公報に開示
されている発明では、キャッシュメモリがプロセッサに
内蔵されている場合には、アドレス指定によりタグメモ
リの内容を読み出すには命令コードを予めプログラムし
ておく必要があり、またパイプライン処理を行うプロセ
ッサ(近年ではほとんどのプロセッサがパイプライン処
理を採用している)ではタイミングの管理が難しくなる
等の問題がある。
【0023】本発明はこのような事情に鑑みてなされた
ものであり、今後ますます大容量化するであろうと考え
られるマイクロコンピュータ内蔵キャッシュメモリをハ
ードウェアを複雑化することなく高速にテストし得るキ
ャッシュメモリを備えたデータ処理装置の提供を目的と
する。
【0024】
【課題を解決するための手段】本発明に係るデータ処理
装置は、外部バスを監視するバススヌープ処理機構を有
するキャッシュメモリを備えたデータ処理装置であっ
て、テストモード時に外部から内蔵キャッシュメモリの
テスト先アドレスとテストデータとをバススヌープ処理
機構を利用してバススヌープ処理の際と同一の手順によ
り行うことにより高速に内蔵キャッシュメモリのテスト
を行うことを可能としている。
【0025】具体的には、第1の発明は、テスト用の動
作モードの1つが設定されている場合に、バススヌープ
処理機構によるバススヌープ処理実行に際して、データ
バス上のデータの一部または全部をキャッシュメモリに
書き込み、またキャッシュメモリに蓄えられているデー
タの全部または一部をデータバス上に読み出す手段を備
えている。
【0026】第2の発明は、動作モード設定手段により
テスト用の動作モードの1つが設定されている場合に、
バススヌープ処理機構によるバススヌープ処理実行に際
して、キャッシュメモリはアドレスバスからアドレス信
号を取り込むと共に、データバスから外部バス制御信号
を取り込み、外部バス制御信号の内容によりデータバス
上のデータをキャッシュメモリに書き込むかまたはキャ
ッシュメモリに蓄えられているデータの全部または一部
をデータバス上に読み出すかのいずれかを指定する。
【0027】第3の発明は、動作モード設定手段により
テスト用の動作モードの1つが設定されている場合に、
バススヌープ処理機構によるバススヌープ処理実行に際
して、アドレスバスからキャッシュメモリに取り込まれ
るアドレス信号の一部または全部により、データバス上
のデータをキャッシュメモリのいずれかのエントリに書
き込むかまたは読み込むか、タグ情報を記憶する部分に
書き込むかまたは読み込むか、連想情報を記憶する部分
に書き込むかまたは読み込むか、あるいはいずれかのウ
ェイに書き込むかまたは読み込むかを指定し、またはデ
ータバス上のデータを命令キャッシュメモリまたはデー
タキャッシュメモリに書き込むか、または内蔵命令キャ
ッシュメモリの一部の領域またはデータキャッシュメモ
リの一部の領域をデータバスに読み出すかを指定する。
【0028】
【作用】本発明のデータ処理装置では、通常は内蔵キャ
ッシュメモリのバススヌープ処理に際してはアドレスバ
スのみを監視してデータバスは使用しないが、内蔵キャ
ッシュメモリをテストする動作モード時においてはバス
スヌープ処理を行う際にデータバスからのデータをアド
レスバスから与えられるアドレス信号に従って書き込み
/読み出しが行われ、内蔵キャッシュメモリが高速にテ
ストされる。
【0029】
【実施例】以下、本発明のデータ処理装置の一実施例と
しての32ビットマイクロプロセッサについて説明する。
図4は本発明のデータ処理装置としてのマイクロプロセ
ッサを機能的に表した構成を示すブロック図である。
【0030】本発明のマイクロプロセッサの内部を機能
的に大きく分けると、命令デコード部40, オペランドア
ドレス計算部41, PC計算部42, 整数演算用マイクロROM
(IROM) 部43, 整数演算部45, 浮動小数点演算用マイク
ロROM(FROM) 部44, 浮動小数点演算部46, 命令フェッチ
部47, オペラドアドレス部48, バスインタフェイス部50
等で構成されている。なお詳細は省略するが、上述の各
部は種々のバスにて必要に応じて相互に接続されてい
る。
【0031】本発明のマイクロプロセッサはハーバード
アーキテクチャを採用しており、また仮想空間アクセス
をサポートしているため、命令用とデータ用とにそれぞ
れ独立したメモリ管理機構 (以下、 MMUと称す) を備え
ている。更に、命令用とデータ用とにそれぞれ8Kバイ
トの内蔵キャッシュメモリを有しており、これらのMMU
とキャッシュメモリとはそれぞれ命令フェッチ部47とオ
ペランドアクセス部48とに含まれている。
【0032】次に命令フェッチ部47及びオペランドアク
セス部48について更に説明する。図5のブロック図に命
令フェッチ部47内のブロック構成及びその周辺の接続関
係を示す。
【0033】命令フェッチ部47は、アドレス変換部63,
アドレス変換用の小規模のバッファである64エントリの
TLB 64, 8Kバイトの命令キャッシュ65, プリフェッチ
した命令を蓄えておく命令キュー66等で構成されてい
る。この命令フェッチ部47では、アドレス変換部63, TL
B 64, 命令キュー66等で MMUが構成されている。
【0034】なお、参照符号52はマイクロROM アクセス
ステージ(Rステージ) を、53は実行ステージ(Eステー
ジ) を、62は命令デコードステージ(Dステージ) 及びオ
ペランドアドレス計算ステージ(Aステージ) をそれぞれ
示している。但し、Rステージ52は整数演算用マイクロ
ROM(IROM) 部43及び浮動小数点演算用マイクロROM(FRO
M) 部44等をアクセスする部分を、Eステージ53は整数
演算部45及び浮動小数点演算部46等を、D及びAステー
ジ62は命令デコード部40及びオペランドアドレス計算部
41等をそれぞれ機能的に表したブロックであり、現実に
存在する構成ではない。
【0035】命令フェッチ要求は実行ステージ53と命令
デコードステージ62から、更に命令キュー66に空きがあ
る場合はそこからアドレス変換部63に送られる。本発明
のマイクロプロセッサは2段階のページングによるアド
レス変換を行う。論理アドレスのフォーマットを図6の
模式図に示す。
【0036】図6に示すように、論理アドレスは4個の
フィールドからなる。それらは、個別の半空間が共有半
空間であるか否かを示す1ビットの半空間指定子(S) 7
0, 9ビットのセクションインデックス(SX)71, 9ビッ
トのページインデックス(PX)72, 12ビットのページオフ
セット(Offset)73である。ページオフセット73は12ビッ
トであり、本アドレス変換方式におけるページサイズは
4Kバイトである。
【0037】図5において、アドレス変換部63はTLB 64
と命令キャッシュ65とに同時に論理アドレスのオフセッ
ト情報であるページオフセット(Offset)73を出力してTL
B 64と命令キャッシュ65とのセットを選択する。そし
て、TLB 64から読み出されたアドレスタグ情報と論理ア
ドレスの半空間指定子(S) 70, セクションインデックス
(SX)71, ページインデックス(PX)72とが比較される。
【0038】この比較の結果が一致していれば TLBヒッ
トとしてTLB 64の連想出力であるページフレームナンバ
ーが命令キャッシュ65のタグ比較部へ送られる。一方、
一致していなければ TLBミスとして外部記憶装置に対す
るアドレス変換テーブルのアクセスが行われる。TLBヒ
ットにより送られた連想出力であるページフレームナン
バーと命令キャッシュ65のタグ出力とが比較され、一致
すれば命令キャッシュヒットとして命令キャッシュ65の
連想出力が命令キュー66へ送られる。
【0039】次にオペランドアクセス部48について説明
する。図7のブロック図にオペランドアクセス部48内の
ブロック構成及びその周辺の接続関係を示す。オペラン
ドアクセス部48は、実行ステージ(Eステージ)53 からの
データの読み出し, 書き込みの要求と、アドレス計算部
からのオペランドのプリフェッチ及び間接のアドレッシ
ングにおける外部記憶装置への読み出しの要求とをそれ
ぞれ受ける。
【0040】オペランドアクセス部48は、プリフェッチ
したデータを蓄えておくためのSコードレジスタ60, 実
行ステージ53からのアクセス要求時にアドレスが格納さ
れるAAレジスタ59, 読み出し及び書き込みデータを格納
すると共にデータアライメントの機能を有するDDレジス
タ58, そして書き込み時にデータをバッファリング出来
るストアバッファ57等を備えている。このオペランドア
クセス部48では、アドレス変換部54, TLB 55, ストアバ
ッファ57等で MMUが構成されている。
【0041】なお、参照符号51はオペランドアドレス計
算ステージ(Aステージ) である。また、このオペランド
アクセス部48が、要求を受けてアドレス変換を行い、デ
ータキャッシュをアクセスする手法は前述の命令フェッ
チ部47と同様である。
【0042】図8は命令フェッチ部47及びオペランドア
クセス部48のキャッシュ及びその周辺の構成を示すブロ
ック図であり、両者に共通な構成である。
【0043】本実施例では命令キャッシュ及びデータキ
ャッシュは4ウェイセットアソシアティブ方式を採用し
ており、それぞれのブロックサイズは32バイトである。
従って、各ウェイは64エントリ構成であり、アドレスタ
グとして21ビットを格納する。そして、8Kバイトの連
想データ用のメモリ20, 21, 22, 23及び21× 128×4ビ
ットのアドレスタグ用のメモリ36, 37, 38, 39として高
抵抗負荷型SRAMが使用されており、ブロックの有効, 無
効を示すバリットVビット及び最後にいずれのウェイが
アクセスされたかを示す LRUビット32には完全CMOS型SR
AMが使用されている。
【0044】次に、この図8に示されているキャッシュ
において実行されるアドレス変換とキャッシュアクセス
に関する処理シーケンスを説明する。32ビットの論理ア
ドレス27の内のページオフセットである第21ビットから
第26ビットをアドレスデコーダ26でデコードすることに
より、キャッシュの64ビットのセット選択信号0〜63の
1つがアサートされる。
【0045】同時に、論理アドレス27の内の第0ビット
から第20ビットはメモリ管理機構(MMU)25 に送られ、MM
U 25内でTLB 64を参照して対応する論理アドレス (ペー
ジフレームナンバー) が発生される。MMU 25から出力さ
れた論理ページフレームナンバーとキャッシュの選択さ
れたセットの4つのアドレスタグ出力とは比較器28で比
較され、それらの一致(ヒット)情報の論理和をとるこ
とによりキャッシュヒット信号が生成される。そして、
アドレスタグの比較結果に応じてキャッシュ連想情報の
出力がマルチプレクサ31によりマルチプレスされて最終
的なデータが内部データバスに出力される。
【0046】一方、キャッシュミスした場合は、外部か
らミスした領域を含む1ブロック、即ち32バイトのデー
タが読み込まれてキャッシュに登録される。しかし、外
部データバス幅は8バイトであるのでデータはラインバ
ッファ24に順次蓄えられ、1ブロック分のデータが揃っ
た時点でキャッシュに登録される。
【0047】次に本発明のマイクロプロセッサのバスス
ヌープ処理について説明する。マルチプロセッサのよう
にそれぞれがキャッシュメモリを有するプロセッシング
ユニットが共有メモリ等のような共通のメモリ領域をア
クセスするシステムでは、あるプロセッサユニットが外
部の共通のメモリ領域にデータを書き込む場合、各プロ
セッシングユニットのキャッシュメモリにおける同一ア
ドレスのデータが不一致になる状態を回避するために、
その領域のコピーを蓄えている他のプロセッシングユニ
ットのキャッシュメモリのブロックを無効化する必要が
ある。
【0048】このような処理のためにそれぞれのキャッ
シュメモリは複数のプロセッシングユニットが接続され
ているアドレスバスを常時モニタしており、他のプロセ
ッシングユニットが外部の共有メモリに書き込み処理を
行ったことを検知した場合には対応するキャッシュ内の
ブロックを無効化する機能を備えている。
【0049】通常、複数のプロセッシングユニットが接
続されたシステムでは、必要に応じてあるプロセッシン
グユニットをバス使用不可状態にする必要がある。この
ような処理は一般にバスアクセス権の調停回路によって
行われる。バスアクセス権の調停回路は、複数のプロセ
ッシングユニットからそれぞれ発生されるバスアクセス
要求を入力し、それらの内で最も優先度の高いプロセッ
シングユニット以外に対してはホールド要求を出力す
る。そしてそのホールド要求を取り込んだそれぞれのプ
ロセッシングユニットからホールド受付信号が出力され
ると、最も優先度が高いプロセッシングユニットのみが
バスアクセスを開始する。
【0050】この場合、ホールド状態になっているプロ
セッシングユニットのアドレス信号及びバス制御信号は
ハイインピーダンス状態、即ち、入力状態になってバス
アクセス権を持つプロセッシングユニットがバスアクセ
スを終了するまでバスから切り離される。
【0051】このようにしてバスから切り離されたプロ
セッシングユニットは、バスアクセスを行っているプロ
セッシングユニットのアドレス信号及びバス制御信号を
モニターしており、共有メモリのある領域が書き換えら
れる場合にそのアドレスに対応するブロックのコピーが
自身のキャッシュにあるか否かをチェックする。
【0052】図9は本発明のマイクロプロセッサがシス
テムバス120 を介して複数接続されている場合のシステ
ム構成を示すブロック図である。
【0053】図9において、参照符号100, 101は本発明
のマイクロプロセッサを示しており、 133及び134 は本
発明のマイクロプロセッサ100 及び101 が内蔵するキャ
ッシュメモリ、即ち一次キャッシュである。また、参照
符号110, 111は二次キャッシュ(CCM) である。
【0054】本発明のマイクロプロセッサ100, 101…と
CCM 110, 111…とで構成されるプロセッシングユニット
130, 131…13n がシステムバス120 にN個接続されてお
り、バス調停回路122 により制御される。また、共有メ
モリである主記憶121 もシステムバス120 に接続されて
いる。
【0055】また、図11は図9に示されている個々のプ
ロセッシングユニット130, 131…13n の構成を示すブロ
ック図である。なお、図11においては図9のプロセッシ
ングユニット130 の構成が一例として示されているが、
他の各プロセッシングユニット131, 132…13n も全く同
一に構成されている。
【0056】本発明のマイクロプロセッサ100 は、二次
キャッシュであるキャッシュメモリ110 として、命令用
のアドレス変換機構 (以下、 MMUという) 及びキャッシ
ュメモリ110Iと、データ用のMMU 及びキャッシュメモリ
110Dとをそれぞれ独立して備える所謂ハーバードアーキ
テクチャを採用し、且つその他に一次キャッシュである
キャッシュメモリ133 を内蔵している。なお、ハーバー
ドアーキテクチャのマイクロプロセッサには、二次キャ
ッシュとして命令用とデータ用とに独立したキャッシュ
メモリを備える構成と、命令用とデータ用とに共通のキ
ャッシュメモリを備える構成とがあるが、本実施例のマ
イクロプロセッサ100 では図11に示されているように両
者を備えている。
【0057】マイクロプロセッサ100 は命令を処理する
過程において、全てのアクセスをまず自身の内蔵キャッ
シュメモリ (一次キャッシュ)133に対して行う。そし
て、この一次キャッシュ(133) がミスした場合には二次
キャッシュ (図11の110)がアクセスされる。この二次キ
ャッシュ110 とマイクロプロセッサ100 とで一つのプロ
セッシングユニット130 が構成されており、このプロセ
ッシングユニット130 と同一構成の複数のプロセッシン
グユニット131, 132…13n がシステムバス120 に接続さ
れることによりマルチプロセッサシステムが図9に示さ
れているように構成されている。
【0058】マイクロプロセッサ100 が二次キャッシュ
110 をアクセスするためのバスをPバス125 と称し、二
次キャッシュ110 が主記憶121 にアクセスするためのバ
スがMバス (システムバス)120である。Pバス125 はM
バス120 に比してアクセス時間が短いという特徴があ
る。これは、Mバス120 は複数のプロセッシングユニッ
ト130, 131…13n を相互に接続すると共に、たとえば図
示されれてはいないが、 I/O装置等も通常は接続されて
いるため、それらからのアクセス要求を調停しつつ時分
割使用されるためである。このため、主記憶121 のある
領域は複数のプロセッシングユニットあるいは I/O装置
に共有されている可能性がある。
【0059】たとえば、主記憶121 のある領域があるプ
ロセッシングユニットにより更新された場合 (データが
書き換えられた場合) 、他のプロセッシングユニットの
一次キャッシュまたは二次キャッシュにその領域のコピ
ーが格納されている場合はそれらを同様に更新するか、
または無効化する必要が生じる。このため、キャッシュ
メモリには、Mバス (システムバス)120に接続されてい
る他のプロセッシングユニットあるいは I/O装置等が主
記憶121 の内容を更新する場合には、そのアドレスを取
り込んで自身の内部に同一の領域のコピーがあるか否か
を検索する機構が備えられている。このような機構をバ
ススヌープ処理機構と称する。
【0060】このようなバススヌープ処理機構によりた
とえばマイクロプロセッサ100 内の内蔵キャッシュメモ
リ133 を検索した結果、一致する領域がある場合には通
常は内蔵キャッシュメモリ133 内のその領域が無効化さ
れる。本発明のマイクロプロセッサでは、このようなバ
ススヌープ処理機構を内蔵キャッシュメモリのテストに
利用してテストモード時にはバススヌープ機構により内
蔵キャッシュメモリにデータの書き込み, 読み出しが可
能なように構成している。
【0061】図9に示さているようなマルチプロセッサ
構成における本発明のマイクロプロセッサのバススヌー
プ処理について、図10のタイミングチャートを参照して
説明する。
【0062】たとえば、プロセッシングユニット130 が
バスアクセス権を獲得すると、バス調停回路122 から負
論理のホールド要求信号HREQ# が他のプロセッシングユ
ニット131, 132…13n に対してアサートされる。このホ
ールド要求信号HREQ# を入力した他の各プロセッシング
ユニット131, 132…13n ではそれぞれのCCM 111 等から
それぞれのマイクロプロセッサ101 等にホールド要求が
送られる。各マイクロプロセッサ101 等はホールド要求
を受け付けたことを示す信号HACK# を1クロック後にア
サートし、ホールド状態に遷移する。
【0063】このようにしてホールド状態に遷移した各
マイクロプロセッサ101 等は、データストローブ信号DS
# が他のプロセッシングユニット、即ちこの場合はバス
アクセス権を獲得しているプロセッシングユニット130
からアサートされると、その立ち下がりエッジで、即ち
「○」を付されているタイミングでアドレス信号A00:3
1, バスアクセス種別信号BATO:2, 読み込み・書き込み
信号R/W#をモニターする。
【0064】この結果、書き込みサイクルであれば、即
ち読み込み・書き込み信号R/W#がローレベルであれば、
アドレス信号A00:31に対応するCCM 111 等及びマイクロ
プロセッサ101 等の内蔵キャッシュメモリ134 等のブロ
ックが無効化される。
【0065】このように、共有メモリを用いたマルチプ
ロセッサではデータの一貫性 (コヒーレンシ) を保つ目
的でバススヌープ処理機構を備えている。また、性能向
上のために内蔵キャッシュメモリの容量も拡大する傾向
がある。
【0066】このような大容量のキャッシュメモリを内
蔵したマイクロプロセッサでは、内蔵キャッシュメモリ
をテストする手法が課題になってきている。そこで、本
発明のマイクロプロセッサでは、内蔵キャッシュメモリ
をテストする際に上述のような一般的なマイクロプロセ
ッサに備えられているバススヌープ処理機構を利用する
ことを特徴とする。
【0067】バススヌープ処理では通常、外部アドレス
が取り込まれ、キャッシュのタグ情報と比較され、一致
すればそのブロックの有効ビットがクリアされる。しか
し、本発明のマイクロプロセッサでは、テストモードで
バススヌープ処理を実行した場合、取り込んだ外部アド
レスに対応する内蔵キャッシュメモリのブロックを読み
出すかまたは書き込む処理を行うことが可能になるの
で、内蔵キャッシュメモリの高速テストを実現出来る。
【0068】そして、内蔵キャッシュメモリをテストす
る場合は、テスト対象の容量のメモリアドレスが指定で
きれば良いので、32ビットのアドレス信号のすべてを必
要とはしない。そこで、テストモードにおいてはアドレ
ス信号の一部をテスト処理の動作状態を指定する信号と
して用いる。本発明のマイクロプロセッサはリセット信
号と同時に外部ピンであるテストモードピンをアサート
することによってテストモードになる。
【0069】図1はテスト回路を含む本発明のマイクロ
プロセッサのオペランドアクセス部48の構成を示すブロ
ック図である。
【0070】本発明のマイクロプロセッサでは仮想記憶
をサポートしているため、命令処理を行った結果により
外部データをアクセスする場合には命令実行部からオペ
ランドアクセス部48には仮想アドレス1が入力される。
また、本発明のマイクロプロセッサのキャッシュは前述
の如くセットアソシアティブ方式であり、タグ情報とし
て物理アドレスを蓄えるため、読み出したタグ情報の比
較対象はアドレス変換された物理アドレス5である。ま
た、命令処理においてキャッシュミスし、外部メモリか
ら必要なデータが読み込まれる場合には入力レジスタ12
にデータが外部データバス3を通じて蓄えられ、キャッ
シュに登録すべきブロックが揃った時点でキャッシュタ
グ部8,キャッシュ連想情報部9に書き込まれる。
【0071】バススヌープ処理に際しては、外部のプロ
セッシングユニットが共有メモリを書き換えようとして
出力した物理アドレスが外部アドレスバス2から取り込
まれ、そのアドレスの一部でキャッシュのタグがキャッ
シュタグ部8からが読み出され、これと取り込まれた外
部アドレスとが比較器14で比較されて一致しているか否
かがチェックされる。本発明のマイクロプロセッサでは
このようにしてバススヌープ処理機構を実現している。
【0072】そして、本発明のマイクロプロセッサで
は、内蔵キャッシュメモリをテストするモードに遷移し
た状態でバススヌープ処理が行われると、外部アドレス
バス2から外部アドレスがデコード回路10へ取り込まれ
て調べられ、その内容によってその時点の外部データバ
ス3上のデータを指定されたキャッシュの領域に書き込
んだり、あるいは指定されたキャッシュの領域を外部デ
ータバス3へ出力したりすることができる機構を備えて
いる。
【0073】本発明のマイクロプロセッサは、リセット
時にテストモードをアサートすることにより内蔵キャッ
シュメモリをテストするモードに遷移するが、図2に本
発明のマイクロプロセッサがテストモードにおいてアド
レスから取り込むテストコードのフォーマットの模式図
を示す。
【0074】本発明のマイクロプロセッサでは、内蔵キ
ャッシュメモリとして命令用に8Kバイト、データ用に
8Kバイトのそれぞれ4ウェイセットアソシアティブ方
式のキャッシュを備えている。一方、外部データバス幅
は8Kバイトであるため、ウェイ毎に 256種類の領域を
指定する必要がある。また本発明のマイクロプロセッサ
は内蔵TLB についても同様にテストすることが可能であ
る。内蔵TLB の容量は命令用,データ用共に64エントリ
で4ウェイセットアソシアティブ方式である。そのた
め、 TLBアドレスとして4ビットを、キャッシュアドレ
スとして8ビットをそれぞれ設けてある。
【0075】以下、図2中の記号の説明をする。 ・T0:2 TLBテスト制御フィールドであり、TOはテス
ト対象が TLBのタグ部であるか連想部であるかの指定を
行い、T1:2はテスト対象が TLBのいずれのウェイである
かを指定する ・C0:2 キャッシュテスト制御フィールドであり、CO
はテスト対象がキャッシュのタグ部であるか連想部であ
るかの指定を行い(CO =1ならば連想部) 、C1:2はテス
ト対象がキャッシュのいずれのウェイであるかを指定す
る ・IT 命令TLB 書き込み指定ビット ・DT データTLB 書き込み指定ビット ・IC 命令キャッシュ書き込み指定ビット ・DC データキャッシュ書き込み指定ビット ・RS 読み出しソース指定ビット 00=命令TLB 01=命令キャッシュ 10=データTLB 11=データキャッシュ ・BE キャッシュブロック終了ビット
【0076】次にデータキャッシュの連想部への書き込
みテストとキャッシュ読み出しテストのシーケンスにつ
いて説明する。
【0077】まず、本発明のマイクロプロセッサを内部
の動作モードをテストモードに切り替える。そして、図
10を参照して前述した如く、外部からホールド要求信号
HREQ#をアサートすることにより、本発明のマイクロプ
ロセッサからホールド要求を受け付けたことを示す信号
HACK# がアサートされてホールド状態になるのを待つ。
そして、本発明のマイクロプロセッサがホールド状態に
なった後、アドレス信号A00:31とバスアクセスタイプ信
号BAT0:2とリード(読み出し)・ライト(書き込み)信
号R/W#とにより書き込み処理を外部バス上で行う。
【0078】図3にデータキャッシュの連想部への書き
込みテストのタイミングチャートを示す。本発明のマイ
クロプロセッサのキャッシュのブロックサイズは32バイ
トであるため、8バイト幅の外部データバス3を使用し
て4回のバスサイクルで1ブロック分32バイトのデータ
が取り込める。
【0079】キャッシュには、図3(c) に示されている
データストローブ信号DS# がアサートされる都度、テス
トコードのDCビットが”1”であれば毎回外部データバ
ス3上の値が入力レジスタ12のデコード回路10により指
定された8バイト領域に取り込まれて書き込まれる。通
常、バススヌープ処理時はキャッシュの連想情報は読み
出しも書き込みも行われず、またデータバスも使用しな
いが、テストモードではアドレスバス上のテストコード
の内容に従ってデータバスに出力が行われ、またはデー
タバスから入力が行われる。
【0080】キャッシュの連想部の書き込みテストでは
32バイトのブロックを最終的に書き込むため、4回目に
書き込みが行われた時点で有効な32バイトデータがキャ
ッシュのブロックに書き込まれることになる。
【0081】なお、キャッシュの連想部の読み出しテス
トシーケンスも書き込みテストシーケンスと同様であ
り、図3(f) に示されているキャッシュ書き込みストロ
ーブ信号と同じタイミングでキャッシュ読み出しストロ
ーブ信号をアサートすることにより実現される。この読
み出しテストシーケンスにおいては、バススヌープのタ
グ検索時に同時に連想情報も読み出され、タグの一致,
不一致には関係なくデコード回路10により解読されたテ
ストコードで指定されたウェイが指定されたブロックが
出力レジスタ13に読み出され、そのブロック内の指定さ
れた8バイトが内部データバス4上に出力される。
【0082】但し、キャッシュ書き込みテストにおいて
はキャッシュに書き込むべきデータが外部から外部デー
タバス3に入力されるが、キャッシュ読み出しテストに
おいてはキャッシュからデータが外部データバス3へ出
力されるので、外部バスをハイインピーダンス状態にす
る必要がある。
【0083】バススヌープにおける外部アドレスの監視
方法は、図10に示されているような、バス制御信号の変
化点で外部アドレスを取り込む手法の他にも、マイクロ
プロセッサのシステムクロックと同一のタイミングで外
部のアドレスを取り込むことを指定するバス制御信号を
使用する手法も可能であり、そのような場合でも図3に
示す内蔵キャッシュメモリのテスト手法が同様に可能で
ある。
【0084】また、本発明におけるテスト手法を用いれ
ば、本発明のマイクロプロセッサを通常モードで動作さ
せておき、ある時点でテストモードに切り替え、命令キ
ャッシュまたはデータキャッシュの内容を外部データバ
スに連続的に出力することができ、内蔵キャッシュメモ
リの動作試験の他にもシステムにおける命令実行結果の
デバックとしても利用することができる。そして同様
に、命令実行前に本発明のマイクロプロセッサをテスト
モードにして、内蔵キャッシュメモリに初期値を外部か
ら書き込み設定することができる。
【0085】
【発明の効果】以上に詳述したように本発明では、テス
トモード時にバススヌープ処理を利用して内蔵キャッシ
ュメモリにデータを書き込むかまたは内蔵キャッシュメ
モリからデータを読み出すことにより、少ないハードウ
ェアの付加により内蔵メモリのテスト回路を実現するこ
とができる。図1に示す本発明のデータ処理装置のオペ
ランドアクセス部においても、テスト機構のために付加
されている回路は主としてアドレスデコード回路のみで
ある。その他のブロックに関しては本来のキャッシュ制
御及びバススヌープ処理のための回路と同一である。
【0086】また、外部からの制御としても、特別なア
クセスではなく本発明のデータ処理装置をホールド状態
にして外部アドレスバス及び外部データバスに指定した
値でバスサイクルを起動するのみにてテストすることが
可能になるので、内蔵キャッシュメモリの複数のブロッ
クに対しても外部アドレス上のテストコードを連続的に
変えることにより、書き込み及び読み出しを高速且つ連
続的に行うことができる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置のオペランドアクセス
部の構成を示すブロック図である。
【図2】本発明のデータ処理装置がテストモードにおい
てアドレスから取り込むテストコードのフォーマットを
示す模式図である。
【図3】データキャッシュの連想部への書き込みテスト
のタイミングチャートを示す模式図である。
【図4】本発明のデータ処理装置の機能構成を示すブロ
ック図である。
【図5】本発明のデータ処理装置の命令フェッチ部の構
成及びその周辺の接続関係を示すブロック図である。
【図6】論理アドレスのフォーマットを示す模式図であ
る。
【図7】本発明のデータ処理装置のオペランドアクセス
部の構成及びその周辺の接続関係を示すブロック図であ
る。
【図8】本発明のデータ処理装置の命令フェッチ部及び
オペランドアクセス部のキャッシュ及びその周辺の構成
を示すブロック図である。
【図9】本発明のデータ処理装置がシステムバスを介し
て複数接続されている場合のシステム構成を示すブロッ
ク図である。
【図10】マルチプロセッサ構成における本発明のデー
タ処理装置のバススヌープ処理のタイミングチャートで
ある。
【図11】本発明のデータ処理装置を使用したプロセッ
シングユニットの構成を示すブロック図である。
【図12】従来のデータ処理装置における内蔵キャッシ
ュメモリテスト用の専用レジスタの制御ビットの機能を
示す模式図である。
【図13】従来のデータ処理装置のキャッシュ制御ビッ
トの内容を示す表である。
【図14】従来例のデータ処理装置がキャッシュライト
を実行する場合のシーケンスを示すプログラムの模式図
である。
【図15】従来のデータ処理装置においてキャッシュメ
モリの容量及びブロックサイズとミスレシオとの関係を
評価した結果を示すグラフである。
【符号の説明】
2 外部アドレスバス 3 外部データバス 4 内部データバス 8 キャッシュタグ部 9 キャッシュ連想情報部 100 マイクロプロセッサ 120 システムバス 121 主記憶
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年11月18日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項3
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】請求項4
【補正方法】変更
【補正内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正内容】
【0026】第2の発明は、動作モード設定手段により
テスト用の動作モードの1つが設定されている場合に、
バススヌープ処理機構によるバススヌープ処理実行に際
して、キャッシュメモリはアドレスバスからアドレス信
号を取り込むと共に、外部バス制御信号の指示に基づ
、外部バス制御信号の内容によりデータバス上のデー
タをキャッシュメモリに書き込むかまたはキャッシュメ
モリに蓄えられているデータの全部または一部をデータ
バス上に読み出すかのいずれかを指定する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】第3の発明は、動作モード設定手段により
テスト用の動作モードの1つが設定されている場合に、
バススヌープ処理機構によるバススヌープ処理実行に際
して、アドレスバスからキャッシュメモリに取り込まれ
るアドレス信号の一部または全部により、データバス上
のデータをキャッシュメモリのいずれかのエントリに書
き込むかまたは読み込むか、タグ情報を記憶する部分に
書き込むかまたは読み込むか、連想情報を記憶する部分
に書き込むかまたは読み込むか、あるいはいずれかのウ
ェイに書き込むかまたは読み込むかを指定し、またはデ
ータバス上のデータを命令キャッシュメモリまたはデー
タキャッシュメモリに書き込むか、または内蔵命令キャ
ッシュメモリの一部の領域またはデータキャッシュメモ
リの一部の領域をデータバスに読み出すか、即ちテスト
オペレーションを指定する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】命令フェッチ部47は、アドレス変換部63,
アドレス変換用の小規模のバッファである64エントリの
TLB 64, 8Kバイトの命令キャッシュ65, プリフェッチ
した命令を蓄えておく命令キュー66等で構成されてい
る。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正内容】
【0040】オペランドアクセス部48は、プリフェッチ
したデータを蓄えておくためのSコードレジスタ60, 実
行ステージ53からのアクセス要求時にアドレスが格納さ
れるAAレジスタ59, 読み出し及び書き込みデータを格納
すると共にデータアライメントの機能を有するDDレジス
タ58, そして書き込み時にデータをバッファリング出来
るストアバッファ57等を備えている。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0056
【補正方法】変更
【補正内容】
【0056】本発明のマイクロプロセッサ100 は、二次
キャッシュであるキャッシュメモリ110 として、命令用
のキャッシュメモリ110Iと、データ用のキャッシュメモ
リ110Dとをそれぞれ独立して備える所謂ハーバードアー
キテクチャを採用し、且つその他に一次キャッシュであ
るキャッシュメモリ133 を内蔵している。なお、ハーバ
ードアーキテクチャのマイクロプロセッサには、二次キ
ャッシュとして命令用とデータ用とに独立したキャッシ
ュメモリを備える構成と、命令用とデータ用とに共通の
キャッシュメモリを備える構成とがあるが、本実施例の
マイクロプロセッサ100 では図11に示されているように
両者を備えている。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 命令及びデータを格納する外部記憶装置
    と、 前記外部記憶装置に格納されている命令のアドレス及び
    データのアドレスを出力するアドレスバスと、 前記命令及びデータを転送するデータバスと、 前記外部記憶装置内の命令の領域またはデータの領域の
    一部を格納するキャッシュメモリと、 前記アドレスバス及びデータバスに接続されている他の
    データ処理装置が前記外部記憶装置にアクセスすること
    を監視する手段と、前記他のデータ処理装置が前記キャ
    ッシュメモリに蓄えられている領域の一部と同一の前記
    外部記憶装置の領域をアクセスする場合に前記キャッシ
    ュメモリの領域の一部を無効化する手段とを有するバス
    スヌープ処理機構と、 通常動作モードとは異なる少なくとも1種類以上のテス
    ト用の動作モードを設定するための動作モード設定手段
    とを備えたデータ処理装置において、 前記動作モード設定手段により前記テスト用の動作モー
    ドの1つが設定されている場合に、前記バススヌープ処
    理機構によるバススヌープ処理実行に際して、前記デー
    タバス上のデータの一部または全部を前記キャッシュメ
    モリに書き込み、また前記キャッシュメモリに蓄えられ
    ているデータの全部または一部を前記データバス上に読
    み出す手段を備えたことを特徴とするデータ処理装置。
  2. 【請求項2】 前記キャッシュメモリは少なくとも1種
    類以上のウェイからなるセットアソシアティブ方式で構
    成されており、 前記動作モード設定手段により前記テスト用の動作モー
    ドの1つが設定されている場合に、前記バススヌープ処
    理機構によるバススヌープ処理実行に際して、前記アド
    レスバスから前記キャッシュメモリに取り込まれるアド
    レス信号の一部または全部により、前記データバス上の
    データを前記キャッシュメモリのいずれかのエントリに
    書き込むかまたは読み込むか、タグ情報を記憶する部分
    に書き込むかまたは読み込むか、連想情報を記憶する部
    分に書き込むかまたは読み込むか、あるいはいずれかの
    ウェイに書き込むかまたは読み込むかを指定することを
    特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 命令及びデータを格納する外部記憶装置
    と、 前記外部記憶装置に格納されている命令のアドレス及び
    データのアドレスを出力するアドレスバスと、 実行するバスサイクルが書き込みサイクルであるか読み
    出しサイクルであるかを示すと共に、アクセスする記憶
    領域を示す外部バス制御信号と前記命令及びデータを転
    送するデータバスと、 前記外部記憶装置内の命令の領域またはデータの領域の
    一部を格納するキャッシュメモリと、 前記アドレスバス及びデータバスに接続されている他の
    データ処理装置が前記外部記憶装置にアクセスすること
    を監視する手段と、前記他のデータ処理装置が前記キャ
    ッシュメモリに蓄えられている領域の一部と同一の前記
    外部記憶装置の領域をアクセスする場合に前記キャッシ
    ュメモリの領域の一部を無効化する手段とを有するバス
    スヌープ処理手段と、 通常動作モードとは異なる少なくとも1種類以上のテス
    ト用の動作モードを設定するための動作モード設定手段
    とを備えたデータ処理装置において、 前記動作モード設定手段により前記テスト用の動作モー
    ドの1つが設定されている場合に、前記バススヌープ処
    理機構によるバススヌープ処理実行に際して、前記キャ
    ッシュメモリは前記アドレスバスからアドレス信号を取
    り込むと共に、前記データバスから前記外部バス制御信
    号を取り込み、前記外部バス制御信号の内容により前記
    データバス上のデータを前記キャッシュメモリに書き込
    むかまたは前記キャッシュメモリに蓄えられているデー
    タの全部または一部を前記データバス上に読み出すかの
    いずれかを指定することを特徴とするデータ処理装置。
  4. 【請求項4】 外部記憶装置に格納されている命令のア
    ドレス及びデータのアドレスを出力するアドレスバス
    と、 前記命令及びデータを入力または出力するデータバス
    と、 前記外部記憶装置内の命令の領域の一部を取り込んで使
    用する命令キャッシュメモリと、 前記外部記憶装置内のデータの領域の一部を取り込みん
    で使用するデータキャッシュメモリと、 他のデータ処理装置が前記外部記憶装置にアクセスする
    ことを監視する手段と、前記他のデータ処理装置が前記
    両キャッシュメモリに蓄えられている一部の領域と同じ
    前記外部記憶装置の領域をアクセスする場合には前記命
    令キャッシュメモリと前記データキャッシュメモリの領
    域とを無効化する手段とを有するバススヌープ処理手段
    と、 通常動作モードとは異なる少なくとも1種類以上のテス
    ト用の動作モードを設定するための動作モード設定手段
    とを備えたデータ処理装置において、 前記動作モード設定手段により前記テスト用の動作モー
    ドの1つが設定されている場合に、前記バススヌープ処
    理機構によるバススヌープ処理実行に際して、前記アド
    レスバスから前記キャッシュメモリに取り込まれるアド
    レス信号の一部または全部により、前記データバス上の
    データを前記キャッシュメモリのいずれかのエントリに
    書き込むかまたは読み込むか、タグ情報を記憶する部分
    に書き込むかまたは読み込むか、連想情報を記憶する部
    分に書き込むかまたは読み込むか、あるいは前記いずれ
    かのウェイに書き込むかまたは読み込むかを指定し、ま
    たは前記データバス上のデータを前記命令キャッシュメ
    モリまたは前記データキャッシュメモリに書き込むか、
    または前記内蔵命令キャッシュメモリの一部の領域また
    は前記データキャッシュメモリの一部の領域を前記デー
    タバスに読み出すかを指定することを特徴とするデータ
    処理装置。
JP5154724A 1993-06-25 1993-06-25 データ処理装置 Pending JPH0713864A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5154724A JPH0713864A (ja) 1993-06-25 1993-06-25 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5154724A JPH0713864A (ja) 1993-06-25 1993-06-25 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0713864A true JPH0713864A (ja) 1995-01-17

Family

ID=15590577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5154724A Pending JPH0713864A (ja) 1993-06-25 1993-06-25 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0713864A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900012B1 (ko) * 2006-08-17 2009-05-29 후지쯔 가부시끼가이샤 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법
JP2013205856A (ja) * 2012-03-27 2013-10-07 Nec Corp キャッシュ診断装置、キャッシュ診断方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900012B1 (ko) * 2006-08-17 2009-05-29 후지쯔 가부시끼가이샤 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법
JP2013205856A (ja) * 2012-03-27 2013-10-07 Nec Corp キャッシュ診断装置、キャッシュ診断方法、及びプログラム

Similar Documents

Publication Publication Date Title
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US6119204A (en) Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization
US5793941A (en) On-chip primary cache testing circuit and test method
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
US5155832A (en) Method to increase performance in a multi-level cache system by the use of forced cache misses
US5202972A (en) Store buffer apparatus in a multiprocessor system
US5511175A (en) Method an apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US6523109B1 (en) Store queue multimatch detection
US5835962A (en) Parallel access micro-TLB to speed up address translation
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
US5893921A (en) Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
EP0036110A2 (en) Cache addressing mechanism
JPH0526219B2 (ja)
US5873123A (en) Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries
JPH0711793B2 (ja) マイクロプロセッサ
US6378023B1 (en) Interrupt descriptor cache for a microprocessor
US7263585B2 (en) Store-induced instruction coherency mechanism
JPH0630075B2 (ja) キャッシュメモリを有するデータ処理装置
US5155828A (en) Computing system with a cache memory and an additional look-aside cache memory
US5649137A (en) Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US8108621B2 (en) Data cache with modified bit array
US6338128B1 (en) System and method for invalidating an entry in a translation unit
US5687350A (en) Protocol and system for performing line-fill address during copy-back operation
US20040181626A1 (en) Partial linearly tagged cache memory system