JPH04326142A - キャッシュ記憶装置の性能評価方法 - Google Patents

キャッシュ記憶装置の性能評価方法

Info

Publication number
JPH04326142A
JPH04326142A JP3095493A JP9549391A JPH04326142A JP H04326142 A JPH04326142 A JP H04326142A JP 3095493 A JP3095493 A JP 3095493A JP 9549391 A JP9549391 A JP 9549391A JP H04326142 A JPH04326142 A JP H04326142A
Authority
JP
Japan
Prior art keywords
storage device
cache storage
cache
memory
performance
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
JP3095493A
Other languages
English (en)
Inventor
Yukihisa Tamura
田村 恭久
Shinya Watabe
真也 渡部
Hiroshi Ikegaya
池ヶ谷 浩
Seiji Kaneko
誠司 金子
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3095493A priority Critical patent/JPH04326142A/ja
Publication of JPH04326142A publication Critical patent/JPH04326142A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュ記憶装置を
備える電子計算機システムの性能評価方法に関する。
【0002】
【従来の技術】(1)キャッシュ記憶装置の機能電子計
算機ハードウェアにおけるキャッシュ記憶装置は、高速
に動作するIPと低速な主記憶装置の間に位置する。キ
ャッシュ記憶装置は、主記憶装置の持つデータを部分的
に転送・保持しておき、IPから要求されるデータを高
速に読みだし、IPに転送する。すなわち、IPと主記
憶装置の間の速度差を埋める緩衝装置として動作する。 キャッシュ記憶装置の基本的な構造は、「キャッシュ 
 メモリーズ(Cache Memories)」,エ
ーシーエム  コンピューティング  サーベイズ,1
4巻,3号(ACM Computing Surve
ys, Vol.14 No.3 (Sept.198
2)に紹介されている。
【0003】汎用大型計算機であるM−68xH(日立
製作所製)は、3階層のキャッシュ記憶方式を採用して
いる。図2に4台IP(QP:Quadruple P
rocessor) 構成であるM−684Hのシステ
ム構成概略図を示す。IP(1〜4)に固有のキャッシ
ュ記憶であるBS(Buffer Storage)(
12)は各々のIPに付随し、演算処理装置ALU(A
rithmetic/Logic Unit)(11)
からのメモリアクセスを処理する。IP共有キャッシュ
記憶であるWS(Work Storage)(55)
はシステム制御装置SC(System Contro
l)(5〜6)内に位置し、複数のBSからの要求を処
理する。主記憶MS (Main Storage) 
(7〜8)はアクセス可能なメモリ全てを装備する。
【0004】BSやWSを構成するメモリ素子は主記憶
を構成する素子より高速に動作し、ALUなどの処理に
遅延を起こさないように設計される。しかし、高速な素
子であるが故に高価であり、また実装上の制約もあるの
で、主記憶容量よりはるかに小さな容量しか実装されな
い。例えば、M−68xHではMSが最大2GB実装可
能であるのに対し、WSはSCあたり1MB、BSはI
Pあたり256KB実装される。
【0005】BS−WS間はブロック (Block:
64B) と呼ぶ単位で転送を行ない、WS−MS間は
ライン (Line:256B)単位で転送を行なう。 BSに存在しないデータはWSよりBT (Block
 Transfer) 動作によりブロック単位で転送
し、BSに登録する。WSに存在しないデータはMSよ
りLT(Line Transfer) 動作によりラ
イン単位で転送し、WSに登録する。BS−WS間は各
々32Bのデータ転送パスで結合されており、またWS
−MS間も同じく32Bのデータ転送パスで結合されて
いる。
【0006】MSはメモリ素子のアクセス速度が遅く、
データ転送幅を拡張してもLTが高速化しないため、B
S−WSと同じデータ転送幅となっている。
【0007】Mシリーズの最大構成では2台のSCを相
互接続し2SC構成となるため、SC−SC間のデータ
転送も行なわれる。すなわち、IPから要求されたデー
タの所在を検索した時に、最も最近更新されたものがM
Sではなく他系のSCに存在した場合、LBB (Li
ne Back Bypass) 動作によりSC−S
C間でライン単位の転送を行なう。LBBは独自のデー
タ転送パスを持たず、WS−MS間のライン転送パスと
MS−MSz間のデータ転送パスを利用し、MS経由で
ライン転送を実現している。
【0008】キャッシュ記憶のストア動作時における制
御方式にはストアスルー方式とストアイン方式があり、
M−68xHではBSストアスルー,WSストアイン方
式が採用されている。ストアスルー方式とはキャッシュ
記憶に対するストア動作、すなわちデータの書き込み時
に自身のキャッシュ内のデータを更新するとともに、自
身より主記憶に近いキャッシュ記憶や主記憶にも同一の
書き込みを反映する方式である。一方ストアイン方式で
は、自身のキャッシュ内のデータは更新するが、自身よ
り主記憶に近いキャッシュ記憶や主記憶には書き込みを
反映しない。Mシリーズ機では、BSに対するストア動
作はストアスルー制御によりWSに反映するが、WSに
対するストア動作はMSに反映しない。よって、ストア
動作の結果としてBSとWSに最新データがあるが、M
Sには更新前の古いデータしかない。
【0009】WS−MS間におけるデータの一致制御を
行なうため、SCにWAA (Work storag
e Address Array)(51),EXA 
(EXclusive−bit Array)(54)
,LCA (Line Change−bit Arr
ay)(53),RA (Replacement A
rray)(52)を設ける。これにより、WSのライ
ン単位に登録アドレス,EXビット,Cビットを配し、
またWSキャッシュのリプレースを制御する。
【0010】WAAは、WSに登録されるラインのアド
レスを記録する。SCでは、IPから要求のあったアド
レスとWAA登録アドレスを比較し、INWS(IN 
WorkStorage) かNIWS (Not I
n Work Storage) かを判定する。
【0011】EXビットはWAAのライン毎に割り当て
られ、BSより命令のオペランドとしてBT要求があっ
た場合、WAAの登録ラインの各々に対応して立てる。 命令を格納する領域としてフェッチされたデータは、内
容が更新される確率が少ない(0ではない)が、命令の
オペランドを格納する領域としてフェッチされたデータ
はストアによってデータの内容が更新される確率が高い
。 そこで、命令として要求されたデータは、EX=0とし
て複数のBSに重複して登録されても良いが、オペラン
ドとして要求されたデータはEX=1として唯一のBS
にのみ登録し、データフェッチのたびに他BSを無効化
する、BI(Block Invalidate)の頻
度を減らす。BIとは、あるBSからのオペランド要求
に対しては、同一データの写しを持つ他のBSへ当該デ
ータの無効化要求を発行する動作である。また、2SC
構成の場合、EXビットが0であるラインは両SCで共
有可能であるが、EXビットが1であるラインはSC単
位で排他登録を行なう。EXビットが0であるラインに
対してストア、すなわちデータの更新要求があった場合
には、2SC間で問い合わせSTNEX (STore
 iN non−EX) を行ない、必要であれば他系
SCで当該データを持つBSへのキャンセルXBC (
X−sc Block Cancel) やLBBを行
なう。
【0012】Cビットは各ラインに割り当てられ、当該
ラインにデータ更新が行なわれたか否かを記録する。W
Sをリプレースする場合、LBの必要があるか否かはC
ビットにより決定する。
【0013】RAはキャッシュのリプレースを制御する
。Mシリーズ機のBSやWSは4ロー構成を取り、同一
の部分アドレスを持つデータを4ブロック又は4ライン
登録できる。RAは、4ローすべてにデータが登録され
ているときに、同一部分アドレスの5つ目のデータを登
録する必要がある場合、いずれのローに当該データを登
録するかをLRU(Least Recently U
sed)アルゴリズムにより決定する。このアルゴリズ
ムは、現在まででアクセスされていない時間が最も長い
ローを記録するものであり、同一部分アドレスの4ロー
に対し、アクセスがある毎にこの記録を更新する。
【0014】BSとWSではストアスルー制御により常
に内容が一致しているので、リプレースなどによりBS
のブロックを無効化する場合でも、当該ブロックをWS
に書き戻す必要はない。WSのリプレースによるライン
無効化の場合、当該ラインが書き換えられている、すな
わちC=1である場合には、LB (Line Bac
k) 動作としてWSからMSに当該ラインを転送する
【0015】(2)キャッシュ記憶装置の性能評価性能
評価に関しては、「キャシュ  エバリュエーション 
 アンド  ジ  インパクト  オブ  ワークロー
ド  チョイス(Cache Evaluation 
and the Impact of Workloa
d Choice),プロシーディング  オブ  ザ
  トゥエルブス  マニュアルシンボジウム,アイイ
ーイーイー85CH2  144−4(Proceed
ing of the12th Annual Sym
posium, IEEE No.85CH2  14
4−4),(June 1985)」などに掲載されて
いる。電子計算機システムを高速化するためには、キャ
ッシュ記憶装置の動作特性を把握する必要がある。この
特性には、キャッシュのミス率,登録されているデータ
のアドレス分布,キャッシュのリプレース率などのパラ
メータが含まれる。これらのパラメータを測定するため
、従来から多くのツールや方式が提案され、開発された
。これらは、大きくハードウェアを使用したものと、ソ
フトウェアを使用したものに分類される。
【0016】まず、ハードウェアによるパラメータ測定
は、ハードウェアモニタと呼ぶ装置を使用する。ハード
ウェアモニタは、ハードウェア装置に付属した装置であ
り、キャッシュミスなど測定すべき事象をカウンタ増加
により測定する。ハードウェアモニタは命令実行の論理
と並列に動作しているため、ハードウェアモニタによる
命令実行オーバヘッドはない。ただし、数秒間の間に起
こる事象の平均的な数字しか示されず、また専用の論理
を予め組み込んでおく必要があるため、柔軟性に欠ける
【0017】次に、ソフトウェアによるキャッシュ記憶
装置の動作シミュレーションを行なうツールがある。こ
れは、1命令を実行する毎に命令トラップを起こし、ト
レーステープなどに実行命令の履歴を取得する。取得さ
れた履歴により、シミュレーション対象のキャッシュ(
ソフトウェアで模擬する)に対しメモリリクエストを発
行して、シミュレーションを実行する。この結果、キャ
ッシュミス率などの統計情報が取得できる。これらのツ
ールでは、履歴を取得する際に命令トラップのオーバヘ
ッドが大きく、実際の走行状態に比べ1/100〜1/
1000の性能となる。
【0018】
【発明が解決しようとする課題】従来のキャッシュ記憶
装置の性能評価方式は、動作が遅く、また正確なシミュ
レーションができない。
【0019】まず、ハードウェアモニタなどハードウェ
アによる性能測定では、論理を組み込む必要があるため
、測定項目の変更が困難である。また現状論理の情報を
取得するのみで、制御方法を変更した場合の性能見積り
はできない。
【0020】次に、ソフトウェアによるシミュレーショ
ンでは、動作が遅く、時間がかかる。また、マルチプロ
セッサでの動作では、複数のプロセッサで動作する実時
間の命令列を採取できない。
【0021】本発明の目的は、従来より高速に、しかも
取得したいパラメータをあまり労力をかけずに取得する
ことにある。
【0022】本発明のさらに他の目的は、制御方式を変
更した場合のキャッシュ記憶装置の性能パラメータ取得
を高速に行なうことである。
【0023】
【課題を解決するための手段】上記目的達成のため、本
発明の性能評価方式では、当該IPから当該主記憶装置
に対するアクセス要求の履歴を取得する装置やプログラ
ム手段を備え、また当該主記憶装置のメモリ領域内に、
当該キャッシュ記憶装置のタグメモリや制御方式を模擬
する手段を備え、当該手段は、取得したアクセス要求を
与えることで、当該キャッシュ記憶装置におけるキャッ
シュミスなどの事象を模擬し、更に当該キャッシュ記憶
模擬手段における当該事象の統計量を取得する手段を備
える。
【0024】また、当該キャッシュ記憶装置の制御方式
と異なる制御を行なう、キャッシュ記憶の模擬手段を備
える。
【0025】更に、アクセス履歴の取得装置によって取
得した履歴を、主記憶,拡張記憶または2次記憶媒体に
複写する手段と、当該履歴の取得とは別の時刻に、キャ
ッシュ記憶の模擬手段に対し、主記憶,拡張記憶または
2次記憶媒体に記録されたアクセス要求を与える手段を
備える。
【0026】また、キャッシュ記憶模擬手段におけるタ
グメモリの初期設定時に、キャッシュ記憶装置のタグメ
モリの内容を読みだし、当該読みだし結果を当該キャッ
シュ記憶の模擬手段のタグメモリに複写する手段を備え
る。
【0027】更に、IPがスーパバイザ状態で命令を実
行していることを取得する手段や、オペレーティングシ
ステムが管理するプログラムモジュールのアドレス割当
て情報を取得する手段を備え、統計量を、スーパバイザ
状態時と通常状態時に分割して取得する。
【0028】
【作用】まず、実際のソフトウェアが稼働している状態
でメモリアクセスの履歴を取得するため、マルチプロセ
ッサ環境のためのソフトウェアの補正をする必要がない
【0029】また、メモリアクセス履歴をHSA内でシ
ミュレーションするので、トレーステープを取る必要が
なく、測定対象となるソフトウェアの稼働終了と同時に
測定終了となる。
【0030】更に、キャッシュ記憶の制御方式を変更し
た場合の高精度なシミュレーションが可能である。
【0031】
【実施例】(1)全体の構成 本発明の全体構成を図1に示す。本発明では、IP(1
)内に格納されているμP(11)を改造し、MS(2
)内のHSA (Hardware System A
rea)(22)に格納されたキャッシュ動作シミュレ
ータ(223)を起動し、同じくHSA(22)内に展
開されているシミュレーション対象システム(224)
を動作させることを特徴とする。命令実行の際には、M
S(2)のSUA(Software User Ar
ea)(21)内に格納されている実行命令列(211
)を、IP(1)内のキャッシュメモリBS(Buff
er Storage)(13)に転送し(31)、こ
れをALU(12)で解読し、実行する。ALUの動作
はμPに記述されている。この時改造μPはHSA内に
、ALUが実行したメモリアクセス(221,222)
を実行命令毎に格納する(32)。また改造μPはHS
A内のキャッシュ動作シミュレータ(223)を起動す
る(33)。シミュレータはメモリアクセス履歴(22
1,222)をHSA内に展開されているシミュレーシ
ョン対象システム(224)に対して適用する(34)
。このシミュレーションの結果、得られた統計情報(2
25)がHSA内に格納される(35)。
【0032】本発明のキャッシュ記憶シミュレータは、
(1)IPのメモリアクセス履歴を取得する改造マイク
ロプログラム(μP)、(2)取得したメモリアクセス
履歴によりキャッシュ記憶の動作を模擬するシミュレー
タ、(3)シミュレータの動作結果を出力する編集出力
プログラム、より構成される。以下各々について説明す
る。
【0033】(1−1) 改造μP 改造μPは、IPの動作を制御するために従来用いてい
るμPを部分的に変更・追加したものである。メモリ内
容を参照するL(ロード)命令や内容を更新するST(
ストア)命令などがIPで実行される毎に、この改造μ
Pはメモリアクセスの履歴情報を取得する。この履歴情
報は、アクセスの種類(参照か更新)、アクセスの仮想
アドレス,アクセスの実アドレスから構成され、主記憶
装置内のHSA(Hardware System A
rea)領域に格納される。
【0034】HSAは、主記憶内にあるハードウェア専
用のメモリ領域であり、接続するIPの台数や主記憶の
容量などのハードウェア構成情報や、IPとIOP(I
nput/Output Processor:外部記
憶装置などとの入出力を司るプロセッサ) の連絡用テ
ーブル情報などが格納される。HSAの構造を図3に示
す。HSA(1)は大きくHSACA (HSA Co
mmon Area)(11),HSAMCA(HSA
 Macro CodeArea)(12),IOP使
用領域(13)に区別される。HSAはMS内の高アド
レスに存在し、その開始アドレスはHSAORG(2)
で指定される。本発明のキャッシュ動作シミュレータは
HSAMCA内に展開され、シミュレータ部(122)
,作業領域(123〜125),IPやSCをシミュレ
ートするリソースの部分(126〜129)から成る。 また通常の、機械語命令をシミュレートするマクロコー
ドは、DXRコード部(121)に格納される。
【0035】OSやアプリケーションプログラムはHS
Aをアクセスできず、HSA領域のアドレス指定はアド
レス例外となる。主記憶領域のうちHSA以外、すなわ
ちOSによって管理される領域をSUA (Soft−
ware User Area) と呼ぶ。μPがSU
AではなくHSAをデータ領域として使用することによ
り、OSなどのソフトウェアと主記憶領域共有をめぐっ
て連絡することなく、独自のメモリ領域を用いて独立に
動作することができる。
【0036】L命令とST命令を実行する改造μPの処
理フローチャートを図4に示す。通常のμPによるL命
令では、オペランドアドレスのデータをIP内の汎用レ
ジスタに転送する。このため、まず命令をメモリよりフ
ェッチし(11)、命令の種類やオペランドをデコード
する(12)。次にオペランドのアドレスを計算し(1
3)、命令の種類を判定する(14)。L命令であれば
、オペランドに指定されたデータをメモリから汎用レジ
スタに転送し(15)、ST命令であればオペランドデ
ータを逆に汎用レジスタからメモリに格納する(16)
。通常のμPではここまでで処理を終え、次の命令を実
行する。これに対し改造μPでは、次にシミュレーショ
ン用のデータを採取するモードか否かを判定する(17
)。もしそうであれば、要求の種類,要求の仮想アドレ
ス,要求の実アドレスなどで構成される情報をHSAに
保存する(18)。これを終えて、次の命令を実行する
【0037】改造μPからキャッシュ動作シミュレータ
へは、この実行命令毎のメモリアクセス履歴情報が受け
渡される。履歴情報のデータ形式を図5に示す。1命令
に対応するデータ(1)は、命令の種類を示すFMT(
11),フェッチ時のアドレスとデータ長を示す領域(
101〜103),ストア時のアドレスとデータ長を示
す領域(104〜106),分岐時の分岐元と分岐先の
アドレスを示す領域(107〜110)などに分類され
る。1行が4バイトあり、16行でデータを構成するの
で、1命令当たり64バイトのデータを取得することに
なる。
【0038】HSAの領域には最大10命令分の情報が
格納され、10命令分の履歴情報が改造μPにより格納
された時点でキャッシュ動作シミュレータに動作を渡す
。格納命令の個数をカウントし、HSA内の格納アドレ
スを計算するため、改造μPはLSにカウンタを持ち、
命令実行ごとにこれをインクリメントする。
【0039】(1−2) キャッシュ動作シミュレータ
本発明のシミュレータは、キャッシュ記憶装置のタグメ
モリを模擬するメモリ領域と、キャッシュ記憶装置の動
作を制御する論理をシミュレートするプログラムからな
り、すべてマクロコードで記述されている。
【0040】マクロコードとは、機械語命令をシミュレ
ートするサブルーチンである。特殊用途向けの命令や、
OS記述用の特殊命令は、使用頻度が少なく、実行性能
もあまり要求されない。このような命令は、μPで記述
せず、機械語命令で記述できるようにしたのがマクロコ
ードである。マクロコードは、特定の命令コードをデコ
ードした場合などにμPから呼び出され、HSAに展開
されたサブルーチンを実行する。本発明のシミュレータ
は、シミュレータ本体,作業領域,シミュレート対象リ
ソースなどをマクロコードで記述することにより、SU
Aを用いずHSA内でシミュレーションを行ない、実行
中のソフトウェアと相互干渉をせずに性能評価を実行で
きる。
【0041】キャッシュ記憶装置のシミュレーションに
必要なデータ構造は、キャッシュ記憶装置に必要なデー
タのうちアドレス部,更新判定部,リプレース判定部、
である。キャッシュ動作のシミュレーションでは、キャ
ッシュでのヒットかミスの判定,データの登録と追い出
しのみをシミュレートし、データそのものの更新などは
扱わないので、キャッシュデータは不要である。
【0042】セットアソシアティブ方式のストアインキ
ャッシュをシミュレートする手順を図6に示す。まずメ
モリリクエストがある(11)と、当該データのアドレ
スがキャッシュに登録されているか否かを判定する(1
2)。登録されていなかった場合、同一カラムアドレス
のローに全て有効なデータが登録されているか、すなわ
ち全ローがV=1であるか否かを判定する(13)。全
ローがV=1の場合、LRU(Least Recen
tlyUsed)アルゴリズムによりキャッシュから主
記憶に書き戻すローを決定する(14)。次に当該ロー
がST処理によりデータが更新されているか否か、すな
わち当該データに対しC=1か否かを判定する(15)
。C=1の場合、キャッシュから主記憶への書き戻しを
行ない(17)、そうでない場合は書き戻しを行なわな
い。全ローがV=1でない場合、V=0のローを書き込
みローとし(16)、主記憶からキャッシュへの書き込
みを行なう(18)。更に、メモリリクエストがデータ
更新であるか否かを判定し(19)、その場合は当該デ
ータをC=1とする(20)。
【0043】同じく、セットアソシアティブ方式のスト
アスルーキャッシュをシミュレートする手順を図7に示
す。ほとんどの手順はストアインと同じであるが、スト
アスルーの場合、まず主記憶への書き戻しが不必要であ
る。なぜならばデータの更新は常に主記憶へ反映されて
おり、キャッシュのデータと主記憶のデータは常に一致
しているからである。また、メモリリクエストがデータ
更新であった場合、常にそれを主記憶に反映する必要が
ある。
【0044】以上のような手順をシミュレートするプロ
グラムをHSA内にマクロコードとして格納しておき、
μPから呼び出してキャッシュ動作のシミュレーション
を行なう。
【0045】(1−3)制御ジョブ 上述の改造μPやシミュレータの動作を制御するため、
制御ジョブを用いる。制御ジョブは、改造μPによる履
歴取得の開始や終了、シミュレータ動作の開始や終了を
司り、シミュレーションの統計結果を出力する。これら
の動作の詳細については次項で詳述する。
【0046】(2)動作の詳細 次に、シミュレーション全体の動作の詳細を述べる。シ
ミュレーション全体の流れを図8に示す。
【0047】(2−1) 改造μPとキャッシュ動作シ
ミュレータのハードウェア格納 シミュレーションの動作開始前に、改造μPとキャッシ
ュ動作シミュレータをハードウェア内に格納しておく必
要がある。この操作はハードウェアのサービスプロセッ
サにより指示する。改造μPは、当該μPが収められた
フロッピディスクなどのメディアをサービスプロセッサ
に挿入し、サービスプロセッサのサービスメニューより
「μPロード」を選択する。シミュレータも同様にメデ
ィアをサービスプロセッサに挿入し、サービスメニュー
より「マクロコードのロード」を選択する。これらの操
作により、μPとマクロコードエリアに各々改造μPと
シミュレータが格納される。
【0048】(2−2)OS、負荷ジョブを起動改造μ
Pとシミュレータをハードウェアに格納した後、システ
ムを立ち上げる。まずOSを立ち上げ、ジョブが実行で
きる環境とする。この後負荷測定の対象となるジョブを
立ち上げる。この時点では、改造μPは格納されてはい
るが動作モードビットが0であることを認識して、メモ
リアクセスの履歴取得は行なわない。
【0049】(2−3)制御ジョブを起動負荷ジョブが
安定した状態で、キャッシュ動作シミュレータの制御ジ
ョブを起動する。制御ジョブにおいて、シミュレーショ
ンに必要な以下の動作がなされる。
【0050】(1)HSA内のシミュレータ作業領域初
期化 (2)シミュレータ起動命令発行 改造μPは、HSA内のエリアをシミュレータとの連絡
用に用いる。まずこのエリアを初期化する。また、シミ
ュレータの作業エリアとして、キャッシュのアドレス部
,更新判定部,リプレース判定部があり、これも初期化
する。更に、シミュレーション結果の格納場所も有り、
これも初期化する。
【0051】次に、シミュレータ起動命令を発行する。 改造μPおよびキャッシュ動作シミュレータは、このた
めに新設された命令「SSIM」により起動する。この
命令により、改造μPは1命令実行毎にメモリアクセス
の履歴をHSAに出力開始する。改造μPによって、命
令実行のオーバヘッドは大幅に増加し、命令の動作速度
は1/50〜1/100に低下する。
【0052】(2−4) 改造μPがキャッシュ動作シ
ミュレータに制御をわたす 10命令分の履歴を取得した時点で、改造μPはキャッ
シュ動作シミュレータに制御を渡す。改造μPは取得し
た履歴の数をALU内のLS(Local Stora
ge) に格納しており、これが10に達した時点でマ
クロコード呼び出しを行なう。このマクロコードがキャ
ッシュ動作シミュレータの本体である。
【0053】(2−5) メモリアクセス履歴をもとに
キャッシュシミュレーション 改造μPからマクロコード呼出により呼び出されたシミ
ュレータはメモリアクセス履歴をシミュレートする。シ
ミュレータは実際のキャッシュ記憶装置の制御方式をシ
ミュレートしており、キャッシュミスの場合は主記憶装
置や主記憶装置に近いキャッシュ記憶装置よりのデータ
転送をシミュレートする。
【0054】これらのキャッシュシミュレーションの傍
ら、キャッシュミスなどの回数をカウントし、統計情報
として記録する。これらの数字は、シミュレーション終
了後制御ジョブにより出力される。
【0055】(2−6) シミュレートすべき履歴が尽
きたところでμPに制御を戻す キャッシュ動作シミュレータは、シミュレートすべき履
歴の残数をカウントしており、これが0になった時点で
改造μPに制御を戻す。これは、マクロコードの記述仕
様で予め定められたトラップをかけることにより制御が
戻る。
【0056】制御を戻された改造μPは、シミュレーシ
ョンビットがONであることをチェックし、再び命令毎
にメモリアクセス履歴をHSAに出力する。すなわち(
2−3)の後半に戻る。この、(2−3)から(2−6
)までのループが、HSA内のシミュレーションビット
がOFFになるまで繰り返される。
【0057】(2−7) 所定時間経過後、制御ジョブ
がシミュレーションモードをOFF、「ESIM」命令
発行。
【0058】予め定められた時間の後、制御ジョブがシ
ミュレーションモードをOFFにし、シミュレーション
を終了させる命令「ESIM」を発行する。これにより
、改造μPはメモリアクセス履歴取得のためのトラップ
を終了し、またキャッシュ動作シミュレータは改造μP
による呼び出しを受けなくなる。
【0059】(2−8) 制御ジョブがHSA内にシミ
ュレータが残した統計情報を編集し、出力する。
【0060】
【発明の効果】本発明のキャッシュ動作シミュレータに
より、従来より高速にキャッシュ動作をシミュレートし
、性能パラメータを取得できる。また制御方式を変更し
た場合のキャッシュ記憶装置の性能パラメータ取得を容
易に行なうことでできる。
【図面の簡単な説明】
【図1】図1は本発明のシミュレータの全体構成。
【図2】図2はキャッシュの構成例として汎用大型期M
−684Hのキャッシュの構成。
【図3】図3はHSAの構造。
【図4】図4は命令実行のためのμPの処理フローチャ
ート。
【図5】図5は改造μPとシミュレータの間で受け渡さ
れるデータの形式。
【図6】図6はストアイン方式キャッシュのシミュレー
ションフローチャート。
【図7】図7はストアスルー方式キャッシュのシミュレ
ーションフローチャート。
【図8】図8はシミュレーション全体の動作の流れを示
す。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】命令プロセッサ(IP)と、当該IPに接
    続するキャッシュ記憶装置と、当該キャッシュ記憶装置
    に接続する主記憶装置からなる電子計算機において、当
    該IPから当該主記憶装置に対するアクセス要求の履歴
    を取得する装置と、当該主記憶装置のメモリ領域内に、
    当該キャッシュ記憶装置のタグメモリや制御方式を模擬
    する手段を備え、当該手段は、取得したアクセス要求を
    与えることで、当該キャッシュ記憶装置におけるキャッ
    シュミスなどの事象を模擬し、また当該キャッシュ記憶
    模擬手段における当該事象の統計量を取得する手段を備
    えることを特徴とする、キャッシュ記憶装置の性能評価
    方法。
  2. 【請求項2】請求項1記載の性能評価方法において、当
    該IPから当該主記憶装置に対するアクセス要求の履歴
    を取得するプログラム手段を備えることを特徴とする、
    キャッシュ記憶装置の性能評価方法。
  3. 【請求項3】請求項1記載の性能評価方式において、当
    該キャッシュ記憶装置の制御方式と異なる制御を行なう
    、キャッシュ記憶の模擬手段を備えることを特徴とする
    、キャッシュ記憶装置の性能評価方法。
  4. 【請求項4】請求項1記載の性能評価方法において、請
    求項1記載のアクセス履歴の取得装置によって取得した
    履歴を、主記憶、拡張記憶または2次記憶媒体に複写す
    る手段と、当該履歴の取得とは別の時刻に、請求項1記
    載のキャッシュ記憶の模擬手段に対し、主記憶,拡張記
    憶または2次記憶媒体に記録されたアクセス要求を与え
    る手段を備えることを特徴とする、キャッシュ記憶装置
    の性能評価方法。
  5. 【請求項5】請求項1記載の性能評価方式において、請
    求項1記載のキャッシュ記憶模擬手段におけるタグメモ
    リの初期設定時に、請求項1記載のキャッシュ記憶装置
    のタグメモリの内容を読みだし、当該読みだし結果を当
    該キャッシュ記憶の模擬手段のタグメモリに複写する手
    段を備えることを特徴とする、キャッシュ記憶装置の性
    能評価方法。
  6. 【請求項6】請求項1記載の性能評価方式において、請
    求項1記載のIPがスーパバイザ状態で命令を実行して
    いることを取得する手段を備え、当該手段は、請求項1
    記載の統計量を、スーパバイザ状態時と通常状態時に分
    割して取得することを特徴とする、キャッシュ記憶装置
    の性能評価方法。
  7. 【請求項7】請求項1記載の性能評価方式において、オ
    ペレーティングシステムが管理するプログラムモジュー
    ルのアドレス割当て情報を取得する手段を備え、当該手
    段は、請求項1記載の統計量を、プログラムモジュール
    毎に取得することを特徴とする、キャッシュ記憶装置の
    性能評価方法。
JP3095493A 1991-04-25 1991-04-25 キャッシュ記憶装置の性能評価方法 Pending JPH04326142A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3095493A JPH04326142A (ja) 1991-04-25 1991-04-25 キャッシュ記憶装置の性能評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3095493A JPH04326142A (ja) 1991-04-25 1991-04-25 キャッシュ記憶装置の性能評価方法

Publications (1)

Publication Number Publication Date
JPH04326142A true JPH04326142A (ja) 1992-11-16

Family

ID=14139127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3095493A Pending JPH04326142A (ja) 1991-04-25 1991-04-25 キャッシュ記憶装置の性能評価方法

Country Status (1)

Country Link
JP (1) JPH04326142A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014030249A1 (ja) * 2012-08-24 2014-02-27 株式会社日立製作所 ボリュームのi/o性能の検証システム及び検証方法
JP2017068328A (ja) * 2015-09-28 2017-04-06 日本電気株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
CN107229546A (zh) * 2016-03-23 2017-10-03 上海复旦微电子集团股份有限公司 缓存的模拟方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014030249A1 (ja) * 2012-08-24 2014-02-27 株式会社日立製作所 ボリュームのi/o性能の検証システム及び検証方法
JP2017068328A (ja) * 2015-09-28 2017-04-06 日本電気株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
CN107229546A (zh) * 2016-03-23 2017-10-03 上海复旦微电子集团股份有限公司 缓存的模拟方法及装置

Similar Documents

Publication Publication Date Title
Smith Line (block) size choice for CPU cache memories
US10482203B2 (en) Method for simulating execution of an application on a multi-core processor
Martin et al. Using destination-set prediction to improve the latency/bandwidth tradeoff in shared-memory multiprocessors
KR100292642B1 (ko) 방해없는 코드 계측을 위한 시스템 및 방법
Adve et al. Comparison of hardware and software cache coherence schemes
KR101677900B1 (ko) 데이터 처리장치 내부의 로컬 캐시 구조에 발행된 액세스 연산을 처리하는 장치 및 방법
Owicki et al. Evaluating the performance of software cache coherence
US5894575A (en) Method and system for initial state determination for instruction trace reconstruction
JPH11328019A (ja) コンピュ―タメモリシステムにおいて空間的及び時間的サンプリングを行う装置
JPH11353231A (ja) コンピュ―タシステムにおけるコンテクスト間のメモリシステム相互作用の特性の統計値を推定する方法
Wang et al. Efficient trace-driven simulation methods for cache performance analysis
KR100917491B1 (ko) 캐시 메모리 시스템
JPH04326142A (ja) キャッシュ記憶装置の性能評価方法
Smith Design of CPU cache memories
EP0058846B1 (en) Multiprocessing system with variably shared paging storage
Gee et al. The performance impact of vector processor caches
Albonesi et al. An analytical model of high performance superscalar-based multiprocessors.
Uhlig Trap-driven memory simulation
Nedbailo Fast and scalable simulation framework for large in-order chip multiprocessors
JPH0816474A (ja) マルチプロセッサシステム
Eickenmeyer et al. Performance evaluation of on-chip register and cache organizations
JPH08263374A (ja) キャッシュ制御方法およびそれを用いたマルチプロセッサシステム
US20240184688A1 (en) Processor support for using memory page markings as logging cues to simultaneously record plural execution contexts into independent execution traces
JP2000215104A (ja) Way別hit/missカウンタおよびそのカウント方法
Sicolo A multiported nonblocking cache for a superscalar uniprocessor