JPH08278922A - 変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法 - Google Patents

変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法

Info

Publication number
JPH08278922A
JPH08278922A JP8016794A JP1679496A JPH08278922A JP H08278922 A JPH08278922 A JP H08278922A JP 8016794 A JP8016794 A JP 8016794A JP 1679496 A JP1679496 A JP 1679496A JP H08278922 A JPH08278922 A JP H08278922A
Authority
JP
Japan
Prior art keywords
cache
tag
data
bit
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
JP8016794A
Other languages
English (en)
Inventor
Chin Henry
ヘンリー・チン
Totoros George Jr
ジョージ・トトロス、ジュニア
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08278922A publication Critical patent/JPH08278922A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 すべてのタグRAMデータ・ビット位置にア
クセスして、テスト可能とする。 【解決手段】 格納されたデータについてアドレス・ビ
ットとステータス・ビットを保持するタグ・アレイを持
つキャッシュにおいて、内部制御回路とは独立に、キャ
ッシュの外部インタフェースからタグ・アレイのビット
位置にアクセスし、変更されたシステム・アクセス・リ
クエストに応答してテスト・モード操作信号を出力する
検出回路手段、テスト・モード信号に応答して、タグ・
アレイのアドレッシング・ビット及びタグ・アレイに格
納されるデータ・ビットをアドレス/制御ビット・イン
タフエースからロードする制御回路内のロジック手段、
並びにテスト・モード操作信号に応答して、タグ・アレ
イのアドレス及びステータス両方のビット位置の読出し
書込み両方を可能にする、独立テスト・バス手段を備え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュ記憶域に
関し、特にそのような記憶域のテストに関する。
【0002】
【従来の技術】Intel Pentiumマイクロプロセッサ・チ
ップをベースにしたもの等、データ処理装置によって
は、装置の通常のコマンドを使用したテストではアクセ
スできない部分がある。このようなキャッシュは、論理
的には3つの別々のエンティティに分けられる。システ
ム・データと命令を格納するデータRAM(ランダム・
アクセス・メモリ)、データRAMに格納された情報に
ついてステータス・データを格納するタグRAM、及び
キャッシュ全体の動作を制御する回路である。このキャ
ッシュのテスト器は、これら3つのエンティティすべて
の回路素子を完全にテストできなければ、それらの質や
動作可能性を保証できない。本発明は、キャッシュの他
エンティティとは独立にタグRAMをテストすることに
関する。キャッシュの挙動は、タグRAMに格納された
ステータス・データに完全に依存する。これらのステー
タス・ビットを格納したタグRAM内のビット位置に欠
陥があった場合、キャッシュはデバッグが難しい形の反
応をすることになる。タグRAMの独立した動作可能性
をテストする他に、それにデータを入力してキャッシュ
とシステムの全体的動作可能性をテストできることが望
ましい。しかしデータRAM内の格納位置はアクセスで
きテストしやすいが、タグRAM内の格納位置は、ステ
ータス・データを格納した位置を含めて、容易にはアク
セスできない。タグRAMワードのビットはすべてキャ
ッシュ・コントローラに行き、マイクロプロセッサのシ
ステム・バスには行かない。従ってエラーが起こったと
き、エラーがタグRAM内かキャッシュ・コントローラ
内か判断するのは難しい。さらに通常のシステム動作時
に、ある種のデータ・ビット・パターンはタグRAMで
は生じない。こうした理由から、タグRAM自体のビッ
ト位置をテストし、テスト・パターンを入力してキャッ
シュ全体の動作をテストすることは難しくなる。
【0003】
【課題を解決するための手段】本発明に従って、標準シ
ステム命令が変更されこの変更コマンドに応答して、キ
ャッシュ・コントローラとは独立したデータ・パスを通
してタグRAMにアクセスできるようにする制御回路が
キャッシュ内に置かれる。本発明の好適な実施例では、
Intel Pentiumプロセッサをベースにしたコンピュータ
装置の第2レベル・キャッシュのキャッシュ・コントロ
ーラにテスト回路が含まれ、これにより装置またはテス
ト器はタグRAMデータビット位置すべてに対して直接
的に読出し、書込みができる。この回路は、変更された
外部アドレス・ストローブ(EADS#)・コマンドに
応答してタグ・テスト・サイクルを起動する。EADS
#コマンドは通常は、装置によるスヌープ(SNOOP)読
出しサイクルで用いられる。スヌープ・サイクルでは、
メイン・メモリ・コントローラはEADS#コマンドを
起動して、第1レベル(L1)と第2レベル(L2)のキ
ャッシュに、これらのキャッシュに格納された変更済み
情報を要求する。タグ・テスト・サイクルで、EADS
#コマンド・ラインは通常のスヌープ読出しサイクルで
そうである限りはLOWに2回保持される。L2キャッ
シュのスヌープ・サイクル回路は長くなるので、EAD
S#コマンド・ラインのコマンドを無視する。しかしL
2キャッシュのタグRAMテスト回路は、拡張EADS
#ストローブを認識し読出しと書込み両方のサイクルに
ついてタグRAMのすべてのビット位置にアクセスする
パスを提供してタグRAMをテストする、あるいはキャ
ッシュの他の部分をテスト中にこれらのビット位置を選
択された状態にロードする。
【0004】従って本発明の目的は、キャッシュの通常
はアクセスできない部分をテストすることである。
【0005】本発明の別の目的は、変更されたシステム
・コマンドを使用して、テストの際に用いられる動作状
態を与える変更されたキャッシュ命令を起動することで
ある。
【0006】
【発明の実施の形態】図1を参照する。データ・バス1
10及びアドレス/制御ライン・バス112により、L
2キャッシュ116がL1キャッシュ114と、RAM
(ランダム・アクセス・メイン・メモリ)118のRA
Mコントローラ122にリンクされる。各種のメモリ装
置114乃至118がCPU(中央処理装置)120の
命令に応答する。L1キャッシュ114は応答がもっと
も速く、ビット当たりのコストが最大である。L2キャ
ッシュ116の応答はL1キャッシュほど速くはなく、
ビット当たりのコストも比較的小さい。メインRAM1
18はこの3つの装置の中でもっとも遅く、ビット当た
りのコストは最小である。
【0007】L1及びL2キャッシュ及びRAMメモリの
サイズはそれらの速度に反比例する。L2キャッシュ1
16は、メインRAM118の内容の一部を格納し、L
1キャッシュ114は、L2キャッシュ116のエントリ
ーの一部を格納する。ここに開示している構成は、Inte
l Pentiumマイクロプロセッサを使用したパーソナル・
コンピュータ装置の一部である。このマイクロプロセッ
サを使用した装置のマイクロプロセッサの構成と付属品
の条件は、Intel社が発行した"Pentium Family Users
Manual Volume 1: Data Book"(1994)に記載されてい
る。以下このマニュアルを参照する。
【0008】コンピュータ装置のマザーボード200
は、図2に示すように、L2キャッシュ・メモリ・カー
ド214、216を受ける2つのコネクタ210、21
2を含む。カード214、216は同一であり、それぞ
れ、3つの基本構成要素、すなわちコントローラ21
8、タグRAM220、及びデータRAM222を有す
る。データRAM222はシステムのデータと命令を格
納する。タグRAM220は、データRAM222の記
憶素子内の情報のアドレス・ビットとステータス・ビッ
トを格納する。コントローラ218はタグRAM内の情
報を使って、CPU120によって要求されたデータが
データRAM222にあるかどうか、またそれをCPU
120に転送できるかどうかを判断する。
【0009】図3を参照する。図3は、図2のアドレス
・バス112で受信される32ビットCPUアドレス・
ワード310を示す。ビット3乃至29はL2キャッシ
ュのノーマル動作に関連する。ビット0乃至2はワード
のバイト・アドレスに対する。L2キャッシュは、ワー
ド・レベルまでしかアドレスできないのでビット0乃至
2は無視される。ビット30、31は、本発明の装置で
は生じないギガバイト範囲を超えるアドレスに対する。
従ってビット29は装置のノーマル動作で最上位のビッ
トである。
【0010】ここで図2、図3両方を参照する。L2
ャッシュに2メガバイトのデータRAM222がある
と、タグRAM220は、アドレス310のビット5乃
至20でバス112から直接アドレスされる。これによ
り、タグRAM220から12ビット・ワード312が
読出される。タグRAM220の各ワード312は、ワ
ードのビット位置3乃至11に、RAM222に格納さ
れたデータの上位アドレス・ビット21乃至29を含
み、また3つのステータス・ビットをワード312のビ
ット位置0乃至2に含む。コントローラ218内の比較
回路314は、格納され要求されたデータのビット21
乃至29間に一致があるかどうか調べるため、それぞれ
ワード312、310に格納されたこれらのビットを比
較する。一致があれば、ゲート316がタグRAMワー
ド312のステータス・ビット0乃至2をコントローラ
218内の他の回路に転送して、データRAM222に
格納されたデータが有効かどうか判断する。RAM22
2内の要求されたデータが有効であれば、CPUアドレ
ス・ワード310のビット3乃至20はデータRAM2
22のアクセスに用いられる。ビット5乃至20はデー
タRAM222から32バイト・ワードを読出し、ビッ
ト3、4は要求された8バイトをこの32バイト・ワー
ドから選択する。
【0011】タグRAMワードのアドレス・ビットとタ
グ・ビットはコントローラ218からタグRAM220
にロードされ、タグRAMで格納されたアドレス・ビッ
トとタグ・ビットは、読出されたときにコントローラに
返される。ノーマル動作のとき、タグRAM220の内
容は装置のデータ・バス110とアドレス・バス112
に直接ロードされることはなく、コントローラとタグR
AMを正確にテストすることは非常に難しい。それぞれ
を適正にテストできるかは、もう一方が適正に動作する
かによる。この相互依存性により障害分析が難しくな
る。
【0012】あるステータス・ビットの組み合わせはコ
ントローラを通してタグRAMにロードできないので所
望のテスト・パターンを使用できない。そのためタグR
AMのテストはさらに困難になる。その基本的な理由は
ステータス・ビットの機能にある。ステータス・ビット
はこれらのビットによってカバーされるデータRAM位
置への、CPU120による読出しや書込みの操作のア
クセス可能性を決定するものである。ステータス・ビッ
ト0が2進"0"のときデータRAMアドレス位置は読出
されるだけである。ステータス・ビット0が2進"1"で
あればデータRAMアドレスは書込み可能である。ステ
ータス・ビット1、2が"1、1"であればデータはRA
M内のデータのコピーから変更(M)されている。ビッ
ト1、2が"0、1"であればデータは排他的(E)であ
って変更できない。ビット1、2が"1、0"であればデ
ータは共有されていて変更できず、"0、0"であればデ
ータは無効である。従って論理的には、ステータス・ビ
ット0乃至2のある組み合わせは装置のノーマル動作中
には生じない。例えばデータが読出し専用であると同時
に変更されることはあり得ないので、"0、1、1"とい
う組み合わせは生じない。その結果、コントローラ21
8はこのような組み合わせに対応するように設計される
ことはない。
【0013】本発明に従って、キャッシュの構成を変更
してそれがキャッシュ・タグRAMを直接ロード及びア
ンロードできるように、装置のノーマル動作時には決し
て生じない制御信号の組み合わせが用いられる。これに
よりタグRAMを完全にテストでき、所望のテスト・パ
ターンをタグRAMにロードして、L2キャッシュの他
の要素をテストできる。
【0014】図4はスヌープ・サイクルを示す。Pentiu
mベースのプロセッサ装置では、スヌープ・サイクルは
メインRAM118のメモリ・コントローラ122によ
る、L1またはL2キャッシュのいずれかにあると考えら
れるデータの変更コピーに対するリクエストである。最
初にコントローラ122はBOFF#コマンドを出力す
る。プロセッサ120は、BOFF#コマンドに応答し
て、保留中のコマンドをすべてキャンセルし、バス11
0、112を開放する。コントローラ122は、バス1
10、112が静止するまで2クロック・サイクルを待
ってから、EADS#コマンドを出力してアドレスをバ
ス112にセットする。EADS#コマンドが現われる
とL2キャッシュはスヌープ・サイクルの開始を認識す
る。コントローラ122によって要求されたアドレスが
2キャッシュにないか、タグRAM220のステータ
ス・ビットが"1、1、1"ではない(そのアドレスのデ
ータは変更されていることを示す)場合、L2キャッシ
ュはスヌープ・サイクルを無視する。要求されたアドレ
スがL2キャッシュにあり、タグ・メモリのステータス
・ビットが、データが変更されていることを示す場合、
2キャッシュはHitM#ラインをサンプリングし
て、L1キャッシュにも変更されたデータがあるかどう
か判定する。HitM#ラインがLOW(L1キャッシ
ュにデータがあることを示す)の場合、L2キャッシュ
はスヌープ・リクエストをライト・スルー・サイクルと
して扱い、リクエストを無視する。しかしHitM#ラ
インがHIGH(L2キャッシュだけに変更されたデー
タのコピーがあることを示す)の場合、L2キャッシュ
は4番目のクロック・サイクルでBOFF#コマンドを
アサートし、要求されたデータをバス110に出力す
る。
【0015】タグRAMテストをスヌープ・サイクルと
区別するために、EADS#コマンドの長さが変更され
る。図5、図6に示す通り、EADS#コマンドはスヌ
ープ・サイクルで図4の長さの2倍になっている。L2
コントローラの回路は、図7に示す通り、タグRAMテ
スト・サイクルとスヌープ・サイクルでEADS#コマ
ンドの長さの違いを認識する。EADS#がLOW(5
10)のときRAMコントローラ122またはテスタは
スヌープまたはタグRAMテスト・サイクルを要求して
いる。EADS#ラインが1クロック・サイクル後にH
IGHになるとスヌープ・サイクル(520)が実行さ
れることになる。さらに1クロック・サイクルの間はL
OWにとどまると、L2キャッシュのタグRAMテスト
・サイクルが要求されている。L2キャッシュから情報
が読出される(550)とき、読出し/書込み(W/R
#)ラインはLOWになっており、情報がキャッシュに
書き込まれる(560)ときW/R#ラインはHIGH
である。
【0016】図8に示す通り、検出器610はシステム
・アドレス・バス112の制御ラインのキャッシュ入力
ラッチ600から、EADS#、システム・クロック
(CLK)、及びR/W制御信号を受信する。検出器は
R/W入力ラッチの信号がHIGHかLOWかに応じ
て、EADS#コマンドが2システム・クロック・サイ
クルの長さと判定したときに、タグ・テスト読出し(TT
/read)かタグ・テスト書込み(TT/write)のいずれか
の正パルスを出力する。同時にL2キャッシュのスヌー
プ回路は、EADS#パルスの長くなった部分がディス
エーブルのままであることを認識する。EADS#コマ
ンドが1サイクルだけのとき、TT/read、TT/write両方
のパルスはLOWのままであり、スヌープ回路はスヌー
プ・サイクルを実行する。
【0017】アドレス・ビット・ライン5乃至20は図
3に示す通り、タグRAMのワード・ライン312をア
ドレスするのに用いられる。アドレス・バスのアドレス
・ビット・ライン3、21乃至31はシステムのノーマ
ル動作中はタグRAMを表すのに用いられない。しかし
図8に示すように、タグRAMテスト時に用いられてタ
グRAMアレイ660からデータがロード、アンロード
される。アドレス・ビット・ライン21乃至29は、ア
ドレスされたタグRAMラインのタグ・ビット位置3乃
至11との間でデータを転送するために用いられ、アド
レス・ビット・ライン3、30、31は、アドレスされ
たタグRAMラインのステータス・ビット位置0乃至2
にあるデータのロード及びアンロードに用いられる。
【0018】TT/write、TT/read信号は、タグRAMの
アドレス・ドライバにアクセスし、またゲート・ロジッ
ク640をイネーブルにして、アドレス・バス112の
システム・アドレス・ビット・ライン3、21乃至31
をタグRAMのデータ・ドライバ/センス増幅器回路6
50との間で情報を送受信できるようにする。
【0019】図1、図5及び図8を参照する。タグ・テ
スト書込みサイクルの間、テスタはBOFF#コマンド
をアサートしてサイクルを開始する。テスタは次に2サ
イクルを待って拡張EADS#コマンドを出力する。タ
グ・テスト検出器610はこれを、タグ・テストを実行
するためのリクエストと認識し、L2キャッシュのスヌ
ープ回路620はこれを有効なEADS#コマンドとは
認識しない(コマンドが長いため)。同時にテスタは、
タグRAMデコーダ630にアドレス・バス112のビ
ット・ライン5乃至20でアドレスを送る。タグ・テス
ト検出器はTT/writeパルスを出力し、これによりアドレ
ス・バスのビット・ライン3、21乃至31のデータ・
ビットがタグ・アレイのドライバ/センス増幅器回路6
50にゲートされる。TT/write信号はロジック回路67
0をアクティブにし、チップ・セレクト出力イネーブル
と書込み信号をタグ・アレイ・ドライバ/センス増幅器
回路650に送り、データ・ビットを、タグ・アレイ6
60のアクセスされたワード・ラインにロードする。
【0020】タグ・テスト読出しサイクルは、図6に示
すように書込みサイクルとは異なる。BOFF#、EA
DS#コマンドは書込みサイクルと同じである。しかし
W/RラインはLOWになってTT/readパルスが出力さ
れ、これによりタグ・アレイのセンス増幅器とゲート・
ロジック640がアクティブになり、アドレス・ビット
5乃至20によってアクセスされたタグ・アレイのワー
ド・ラインに格納され検出されたデータがアドレス・バ
ス112のビット3、21乃至31に転送される。アド
レス・ラインのデータは分割される。最初のセグメント
はアドレス・ライン5乃至20に置かれたアドレス、2
番目は、アレイから読出され、アドレス・ライン3、2
1乃至31に置かれたデータである。セグメント間の時
間は回路のロジック応答時間である。
【0021】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0022】(1)コンピュータ・システム・キャッシ
ュのデータ・アレイに格納されたデータについてアドレ
ス・ビットとステータス・ビットを格納するタグ・アレ
イを持つ前記キャッシュにおいて、前記ステータス・ビ
ットの状態は、前記キャッシュの内部制御回路で出力さ
れ、内部制御回路とは独立に、前記キャッシュの外部イ
ンタフェースから前記タグ・アレイのビット位置にアク
セスし、 a)変更されたシステム・アクセス・リクエストに応答
してテスト・モード操作信号を出力する検出回路手段
と、 b)前記テスト・モード信号に応答して、前記タグ・ア
レイのアドレッシング・ビットと前記タグ・アレイに格
納されるデータ・ビットをアドレス/制御ビット・イン
タフェースからロードする制御回路内のロジック手段
と、 c)前記テスト・モード操作信号に応答して、前記タグ
・アレイのアドレスとステータス両方のビット位置の読
出しと書込み両方を可能にする、前記タグ・アレイへの
独立テスト・パス手段と、を含む、前記キャッシュ。 (2)前記システム・アクセス・リクエストは、前記タ
グ・アレイの前記ステータス・ビットによって識別され
る特定のステータスを持つ前記キャッシュに格納された
データのリクエストである、上記(1)記載のキャッシ
ュ。 (3)前記変更されたシステム・アクセス・リクエスト
は、前記システム・アクセス・リクエストの同じ制御ビ
ット・ライン上の制御ビット・パルスよりも長い制御ビ
ット・パルスによって開始される、上記(2)記載のキ
ャッシュ。 (4)前記検出回路手段は、前記制御ビット・パルスの
長さの違いに応答して、長いパルスが存在する場合にの
み前記テスト・モード操作信号を出力する、上記(3)
記載のキャッシュ。 (5)前記システム・アクセス・リクエストは、コンピ
ュータ装置のメイン・メモリに格納されたデータの変更
されたコピーに対するリクエストが前記メイン・メモリ
のコントローラによって行なわれるスヌープ・サイクル
のコマンドである、上記(4)記載のキャッシュ。 (6)前記テスト・モード操作信号が存在する場合に前
記スヌープ・サイクルのディスエーブルを図る手段を含
む、上記(5)記載のキャッシュ。 (7)前記アドレス・ビットとデータ・ビット両方に対
する前記独立テスト・パス手段は、前記外部インタフェ
ースのアドレス・バス位置である、上記(6)記載のキ
ャッシュ。 (8)キャッシュにタグ・メモリがあり、前記タグ・メ
モリは前記キャッシュのデータ・メモリに格納されたデ
ータについてステータス・ビットを格納し、前記キャッ
シュ内のコントローラ回路が前記タグ・メモリ内のすべ
てのビット位置への直接アクセスを防ぐ、コンピュータ
装置内の前記キャッシュにおいて、前記コントローラ回
路とは独立に前記タグ・メモリをテストする方法であっ
て、 a)前記コンピュータ装置のメイン・メモリのコントロ
ーラによって、前記メイン・メモリと前記キャッシュの
前記データ・メモリとの間の転送サイクルでデータを転
送するために用いられるシステム・コマンドを、前記キ
ャッシュ・コントローラ回路が前記転送サイクルを実行
しないように変更するステップと、 b)前記キャッシュ内の前記コントローラ回路とは独立
した、前記装置のバス入力/出力へのテスト・パスを確
立して、前記タグ・メモリのすべてのビット位置へのア
クセスを可能にするステップと、 c)前記転送サイクルで用いられる他のコマンドを使用
して、前記タグ・メモリをテストする際に前記タグ・メ
モリとの間でデータを移動させるステップと、を含む、
方法。 (9)ステップa)で変更されたシステム・コマンド
を、前記タグ・メモリの前記ステータス・ビットによっ
て識別される特定のステータスを持つデータを要求する
転送サイクルで通常生じるコマンドにするステップを含
む、上記(8)記載の方法。 (10)前記変更されたシステム・コマンドを元のシス
テム・コマンドよりも長くするステップを含む、上記
(9)記載の方法。 (11)ステップa)の変更された前記システム・コマ
ンドを、前記コンピュータ装置の前記メイン・メモリに
格納されたデータの前記キャッシュ内の変更されたコピ
ーを要求するスヌープ・サイクルのコマンドにするステ
ップを含む、上記(10)記載の方法。
【0023】
【発明の効果】 【図面の簡単な説明】
【図1】メイン・メモリ及びデータ・バスとアドレス・
バスでリンクされたL1、L2キャッシュのブロック図で
ある。
【図2】図1のL2キャッシュの図である。
【図3】L2キャッシュのアドレッシング回路を表す図
である。
【図4】スヌープ・サイクルで用いられるコマンド信号
を示す図である。
【図5】タグ・テスト書込みサイクルで用いられるコマ
ンド信号を示す図である。
【図6】タグ・テスト読出しサイクルで用いられるコマ
ンド信号を示す図である。
【図7】EADS#サイクルの長さの違いがL2キャッ
シュ応答に与える影響のフローチャートを示す図であ
る。
【図8】L2キャッシュのテスト回路のブロック図であ
る。
【符号の説明】
110 データ・バス 112 アドレス/制御ライン・バス 114 L1キャッシュ 116 L2キャッシュ 118 RAM 120 CPU 122 RAMコントローラ 200 マザーボード 210、212 コネクタ 214、216 メモリ・カード 218 コントローラ 220 タグRAM 222 データRAM 310 CPUアドレス・ワード 312 RAMワード 314 比較回路 316 ゲート 600 キャッシュ入力ラッチ 610 タグ・テスト検出器 620 スヌープ回路 630 デコーダ 640 ゲート・ロジック 650 ドライバ/センス増幅器回路 660 タグ・アレイ 670 ロジック回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョージ・トトロス、ジュニア アメリカ合衆国12603、ニューヨーク州ポ キプシ、シェルダン・ドライブ 40

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システム・キャッシュのデ
    ータ・アレイに格納されたデータについてアドレス・ビ
    ットとステータス・ビットを格納するタグ・アレイを持
    つ前記キャッシュにおいて、前記ステータス・ビットの
    状態は、前記キャッシュの内部制御回路で出力され、内
    部制御回路とは独立に、前記キャッシュの外部インタフ
    ェースから前記タグ・アレイのビット位置にアクセス
    し、 a)変更されたシステム・アクセス・リクエストに応答
    してテスト・モード操作信号を出力する検出回路手段
    と、 b)前記テスト・モード信号に応答して、前記タグ・ア
    レイのアドレッシング・ビットと前記タグ・アレイに格
    納されるデータ・ビットをアドレス/制御ビット・イン
    タフェースからロードする制御回路内のロジック手段
    と、 c)前記テスト・モード操作信号に応答して、前記タグ
    ・アレイのアドレスとステータス両方のビット位置の読
    出しと書込み両方を可能にする、前記タグ・アレイへの
    独立テスト・パス手段と、 を含む、前記キャッシュ。
  2. 【請求項2】前記システム・アクセス・リクエストは、
    前記タグ・アレイの前記ステータス・ビットによって識
    別される特定のステータスを持つ前記キャッシュに格納
    されたデータのリクエストである、請求項1記載のキャ
    ッシュ。
  3. 【請求項3】前記変更されたシステム・アクセス・リク
    エストは、前記システム・アクセス・リクエストの同じ
    制御ビット・ライン上の制御ビット・パルスよりも長い
    制御ビット・パルスによって開始される、請求項2記載
    のキャッシュ。
  4. 【請求項4】前記検出回路手段は、前記制御ビット・パ
    ルスの長さの違いに応答して、長いパルスが存在する場
    合にのみ前記テスト・モード操作信号を出力する、請求
    項3記載のキャッシュ。
  5. 【請求項5】前記システム・アクセス・リクエストは、
    コンピュータ装置のメイン・メモリに格納されたデータ
    の変更されたコピーに対するリクエストが前記メイン・
    メモリのコントローラによって行なわれるスヌープ・サ
    イクルのコマンドである、請求項4記載のキャッシュ。
  6. 【請求項6】前記テスト・モード操作信号が存在する場
    合に前記スヌープ・サイクルのディスエーブルを図る手
    段を含む、請求項5記載のキャッシュ。
  7. 【請求項7】前記アドレス・ビットとデータ・ビット両
    方に対する前記独立テスト・パス手段は、前記外部イン
    タフェースのアドレス・バス位置である、請求項6記載
    のキャッシュ。
  8. 【請求項8】キャッシュにタグ・メモリがあり、前記タ
    グ・メモリは前記キャッシュのデータ・メモリに格納さ
    れたデータについてステータス・ビットを格納し、前記
    キャッシュ内のコントローラ回路が前記タグ・メモリ内
    のすべてのビット位置への直接アクセスを防ぐ、コンピ
    ュータ装置内の前記キャッシュにおいて、前記コントロ
    ーラ回路とは独立に前記タグ・メモリをテストする方法
    であって、 a)前記コンピュータ装置のメイン・メモリのコントロ
    ーラによって、前記メイン・メモリと前記キャッシュの
    前記データ・メモリとの間の転送サイクルでデータを転
    送するために用いられるシステム・コマンドを、前記キ
    ャッシュ・コントローラ回路が前記転送サイクルを実行
    しないように変更するステップと、 b)前記キャッシュ内の前記コントローラ回路とは独立
    した、前記装置のバス入力/出力へのテスト・パスを確
    立して、前記タグ・メモリのすべてのビット位置へのア
    クセスを可能にするステップと、 c)前記転送サイクルで用いられる他のコマンドを使用
    して、前記タグ・メモリをテストする際に前記タグ・メ
    モリとの間でデータを移動させるステップと、 を含む、方法。
  9. 【請求項9】ステップa)で変更されたシステム・コマ
    ンドを、前記タグ・メモリの前記ステータス・ビットに
    よって識別される特定のステータスを持つデータを要求
    する転送サイクルで通常生じるコマンドにするステップ
    を含む、請求項8記載の方法。
  10. 【請求項10】前記変更されたシステム・コマンドを元
    のシステム・コマンドよりも長くするステップを含む、
    請求項9記載の方法。
  11. 【請求項11】ステップa)の変更された前記システム
    ・コマンドを、前記コンピュータ装置の前記メイン・メ
    モリに格納されたデータの前記キャッシュ内の変更され
    たコピーを要求するスヌープ・サイクルのコマンドにす
    るステップを含む、請求項10記載の方法。
JP8016794A 1995-02-23 1996-02-01 変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法 Pending JPH08278922A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US392644 1995-02-23
US08/392,644 US5613087A (en) 1995-02-23 1995-02-23 Cache testing using a modified snoop cycle command

Publications (1)

Publication Number Publication Date
JPH08278922A true JPH08278922A (ja) 1996-10-22

Family

ID=23551441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8016794A Pending JPH08278922A (ja) 1995-02-23 1996-02-01 変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法

Country Status (3)

Country Link
US (1) US5613087A (ja)
EP (1) EP0729100A1 (ja)
JP (1) JPH08278922A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138209A (en) * 1997-09-05 2000-10-24 International Business Machines Corporation Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US5974510A (en) * 1997-10-31 1999-10-26 Advanced Micro Devices, Inc. Method for testing the non-cacheable region functioning of a cache memory controller
US6567934B1 (en) * 1999-10-21 2003-05-20 Motorola, Inc. Method and apparatus for verifying multiprocessing design in a unit simulation environment
US6968427B1 (en) * 2002-12-02 2005-11-22 Advanced Micro Devices, Inc. Built-in self test circuit for testing cache tag array and compare logic
US8127192B2 (en) * 2007-07-18 2012-02-28 International Business Machines Corporation Predicting lwarx and stwcx instructions in test pattern generation and simulation for processor design verification/validation in interrupt mode
US7739570B2 (en) * 2007-07-18 2010-06-15 International Business Machines Corporation System and method for increasing error checking performance by calculating CRC calculations after multiple test patterns for processor design verification and validation
US7661023B2 (en) * 2007-07-18 2010-02-09 International Business Machines Corporation System and method for verification of cache snoop logic and coherency between instruction & data caches for processor design verification and validation
US7647539B2 (en) * 2007-07-18 2010-01-12 International Business Machines Corporation System and method of testing using test pattern re-execution in varying timing scenarios for processor design verification and validation
US7747908B2 (en) * 2007-07-18 2010-06-29 International Business Machines Corporation System and method for creating different start cache and bus states using multiple test patterns for processor design verification and validation
US7689886B2 (en) * 2007-07-18 2010-03-30 International Business Machines Corporation System and method for predicting lwarx and stwcx instructions in test pattern generation and simulation for processor design verification and validation
US8185694B2 (en) * 2008-07-25 2012-05-22 International Business Machines Corporation Testing real page number bits in a cache directory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57120283A (en) * 1981-01-16 1982-07-27 Toshiba Corp Cash memory control system
US4887203A (en) * 1984-10-15 1989-12-12 Motorola, Inc. Microcoded processor executing microroutines with a user specified starting microaddress
US4774049A (en) * 1986-04-10 1988-09-27 Westinghouse Electric Corp. Two and three dimensional core power distribution monitor and display
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
US4996641A (en) * 1988-04-15 1991-02-26 Motorola, Inc. Diagnostic mode for a cache
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
US4907189A (en) * 1988-08-08 1990-03-06 Motorola, Inc. Cache tag comparator with read mode and compare mode
US4945512A (en) * 1988-09-07 1990-07-31 Unisys Corporation High-speed partitioned set associative cache memory
JPH0359741A (ja) * 1989-07-28 1991-03-14 Mitsubishi Electric Corp キャッシュメモリ
EP0446534A3 (en) * 1990-03-16 1992-08-05 John Fluke Mfg. Co., Inc. Method of functionally testing cache tag rams in limited-access processor systems
US5226150A (en) * 1990-10-01 1993-07-06 Digital Equipment Corporation Apparatus for suppressing an error report from an address for which an error has already been reported
US5249281A (en) * 1990-10-12 1993-09-28 Lsi Logic Corporation Testable ram architecture in a microprocessor having embedded cache memory
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
JPH0612878A (ja) * 1992-06-25 1994-01-21 Mitsubishi Electric Corp 半導体メモリ装置

Also Published As

Publication number Publication date
EP0729100A1 (en) 1996-08-28
US5613087A (en) 1997-03-18

Similar Documents

Publication Publication Date Title
US5551006A (en) Low cost writethrough cache coherency apparatus and method for computer systems without a cache supporting bus
US5276833A (en) Data cache management system with test mode using index registers and CAS disable and posted write disable
US6078977A (en) Hierarchical bus structure access system
US6115791A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
EP1029280B1 (en) Cache memory operation
US5671231A (en) Method and apparatus for performing cache snoop testing on a cache system
US5408636A (en) System for flushing first and second caches upon detection of a write operation to write protected areas
CA2127081A1 (en) Processor interface chip for dual-microprocessor processor system
US5497458A (en) Cache testability circuit for embedded diagnostics
JPH05128000A (ja) 内蔵キヤツシユメモリを有するマイクロプロセツサおよびその内蔵キヤツシユメモリのテスト方法
JP3732518B2 (ja) スペキュラティブなシステムメモリ読取りを行う方法および装置
JP2018511860A (ja) 統合プロセッサを備えたdram回路
JPH08278922A (ja) 変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法
JP3886189B2 (ja) バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置
JP2755330B2 (ja) マイクロコンピユータ・システム
JPH05334170A (ja) デュアルポートメモリ用制御回路
US5890216A (en) Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US5414815A (en) Method and apparatus for transferring data directly between a memory device and a peripheral device in a single address cycle under the control of a processor
CA2016399C (en) Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5893154A (en) CPU write-back cache coherency mechanism that transeers data from a cache memory to a main memory before access of the main memory by an alternate bus master
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JPH07234819A (ja) キャッシュメモリ