JPH0689199A - キャッシュ機能診断方法 - Google Patents
キャッシュ機能診断方法Info
- Publication number
- JPH0689199A JPH0689199A JP4239873A JP23987392A JPH0689199A JP H0689199 A JPH0689199 A JP H0689199A JP 4239873 A JP4239873 A JP 4239873A JP 23987392 A JP23987392 A JP 23987392A JP H0689199 A JPH0689199 A JP H0689199A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- read
- cache
- main memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】テストプログラムでキャッシュ回路の診断を行
う方法に関し、キャッシュ制御回路の診断を充分に行う
ことを目的とする。 【構成】主記憶領域をブロックに分け、アドレスビット
を三部分に分け、上位部分3と中位部分4によりブロッ
クを指定し、主記憶をリードしたとき、中位部分3でタ
グメモリ2をアドレスしその内容が上位部分3と一致す
ればキャッシュメモリ1の内容を読みだすように制御す
る1WAY型のキャッシュ回路において、キャッシュ回
路を無効にして主記憶の全アドレスにアドレス値を書き
込み、キャッシュ回路を有効にして、中位部分4をH
‘0’とし、上位部分3をH‘0’として、主記憶をリ
ードして読みだしデータを保存し、上位部分3を1ビッ
ト左シフトして、主記憶をリードして読みだしたデータ
と先の保存データとを比較して一致しないことを確認
し、読みだしたデータを代わりに保存し、同様にして上
位部分3の最上位ビットが‘1’になるまで繰り返し、
次に、中位部分4に1を加えて、中位部分4の最上位ビ
ットが‘1’になるまで繰り返す。
う方法に関し、キャッシュ制御回路の診断を充分に行う
ことを目的とする。 【構成】主記憶領域をブロックに分け、アドレスビット
を三部分に分け、上位部分3と中位部分4によりブロッ
クを指定し、主記憶をリードしたとき、中位部分3でタ
グメモリ2をアドレスしその内容が上位部分3と一致す
ればキャッシュメモリ1の内容を読みだすように制御す
る1WAY型のキャッシュ回路において、キャッシュ回
路を無効にして主記憶の全アドレスにアドレス値を書き
込み、キャッシュ回路を有効にして、中位部分4をH
‘0’とし、上位部分3をH‘0’として、主記憶をリ
ードして読みだしデータを保存し、上位部分3を1ビッ
ト左シフトして、主記憶をリードして読みだしたデータ
と先の保存データとを比較して一致しないことを確認
し、読みだしたデータを代わりに保存し、同様にして上
位部分3の最上位ビットが‘1’になるまで繰り返し、
次に、中位部分4に1を加えて、中位部分4の最上位ビ
ットが‘1’になるまで繰り返す。
Description
【0001】
【産業上の利用分野】本発明は、テストプログラムでキ
ャッシュ回路の診断を行う場合に、キャッシュ制御回路
の診断を充分に行う方法に関する。
ャッシュ回路の診断を行う場合に、キャッシュ制御回路
の診断を充分に行う方法に関する。
【0002】
【従来の技術】キャッシュは、大容量の主記憶に対して
高速の小容量記憶装置を配し、主記憶を読みだした時、
その内容および周辺の内容を写しとっておき、次にその
アドレス近辺をアクセスしたときその写しを使用するこ
とにより、主記憶の実質的な高速化を図るものである。
高速の小容量記憶装置を配し、主記憶を読みだした時、
その内容および周辺の内容を写しとっておき、次にその
アドレス近辺をアクセスしたときその写しを使用するこ
とにより、主記憶の実質的な高速化を図るものである。
【0003】キャッシュ回路を診断するために通常つぎ
のような診断用のハードウェアを備え、診断モードにす
るとその機能が使えるようにしていた。 キャッシュメモリをプロセサのIO空間に割りつ
け、メモリとしての内容の読み書きチェック。 キャッシュメモリ等のパリティビット反転によるパ
リティチェック回路のチェック。 キャッシュ有効状態と、無効状態の内容の一致と性
能差の確認 しかし、キャッシュ回路をキャッシュメモリ部とキャッ
シュ制御部とにわけたとき、ハードウェア量の多いキャ
ッシュメモリ部については診断用のハードウェアのサポ
ートがあり充分な診断ができるが、タグメモリを中心と
するキャッシュ制御部についてはハードウェア量が少な
いので診断用ハードウェアを省略することが多く、診断
は充分でなかった。
のような診断用のハードウェアを備え、診断モードにす
るとその機能が使えるようにしていた。 キャッシュメモリをプロセサのIO空間に割りつ
け、メモリとしての内容の読み書きチェック。 キャッシュメモリ等のパリティビット反転によるパ
リティチェック回路のチェック。 キャッシュ有効状態と、無効状態の内容の一致と性
能差の確認 しかし、キャッシュ回路をキャッシュメモリ部とキャッ
シュ制御部とにわけたとき、ハードウェア量の多いキャ
ッシュメモリ部については診断用のハードウェアのサポ
ートがあり充分な診断ができるが、タグメモリを中心と
するキャッシュ制御部についてはハードウェア量が少な
いので診断用ハードウェアを省略することが多く、診断
は充分でなかった。
【0004】
【発明が解決しようとする課題】しかし、例えばタグメ
モリが異常になると、全く異なるブロックの内容が使わ
れたりしてOSがハングする等の障害が発生し、しかも
それ以前の動作状況に依存するため再現性がなく、原因
追求に困難がつきものであった。
モリが異常になると、全く異なるブロックの内容が使わ
れたりしてOSがハングする等の障害が発生し、しかも
それ以前の動作状況に依存するため再現性がなく、原因
追求に困難がつきものであった。
【0005】本発明は特別なハードウェアなしに、キャ
ッシュ制御部の診断を行うことを目的としている。
ッシュ制御部の診断を行うことを目的としている。
【0006】
【課題を解決するための手段】図1は本発明方法の原理
図である。本発明は、主記憶領域を複数バイトよりなる
ブロックに分け、複数のブロックを記憶するキャッシュ
メモリ1と、そのブロックに対応したエントリをもつタ
グメモリ2とを備え、主記憶のアドレスを指定するアド
レスビットを上位、中位、下位の三部分に分け、下位部
分5はブロック内のバイト位置を指定し、上位部分3と
中位部分4によりブロックアドレスを指定し、主記憶に
リードアクセスしたとき、そのときのアドレスを含む、
上位部分3と中位部分4によって指定される主記憶のブ
ロックの内容を、中位部分4で指定されるキャッシュメ
モリ1のブロックに格納し、上位部分3を前記の中位部
分4で指定したキャッシュメモリ1のブロックに対応す
るタグメモリ2のエントリに書き込み、次にアクセスし
たとき、中位部分4でタグメモリ2をアドレスしその内
容が上位部分3と一致すれば対応するキャッシュメモリ
1の内容を読みだすように制御する1WAY型のキャッ
シュ回路において、キャッシュ回路無効モードで、主記
憶の全アドレスにそのアドレス値を書き込み(ステップ
0)、キャッシュ回路有効モードにして、16進数をH
‘n’で表現するとき、アドレスの中位部分4をH
‘0’とし(ステップ1)、アドレスの上位部分3をH
‘0’として主記憶をリードして、読みだしたデータを
保存し(ステップ2)、アドレスの上位部分3を1ビッ
ト左シフトして、主記憶をリードして読みだしたデータ
と先の保存データとを比較して一致しないことを確認
し、読みだしたデータを代わりに保存し(ステップ
3)、以下ステップ3を、上位部分3の最上位ビットが
‘1’になるまで繰り返し(ステップ4)、次に、アド
レスの中位部分4に‘1’を加えて、ステップ2からス
テップ4までを行い(ステップ5)、以下ステップ5を
中位部分4の全ビットが‘1’になるまで繰り返す(ス
テップ6)ようにしたことを特徴としている。
図である。本発明は、主記憶領域を複数バイトよりなる
ブロックに分け、複数のブロックを記憶するキャッシュ
メモリ1と、そのブロックに対応したエントリをもつタ
グメモリ2とを備え、主記憶のアドレスを指定するアド
レスビットを上位、中位、下位の三部分に分け、下位部
分5はブロック内のバイト位置を指定し、上位部分3と
中位部分4によりブロックアドレスを指定し、主記憶に
リードアクセスしたとき、そのときのアドレスを含む、
上位部分3と中位部分4によって指定される主記憶のブ
ロックの内容を、中位部分4で指定されるキャッシュメ
モリ1のブロックに格納し、上位部分3を前記の中位部
分4で指定したキャッシュメモリ1のブロックに対応す
るタグメモリ2のエントリに書き込み、次にアクセスし
たとき、中位部分4でタグメモリ2をアドレスしその内
容が上位部分3と一致すれば対応するキャッシュメモリ
1の内容を読みだすように制御する1WAY型のキャッ
シュ回路において、キャッシュ回路無効モードで、主記
憶の全アドレスにそのアドレス値を書き込み(ステップ
0)、キャッシュ回路有効モードにして、16進数をH
‘n’で表現するとき、アドレスの中位部分4をH
‘0’とし(ステップ1)、アドレスの上位部分3をH
‘0’として主記憶をリードして、読みだしたデータを
保存し(ステップ2)、アドレスの上位部分3を1ビッ
ト左シフトして、主記憶をリードして読みだしたデータ
と先の保存データとを比較して一致しないことを確認
し、読みだしたデータを代わりに保存し(ステップ
3)、以下ステップ3を、上位部分3の最上位ビットが
‘1’になるまで繰り返し(ステップ4)、次に、アド
レスの中位部分4に‘1’を加えて、ステップ2からス
テップ4までを行い(ステップ5)、以下ステップ5を
中位部分4の全ビットが‘1’になるまで繰り返す(ス
テップ6)ようにしたことを特徴としている。
【0007】
【作用】ステップ1の処理により、主記憶には、アドレ
スH‘X’にXの値が書き込まれる。すなわちアドレス
値が内容として書き込まれる。同時にキャッシュ回路の
タグメモリのエントリは全て無効表示がされる。すなわ
ちタグメモリの無効ビットが‘1’になる。
スH‘X’にXの値が書き込まれる。すなわちアドレス
値が内容として書き込まれる。同時にキャッシュ回路の
タグメモリのエントリは全て無効表示がされる。すなわ
ちタグメモリの無効ビットが‘1’になる。
【0008】ステップ2の処理により、ブロック0のタ
グメモリのエントリにH‘0’が書き込まれる。すなわ
ちブロック0のタグメモリのエントリの全ビットが
‘0’になる。
グメモリのエントリにH‘0’が書き込まれる。すなわ
ちブロック0のタグメモリのエントリの全ビットが
‘0’になる。
【0009】ステップ3の処理により、ブロック0のタ
グメモリのエントリにH‘1’が書き込まれる。すなわ
ちブロック0のタグメモリのエントリの最下位ビットが
‘1’になり、キャッシュメモリの書き換えが行われた
ことが確認できる。
グメモリのエントリにH‘1’が書き込まれる。すなわ
ちブロック0のタグメモリのエントリの最下位ビットが
‘1’になり、キャッシュメモリの書き換えが行われた
ことが確認できる。
【0010】ステップ4の処理により、ブロック0のタ
グメモリのエントリの全部のビットが正常に‘0’およ
び‘1’にできることと、上位部分のビットが異なる時
にキャッシュが書き換えられることの確認ができる。
グメモリのエントリの全部のビットが正常に‘0’およ
び‘1’にできることと、上位部分のビットが異なる時
にキャッシュが書き換えられることの確認ができる。
【0011】ステップ5,6により他のブロックについ
て同様の確認ができる。
て同様の確認ができる。
【0012】
【実施例】以下、図2により、具体的な値によって本発
明の実施例を説明する。本実施例ではキャッシュメモリ
の構成は、1ブロックが16バイト、8Kエントリ×1
WAY 128KBである。
明の実施例を説明する。本実施例ではキャッシュメモリ
の構成は、1ブロックが16バイト、8Kエントリ×1
WAY 128KBである。
【0013】主記憶アドレスは32ビットで下位部分4
ビットでブロック内のバイトを指定し、上位部分15ビ
ットと中位部分13ビットでブロックを指定する。つま
り、キャッシュメモリのブロック8K個と対応するタグ
メモリのエントリ8K個を中位部分13ビットで指定
し、タグメモリのエントリに上位部分の15ビットが入
れられる。
ビットでブロック内のバイトを指定し、上位部分15ビ
ットと中位部分13ビットでブロックを指定する。つま
り、キャッシュメモリのブロック8K個と対応するタグ
メモリのエントリ8K個を中位部分13ビットで指定
し、タグメモリのエントリに上位部分の15ビットが入
れられる。
【0014】本キャッシュ回路のキャッシュ制御部の診
断は以下のように行う。なお、主記憶およびキャッシュ
メモリ部の診断は別途終わっているものとする。 キャッシュ回路無効モードで、主記憶の全アドレス
にそのアドレス値を書き込む。すなわち主記憶には、ア
ドレスH‘X’にXの値が書き込まれる。
断は以下のように行う。なお、主記憶およびキャッシュ
メモリ部の診断は別途終わっているものとする。 キャッシュ回路無効モードで、主記憶の全アドレス
にそのアドレス値を書き込む。すなわち主記憶には、ア
ドレスH‘X’にXの値が書き込まれる。
【0015】キャッシュ回路のタグメモリの内容には全
て無効表示が付けられる(Iビット=‘1’)。 キャッシュ回路有効モードにする。
て無効表示が付けられる(Iビット=‘1’)。 キャッシュ回路有効モードにする。
【0016】 主記憶のアドレスH‘0’をリードす
る。キャッシュメモリのブロック0に主記憶の内容が写
され、ブロック0のタグメモリのエントリにH‘0’す
なわち、B`000 0000 0000 0000'が書き込まれる。
る。キャッシュメモリのブロック0に主記憶の内容が写
され、ブロック0のタグメモリのエントリにH‘0’す
なわち、B`000 0000 0000 0000'が書き込まれる。
【0017】 主記憶のアドレスH‘0002000
0’ (B`0000 0000 0000 0010 0000 0000 0000 0000')
をリードする。アドレスの中位部分がH‘0000’
(B`0 0000 0000 0000') であるので、ブロック0のタ
グメモリのエントリがリードされ、その内容H‘000
0’とアドレスの上位部分H‘0001’(B`000 0000
0000 0001') とが一致しないのでキャッシュメモリの
ブロック0は書き換えられ、ブロック0のタグメモリの
エントリにB`000 0000 0000 0001'が書き込まれる。
0’ (B`0000 0000 0000 0010 0000 0000 0000 0000')
をリードする。アドレスの中位部分がH‘0000’
(B`0 0000 0000 0000') であるので、ブロック0のタ
グメモリのエントリがリードされ、その内容H‘000
0’とアドレスの上位部分H‘0001’(B`000 0000
0000 0001') とが一致しないのでキャッシュメモリの
ブロック0は書き換えられ、ブロック0のタグメモリの
エントリにB`000 0000 0000 0001'が書き込まれる。
【0018】 項のリードデータと項のリードデ
ータを比較し、一致しないことを確認する。これにより
キャッシュ制御部が正常に働いて、ブロック0が書き換
えられたことがわかる。
ータを比較し、一致しないことを確認する。これにより
キャッシュ制御部が正常に働いて、ブロック0が書き換
えられたことがわかる。
【0019】 主記憶のアドレスH‘0004000
0’ (B`0000 0000 0000 0100 0000 0000 0000 0000')
をリードする。キャッシュメモリのブロック0が書き換
えられ、ブロック0のタグメモリのエントリにB`000 0
000 0000 0010'が書き込まれる。
0’ (B`0000 0000 0000 0100 0000 0000 0000 0000')
をリードする。キャッシュメモリのブロック0が書き換
えられ、ブロック0のタグメモリのエントリにB`000 0
000 0000 0010'が書き込まれる。
【0020】 項のリードデータと項のリードデ
ータを比較し、一致しないことを確認する。 主記憶アドレスを順にH‘00080000’,H
‘00100000’,H‘00200000’,・・
・と変化させることにより、タグメモリの各ビットをON
/OFFさせて同様に行い、ブロック0のタグメモリの確認
を終了する。
ータを比較し、一致しないことを確認する。 主記憶アドレスを順にH‘00080000’,H
‘00100000’,H‘00200000’,・・
・と変化させることにより、タグメモリの各ビットをON
/OFFさせて同様に行い、ブロック0のタグメモリの確認
を終了する。
【0021】 主記憶アドレスにH‘0000001
0’を加算することにより、アドレスの中位部分を
‘1’ずつ変えてキャッシュメモリのブロックすなわち
タグメモリのアドレスを‘1’ずつ変え、〜の処理
を繰り返す。これにより全ブロックの確認が終了する。
0’を加算することにより、アドレスの中位部分を
‘1’ずつ変えてキャッシュメモリのブロックすなわち
タグメモリのアドレスを‘1’ずつ変え、〜の処理
を繰り返す。これにより全ブロックの確認が終了する。
【0022】
【発明の効果】以上説明したように、本発明によれば特
別なハードウェアなしにキャッシュ制御部の診断を行う
ことができる。
別なハードウェアなしにキャッシュ制御部の診断を行う
ことができる。
【図1】本発明方法の原理図である。
【図2】本発明の実施例を示す図である。
1 キャッシュメモリ 2 タグメモリ 3 アドレスの上位部分 4 アドレスの中位部分 5 アドレスの下位部分
Claims (1)
- 【請求項1】 主記憶領域を複数バイトよりなるブロッ
クに分け、複数のブロックを記憶するキャッシュメモリ
(1)と、そのブロックに対応したエントリをもつタグ
メモリ(2)とを備え、 主記憶のアドレスを指定するアドレスビットを上位、中
位、下位の三部分に分け、下位部分(5)はブロック内
のバイト位置を指定し、上位部分(3)と中位部分
(4)によりブロックアドレスを指定し、 主記憶にリードアクセスしたとき、そのときのアドレス
を含む、上位部分(3)と中位部分(4)によって指定
される主記憶のブロックの内容を、中位部分(4)で指
定されるキャッシュメモリ(1)のブロックに格納し、
上位部分(3)を前記の中位部分(4)で指定したキャ
ッシュメモリ(1)のブロックに対応するタグメモリ
(2)のエントリに書き込み、 次にアクセスしたとき、中位部分(3)でタグメモリ
(2)をアドレスしその内容が上位部分(3)と一致す
れば対応するキャッシュメモリ(1)の内容を読みだす
ように制御する1WAY型のキャッシュ回路において、 キャッシュ回路無効モードで、主記憶の全アドレスにそ
のアドレス値を書き込み(ステップ0)、 キャッシュ回路有効モードにして、アドレスの中位部分
(4)をH‘0’(16進数をH‘n’で表現する)と
し(ステップ1)、 アドレスの上位部分(3)をH‘0’として、主記憶を
リードして読みだしデータを保存し(ステップ2)、 アドレスの上位部分(3)を1ビット左シフトして、主
記憶をリードして読みだしたデータと先の保存データと
を比較して一致しないことを確認し、読みだしたデータ
を代わりに保存し(ステップ3)、 以下ステップ3を、上位部分(3)の最上位ビットが
‘1’になるまで繰り返し(ステップ4)、 次に、アドレスの中位部分(4)に1を加えて、ステッ
プ2からステップ4までを行い(ステップ5)、 以下ステップ5を中位部分(4)の最上位ビットが
‘1’になるまで繰り返すようにしたことを特徴とする
キャッシュ機能診断方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4239873A JPH0689199A (ja) | 1992-09-09 | 1992-09-09 | キャッシュ機能診断方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4239873A JPH0689199A (ja) | 1992-09-09 | 1992-09-09 | キャッシュ機能診断方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0689199A true JPH0689199A (ja) | 1994-03-29 |
Family
ID=17051153
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4239873A Withdrawn JPH0689199A (ja) | 1992-09-09 | 1992-09-09 | キャッシュ機能診断方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0689199A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006004419A (ja) * | 2004-06-14 | 2006-01-05 | Samsung Electronics Co Ltd | データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法 |
-
1992
- 1992-09-09 JP JP4239873A patent/JPH0689199A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006004419A (ja) * | 2004-06-14 | 2006-01-05 | Samsung Electronics Co Ltd | データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
| US20050182893A1 (en) | Controller for controlling nonvolatile memory | |
| JPH10207768A (ja) | エンジン動作中におけるフラッシュ・メモリにアクセスするための方法および装置 | |
| JPS61114353A (ja) | 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体 | |
| JPH04237349A (ja) | キャッシュメモリシステムおよびキャッシュメモリコントローラ | |
| JPH0689199A (ja) | キャッシュ機能診断方法 | |
| JPH0210446A (ja) | バッファ記憶装置 | |
| JPS6136670B2 (ja) | ||
| JP2972587B2 (ja) | キャッシュメモリの診断方法 | |
| JP3081635B2 (ja) | キャッシュメモリの無効化処理装置および無効化制御方法 | |
| JP3061818B2 (ja) | マイクロ・プロセッサ用アクセス・モニタ装置 | |
| KR100201671B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법 | |
| JPH0659900A (ja) | メモリ書込装置 | |
| JPS603769A (ja) | エラ−回復方法 | |
| JPH0223442A (ja) | メモリ制御装置 | |
| EP0460852A2 (en) | System for maintaining data coherency between main and cache memories | |
| JPS60129860A (ja) | アドレス指定例外検出方式 | |
| JPH02171944A (ja) | バッファ記憶装置 | |
| JPS62212751A (ja) | デ−タ処理装置 | |
| JPH0448263B2 (ja) | ||
| JPS62293582A (ja) | メモリ装置 | |
| JPH0341538A (ja) | 主記憶装置 | |
| JPH10320269A (ja) | 搭載メモリサイズの検出方法 | |
| JPH0548498B2 (ja) | ||
| JPH02219144A (ja) | ライト・バックアクセス時間を短縮したキャッシュメモリ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991130 |