JP5256948B2 - キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム - Google Patents

キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム Download PDF

Info

Publication number
JP5256948B2
JP5256948B2 JP2008227517A JP2008227517A JP5256948B2 JP 5256948 B2 JP5256948 B2 JP 5256948B2 JP 2008227517 A JP2008227517 A JP 2008227517A JP 2008227517 A JP2008227517 A JP 2008227517A JP 5256948 B2 JP5256948 B2 JP 5256948B2
Authority
JP
Japan
Prior art keywords
cache
data
information
verification
tag
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.)
Expired - Fee Related
Application number
JP2008227517A
Other languages
English (en)
Other versions
JP2010061473A (ja
Inventor
英治 古川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008227517A priority Critical patent/JP5256948B2/ja
Priority to US12/550,741 priority patent/US8468399B2/en
Publication of JP2010061473A publication Critical patent/JP2010061473A/ja
Application granted granted Critical
Publication of JP5256948B2 publication Critical patent/JP5256948B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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

  • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラムに関する。
従来より、コンピュータシステムでは、CPU(Central Processing Unit)とメインメモリとの間の速度差を埋めるために、高速読み出し/書き込みが可能なキャッシュメモリが用いられている。
キャッシュメモリには、メインメモリに記憶されているデータの一部が保持されており、例えば、セット・アソシアティブ方式のメモリがある。このキャッシュメモリは、キャッシュデータのメインメモリ上における記憶位置を表すアドレス(タグ)を保持するタグRAMと、キャッシュデータを保持するデータRAMと、を含んでいる。このタグRAMおよびデータRAMでは、メインメモリを分割したブロックごとに複数のキャッシュラインが対応し、このキャッシュライン数分ウェイが並列に設けられるデータ構造となっている。そして、データアクセス時には各ウェイにまたがる同一ブロックにアクセスすることが一般的に行われている。
このようなキャッシュメモリを設計する際、通常、キャッシュの論理設計段階で論理設計の正当性が様々な方法で検証されている。
例えば、キャッシュメモリを模倣した検証装置が、稼動中の計算機のメモリアクセス要求を受け取り、メモリアクセスの動作を模倣して、動作の論理検証を行う技術が開示されている。
また、論理検証プログラムをパイプライン方式のキャッシュメモリを模倣した検証装置によって複数の命令を1マシンサイクルごとに実行させた結果と単一命令を逐次実行するキャッシュメモリを模倣した検証装置によって単一命令ずつ実行させた結果(期待値)とを比較して検証装置に保持された内容の妥当性を検証する技術が開示されている。
さらに、キャッシュメモリの論理検証の具体的な例を、図12、図13、図14および図15を用いて説明する。図12、図13、図14および図15に示すように、論理検証が行われるキャッシュメモリは、CPU1およびメインメモリと接続され、キャッシュメモリを論理的に制御するキャッシュ制御部を備えている。
まず、図12では、CPU1が、検証するための事前準備をするために、メインメモリにあらかじめデータが記憶されているアドレス(以下、検証アドレスという。)(例えば‘0x1000’番地)からデータ(例えば‘A’)を読み込む。これにより、キャッシュ制御部は、検証アドレス(‘0x1000’番地)を表すタグをタグRAMに保持する。また、キャッシュ制御部は、メインメモリから読み出されたデータ(‘A’)をデータRAMに保持する。
次に、図13では、メインメモリからではなくキャッシュメモリからデータを読み込んでいることを明確に検証するための事前準備として、例えばキャッシュメモリと接続されていないCPU2が、メインメモリの検証アドレス(‘0x1000’番地)に、既に記憶されているデータ(‘A’)とは異なるデータ(例えば‘B’)を書き込む。これにより、CPU2は、メインメモリに記憶された検証アドレス(‘0x1000’番地)のデータとキャッシュ制御部に保持された検証アドレス(‘0x1000’番地)のデータとを異なるようにすることができる。
このような事前準備をしてから、図14では、キャッシュメモリの論理検証をするために、CPU1が検証アドレス(‘0x1000’番地)から再度データを読み込む。このとき、CPU1は、キャッシュ制御部からキャッシュメモリに保持されたデータ(‘A’)を取得し、取得したデータを比較部に通知する。
そして、図15では、比較部が、取得したデータ(‘A’)と、検証アドレス(‘0x1000’番地)からデータを読み込んだとき取得されることが期待された期待値(‘A’)と、を比較する。比較した結果、比較部が、取得したデータと期待値とが一致すると判断したとき、キャッシュ制御部の動作が論理的に正当であることが検証される。一方、比較部が、取得したデータと期待値とが一致しないと判断したとき、キャッシュ制御部の動作が論理的に誤っていることが検証される。
特開2001−306397号公報 特開2001−256270号公報
しかしながら、キャッシュメモリの従来の論理検証では、キャッシュメモリの論理設計の正当性を効率的に検証できないという問題がある。すなわち、キャッシュメモリからデータを読み込むとき、キャッシュメモリにデータが保持されているか否かを判断する段階的な処理を行うため、読み込み処理の複数の段階のうち、どの段階が誤っているのかを効率的に検証することができない。どの段階が誤っているのかを明確に検証するためには、各段階の動作の正誤がわかるように段階ごとにメインメモリおよびキャッシュメモリに対して事前準備をする必要があり、論理検証が煩雑となる。結果的に、検証工数がかかってしまう。
本発明は、上記に鑑みてなされたものであって、キャッシュメモリの論理検証を効率的に行うことができるキャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラムを提供することを目的とする。
上述した問題を解決し、目的を達成するために、キャッシュ論理検証装置は、メモリの一部の内容の写しを保持するキャッシュメモリに読み込み対象のデータが保持されているか否かを判断する段階的な処理の各段階における途中経過を取得する取得手段と、前記取得手段によって取得される各段階における途中経過と、前記段階的な処理の各段階におけるあらかじめ定められた予定途中経過と、を比較する比較手段と、を備えた構成を採る。
かかる構成によれば、キャッシュ論理検証装置は、キャッシュメモリからデータを読み込む際に段階的な処理の各段階における途中経過を直接取得することができるため、各段階における途中経過の正当性を判別することによってどの段階が誤っているのかを知ることができ、キャッシュメモリの論理検証を効率的に行うことができる。この結果、キャッシュ論理検証装置は、各段階の正当性を確実に検証できることとなり、検証品質を向上させることができる。また、キャッシュ論理検証装置が、キャッシュメモリからデータを読み込む際に段階的な処理の各段階における途中経過を一括して取得すれば、一括して取得された途中経過を一度に検証することができることになり、検証工数を削減することができる。
開示の装置によれば、キャッシュメモリの論理検証を効率的に行うことができるという効果を奏する。
以下に、キャッシュ論理検証装置を備えた情報処理装置の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
図1は、実施例1に係る情報処理装置の全体構成を示す機能ブロック図である。図1に示すように、情報処理装置は、CPU100と、キャッシュメモリ200と、メインメモリ300と、キャッシュ論理検証装置の部分を構成するキャッシュ状態取得部400および検証部500と、を備える。
CPU100は、検証部500から検証指示を取得すると、検証指示を解釈しキャッシュメモリ200に対して読み込み処理の実行を指示する。ここで、検証指示とは、例えば、キャッシュメモリ200に保持されたデータを読み込むことによって、キャッシュメモリ200が論理的に動作することを検証する指示である。また、CPU100は、キャッシュメモリ200から読み込まれたデータを取得し、検証部500に対して出力する。
キャッシュメモリ200は、キャッシュ論理検証装置によってキャッシュの論理検証が行われる対象装置である。そして、キャッシュメモリ200は、キャッシュ制御部210を備えている。
ここで、キャッシュメモリ200は、メインメモリ300上の頻繁に使用されるデータを保持するとともに、保持されたデータのメインメモリ300上におけるアドレスを示すタグを保持する。また、本実施の形態において、キャッシュメモリ200は、メインメモリ300の所定のメモリブロックごとに2つのキャッシュラインが対応している2ウェイセットアソシアティブ構成を採っているものとする。以下では、同一のメモリブロックに対応する各キャッシュラインをウェイと呼ぶ。なお、キャッシュメモリ200は、2ウェイであるとしたが、これに限定されず、4ウェイや8ウェイ等であっても良い。
キャッシュ制御部210は、CPU100からの読み込み指示に応じてキャッシュメモリからデータの読み込みを行い、読み込んだデータをCPU100に対して出力する。また、キャッシュ制御部210は、読み込み指示からデータを読み込むまでに段階的に行われる動作によって取得される経過情報をキャッシュ状態取得部400に出力する。経過情報は、例えば、本実施例では、タグ情報211、ウェイ情報212、LRU213およびデータ214である。以下に、個々の経過情報について説明する。
キャッシュ制御部210は、メインメモリ300にあらかじめデータが記憶されている検証アドレスであってCPU100から読み込み指示がされた検証アドレスに対応するタグ情報211を読み込む。すなわち、タグ情報211は、検証アドレスに対応するタグが保持される領域からキャッシュ制御部210がタグを読み込むことによって取得される経過情報である。キャッシュ制御部210によって読み込まれるタグ情報211には、検証アドレスと同一のメモリブロックに対応する2つのタグがウェイごとに含まれ、ウェイごとに異なるデータのアドレスが存在している。
キャッシュ制御部210は、検証アドレスに対応するタグ情報211をキャッシュメモリ200から読み込んだ後、検証アドレスがタグ情報211内のウェイごとのタグに含まれているか否かを判定する。具体的に、キャッシュ制御部210は、検証アドレスがタグ情報211内のウェイのタグに含まれていればキャッシュヒットを示すデータを、また検証アドレスがウェイのタグに含まれていなければキャッシュミスを示すデータを取得する。すなわち、ウェイ情報212は、検証アドレスがタグ情報211内のウェイごとのタグに含まれているか否かが判定されることによって取得される経過情報である。
キャッシュ制御部210は、検証アドレスがタグ情報211内のウェイごとのタグに含まれているか否かを判定したとき、検証アドレスが含まれていたタグのウェイを選択する。ここで、キャッシュ制御部210は、仮に検証アドレスがどちらのウェイのタグにも含まれていない場合、LRU(Least Recently Used)制御により、タグ情報211から最近の使用頻度が最も低いウェイを選択し、選択されたウェイのタグに保持されたアドレスを検証アドレスに置き換える。LRU213は、検証アドレスが既に含まれているタグのウェイか、または検証アドレスが含まれることになるタグのウェイが選択されることによって取得される経過情報である。
キャッシュ制御部210は、検証アドレスがタグ情報211内のウェイごとのタグに含まれているか否かを判定した後、検証アドレスがどちらか一方のウェイのタグに含まれていた場合、タグに対応するデータをキャッシュメモリ200から読み込む。一方、キャッシュ制御部210は、検証アドレスがどちらのウェイのタグにも含まれていない場合、メインメモリ300から読み込まれLRU制御により置き換えられたデータを読み込む。すなわち、データ214は、キャッシュ制御部210が検証アドレスを示すタグに対応するデータを読み込むことによって取得される経過情報である。
メインメモリ300は、主記憶装置であって、CPU100における処理に必要なデータやプログラムを記憶している。メインメモリ300には、キャッシュ論理検証装置がキャッシュメモリ200の論理検証を行うために、あらかじめ検証アドレスにデータが書き込まれる。なお、メインメモリ300は、キャッシュメモリ200と比較すると大容量であるが、アクセス速度が遅いものである。
キャッシュ状態取得部400は、キャッシュ制御部210がデータを読み込む際に段階的に行われる動作によって取得されるそれぞれの経過情報を取得する。具体的には、キャッシュ状態取得部400は、キャッシュ制御部210によって段階的に行われる動作の順に出力されたタグ情報211、ウェイ情報212、LRU213およびデータ214を取得する。また、キャッシュ状態取得部400は、検証アドレスに対応するデータを読み込むまでの一連の経過情報が揃ったとき、一連の経過情報を後述する期待値と同一の形式に整形して、整形されたデータを出力データとして検証部500に対して出力する。なお、キャッシュ状態取得部400は、経過情報の取得を、例えばアサーションを記述することができるVerilog言語を用いて実現しても良い。ここで、アサーションとは、キャッシュ制御部210の論理設計の正誤を確認するために取得されるチェックポイントを示し、データを読み込む際に段階的に行われる動作によって取得されるそれぞれの経過情報を取得することをいうものとする。
検証部500は、キャッシュメモリ200の論理検証を開始するために、キャッシュメモリ200の検証指示をCPU100に対して出力する。また、検証部500は、検証指示によってキャッシュメモリ200からCPU100に読み込まれたデータをCPU100から取得する。さらに、検証部500は、キャッシュ状態取得部400から出力データを取得する。そして、検証部500は、キャッシュ状態取得部400から取得された出力データと、出力データの期待値と、を比較する。ここで、出力データの期待値とは、検証指示によってデータを読み込む際に検証者が意図している経過情報の値であり、あらかじめ検証部500に保持されている。検証部500は、一連の経過情報の出力データと出力データの期待値とがすべて一致する場合は、キャッシュ制御部の動作が正常であることを出力する。一方、検証部500は、一連の経過情報の出力データと出力データの期待値とがいずれか一つでも一致しない場合は、一致しない経過情報の動作を示す情報を出力する。これにより、検証部500は、検証アドレスのデータを読み込むまでに段階的に行われる動作によって取得される経過情報を一括して検証することができる。
次に、図2は、実施例1に係るキャッシュ状態取得部400の構成を示す機能ブロック図である。図2に示すように、キャッシュ状態取得部400は、タグ情報取得部410と、ウェイ情報取得部420と、LRU取得部430と、データ取得部440と、整形部450と、を備える。
タグ情報取得部410は、キャッシュ制御部210によって読み込まれた検証アドレスに対応するタグ情報211を取得して、取得されたタグ情報211を整形部450に対して出力する。なお、タグ情報211には、2つのウェイのタグが含まれている。
ウェイ情報取得部420は、検証アドレスがウェイごとのタグに含まれているか否かをキャッシュ制御部210によって判定された判定結果をウェイ情報212としてウェイごとに取得して、取得された判定結果を整形部450に対して出力する。
LRU取得部430は、キャッシュ制御部210によって取得された検証アドレスが含まれているタグのウェイをLRU213として取得して、取得されたウェイを整形部450に対して出力する。
データ取得部440は、キャッシュ制御部210によって読み込まれた検証アドレスに対応するデータ214を取得して、取得されたデータ214を整形部450に対して出力する。
整形部450は、タグ取得部410からタグ情報211を取得すると、取得されたタグ情報211を保持する。また、整形部450は、ウェイ情報取得部420からウェイ情報212を取得すると、取得されたウェイ情報212を保持する。また、整形部450は、LRU取得部430からLRU213を取得すると、取得されたLRU213を保持する。また、整形部450は、データ取得部440からデータ214を取得すると、取得されたデータ214を保持する。そして、整形部450は、データ取得部440からデータ214を取得したとき、保持した各経過情報を、検証部500にあらかじめ保持された一連の経過情報の期待値と同一の順序で結合して、結合された出力データをまとめて検証部500に対して出力する。なお、整形部450が出力データを検証部500に対して出力する手段の一例として、出力データを1つのファイルに出力して、出力されたファイルを検証部500が読み込むことによって、検証部500が出力データを取得するものとしても良い。
次に、図3は、実施例1に係る検証部の構成を示す機能ブロック図である。図3に示すように、検証部500は、検証指示部510と、比較部520と、期待値521と、結果通知部530と、を備える。
検証指示部510は、キャッシュメモリ200の検証指示をCPU100に対して出力する。
比較部520は、整形部450から出力データを取得すると、取得された出力データとあらかじめ保持された一連の経過情報の期待値521とを比較する。そして、比較部520は、取得された出力データと期待値521とが一致しているとき、一致している旨の結果通知を結果通知部530に出力する。一方、比較部520は、取得された出力データと期待値521とが一致していないとき、一致していない経過情報の動作を含んだ結果通知を結果通知部530に出力する。
期待値521は、キャッシュメモリ200の検証シナリオごとに保持され、検証アドレスのデータを読み込む際に段階的に行われる動作によって取得されることが期待される一連の経過情報を表す。例えば、期待値521は、検証アドレスのデータを読み込むときのタグ情報211、ウェイ情報212、LRU213およびデータ214を表す。
結果通知部530は、比較部520から結果通知を取得すると、取得された結果を、例えばモニターに出力する。
次に、本実施例1に係るキャッシュ状態取得の動作概要を、図4および図5を参照して説明する。図4では、キャッシュ状態取得部400を用いて説明し、図5では、キャッシュ状態取得部400が時系列に取得する経過情報を用いて説明する。
図4は、キャッシュ状態取得部400の動作概要を示す図である。図4に示すように、タグ情報取得部410、ウェイ情報取得部420、LRU取得部430およびデータ取得部440は、それぞれキャッシュ制御部210から出力される信号(ストローブ)を監視しており、ストローブを取得すると各ストローブに対応した情報を取得して、整形部450に対して取得した情報を出力する。
具体的には、LRU取得部430は、キャッシュ制御部210から経過情報であるLRU213が出力されるトリガーとなるLRU更新ストローブ30を取得すると、LRU213を取得して、取得したLRU213を整形部450に対して出力する。また、タグ情報取得部410は、キャッシュ制御部210から経過情報であるタグ情報211が出力されるトリガーとなるタグリードストローブ10を取得すると、タグ情報211に含まれるウェイ0のタグ11およびウェイ1のタグ12を取得して、取得したタグ11、12を整形部450に対して出力する。また、ウェイ情報取得部420は、キャッシュ制御部210から経過情報であるウェイ情報212が出力されるトリガーとなるキャッシュ判定ストローブ20を取得すると、ウェイごとのタグがそれぞれキャッシュヒットまたはキャッシュミスである情報21、22を取得して、取得した情報21、22を整形部450に対して出力する。さらに、データ取得部440は、キャッシュ制御部210から経過情報であるデータ214が出力されるトリガーとなるデータリードストローブ40を取得すると、キャッシュデータ214を取得して、取得したキャッシュデータ214を整形部450に対して出力する。このとき、データリードストローブ40を取得したデータ取得部440は、整形部450に対して出力指示を出力する。
引き続き、出力指示を取得した整形部450は、タグ情報取得部410、ウェイ情報取得部420、LRU取得部430およびデータ取得部440からそれぞれ出力された経過情報(11,12、21、22、213、214)を出力データとして整形して、検証部500に対してまとめて出力することになる。
次に、図5は、キャッシュ状態取得部400が時系列に経過情報を取得した図である。図5に示すように、キャッシュ状態取得部400が、キャッシュ制御部210から出力される各経過情報を、時系列に取得する様子が示されている。なお、キャッシュ制御部210は、段階的に行われる動作の順に取得される経過情報、つまりタグ情報211、ウェイ情報212、LRU213およびデータ214を出力している。
まず、キャッシュ状態取得部400は、タグリードストローブ10を取得すると、ウェイ0のタグ11を取得する。図5の例では、ウェイ0のタグ11は、アドレスaを表している。また、キャッシュ状態取得部400は、ウェイ0のタグ11を取得すると同時に、ウェイ1のタグ12を取得する。図5では、ウェイ1のタグ12は、アドレスbを表している。
次に、キャッシュ状態取得部400は、キャッシュ判定ストローブ20を取得すると、ウェイ0のタグがキャッシュヒットまたはキャッシュミスであることを示す情報21を取得する。図5の例では、情報21は、ウェイ0のタグがキャッシュミスである情報を表している。また、キャッシュ状態取得部400は、ウェイ0の情報21を取得すると同時に、ウェイ1のタグがキャッシュヒットまたはキャッシュミスであることを示す情報22を取得する。図5では、情報22は、ウェイ1のタグがキャッシュヒットである情報を表している。
続いて、キャッシュ状態取得部400は、LRU更新ストローブ30を取得すると、LRU213を取得する。図5では、LRU213は、タグがキャッシュヒットであるウェイ1を表している。
さらに、キャッシュ状態取得部400は、データリードストローブ40を取得すると、キャッシュデータ214を取得する。図5では、キャッシュデータ214は、データBを表している。
そして、各信号で表された各データがまとめられたデータ、つまりアドレスa、アドレスb、ミス、ヒット、データBおよびウェイ1が出力データとなる。この出力データが、検証部500に対して出力され、検証部500によってあらかじめ保持された一連の経過情報の期待値521と比較される。
次に、本実施例1に係るキャッシュメモリ検証方法の処理を、図6を参照して説明する。図6は、本実施例1に係るキャッシュメモリ検証方法の処理を示すフローチャートである。
まず、キャッシュ制御部210は、CPU100から検証アドレスのデータを読み込む指示がされると、検証アドレスに対応するタグ情報211を読み込み、読み込んだタグ情報211をキャッシュ状態取得部400に対して出力する。このタグ情報211は、検証アドレスと同一のメモリブロックに対応する2つのウェイのタグを含んでいる。すると、タグ情報取得部410は、キャッシュ制御部210によって出力されたタグ情報211を取得して(S110)、整形部450に対して出力する。
次に、検証アドレスに対応するタグ情報211を読み込んだキャッシュ制御部210は、検証アドレスがタグ情報211内のウェイごとのタグに含まれているか否かを判定して、ウェイごとの判定結果(ウェイ情報212)をキャッシュ状態取得部400に対して出力する。すると、ウェイ取得部420は、キャッシュ制御部210によって出力されたウェイ情報212をキャッシュ判定として取得して(S120)、整形部450に対して出力する。
次に、検証アドレスがウェイごとのタグに含まれているか否かを判定したキャッシュ制御部210は、検証アドレスが既に含まれているかまたは含まれることになるタグのウェイを取得して、取得されたウェイ(LRU213)をキャッシュ状態取得部400に対して出力する。すると、LRU取得部430は、キャッシュ制御部210によって出力されたLRU213を取得して(S130)、整形部450に対して出力する。
さらに、検証アドレスがウェイごとのタグに含まれているか否かを判定したキャッシュ制御部210は、検証アドレスがどちらか一方のウェイのタグに含まれていた場合、タグに対応するデータを読み込む。一方、キャッシュ制御部210は、検証アドレスがどちらのウェイのタグにも含まれていない場合、メインメモリ300から読み込まれたデータを読み込む。そして、キャッシュ制御部210は、読み込んだデータ214をキャッシュ状態取得部400に対して出力する。すると、データ取得部440は、キャッシュ制御部210によって出力されたデータ214を取得して(S140)、整形部450に対して出力する。
引き続き、データ取得部440からデータ214を取得した整形部450は、タグ情報取得部410から取得したタグ情報211、ウェイ情報取得部420から取得したウェイ情報212、LRU取得部430から取得したLRU213およびデータ取得部440から取得したデータ214を用いて、出力データを整形する(S150)。このとき、整形部450は、あらかじめ保持された期待値521と同一の形式に出力データを整形する。
そして、整形された出力データとあらかじめ保持された期待値とが一致しているか否かが、比較部520によって判定される(S160)。
整形された出力データと期待値とが一致しているとき(S160Yes)、一致している旨の結果通知を結果通知部530に出力する。そして、結果通知部530は、キャッシュメモリの動作が正常である結果を出力する(S170)。
一方、整形された出力データと期待値とが一致していないとき(S160No)、一致していない経過情報の動作を含んだ結果通知を結果通知部530に出力する。そして、結果通知部530は、一致していない経過情報の動作を含んだ結果通知とともにキャッシュメモリの動作が異常である結果を出力する(S180)。
次に、図7および図8を参照して、キャッシュメモリ200にデータを保持するときの検証動作について説明する。図7では、キャッシュメモリ200にデータを保持する場合について説明し、図8では、キャッシュメモリ200にデータを保持するときの経過情報を検証する場合について説明する。なお、キャッシュ制御部210には、検証アドレスのデータが保持されておらず、検証アドレスに対応するウェイごとのタグにいずれの情報も保持されていないものとする。
まず、図7を参照して、キャッシュメモリ200にデータを保持する場合について説明する。図7に示すように、検証部500から検証指示を取得したCPU100は、キャッシュ制御部210に対してメインメモリ300の検証アドレス(0x1000番地)のデータを読み込むように読み込み処理の実行指示を出力する。すると、キャッシュ制御部210は、メインメモリ300の検証アドレスのデータがキャッシュメモリ200に保持されていないため、メインメモリ300から検証アドレスのデータを読み込み、読み込んだデータをキャッシュメモリ200に保持する。
このとき、キャッシュ制御部210は、読み込み指示からデータを読み込むまでに段階的に行われる動作によって取得される経過情報をキャッシュ状態取得部400に出力する。すなわち、キャッシュ制御部210は、検証アドレスに対応するウェイごとのタグを読み込むと、検証アドレスに対応するウェイごとのタグにいずれの情報も保持されていないため、ウェイ0およびウェイ1のタグ共‘0’を示すタグ情報211を取得して、キャッシュ状態取得部400に出力する。また、キャッシュ制御部210は、検証アドレスがウェイごとのタグに含まれているか否かを判定すると、検証アドレスに対応するウェイごとのタグに検証アドレスが含まれていないため、ウェイ0およびウェイ1のタグ共キャッシュミスであることを示すウェイ情報212を取得して、キャッシュ状態取得部400に出力する。そして、キャッシュ制御部210は、検証アドレスが含まれことになるタグのウェイ0を選択すると、ウェイ0を示すLRU213を取得して、キャッシュ状態取得部400に出力する。さらに、キャッシュ制御部210は、メインメモリ300から検証アドレス(0x1000番地)のデータ(‘A’)を読み込み、読み込まれたデータ214を取得して、キャッシュ状態取得部400に出力する。
そして、キャッシュ状態取得部400は、キャッシュ制御部210から取得された各経過情報をまとめた出力データを期待値と同一の形式に整形して検証部500に出力する。この出力データに含まれる各経過情報を、検証部500が検証することになる。
次に、図8を参照して、キャッシュメモリ200にデータを保持するときの経過情報を検証する場合について説明する。図8に示すように、検証部500には、キャッシュ状態取得部400から出力された出力データが取得されている。この出力データは、キャッシュ制御部210がキャッシュメモリ200にデータを保持したとき段階的に行われる動作によって取得された各経過情報を、キャッシュ状態取得部400がひとまとめに且つ期待値と同一の形式に出力したデータである。
検証部500は、各経過情報を含んだ出力データとあらかじめ保持された一連の経過情報の期待値とを比較する。具体的には、検証部500は、ウェイ0のタグがキャッシュミスまたはキャッシュヒットであるか否かを検証するために、期待値と出力データとの‘Way0=’の経過情報を参照して、出力データの経過情報(Miss)が期待値と合致することを確認する。検証部500は、ウェイ1のタグがそれぞれキャッシュミスまたはキャッシュヒットであるか否かを検証するために、期待値と出力データとの‘Way1=’の経過情報を参照して、出力データの経過情報(Miss)が期待値と合致することを確認する。また、検証部500は、検証アドレスが含まれことになるタグのウェイを検証するために、期待値と出力データとの‘LRU=’の経過情報を参照して、出力データの経過情報(Way0)が期待値と合致することを確認する。また、検証部500は、ウェイ0のタグが正しいか否かを検証するために、期待値と出力データとの‘TAG(Way0)=’の経過情報を参照して、出力データの経過情報(0)が期待値と合致することを確認する。検証部500は、ウェイ1のタグが正しいか否かを検証するために、期待値と出力データとの‘TAG(Way1)=’の経過情報を参照して、出力データの経過情報(0)が期待値と合致することを確認する。さらに、検証部500は、読み込まれたデータが正しいか否かを検証するために、期待値と出力データとの‘Data=’の経過情報を参照して、出力データの経過情報(“A”)が期待値と合致することを確認する。
このようにして、検証部500は、データを読み込む際に段階的に行われる動作によって取得される経過情報を一度に検証することができるため、検証における正当性を効率的に確認することができる。また、検証部500は、経過情報をひとまとめにした出力データをキャッシュ状態取得部400によって期待値と同一の形式に整形されることにより、さらに検証効率の向上を図ることができる。
次に、図9および図10を参照して、キャッシュメモリ200にデータを保持した後に保持されたデータを検索するときの検証動作について説明する。図9では、キャッシュメモリ200にデータを保持した後に保持されたデータを検索する場合について説明し、図10では、キャッシュメモリ200にデータを保持した後に保持されたデータを検索するときの経過情報を検証する場合について説明する。
まず、図9を参照して、キャッシュメモリ200にデータを保持した後に保持されたデータを検索する場合について説明する。図9に示すように、検証部500から検証指示を取得したCPU100は、キャッシュ制御部210に対して検証アドレス(0x1000番地)のデータを読み込むように読み込み処理の実行指示を出力する。すると、キャッシュ制御部210は、メインメモリ300の検証アドレスのデータがキャッシュメモリ200に保持されているため、キャッシュメモリ200から検証アドレスのデータを読み込む。
このとき、キャッシュ制御部210は、読み込み指示からデータを読み込むまでに段階的に行われる動作によって取得される経過情報をキャッシュ状態取得部400に出力する。すなわち、キャッシュ制御部210は、検証アドレスに対応するウェイごとのタグを読み込むと、検証アドレスのデータがキャッシュメモリ200に保持されているため、例えばウェイ0のタグに検証アドレスが含まれているとすると、ウェイ0のタグに‘1000’を示すタグ情報211を取得して、キャッシュ状態取得部400に出力する。また、キャッシュ制御部210は、検証アドレスがウェイごとのタグに含まれているか否かを判定すると、検証アドレスに対応するウェイ0のタグに検証アドレスを示すタグが含まれているため、ウェイ0のタグがキャッシュヒットであることおよびウェイ1のタグがキャッシュミスであることを示すウェイ情報212を取得して、キャッシュ状態取得部400に出力する。そして、キャッシュ制御部210は、検証アドレスが含まれているタグのウェイ0を選択すると、ウェイ0を示すLRU213を取得して、キャッシュ状態取得部400に出力する。さらに、キャッシュ制御部210は、キャッシュメモリ200から検証アドレス(0x1000番地)のデータ(‘A’)を読み込み、読み込まれたデータ214を取得して、キャッシュ状態取得部400に出力する。
そして、キャッシュ状態取得部400は、キャッシュ制御部210から取得された各経過情報をまとめた出力データを期待値と同一の形式に整形して検証部500に出力する。この出力データに含まれる各経過情報を、検証部500が検証することになる。
次に、図10を参照して、キャッシュメモリ200にデータを保持した後に保持されたデータを検索するときの経過情報を検証する場合について説明する。図10に示すように、検証部500には、キャッシュ状態取得部400から出力された出力データが取得されている。この出力データは、キャッシュ制御部210がキャッシュメモリ200にデータを保持した後保持されたデータを検索したとき段階的に行われる動作によって取得された各経過情報を、キャッシュ状態取得部400がひとまとめに且つ期待値と同一の形式に出力したデータである。
検証部500は、各経過情報を含んだ出力データとあらかじめ保持された一連の経過情報の期待値とを比較する。具体的には、検証部500は、ウェイ0のタグがキャッシュミスまたはキャッシュヒットであるか否かを検証するために、期待値と出力データとの‘Way0=’の経過情報を参照して、出力データの経過情報(Hit)が期待値と合致することを確認する。検証部500は、ウェイ1のタグがそれぞれキャッシュミスまたはキャッシュヒットであるか否かを検証するために、期待値と出力データとの‘Way1=’の経過情報を参照して、出力データの経過情報(Miss)が期待値と合致することを確認する。また、検証部500は、検証アドレスが含まれるタグのウェイを検証するために、期待値と出力データとの‘LRU=’の経過情報を参照して、出力データの経過情報(Way0)が期待値と合致することを確認する。また、検証部500は、ウェイ0のタグが正しいか否かを検証するために、期待値と出力データとの‘TAG(Way0)=’の経過情報を参照して、出力データの経過情報(1000)が期待値と合致することを確認する。検証部500は、ウェイ1のタグが正しいか否かを検証するために、期待値と出力データとの‘TAG(Way1)=’の経過情報を参照して、出力データの経過情報(0)が期待値と合致することを確認する。さらに、検証部500は、読み込まれたデータが正しいか否かを検証するために、期待値と出力データとの‘Data=’の経過情報を参照して、出力データの経過情報(“A”)が期待値と合致することを確認する。
このようにして、検証部500は、データを読み込む際に段階的に行われる動作によって取得される経過情報を一度に検証することができるため、検証における正当性を効率的に確認することができる。また、検証部500は、経過情報をひとまとめにした出力データをキャッシュ状態取得部400によって期待値と同一の形式に整形されることにより、さらに検証効率の向上を図ることができる。
以上のように本実施例1によれば、キャッシュ論理検証装置は、メインメモリ300の一部の内容の写しを保持するキャッシュメモリ200に読み込み対象のデータが保持されているか否かを判断する段階的な処理の各段階における途中経過を取得するキャッシュ状態取得部400と、キャッシュ状態取得部400によって取得される各段階における途中経過と、段階的な処理の各段階におけるあらかじめ定められた期待値と、を比較する検証部500と、を備える。
かかる構成によれば、キャッシュ論理検証装置は、キャッシュメモリ200からデータを読み込む際に段階的な処理の各段階における途中経過を直接取得することができるため、各段階における途中経過の正当性を判別することによってどの段階が誤っているのかを知ることができ、キャッシュメモリ200の論理検証を効率的に行うことができる。この結果、キャッシュ論理検証装置は、各段階の正当性を確実に検証できることとなり、検証品質を向上させることができる。また、キャッシュ論理検証装置が、キャッシュメモリからデータを読み込む際に段階的な処理の各段階における途中経過を一括して取得すれば、一括して取得された途中経過を一度に検証することができることになり、検証工数を削減することができる。
ところで、上記の実施例1では、データを読み込む際に段階的に行われる動作によって取得される経過情報を取得するためにキャッシュ状態取得部400がキャッシュ制御部210の外部に配置される場合を説明した。本発明はこれに限定されるものではなく、データを読み込む際に段階的に行われる動作によって取得される経過情報を取得するためにキャッシュ状態取得部400がキャッシュ制御部210の内部に配置されても良い。
そこで、実施例2では、データを読み込む際に段階的に行われる動作によって取得される経過情報を取得するためにキャッシュ状態取得部400がキャッシュ制御部210の内部に配置される場合を説明する。まず、図11を用いて、本実施例2に係る情報処理装置の全体構成について説明する。なお、図11において、図1と同じ部分には同じ符号を付し、詳しい説明を省略する。
図11に示すように、情報処理装置は、CPU100と、キャッシュメモリ200とメインメモリ300と、検証部500と、キャッシュ状態取得部600と、を備える。
キャッシュ状態取得部600は、キャッシュ制御部210の内部に配置され、キャッシュ制御部210がデータを読み込む際に段階的に行われる動作によって取得されるそれぞれの経過情報を直接取得し、検証部500に対して出力する。具体的には、キャッシュ状態取得部600は、キャッシュ制御部210によって段階的に行われる動作の順に出力されたタグ情報211、ウェイ情報212、LRU213およびデータ214を取得する。また、キャッシュ状態取得部600は、検証アドレスに対応するデータを読み込むまでの一連の経過情報が揃ったとき、一連の経過情報をあらかじめ保持された一連の経過情報の期待値と同一の形式に整形して、整形された出力データを検証部500に対して出力する。なお、キャッシュ状態取得部400は、経過情報の取得を、キャッシュ制御部210による制御と独立した論理によって実行して良いし、例えばRTL(Register Transfer Level)を用いて経過情報の取得をキャッシュ制御部210による制御と合成した論理によって実行しても良い。これにより、例えばキャッシュ制御部210をキャッシュメモリ200とは異なる他の装置に流用するとき、キャッシュ状態取得部600は、他の装置用に設計される必要がなくなり、他の装置の設計コストを削減することができる。
検証部500は、キャッシュメモリ200の論理検証を開始するために、キャッシュメモリ200の検証指示をCPU100に対して出力する。また、検証部500は、検証指示によって読み込まれたデータをCPU100から取得する。さらに、検証部500は、キャッシュ状態取得部600から出力データを取得する。そして、検証部600は、取得された出力データと、出力データの期待値と、を比較することになる。
以上のように本実施例2によれば、キャッシュ論理検証装置は、メインメモリ300の一部の内容の写しを保持するキャッシュメモリ200に読み込み対象のデータが保持されているか否かを判断する段階的な処理の各段階における途中経過を取得するキャッシュ状態取得部600と、キャッシュ状態取得部600によって取得される各段階における途中経過と、段階的な処理の各段階におけるあらかじめ定められた期待値と、を比較する検証部500と、を備える。そして、キャッシュ状態取得部600は、キャッシュ制御部210の内部に設けられている。
かかる構成によれば、キャッシュ論理検証装置は、キャッシュメモリ200からデータを読み込む際に段階的な処理の各段階における途中経過を直接取得することができるため、各段階における途中経過の正当性を判別することによってどの段階が誤っているのかを知ることができ、キャッシュメモリ200の論理検証を効率的に行うことができる。この結果、キャッシュ論理検証装置は、各段階の正当性を確実に検証できることとなり、検証品質を向上させることができる。また、キャッシュ論理検証装置が、キャッシュメモリからデータを読み込む際に段階的な処理の各段階における途中経過を一括して取得すれば、一括して取得された途中経過を一度に検証することができることになり、検証工数を削減することができる。また、例えばキャッシュ制御部210をキャッシュメモリ200とは異なる他の装置に流用するとき、キャッシュ状態取得部600は、他の装置用に設計される必要がなくなり、他の装置の設計コストを削減することができる。
なお、キャッシュ論理検証装置のキャッシュ状態取得部400、600及び検証部500の各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
本実施例1に係る情報処理装置の全体構成を示す機能ブロック図である。 本実施例1に係るキャッシュ状態取得部の構成を示す機能ブロック図である。 本実施例1に係る検証部の構成を示す機能ブロック図である。 本実施例1に係るキャッシュ状態取得の動作概要を示す図である。 本実施例1に係るキャッシュ状態取得の動作概要を示す図である。 本実施例1に係るキャッシュメモリ検証方法の処理を示すフローチャートである。 本実施例1に係るキャッシュメモリ検証の検証動作を示す図である。 本実施例1に係るキャッシュメモリ検証の検証動作を示す図である。 本実施例1に係るキャッシュメモリ検証の検証動作を示す図である。 本実施例1に係るキャッシュメモリ検証の検証動作を示す図である。 本実施例2に係る情報処理装置の全体構成を示す機能ブロック図である。 キャッシュメモリを検証する従来の方法を示す図である。 キャッシュメモリを検証する従来の方法を示す図である。 キャッシュメモリを検証する従来の方法を示す図である。 キャッシュメモリを検証する従来の方法を示す図である。
符号の説明
100 CPU
200 キャッシュメモリ(対象装置)
210 キャッシュ制御部
211 タグ情報
212 ウェイ情報
213 LRU
214 データ
300 メインメモリ
400 キャッシュ状態取得部
500 検証部

Claims (10)

  1. 読み込み対象のデータについて、メモリの一部の内容の写しを保持するキャッシュメモリから、タグ内の情報、キャッシュミスであるか否かを示す情報および読み込んだデータを含む情報を取得する取得手段と、
    前記取得手段によって取得される情報と、らかじめ定められた予定情報と、を比較する比較手段と、
    を備えたことを特徴とするキャッシュ論理検証装置。
  2. 前記取得手段は、メモリに記憶されたデータであって所定の読み込み対象のデータの読み込み指示があったとき、前記読み込み対象のデータについて、メモリの一部の内容の写しを保持するキャッシュメモリから、タグ内の情報、キャッシュミスであるか否かを示す情報および読み込んだデータを含む情報を取得することを特徴とする請求項1に記載のキャッシュ論理検証装置。
  3. 前記取得手段によって取得される複数の情報複数の予定情報を結合するあらかじめ定められた順序と同一の順序で結合する整形手段をさらに備え、
    前記比較手段は、
    前記取得手段によって取得される情報予定情報とを比較することを特徴とする請求項1または請求項2に記載のキャッシュ論理検証装置。
  4. 前記比較手段による比較の結果、いずれかの情報と予定情報とが異なるとき、異なると判定されたいずれかの情報を出力する出力手段をさらに備えることを特徴とする請求項に記載のキャッシュ論理検証装置。
  5. 前記取得手段は、
    それぞれ複数のデータのアドレスに対応するキャッシュメモリの領域に保持され前記キャッシュメモリに保持されたデータのアドレスを示すタグ情報であって前記読み込み対象のデータのアドレスに対応する領域に保持されたタグ情報を取得するタグ情報取得手段と、
    前記読み込み対象のデータのアドレスに対応するタグ情報が当該アドレスを含んでいるか否かを示した判定結果を取得する判定結果取得手段と、
    を含むことを特徴とする請求項1または請求項2に記載のキャッシュ論理検証装置。
  6. 前記取得手段は、
    前記タグ情報がそれぞれデータのアドレスを保持する複数のキャッシュラインを含むとき、前記読み込み対象のデータのアドレスを含むキャッシュラインを取得するライン取得手段をさらに含むことを特徴とする請求項に記載のキャッシュ論理検証装置。
  7. 前記ライン取得手段は、
    前記読み込み対象のデータのアドレスを含むキャッシュラインがないとき、最も長い時間アクセスされていないデータのアドレスを含むキャッシュラインを取得することを特徴とする請求項に記載のキャッシュ論理検証装置。
  8. メモリの一部の内容の写しを保持するキャッシュメモリに読み込み対象のデータが保持されているか否かを判断する処理を制御する制御手段をさらに備え、
    前記取得手段は、
    前記制御手段と一体的に設けられることを特徴とする請求項1または請求項2に記載のキャッシュ論理検証装置。
  9. 読み込み対象のデータについて、メモリの一部の内容の写しを保持するキャッシュメモリから、タグ内の情報、キャッシュミスであるか否かを示す情報および読み込んだデータを含む情報を取得する取得工程と、
    前記取得工程によって取得される情報と、らかじめ定められた予定情報と、を比較する比較工程と、
    を含むことを特徴とするキャッシュ論理検証方法。
  10. 読み込み対象のデータについて、メモリの一部の内容の写しを保持するキャッシュメモリから、タグ内の情報、キャッシュミスであるか否かを示す情報および読み込んだデータを含む情報を取得する取得手順と、
    前記取得手順によって取得される情報と、らかじめ定められた予定情報と、を比較する比較手順と、
    をコンピュータに実行させることを特徴とするキャッシュ論理検証プログラム。
JP2008227517A 2008-09-04 2008-09-04 キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム Expired - Fee Related JP5256948B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008227517A JP5256948B2 (ja) 2008-09-04 2008-09-04 キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム
US12/550,741 US8468399B2 (en) 2008-09-04 2009-08-31 Cache logic verification apparatus and cache logic verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008227517A JP5256948B2 (ja) 2008-09-04 2008-09-04 キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム

Publications (2)

Publication Number Publication Date
JP2010061473A JP2010061473A (ja) 2010-03-18
JP5256948B2 true JP5256948B2 (ja) 2013-08-07

Family

ID=41726998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008227517A Expired - Fee Related JP5256948B2 (ja) 2008-09-04 2008-09-04 キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム

Country Status (2)

Country Link
US (1) US8468399B2 (ja)
JP (1) JP5256948B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062613B (zh) * 2018-06-01 2020-08-28 杭州中天微系统有限公司 多核互联二级缓存访问验证方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02310738A (ja) * 1989-05-26 1990-12-26 Nec Ic Microcomput Syst Ltd マイクロプロセッサic
JP3061818B2 (ja) * 1989-10-13 2000-07-10 日本電気株式会社 マイクロ・プロセッサ用アクセス・モニタ装置
JPH04171542A (ja) * 1990-11-06 1992-06-18 Nec Corp デバッグ機能内蔵マイクロプロセッサ
JPH05224995A (ja) * 1992-02-13 1993-09-03 Nec Corp 情報処理装置の試験方式
JP2976720B2 (ja) * 1992-10-05 1999-11-10 日本電気株式会社 キャッシュメモリシステム
JPH07219847A (ja) * 1994-01-31 1995-08-18 Fujitsu Ltd 情報処理装置
US5822760A (en) * 1994-01-31 1998-10-13 Fujitsu Limited Cache-memory system having multidimensional cache
JP3213792B2 (ja) * 1995-03-22 2001-10-02 株式会社日立製作所 論理シミュレ−ション検証方式
JP3123413B2 (ja) * 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
US6012085A (en) * 1995-11-30 2000-01-04 Stampede Technolgies, Inc. Apparatus and method for increased data access in a network file object oriented caching system
JP3162321B2 (ja) * 1997-05-13 2001-04-25 三菱電機株式会社 論理シミュレーション方法及び論理シミュレーション方法を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6202127B1 (en) * 1997-11-26 2001-03-13 Compaq Computer Corporation Apparatus for spatial and temporal sampling in a computer memory system
JPH11212728A (ja) * 1998-01-26 1999-08-06 Hitachi Ltd 外部記憶サブシステム
US6092159A (en) * 1998-05-05 2000-07-18 Lsi Logic Corporation Implementation of configurable on-chip fast memory using the data cache RAM
JP2001256270A (ja) * 2000-03-09 2001-09-21 Hitachi Ltd 検証結果比較方式
JP2001306397A (ja) * 2000-04-18 2001-11-02 Hitachi Ltd キャッシュ動作模倣装置、模倣方法及び計算機システム
JP2002014868A (ja) * 2000-06-28 2002-01-18 Hitachi Ltd メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法
JP3389920B2 (ja) * 2000-07-10 2003-03-24 日本電気株式会社 ディスクアレイ装置およびディスクアレイ装置の割り込み実行方法
JP4475621B2 (ja) * 2001-04-18 2010-06-09 キヤノン株式会社 メモリ制御回路の論理検証装置及び方法
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
US7437692B2 (en) * 2003-11-10 2008-10-14 Infineon Technologies Ag Memory debugger for system-on-a-chip designs
JP4461934B2 (ja) * 2004-07-13 2010-05-12 富士通株式会社 キャッシュメモリ試験システム、試験方法、試験プログラム
WO2006106890A1 (en) * 2005-03-31 2006-10-12 Semiconductor Energy Laboratory Co., Ltd. Arithmetic processing device and electronic appliance using arithmetic processing device
JP2007080325A (ja) * 2005-09-12 2007-03-29 Matsushita Electric Ind Co Ltd 半導体記憶装置
JP2007179156A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd 記憶制御装置及び方法
JP2008165582A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd 記憶システム及びデータ保証方法
JP4362134B2 (ja) * 2007-02-09 2009-11-11 富士通株式会社 データアクセス方法、チャネルアダプタ、データアクセス制御装置およびデータアクセスプログラム
JP5102915B2 (ja) * 2007-09-07 2012-12-19 株式会社日立製作所 ストレージ装置及びそのデータ検証方法
US20090125562A1 (en) * 2007-11-08 2009-05-14 International Business Machines Corporation Methods and systems involving checking memory integrity

Also Published As

Publication number Publication date
US20100057996A1 (en) 2010-03-04
JP2010061473A (ja) 2010-03-18
US8468399B2 (en) 2013-06-18

Similar Documents

Publication Publication Date Title
CN102483704B (zh) 具有高效的高速缓存支持的事务内存系统
US8725485B2 (en) Simulation method and simulation apparatus
US20020147965A1 (en) Tracing out-of-order data
CN102414659B (zh) 用于在多线程微处理器中调度指令的发布的方法和设备
US10769013B1 (en) Caching error checking data for memory having inline storage configurations
CN103488464B (zh) 微处理器以及微处理器操作方法
CN114730294A (zh) 用于执行存储到加载转发的技术
CN114168200B (zh) 多核处理器访存一致性的验证系统及方法
JP2014532221A (ja) 乳幼児のためのインタラクションサービスを提供する装置及び方法、これを利用したシステム
US20200026427A1 (en) System and method for handling data storage on storage devices
KR100628573B1 (ko) 조건부실행명령어의 비순차적 수행이 가능한 하드웨어장치 및 그 수행방법
US20060129764A1 (en) Methods and apparatus for storing a command
US6859860B2 (en) Control circuits comparing index offset and way for cache system and method of controlling cache system
JP5256948B2 (ja) キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム
JP5630281B2 (ja) ベクトル命令制御回路及びリストベクトルの追い越し制御方法
US7886205B2 (en) Verification of a data processing system using overlapping address ranges
US7761280B2 (en) Data processing apparatus simulation by generating anticipated timing information for bus data transfers
CN112416687B (zh) 验证访存操作的方法与系统以及验证设备和存储介质
JP2005115795A (ja) フェイルセイフ制御装置
JP2013210853A (ja) 情報処理装置、同期処理実行管理方法、及びプログラム
CN115202738A (zh) 一种写穿策略下多核系统的验证方法和系统
CN114237715A (zh) 多核访存指令验证系统与方法
US6795878B2 (en) Verifying cumulative ordering of memory instructions
JP5500274B1 (ja) キャッシュメモリ、キャッシュメモリの検索方法、情報処理装置、およびプログラム
JP3767521B2 (ja) キャッシュフィル制御方法及びcpu

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees