JPH10333990A - キャッシュメモリの検査方法 - Google Patents

キャッシュメモリの検査方法

Info

Publication number
JPH10333990A
JPH10333990A JP10100617A JP10061798A JPH10333990A JP H10333990 A JPH10333990 A JP H10333990A JP 10100617 A JP10100617 A JP 10100617A JP 10061798 A JP10061798 A JP 10061798A JP H10333990 A JPH10333990 A JP H10333990A
Authority
JP
Japan
Prior art keywords
cache memory
inspection
data
memory
cache
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
JP10100617A
Other languages
English (en)
Inventor
Sokuman Ju
ソクマン ジュ
Kenkei Kyo
賢奎 許
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH10333990A publication Critical patent/JPH10333990A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 多重処理システムのキャッシュメモリの検
査方法を提供する。 【解決手段】 キャッシュメモリの検査方法は,キャッ
シュメモリを,キャッシュメモリの検査のための検査領
域400と,検査プログラムが格納されるコード領域4
10とに区分する工程と,共有メモリに格納される検査
プログラムをキャッシュメモリ内の検査プログラム領域
に対応させる工程と,共有メモリに格納された検査プロ
グラムを読み出す工程と,キャッシュメモリのコード領
域に検査プログラムを格納する工程と,検査プログラム
を実行する工程とを含む。検査領域とコード領域とに区
分することにより,検査領域のみを集中的に検査するこ
とができる。さらに,キャッシュメモリと共有メモリと
の間のすべてのバスサイクルを,検査に加わったすべて
のプロセッサモジュールが順次に同期を合わせて発生さ
せるので,検査プログラムの信頼性が高まる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,キャッシュメモリ
の検査方法にかかり,特に,各々がキャッシュメモリを
備える複数のプロセッサモジュールと,プロセッサモジ
ュールの共有データを格納する1または2以上の共有メ
モリとがバスを介して接続される多重処理システムにお
けるキャッシュメモリの検査方法に関する。
【0002】
【従来の技術】コンピュータシステムにおいて,コンピ
ュータの命令を実行するのに要する時間(以下,「実行
時間」と称する。)には,命令を主記憶装置から取り出
して,制御装置へ持ってくる時間や,持ってきた命令が
何であるかを調べる時間や,命令の対象となるデータを
主記憶装置から取り出し,制御装置へ持ってくる時間
や,命令を実行する時間などが含まれる。近年の高度技
術化により,命令を実行する時間は非常に短いものとな
っているが,主記憶装置のアクセスタイムが長ければ,
全体としての実行時間は長くなってしまう。
【0003】ところが,アクセスタイムの短い主記憶装
置は高価であり,特に主記憶装置の容量が非常に大きく
なったときには,その価格は非常に高価なものとなる。
そこで,制御装置と主記憶装置との間にアクセスタイム
の短い記憶装置(以下「キャッシュメモリ」と称す
る。)を置くことが行われている。主記憶装置内のデー
タ等の一部をキャッシュメモリに入れておけば,実行時
間を短くすることが可能である。
【0004】一般に,二つ以上のプロセッサモジュール
が主記憶装置を共通に使うことによって動作しているシ
ステムのことを多重処理システムという。多重処理シス
テムにおいても,上記と同様の理由により,各プロセッ
サモジュール内にキャッシュメモリを搭載することが一
般化している。なお,多重処理システムにおけるキャッ
シュメモリには,プロセッサモジュール間で共通に用い
られるデータを入れておくことがある。
【0005】ところで,プロセッサモジュール間で共通
に用いられるキャッシュメモリ内のデータを変更する場
合には,キャッシュメモリのデータの一貫性の維持のた
め,他のプロセッサがこれを認識できるようにすべきで
ある。さらに,プロセッサモジュールが共有データが格
納された記憶装置(以下,「共有メモリ」と称する。)
より読み取ったデータを自分のキャッシュメモリに入れ
てからこれを変更した場合には,他のプロセッサが変更
されたデータを共有メモリに対し要求している否かを常
に監視していなければならない。
【0006】すなわち,プロセッサモジュールAが,プ
ロセッサモジュールBによって変更されたデータを共有
メモリから読み出そうとする場合,変更されたデータを
有しているプロセッサモジュールBは,まずプロセッサ
モジュールAが共有メモリにアクセスするのを抑止し,
プロセッサモジュールBが変更したデータを共有メモリ
に先に書き込まなければならない。その後,プロセッサ
モジュールAは共有メモリに改めてアクセスする。この
ようなキャッシュメモリのデータ一貫性にかかわる処理
は極めて複雑であり,しかもその動作は安定的に行われ
ねばならない。
【0007】従って,キャッシュメモリを効率よく,か
つ精度よく検査することは,システムの安定化のみなら
ず,開発期間の短縮面においても極めて重要なことであ
り,効率よく,かつ精度よいキャッシュメモリの検査方
法が要請される。以下では,一般的に行われるキャッシ
ュメモリの検査方法について説明する。
【0008】図1は,一般的な多重処理システムの構造
を示すものであり,複数のプロセッサモジュール100
−1,100−2,・・・と,入出力プロセッサモジュ
ール110と,共有メモリ120とがシステムバス13
0を通じて互いに接続されている。各プロセッサモジュ
ールは,中央処理装置(以下,「CPU」と称する)1
02−1,102−2,・・・と,キャッシュメモリ1
04−1,104−2,・・・と,を含み,共有メモリ
120には検査プログラム122が格納されている。
【0009】通常,キャッシュメモリ104の検査は以
下のように行われる。まず,キャッシュメモリ104を
検査するための検査プログラム122を共有メモリ12
0より読み出し,キャッシュメモリ104に格納する。
このとき,キャッシュメモリ104には,検査プログラ
ムが格納されるコード領域と,検査を行う検査領域とが
混在することになる。その後,検査プログラムを実行
し,キャッシュメモリ104の検査を行う。この際,検
査プログラムが実行されている途中で,検査プログラム
が格納されたコード領域にデータが書き込まれることが
ある。この場合には,検査プログラムが壊されてしま
う。キャッシュメモリ検査を続けるためには,CPU1
02は共有メモリ120より検査プログラム122を再
び読み出さなければならない。このように,従来のキャ
ッシュメモリの検査方法には,キャッシュメモリ104
を検査するのに多くの時間を要するという問題があっ
た。
【0010】さらに,キャッシュメモリの検査が正しく
行われるには,上述したように,キャッシュメモリのデ
ータ一貫性を保つ必要があり,そのための制御が複雑に
なるという問題があった。
【0011】
【発明が解決しようとする課題】本発明は,従来のキャ
ッシュメモリの検査方法が有する上記問題点に鑑みてな
されたものであり,本発明の目的は,効率よく,かつ精
度よくキャッシュメモリを検査することの可能な,新規
かつ改良されたキャッシュメモリを提供することであ
る。
【0012】
【課題を解決するための手段】上記課題を解決するた
め,請求項1の記載によれば,各々がキャッシュメモリ
を備える複数のプロセッサモジュールと,該プロセッサ
モジュールの共有データを格納する1または2以上の共
有メモリとを共通バスを介して接続して成る多重処理シ
ステムのキャッシュメモリの検査方法であって,キャッ
シュメモリを,キャッシュメモリの検査のための検査領
域と,キャッシュメモリの検査プログラムが格納される
コード領域とに区分する工程と,共有メモリを,各プロ
セッサモジュール数に対応する領域に区分する工程と,
共有メモリに格納される検査プログラムとキャッシュメ
モリのコード領域とを対応させる工程と,共有メモリに
格納された検査プログラムを読み出す工程と,キャッシ
ュメモリのコード領域に検査プログラムを格納する工程
と,検査プログラムを実行する工程とを含むことを特徴
とする,キャッシュメモリの検査方法が提供される。
【0013】かかる検査方法によれば,キャッシュメモ
リを,検査プログラムが格納される領域と,検査を行う
領域とに区分する工程を含むことにより,検査プログラ
ムの格納される領域にデータが書き込まれることがなく
なり,検査プログラムを壊すことがなくなる。従って,
再び検査プログラムを読み出すといった不都合が生じる
ことがなくなり,検査時間を短縮することが可能であ
る。
【0014】さらに,検査プログラムは,請求項2に記
載のように,検査プログラムを起動するプログラム実行
モジュールと,キャッシュメモリのデータ一貫性の維持
のためのプロトコルを満たしつつ,キャッシュメモリを
検査するため,キャッシュメモリの状態に応じてキャッ
シュメモリと共有メモリとの間でハードウェアに最大の
負荷を加えるよう所定のバスサイクルを発生する検査プ
ログラムモジュールとを具備してもよい。
【0015】さらに好ましくは,各キャッシュメモリ間
のデータの一貫性のために,請求項3に記載のように,
中央演算装置がデータ書き込み命令を実行したときに
は,キャッシュメモリにのみ該データを書き込み,共有
メモリには該データを書き込まないライトバック方式を
採用し,共通バスは,アドレスを指定するバスと,デー
タを転送するバスとを別個に設け,多重処理システム
は,共通バスを監視し,プロセッサモジュールがキャッ
シュメモリのデータにアクセスするのを検知するキャッ
シュコントローラを備え,キャッシュメモリのデータ更
新には,参照されたのが最も古いデータを新しいデータ
に更新する方式を採用するよう構成される。
【0016】かかる検査方法によれば,各キャッシュメ
モリ間のデータの一貫性を維持することが可能であり,
検査プログラムの信頼性を高めることが可能である。
【0017】また,多重処理システムは,請求項4に記
載のように,キャッシュメモリの検査に加わったプロセ
ッサモジュール数を決めるとともに,プロセッサモジュ
ール間に同期化を行う同期化部を備えるようにしてもよ
く,同期化部の同期化は,請求項6に記載のように,各
プロセッサモジュールに所定の一連番号が付す工程と,
共有メモリの特定の領域に格納された同期化フラグ値を
初期化する工程と,同期化フラグ値を,検査が行われる
プロセッサモジュール数として設定する工程と,各プロ
セッサモジュールは,同期化フラグ値がプロセッサモジ
ュールの一連番号と一致するかを判断し,一致した場合
には,同期化フラグ値を所定値だけ減じ,一致しない場
合には,同期化フラグ値が初期化したときの値と一致す
るまで該プロセッサモジュールの検査を行う工程とを含
むようにしてもよい。
【0018】かかる検査方法によれば,キャッシュメモ
リと共有メモリとの間で生じうるすべてのバスサイクル
を,検査に加わったすべてのプロセッサモジュールが順
次に同期をあわせて発生させるので,検査プログラムの
信頼性を高めることが可能である。
【0019】さらに,多重処理システムは,請求項5に
記載のように,キャッシュメモリの検査の最中にエラー
が生じた場合,関連情報を格納及び管理するためのエラ
ー処理部を備えていてもよい。かかる検査方法によれ
ば,容易にエラー処理を行うことが可能であり,検査プ
ログラムの信頼性が高まる。
【0020】
【発明の実施の形態】以下に添付図面を参照しながら,
本発明にかかるキャッシュメモリの検査方法の好適な実
施の形態について詳細に説明する。なお,本明細書及び
図面において,実質的に同一の機能構成を有する構成要
素については,同一の符号を付することにより重複説明
を省略する。
【0021】キャッシュメモリは,データを保持するデ
ータ領域と,データのアドレスやアクセス履歴を保持す
るタグ領域から成る。どちらの領域も複数のブロックに
分割して管理され,データ領域のブロックとタグ領域の
ブロックとは一対一で対応している。データ領域を構成
する各ブロックを特にラインと呼び,その大きさをライ
ン・サイズと呼ぶ。キャッシュメモリと,共有メモリと
の間のデータ転送はライン単位で行う。1ビットのデー
タが必要な場合でも,ライン全体のデータをやりとりす
る。このため,キャッシュメモリとCPUや共有メモリ
との間のデータ転送はすべてライン・サイズを最小単位
として行われることになる。
【0022】キャッシュメモリ設計において重要な要素
の一つとしては,共有メモリのラインをキャッシュメモ
リのラインにマッピングする関数が挙げられる。例え
ば,キャッシュメモリが16KB,共有メモリが16M
Bの大きさを有しており,ライン・サイズが4ビットで
あるとすれば,キャッシュメモリは4K個のラインを有
し,かつ共有メモリは4M個のブロックを有することに
なる。従って,共有メモリの4M個のラインをキャッシ
ュメモリの4Kのラインにマッピングするには所定のア
ルゴリズムが必要となる。
【0023】共有メモリ上のデータをキャッシュメモリ
中のラインに対応付ける方式にはいくつかあり,ダイレ
クト・マッピング(direct mapping)方
式,フル・アソシアティブ(full associa
tive)方式,及びセット・アソシアティブ(set
associative)方式の3種類が挙げられ
る。
【0024】ダイレクト・マッピング方式は,最も基本
的な概念であって,共有メモリのあるラインのデータが
キャッシュメモリのどのラインに置かれるかが常に決ま
っているマッピング方式である。ダイレクト・マッピン
グ方式は,キャッシュメモリの走査時間が短いという長
所があるが,一つのプログラムが,キャッシュメモリの
同じラインにマッピングされる共有メモリのデータを繰
り返して読み出す必要がある場合には,キャッシュメモ
リの内容を更新する必要が生じ,キャッシュメモリと共
有メモリとのデータの転送に時間を要するため,処理時
間がかかるという問題がある。
【0025】フル・アソシアティブ方式は,ダイレクト
・マッピング方式の欠点を解消する方式であり,共有メ
モリの任意のラインのデータがキャッシュメモリの任意
のラインに格納できるようにマッピングされる。従っ
て,キャッシュメモリの内容を更新することが比較的容
易である。しかし,キャッシュメモリの全ラインを走査
するのに時間がかかるという問題がある。
【0026】セット・アソシアティブ方式は,ダイレク
ト・マッピング方式とフル・アソシアティブ方式の長所
のみを採用したものである。キャッシュメモリと主記憶
を複数のセット(ラインの集合)に分割し,主記憶上の
あるデータは,各セット中の決められたラインにだけし
か置けないという方式である。各セット中のどのライン
にデータを置けるかは後述する。なお,セット・アソシ
アティブ方式でセット数がn個のとき,nウエイ・セッ
ト・アソシアティブ(n−way set assoc
iative)方式と呼ぶ。上述のダイレクト・マッピ
ング方式は,1ウエイ・セット・アソシアティブ方式で
ある。
【0027】3種類のマッピング技術に適用できるマッ
ピング関数は以下の(式1)のように表される。 (式1) Lt =(Ag /L)mod(Sc /(L*W)) ここで,modは,AmodBという形で,AをBで除
したときの余りを表す。また,Lt はデータが格納され
るべきキャッシュメモリのライン番号を表し,Ag は共
有メモリのアドレス幅を表し,Sc はキャッシュメモリ
のアドレス幅を表し,Lは1ラインのアドレス幅を表
し,またWはキャッシュメモリのセット数(例えば,ダ
イレクト・マッピング方式ならW=1,また,2ウエイ
・セット・アソシアティブ方式ならW=2)をそれぞれ
表している。
【0028】図2は,(式1)を用いて共有メモリのデ
ータがキャッシュメモリにマッピングされる例を示した
ものである。なお,1ラインのアドレス幅L=64Bと
する。共有メモリのアドレス幅Ag =8KB(8192
B)とすると,共有メモリのライン数は,Ag /L=1
28である(ライン番号0〜127で表す。)。また,
キャッシュメモリのアドレス幅Sc =1KB(1024
B)とすると,キャッシュメモリのライン数は,Sc
L=16である(ライン番号0〜15で表す。)。
【0029】図2(A)では,共有メモリのライン番号
24(アドレス1536〜1599)のデータ及びライ
ン番号25(アドレス1600〜1663)のデータが
ダイレクト・マッピング方式によってキャッシュメモリ
にマッピングされる工程を示している。ダイレクト・マ
ッピング方式においては,1セットのライン数W=1で
あるから,共有メモリのライン番号24のデータは(式
1)より,24mod16=8であるから,キャッシュ
メモリのライン番号8に格納されることになる。同様
に,共有メモリのライン番号25のデータは(式1)よ
り,25mod16=9であるから,キャッシュメモリ
のライン番号9に格納されることになる。
【0030】図2(B)では,共有メモリのライン番号
24(アドレス1536〜1599)のデータ及びライ
ン番号25(アドレス1600〜1663)のデータが
2ウエイ・セット・アソシアティブ方式によってキャッ
シュメモリにマッピングされる工程を示している。2ウ
エイ・セット・アソシアティブ方式においては,1セッ
トのライン数W=2であるから,共有メモリのライン番
号24のデータは(式1)より,24mod(16/
2)=0であるから,キャッシュメモリのライン番号0
またはライン番号8に格納されることになる。同様に,
共有メモリのライン番号25のデータは(式1)より,
25mod(16/2)=1であるから,キャッシュメ
モリのライン番号1またはライン番号9に格納されるこ
とになる。
【0031】図3は,本発明に係るキャッシュメモリ検
査方法の適用される多重処理システムの構成を示したブ
ロック図であり,プロセッサ102−1,・・・,10
2−m,及び,キャッシュメモリ104−1,・・・1
04−mをそれぞれ備えたプロセッサモジュール100
−1,・・・,100−mと,プロセッサ112−1,
・・・,112−n,及び,局部メモリ114−1,・
・・,114−nをそれぞれ備えた入力/出力プロセッ
サ110−1,・・・,110−nと,共有メモリ12
0と,がシステムバス130を介して接続されている。
【0032】システムバス130は,アドレスサイクル
とデータサイクルを区別して使用する。また,キャッシ
ュの設計を難しくしている点の一つに,キャッシュメモ
リ内のデータと共有メモリ上のデータの一貫性を確保す
ることがある。他のプロセッサモジュールが共有メモリ
にアクセスし,キャッシュの知らない間にその内容を変
更できたとしたら,特に難しい問題となってくる。本実
施の形態では,キャッシュメモリ内のデータと共有メモ
リ上のデータの一貫性を確保する方法として,キャッシ
ュコントローラがバスを監視(「スヌーピング(sno
oping)」とも呼ばれる。)し,他のプロセッサモ
ジュールがキャッシュメモリにあるデータにアクセスす
るのを検知できるように,キャッシュコントローラを設
計する方法を用いる。
【0033】キャッシュメモリ内のデータは最終的には
共有メモリに書き込まなければならないが,本発明で
は,各キャッシュメモリ間のデータの一貫性を維持する
ため,書き込み方式としてライトバック(write
back)方式を採用する。ライトバック方式とは,C
PUがデータ書き込み命令を実行したときは,キャッシ
ュメモリにだけデータを書き込んで,共有メモリにはデ
ータを書き込まないという方式である。共有メモリへの
データの書き込みは,キャッシュメモリのうち該当する
ラインが更新される時点で行う。ライトバック方式を採
用することにより,共有メモリへのアクセス頻度を少な
くし,バスの使用率を低くすることができるため,シス
テム性能は上がる。ただし,キャッシュメモリに要求す
るデータが存在しない場合には,共有メモリからキャッ
シュデータへのデータ読み出しと共有メモリの内容の更
新を同時に行わなければならない。
【0034】キャッシュメモリ内のデータの更新には,
LRU(Least recently used)方
式を採用する。LRU方式とは,参照されたのが最も古
いデータを新しいデータに更新する方式である。
【0035】本発明に係るキャッシュメモリ検査方法
は,まず,キャッシュメモリをキャッシュメモリ検査の
ための検査領域とキャッシュメモリ検査プログラムの位
置するコード領域とに区分する。次いで,共有メモリ上
に格納される検査プログラムをキャッシュメモリ内の検
査プログラム領域に対応するよう配置させる。
【0036】図4は,ダイレクト・マッピング方式を用
いるキャッシュメモリにおける領域区分と共有メモリに
おける検査プログラムの位置を示すものであり,キャッ
シュメモリの領域は,検査領域400とコード領域41
0とに区分される。ここで,キャッシュメモリ検査の条
件としては,キャッシュメモリの大きさSc は1MB,
共有メモリの大きさSM は1GBとなっている。さら
に,ダイレクト・マッピング方式における実検査空間S
t は768KBであり,コード空間Si は256KBで
ある。
【0037】図5は,2ウエイ・セット・アソシアティ
ブ方式を用いるキャッシュメモリにおける領域区分と共
有メモリにおける検査プログラムの位置を示すものであ
り,ここで,キャッシュメモリ検査の条件は図4の場合
と同一であるが,図5に示したように,2ウエイ・セッ
ト・アソシアティブにおける実検査空間St は512K
Bで,コード空間Si は512KBである。
【0038】以上のように,キャッシュメモリの領域を
区分し,区分された領域に対応するよう共有メモリに検
査プログラムを位置させれば,キャッシュメモリの検査
効率を最大化することができ,これによりキャッシュメ
モリ検査の最中にキャッシュメモリフラッシュによる不
要なキャッシュ関連バスサイクルを生じなくて済む。
【0039】一方,図4及び図5のように,検査プログ
ラムを共有メモリに位置させた後,共有メモリに格納さ
れた検査プログラムを読み出し,キャッシュメモリのコ
ード領域に格納してから検査プログラムを実行し,検査
プログラムにプログラミングされた検査の手順に沿って
キャッシュメモリを検査する。
【0040】これにつきさらに詳しく述べると,キャッ
シュメモリを検査するマスタは他の全モジュールが一律
にキャッシュメモリ検査を進めるよう同期化を行う。こ
の際,全モジュールのキャッシュ機能に対する検査が共
有メモリに基づいて行われる。検査の最中にエラーが生
じたとすれば,エラーの生じたモジュールがエラー関連
情報を共有メモリに所定の形態で格納させる。マスタ
は,各同期化時点毎にエラーが生じたかを点検し,エラ
ーが生じた場合には,すべてのモジュールにキャッシュ
メモリの検査を停止させ,エラーの生じた状況と関連情
報を出力装置に表示することによって,使用者がそれに
即した処置を行うようにする。
【0041】図6は,キャッシュ検査のための機能ブロ
ック別の全体的な流れ図である。キャッシュ検査用のプ
ログラムは,使用者インタフェース部,検査プログラム
部,同期化部及びエラー処理部からなる。使用者インタ
フェース部は検査プログラムを起動するプログラム実行
部を具備し,使用者から入力されたキャッシュメモリ関
連情報を受け取って初期化する(ステップS600)。
キャッシュメモリ関連情報としては,キャッシュメモリ
の大きさ,ラインの大きさ,キャッシュマッピング方
式,共有メモリの開始アドレスと終了アドレスなどが挙
げられる。
【0042】図7は,使用者インタフェース部の動作フ
ローを示すものである。まず,割り込みを与えることに
より各プロセッサモジュールを一時的に動作控え状態に
する(ステップS700)。次いで,各プロセッサモジ
ュールが装着されるスロットに対した構成を生成する
(ステップS710)。その後,使用者がキャッシュマ
ッピング方式を選択すれば(ステップS720),共有
メモリにコードを再配置し(ステップS730),検査
領域を設定する(ステップS740)。次に,キャッシ
ュメモリ検査の繰返し回数を決めてから(ステップS7
50),キャッシュメモリ検査のためのメニューをディ
スプレーする(ステップS760)。
【0043】同期化部は,キャッシュメモリ検査に加わ
ったプロセッサモジュール数を決め,キャッシュメモリ
の検査効率を最大にするため,プロセッサモジュール間
に同期化を行う(ステップS610,S630)。図8
は,同期化部における同期化を行う動作を示す流れ図で
ある。まず,共有メモリに特定の領域を与えて同期化を
示す同期化フラグ値を格納し,始めは0に初期化する
(ステップS800)。次いで,キャッシュメモリを検
査するマスタが同期化フラグ値を読み出した上で,同期
化フラグ値が0であるか検査する(ステップS80
5)。もし0でなければ同期化エラーと処理し(ステッ
プS815),同期化フラグ値が0であれば,マスタは
同期化フラグ値をモジュールRQ数として設定する(ス
テップS820)。ここで,RQとは多重処理システム
においてシステムバス使用を要求できるバスマスタ役割
を果たすプロセッサモジュールを言い,各RQモードに
は一連番号が付されている。例えば,RQが5つなら
ば,各RQは1から5までの一連番号を有することにな
る。一方,各RQは自身の一連番号と同期化フラグ値が
一致するかを比較し(ステップS825),一致すれば
(ステップS830),同期化フラグ値を1だけ減じる
(ステップS835)。このように各RQにより同期化
フラグ値が0となるまでチェックし続け,同期化を完成
する(ステップS840,845)。
【0044】検査プログラム部は,各キャッシュメモリ
間のデータの一貫性を維持しつつ,キャッシュメモリを
検査するため,キャッシュメモリの状態に応じてキャッ
シュメモリと共有メモリとの間で所定のバスサイクルを
生じる(ステップS620)。
【0045】エラー処理部は,検査の最中にエラーが生
じれば(ステップS640),関連情報を格納及び管理
する(ステップS650)。検査プログラム部により検
査が進めば,すべての処理装置はデータ比較エラー,バ
スサイクルエラーなどの場合に対しプログラム実行をエ
ラー処理部に伝送する。そうすると,エラー処理部はエ
ラー状況にかかわる情報を共有メモリの特定の領域に所
定の形態で格納させる。
【0046】以上,添付図面を参照しながら本発明にか
かるキャッシュメモリの検査方法の好適な実施形態につ
いて説明したが,本発明はかかる例に限定されない。当
業者であれば,特許請求の範囲に記載された技術的思想
の範疇内において各種の変更例または修正例に想到し得
ることは明らかであり,それらについても当然に本発明
の技術的範囲に属するものと了解される。
【0047】
【発明の効果】本発明によれば,キャッシュ領域の全面
を検査領域と検査プログラム領域とに区分することによ
って,検査領域のみを集中的に検査でき,よって検査性
能が飛躍的に向上する。
【0048】さらに,キャッシュと共有メモリとの間で
生じ得る全てのバスサイクルを,検査に加わった全ての
プロセッサモジュールが順次に同期を合わせて発生させ
るので,検査プログラムの信頼性を高めることが可能で
ある。
【0049】さらに,ライトバック方式を採用したの
で,共有メモリへのアクセス頻度を少なくし,共通バス
の使用率を低くすることができるため,システム効率を
上げることが可能である。
【図面の簡単な説明】
【図1】多重処理システムの構造を示す説明図である。
【図2】(式1)を用いて共有メモリのデータがキャッ
シュメモリにマッピングされる一例を示す説明図であ
る。
【図3】本発明に係るキャッシュメモリ検査方法が適用
される好ましい多重処理システムの構成を示したブロッ
ク図である。
【図4】ダイレクト・マッピング方式を用いるキャッシ
ュメモリにおける領域区分と共有メモリにおける検査プ
ログラムの位置を示す説明図である。
【図5】2ウエイ・セット・アソシアティブ方式を用い
たキャッシュメモリにおける領域区分と共有メモリにお
ける検査プログラムの位置を示すための説明図である。
【図6】キャッシュ検査のための機能ブロック別の全体
的な流れ図である。
【図7】使用者インタフェース部の動作を示す流れ図で
ある。
【図8】同期化部における同期化を行う動作を示す流れ
図である。
【符号の説明】
400 検査領域 410 コード領域 St 検査領域のアドレス Sc キャッシュメモリのアドレス幅 Sm 共有メモリのアドレス幅

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 各々が中央演算装置及びキャッシュメモ
    リを備える複数のプロセッサモジュールと,該プロセッ
    サモジュールの共有データを格納する1または2以上の
    共有メモリとを共通バスを介して接続して成る多重処理
    システムのキャッシュメモリの検査方法であって,前記
    キャッシュメモリを,前記キャッシュメモリの検査のた
    めの検査領域と,前記キャッシュメモリの検査プログラ
    ムが格納されるコード領域と,に区分する工程と,前記
    共有メモリを,前記各プロセッサモジュール数に対応す
    る領域に区分する工程と,前記共有メモリに格納される
    検査プログラムと前記キャッシュメモリのコード領域と
    を対応させる工程と,前記共有メモリに格納された検査
    プログラムを読み出す工程と,前記キャッシュメモリの
    コード領域に前記検査プログラムを格納する工程と,前
    記検査プログラムを実行する工程と,を含むことを特徴
    とする,キャッシュメモリの検査方法。
  2. 【請求項2】 前記検査プログラムは,前記検査プログ
    ラムを起動するプログラム実行モジュールと,前記キャ
    ッシュメモリのデータ一貫性の維持のためのプロトコル
    を満たしつつ,前記キャッシュメモリを検査するため,
    前記キャッシュメモリの状態に応じて前記キャッシュメ
    モリと共有メモリとの間でハードウェアに最大の負荷を
    加えるよう所定のバスサイクルを発生する検査プログラ
    ムモジュールとを具備することを特徴とする,請求項1
    に記載のキャッシュメモリの検査方法。
  3. 【請求項3】 前記中央演算装置がデータ書き込み命令
    を実行したときには,前記キャッシュメモリにのみ該デ
    ータを書き込み,前記共有メモリには該データを書き込
    まないライトバック方式を採用し,前記共通バスは,ア
    ドレスを指定するバスと,データを転送するバスとを別
    個に設け,前記多重処理システムは,前記共通バスを監
    視し,前記プロセッサモジュールが前記キャッシュメモ
    リのデータにアクセスするのを検知するキャッシュコン
    トローラを備え,前記キャッシュメモリのデータ更新に
    は,参照されたのが最も古いデータを新しいデータに更
    新する方式を採用することを特徴とする,請求項1また
    は2に記載のキャッシュメモリの検査方法。
  4. 【請求項4】 前記多重処理システムは,前記キャッシ
    ュメモリの検査に加わったプロセッサモジュール数を決
    めるとともに,前記プロセッサモジュール間に同期化を
    行う同期化部を備えたことを特徴とする,請求項1,2
    または3のいずれかに記載のキャッシュメモリの検査方
    法。
  5. 【請求項5】 前記多重処理システムは,前記キャッシ
    ュメモリの検査の最中にエラーが生じた場合,関連情報
    を格納及び管理するためのエラー処理部を備えたことを
    特徴とする,請求項1,2,3または4のいずれかに記
    載のキャッシュメモリの検査方法。
  6. 【請求項6】 前記同期化部の同期化は,前記各プロセ
    ッサモジュールに所定の一連番号が付す工程と,前記共
    有メモリの特定の領域に格納された同期化フラグ値を初
    期化する工程と,前記同期化フラグ値を,検査が行われ
    る前記プロセッサモジュール数として設定する工程と,
    前記各プロセッサモジュールは,前記同期化フラグ値が
    前記プロセッサモジュールの一連番号と一致するかを判
    断し,一致した場合には,前記同期化フラグ値を所定値
    だけ減じ,一致しない場合には,前記同期化フラグ値が
    初期化したときの値と一致するまで該プロセッサモジュ
    ールの検査を行う工程と,を含むことを特徴とする,請
    求項4に記載のキャッシュメモリの検査方法。
JP10100617A 1997-05-28 1998-03-26 キャッシュメモリの検査方法 Pending JPH10333990A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019970021336A KR100230454B1 (ko) 1997-05-28 1997-05-28 다중처리 시스템의 캐시메모리 검사방법
KR1997P21336 1997-05-28

Publications (1)

Publication Number Publication Date
JPH10333990A true JPH10333990A (ja) 1998-12-18

Family

ID=19507546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10100617A Pending JPH10333990A (ja) 1997-05-28 1998-03-26 キャッシュメモリの検査方法

Country Status (4)

Country Link
US (1) US6170070B1 (ja)
JP (1) JPH10333990A (ja)
KR (1) KR100230454B1 (ja)
CN (1) CN1129076C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113734A (ja) * 2003-07-31 2010-05-20 Intel Corp プロセッサ間割り込み

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3288304B2 (ja) * 1998-07-01 2002-06-04 富士通株式会社 キャッシュ試験装置およびキャッシュ試験方法
US6446241B1 (en) * 1999-07-15 2002-09-03 Texas Instruments Incorporated Automated method for testing cache
US20030212935A1 (en) * 2002-05-09 2003-11-13 Roark Rodney W. Circuit and method for accelerating the test time of a serial access memory device
US7155637B2 (en) 2003-01-31 2006-12-26 Texas Instruments Incorporated Method and apparatus for testing embedded memory on devices with multiple processor cores
US20050066248A1 (en) * 2003-09-18 2005-03-24 Reid Hayhow Methods and systems for determining memory requirements for device testing
US8769361B2 (en) * 2003-10-07 2014-07-01 Advantest (Singapore) Pte Ltd Cost estimation for device testing
DE102004009497B3 (de) * 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
KR20050120341A (ko) * 2004-06-18 2005-12-22 엘지전자 주식회사 다중 씨피유에서의 메모리 카드 공유 장치
US20060015776A1 (en) * 2004-07-16 2006-01-19 Yu-Mei Lee Built-in computer power-on memory test method
US7587635B2 (en) * 2004-10-04 2009-09-08 Cisco Technology, Inc. Method of debugging “active” unit using “non-intrusive source-level debugger” on “standby” unit of high availability system
US20060143401A1 (en) * 2004-12-27 2006-06-29 Jacob Doweck Method and apparatus for prefetching based on cache fill buffer hits
JP5068188B2 (ja) * 2008-01-21 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリのテストを実行する方法、コンピュータ・プログラム、およびシステム
US8176362B2 (en) * 2008-03-24 2012-05-08 International Business Machines Corporation Online multiprocessor system reliability defect testing
US8868975B2 (en) * 2011-07-26 2014-10-21 International Business Machines Corporation Testing and operating a multiprocessor chip with processor redundancy
WO2013103877A1 (en) * 2012-01-05 2013-07-11 Unisys Corporation Method and system for testing a cache memory architecture
CN102722467A (zh) * 2012-05-31 2012-10-10 深圳市江波龙电子有限公司 一种多处理器设备及其程序运行方法
KR101477017B1 (ko) * 2013-03-29 2014-12-29 주식회사 알티베이스 공유메모리 내의 인덱스 운용 장치 및 방법
WO2016003417A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Access cache line from lower level cache
CN106294033B (zh) * 2015-05-13 2019-06-21 阿里巴巴集团控股有限公司 一种多机房缓存同步功能的测试方法及装置
JP2017097633A (ja) * 2015-11-25 2017-06-01 日立オートモティブシステムズ株式会社 車両制御装置
CN109214616B (zh) 2017-06-29 2023-04-07 上海寒武纪信息科技有限公司 一种信息处理装置、系统和方法
CN109426553A (zh) 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器
WO2019001418A1 (zh) 2017-06-26 2019-01-03 上海寒武纪信息科技有限公司 数据共享系统及其数据共享方法
CN110413551B (zh) 2018-04-28 2021-12-10 上海寒武纪信息科技有限公司 信息处理装置、方法及设备
CN109117415B (zh) * 2017-06-26 2024-05-14 上海寒武纪信息科技有限公司 数据共享系统及其数据共享方法
KR102648790B1 (ko) * 2018-12-19 2024-03-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11847090B1 (en) * 2022-06-21 2023-12-19 Winbond Electronics Corporation SPI bus synchronization

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
US4783736A (en) 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
JPH0221342A (ja) 1987-02-27 1990-01-24 Hitachi Ltd マルチプロセッサシステム及びマルチプロセッサシステムにおける論理キャッシュメモリのアクセス方法
US5247649A (en) 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US4905141A (en) 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US4982402A (en) * 1989-02-03 1991-01-01 Digital Equipment Corporation Method and apparatus for detecting and correcting errors in a pipelined computer system
JPH0359741A (ja) 1989-07-28 1991-03-14 Mitsubishi Electric Corp キャッシュメモリ
US5073891A (en) * 1990-02-14 1991-12-17 Intel Corporation Method and apparatus for testing memory
JPH0799508B2 (ja) 1990-10-15 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
US5493668A (en) 1990-12-14 1996-02-20 International Business Machines Corporation Multiple processor system having software for selecting shared cache entries of an associated castout class for transfer to a DASD with one I/O operation
US5634027A (en) 1991-11-20 1997-05-27 Kabushiki Kaisha Toshiba Cache memory system for multiple processors with collectively arranged cache tag memories
US5355471A (en) * 1992-08-14 1994-10-11 Pyramid Technology Corporation Multiprocessor cache coherency tester that exercises the coherency logic exhaustively and also detects errors in a processor using an automatic CPU sort
GB2275119B (en) 1993-02-03 1997-05-14 Motorola Inc A cached processor
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
US5533196A (en) * 1994-01-31 1996-07-02 Intel Corporation Method and apparatus for testing for a sufficient write voltage level during power up of a SRAM array
US5537635A (en) 1994-04-04 1996-07-16 International Business Machines Corporation Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
US5638382A (en) 1994-06-29 1997-06-10 Intel Corporation Built-in self test function for a processor including intermediate test results
US5671231A (en) 1994-07-07 1997-09-23 Dell Usa, L.P. Method and apparatus for performing cache snoop testing on a cache system
US5644751A (en) 1994-10-03 1997-07-01 International Business Machines Corporation Distributed file system (DFS) cache management based on file access characteristics
US5651134A (en) 1994-10-26 1997-07-22 Ncr Corporation Method for configuring a cache memory to store only data, only code, or code and data based on the operating characteristics of the application program
US5644705A (en) * 1995-01-11 1997-07-01 International Business Machines Corporation Method and apparatus for addressing and testing more than two ATA/IDE disk drive assemblies using an ISA bus
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5784382A (en) * 1995-03-01 1998-07-21 Unisys Corporation Method and apparatus for dynamically testing a memory within a computer system
US5592616A (en) 1995-06-07 1997-01-07 Dell Usa, Lp Method for performing efficient memory testing on large memory arrays using test code executed from cache memory
US5539878A (en) * 1995-06-16 1996-07-23 Elonex Technologies, Inc. Parallel testing of CPU cache and instruction units
EP0762280B1 (en) * 1995-08-30 2001-11-14 Motorola, Inc. Data processor with built-in emulation circuit
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
US5592432A (en) * 1995-09-05 1997-01-07 Emc Corp Cache management system using time stamping for replacement queue
US5793941A (en) * 1995-12-04 1998-08-11 Advanced Micro Devices, Inc. On-chip primary cache testing circuit and test method
US5740353A (en) * 1995-12-14 1998-04-14 International Business Machines Corporation Method and apparatus for creating a multiprocessor verification environment
US5666513A (en) 1996-01-05 1997-09-09 Unisys Corporation Automatic reconfiguration of multiple-way cache system allowing uninterrupted continuing processor operation
US5677913A (en) 1996-07-01 1997-10-14 Sun Microsystems, Inc. Method and apparatus for efficient self testing of on-chip memory
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5958072A (en) * 1997-01-13 1999-09-28 Hewlett-Packard Company Computer-system processor-to-memory-bus interface having repeating-test-event generation hardware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113734A (ja) * 2003-07-31 2010-05-20 Intel Corp プロセッサ間割り込み

Also Published As

Publication number Publication date
CN1200513A (zh) 1998-12-02
US6170070B1 (en) 2001-01-02
CN1129076C (zh) 2003-11-26
KR19980085278A (ko) 1998-12-05
KR100230454B1 (ko) 1999-11-15

Similar Documents

Publication Publication Date Title
JPH10333990A (ja) キャッシュメモリの検査方法
US6564306B2 (en) Apparatus and method for performing speculative cache directory tag updates
JP3849951B2 (ja) 主記憶共有型マルチプロセッサ
CN101276286B (zh) 用于加速视频子系统初始化的系统、方法和装置
JP5153172B2 (ja) アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム
JP3176129B2 (ja) マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法
JP3289661B2 (ja) キャッシュメモリシステム
JPS60237552A (ja) 密結合コンピュータシステム
CN108268385B (zh) 具有集成目录高速缓存的优化的高速缓存代理
CN114580344B (zh) 测试激励生成方法、验证方法、验证系统及相关设备
JPH0454260B2 (ja)
US7698512B2 (en) Compressing address communications between processors
US6662216B1 (en) Fixed bus tags for SMP buses
JP2001051959A (ja) 少なくとも1つのnuma(non−uniformmemoryaccess)データ処理システムとして構成可能な相互接続された処理ノード
JP2005234854A (ja) マルチプロセッサシステム
JP2015503130A (ja) メモリ要求を行う方法、装置、およびコンピュータ・プログラム製品(システム・メモリへの効率的なメタビットの記憶)
GB2404760A (en) Providing updated system locality information
US20020056063A1 (en) Power saving feature during memory self-test
US20210200649A1 (en) Error recovery for non-volatile memory modules
US11137941B2 (en) Command replay for non-volatile dual inline memory modules
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
TWI320141B (en) Apparatus and system for reducing snoop accesses and method for reductiing snoop accesses performed by an electronic apparatus
JPH06348593A (ja) データ転送制御装置
CN114281570B (zh) 嵌入式控制电路、控制方法、装置及芯片
US9436613B2 (en) Central processing unit, method for controlling central processing unit, and information processing apparatus

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990309